/**
 * Forum Press Zone Admin Styles
 *
 * Pure SCSS - NO CSS custom properties.
 * All colors use SCSS variables with explicit dark mode overrides.
 *
 * @package ForumPressZone
 */

@use 'abstracts/variables' as *;
@use 'animations';
@use 'tab-slide-animations';
@use 'seo-ai';
@use 'ip-penalties';

/* Local Font Face Definitions */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../../assets/fonts/plus-jakarta-sans-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../../assets/fonts/plus-jakarta-sans-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../../assets/fonts/plus-jakarta-sans-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* Light Mode WP Admin Overrides - Canvas Mode Isolation */
#wpcontent,
#wpbody-content,
#wpfooter,
#wpwrap {
    background: $presszone-forum-bg !important;
}

/* WP Admin Bar - Match legacy Forum Manager dashicon sizing */
#wpadminbar #wp-admin-bar-presszone-forum-admin-bar .ab-icon.dashicons {
    font-family: dashicons;
    font-size: 16px;
    line-height: 1.5;
}

/* Global WP Admin Overrides for Dark Mode */
body.dark-mode {
    background: $presszone-forum-bg-dark;
}

body.dark-mode #wpcontent,
body.dark-mode #wpbody-content,
body.dark-mode #wpfooter,
body.dark-mode #wpwrap {
    background: $presszone-forum-surface-dark !important;
}

/* Fix white gap between WP sidebar and forum sidebar in dark mode */
body.dark-mode #wpbody,
body.dark-mode #adminmenuback,
body.dark-mode #adminmenuwrap {
    background: $presszone-forum-bg-dark !important;
}

/* Dark Mode - Main Layout */
body.dark-mode .presszone-forum-admin {
    background: $presszone-forum-bg-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-sidebar {
    background: $presszone-forum-surface-dark;
    border-right-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-sidebar__header {
    border-bottom-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-sidebar__title {
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-sidebar__version {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-admin-footer {
    border-top-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-muted-dark;
    background: $presszone-forum-surface-dark;

    a:hover {
        color: $presszone-forum-primary-dark;
    }
}

body.dark-mode .presszone-forum-sidebar__link {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-sidebar__link:hover {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-sidebar__link--active {
    background: $presszone-forum-primary-dim-dark;
    color: $presszone-forum-primary-text-dark;
    border-left-color: $presszone-forum-primary-text-dark;
}

body.dark-mode .presszone-forum-sidebar__link--active .presszone-forum-sidebar__icon {
    color: $presszone-forum-primary-text-dark;
}

body.dark-mode .presszone-forum-admin h1,
body.dark-mode .presszone-forum-admin h2,
body.dark-mode .presszone-forum-admin h3,
body.dark-mode .presszone-forum-admin h4,
body.dark-mode .presszone-forum-admin h5,
body.dark-mode .presszone-forum-admin h6,
body.dark-mode .presszone-forum-card__title {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-text-muted {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-text-secondary {
    color: $presszone-forum-text-secondary-dark;
}

/* Layout */
.presszone-forum-admin {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 46px);
    background: $presszone-forum-bg;
    color: $presszone-forum-text;
    font-family: $presszone-forum-font;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.presszone-forum-admin-body {
    display: flex;
    flex: 1;
    min-height: 0;
}

.presszone-forum-admin-footer {
    padding: 12px 16px;
    border-top: 1px solid $presszone-forum-border;
    font-size: 11px;
    color: $presszone-forum-text-muted;
    text-align: center;
    background: $presszone-forum-surface;

    a {
        color: inherit;
        text-decoration: none;
        font-weight: 500;

        &:hover {
            color: $presszone-forum-primary;
        }
    }
}

.presszone-forum-admin-main {
    flex: 1;
    padding: 24px;
    overflow-y: auto;

    /* When containing moderation page, disable scroll here - let content handle it */
    &:has(.presszone-forum-moderation-sticky-header) {
        overflow: hidden;
    }
}

/* Sidebar */
.presszone-forum-sidebar {
    width: 220px;
    background: $presszone-forum-surface;
    border-right: 1px solid $presszone-forum-border;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .presszone-forum-admin {
        min-height: auto;
        overflow-x: hidden;
    }

    .presszone-forum-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 280px;
        height: 100%;
        transform: translateX(-100%);
        transition: transform $presszone-forum-duration-normal $presszone-forum-ease-smooth;
        z-index: 100000;
        border-right: 1px solid $presszone-forum-border;
        border-bottom: none;
    }

    .presszone-forum-sidebar__header {
        display: block;
    }

    .presszone-forum-sidebar__nav {
        flex-direction: column;
        padding: 12px 8px;
        gap: 4px;
        overflow-x: visible;
    }

    .presszone-forum-sidebar__link {
        padding: 12px 16px;
        border-radius: 8px;
        background: transparent;
        white-space: normal;
        font-size: 14px;
    }

    .presszone-forum-sidebar__link--active {
        background: $presszone-forum-primary;
        color: $presszone-forum-text-on-primary;
        border-left: none;
        padding-left: 16px;
    }

    .presszone-forum-sidebar__link--active .presszone-forum-sidebar__icon {
        color: $presszone-forum-text-on-primary;
    }

    .presszone-forum-admin-main {
        padding-top: 60px;
    }
}

.presszone-forum-sidebar__header {
    padding: 20px 16px;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-sidebar__title {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    color: $presszone-forum-primary;
}

.presszone-forum-sidebar__version {
    font-size: 11px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-sidebar__nav {
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.presszone-forum-sidebar__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: $presszone-forum-radius;
    color: $presszone-forum-text-muted;
    text-decoration: none;
    transition: background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth, color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-sidebar__link:hover {
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text;
}

.presszone-forum-sidebar__link--active {
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
    border-left: 3px solid $presszone-forum-primary;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 9px;
    /* adjust padding to account for border width to keep icon aligned if needed, or just let it shift */
}

.presszone-forum-sidebar__icon {
    font-size: 16px;
}

/* Mobile Hamburger Button */
.presszone-forum-hamburger {
    display: none;
    position: fixed;
    top: 50px;
    left: 5px;
    z-index: 100001;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    flex-direction: column;
    gap: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);

    @media (max-width: 768px) {
        display: flex;
    }

    &__bar {
        width: 20px;
        height: 2px;
        background: $presszone-forum-text;
        transition: transform $presszone-forum-duration-normal $presszone-forum-ease-smooth,
            opacity $presszone-forum-duration-normal $presszone-forum-ease-smooth;
    }
}

body.dark-mode .presszone-forum-hamburger {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;

    .presszone-forum-hamburger__bar {
        background: $presszone-forum-text-dark;
    }
}

/* Dark Mode - Forms & Inputs */
body.dark-mode .presszone-forum-input,
body.dark-mode .presszone-forum-select,
body.dark-mode .presszone-forum-textarea {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
    color-scheme: dark;
}

body.dark-mode .presszone-forum-input:hover,
body.dark-mode .presszone-forum-select:hover,
body.dark-mode .presszone-forum-textarea:hover {
    border-color: $presszone-forum-border-hover-dark;
}

body.dark-mode .presszone-forum-input:focus,
body.dark-mode .presszone-forum-select:focus,
body.dark-mode .presszone-forum-textarea:focus {
    border-color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-input:focus-visible,
body.dark-mode .presszone-forum-select:focus-visible,
body.dark-mode .presszone-forum-textarea:focus-visible {
    border-color: $presszone-forum-primary-dark;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim-dark;
}

body.dark-mode .presszone-forum-input::placeholder,
body.dark-mode .presszone-forum-textarea::placeholder {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-form-group label {
    color: $presszone-forum-text-dark;
}

/* Dark Mode - Buttons */
body.dark-mode .presszone-forum-btn--primary:hover:not(:disabled) {
    background: $presszone-forum-primary-hover-dark;
}

body.dark-mode .presszone-forum-btn--success {
    background: $presszone-forum-success-dark;
    color: $presszone-forum-white;
}

body.dark-mode .presszone-forum-btn--success:hover:not(:disabled) {
    background: $presszone-forum-success-hover-dark;
}

body.dark-mode .presszone-forum-btn--danger {
    background: $presszone-forum-error-dark;
    color: $presszone-forum-white;
}

body.dark-mode .presszone-forum-btn--danger:hover:not(:disabled) {
    background: $presszone-forum-error-hover-dark;
}

body.dark-mode .presszone-forum-btn--undo {
    background: $presszone-forum-warning-dim-dark;
    color: $presszone-forum-warning-dark;
    border-color: $presszone-forum-warning-border-dark;
}

body.dark-mode .presszone-forum-btn--undo:hover:not(:disabled) {
    background: $presszone-forum-warning-dim-alt-dark;
}

body.dark-mode .presszone-forum-btn-arrow:hover:not(:disabled) {
    background: $presszone-forum-primary-dim-dark;
    border-color: $presszone-forum-primary-dark;
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-button--secondary {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-button--secondary:hover {
    background: $presszone-forum-surface-3-dark;
}

body.dark-mode .presszone-forum-button--ghost {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-button--ghost:hover {
    background: $presszone-forum-surface-hover-dark;
}

body.dark-mode .presszone-forum-button--danger {
    background: $presszone-forum-error-dark;
    color: $presszone-forum-text-on-primary-dark;
}

body.dark-mode .presszone-forum-button--danger:hover {
    background: $presszone-forum-error-hover-dark;
}

body.dark-mode .presszone-forum-btn--warning {
    background: $presszone-forum-warning-dim-lightest2-dark;
    color: $presszone-forum-text-dark;
    border-color: $presszone-forum-warning-border-dark;
}

body.dark-mode .presszone-forum-btn--warning:hover {
    background: $presszone-forum-warning-dim-lighter-dark;
    border-color: $presszone-forum-warning-dark;
}

/* Dark Mode - Table Elements */
body.dark-mode .presszone-forum-table {
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-table th {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
    border-bottom-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-table td {
    border-bottom-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-table tbody tr:hover {
    background: $presszone-forum-surface-hover-light-dark;
}

/* Dark Mode - Cards & Panels */
body.dark-mode .presszone-forum-card,
body.dark-mode .presszone-forum-panel {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-card__header {
    border-bottom-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-card__title {
    color: $presszone-forum-text-dark;
}

/* Dark Mode - List Items */
body.dark-mode .presszone-forum-list-item,
body.dark-mode .presszone-forum-node-item,
body.dark-mode .presszone-forum-forum-row,
body.dark-mode .presszone-forum-user-row,
body.dark-mode .presszone-forum-ban-item {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

.presszone-forum-forum-row:hover,
.presszone-forum-user-row:hover {
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-list-item:hover,
body.dark-mode .presszone-forum-node-item:hover,
body.dark-mode .presszone-forum-forum-row:hover,
body.dark-mode .presszone-forum-user-row:hover {
    background: $presszone-forum-surface-2-dark;
}

/* Dark Mode - Modals */
body.dark-mode .presszone-forum-modal {
    background: $presszone-forum-surface-dark;
}

body.dark-mode .presszone-forum-modal__content {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-modal__header {
    background: $presszone-forum-surface-dark;
    border-bottom-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-modal__header h2 {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-modal__title {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-modal__close {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-modal__close:hover {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-hover-dark;
}

body.dark-mode .presszone-forum-modal__actions {
    background: $presszone-forum-surface-dark;
    border-top-color: $presszone-forum-border-dark;
    margin-top: 0;
}

.presszone-forum-dropdown__item {
    transition: background $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-dropdown__item:hover {
    background: $presszone-forum-surface-3;
    color: $presszone-forum-text;
}

/* Dark Mode - Dropdowns */
body.dark-mode .presszone-forum-dropdown {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-dropdown__item {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-dropdown__item:hover {
    background: $presszone-forum-surface-3-dark;
}

/* Dark Mode - Badges */
body.dark-mode .presszone-forum-badge {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-badge--category {
    background: $presszone-forum-badge-category-bg-dark;
    color: $presszone-forum-badge-category-text-dark;
}

body.dark-mode .presszone-forum-badge--forum {
    background: $presszone-forum-badge-forum-bg-dark;
    color: $presszone-forum-badge-forum-text-dark;
}

body.dark-mode .presszone-forum-badge--link {
    background: $presszone-forum-badge-link-bg-dark;
    color: $presszone-forum-badge-link-text-dark;
}

body.dark-mode .presszone-forum-badge--page {
    background: $presszone-forum-badge-page-bg-dark;
    color: $presszone-forum-badge-page-text-dark;
}

/* Dark Mode - Tabs */
body.dark-mode .presszone-forum-tabs__item {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-tabs__item:hover {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-3-dark;
}

body.dark-mode .presszone-forum-tabs__item--active {
    color: $presszone-forum-primary-text-dark;
    background: $presszone-forum-primary-dim-dark;
}

body.dark-mode .presszone-forum-tabs__count {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-tabs__item--active .presszone-forum-tabs__count {
    background: $presszone-forum-primary-dim-dark;
    color: $presszone-forum-primary-text-dark;
}


/* Dark Mode - Alerts */
body.dark-mode .presszone-forum-alert {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-alert--success {
    background: $presszone-forum-success-dim-dark;
    border-color: $presszone-forum-success-dark;
    color: $presszone-forum-success-dark;
}

body.dark-mode .presszone-forum-alert--warning {
    background: $presszone-forum-warning-dim-dark;
    border-color: $presszone-forum-warning-dark;
    color: $presszone-forum-warning-dark;
}

body.dark-mode .presszone-forum-alert--error {
    background: $presszone-forum-error-dim-dark;
    border-color: $presszone-forum-error-dark;
    color: $presszone-forum-error-dark;
}

/* Dark Mode - Notices */
body.dark-mode .presszone-forum-notice--success {
    background: $presszone-forum-success-dim-dark;
    border-color: $presszone-forum-success-dark;
    color: $presszone-forum-success-dark;
}

body.dark-mode .presszone-forum-notice--error {
    background: $presszone-forum-error-dim-dark;
    border-color: $presszone-forum-error-dark;
    color: $presszone-forum-error-dark;
}

body.dark-mode .presszone-forum-notice--warning {
    background: $presszone-forum-warning-dim-dark;
    border-color: $presszone-forum-warning-dark;
    color: $presszone-forum-warning-dark;
}

body.dark-mode .presszone-forum-notice--info {
    background: $presszone-forum-info-dim-dark;
    border-color: $presszone-forum-info-text-dark;
    color: $presszone-forum-info-text-dark;
}

/* Mobile Sidebar Overlay */
.presszone-forum-sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99999;
}

/* Sidebar Open State */
.presszone-forum-sidebar-open {
    .presszone-forum-sidebar {
        transform: translateX(0);
    }

    .presszone-forum-sidebar-overlay {
        @media (max-width: 768px) {
            display: block;
        }
    }

    .presszone-forum-hamburger__bar {
        @media (max-width: 768px) {
            &:nth-child(1) {
                transform: rotate(45deg) translate(4px, 4px);
            }

            &:nth-child(2) {
                opacity: 0;
            }

            &:nth-child(3) {
                transform: rotate(-45deg) translate(4px, -4px);
            }
        }
    }
}

/* Loading & Spinner */
.presszone-forum-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 16px;
}

.presszone-forum-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid $presszone-forum-border;
    border-top-color: $presszone-forum-primary;
    border-radius: 50%;
    animation: presszoneForumSpin $presszone-forum-spinner-duration linear infinite;
}

@keyframes presszoneForumSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Buttons */
.presszone-forum-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: none;
    border-radius: $presszone-forum-radius;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.presszone-forum-btn--primary {
    background: $presszone-forum-primary;
    color: $presszone-forum-text-on-primary;
}

.presszone-forum-btn--primary:hover:not(:disabled) {
    background: $presszone-forum-primary-hover;
}

.presszone-forum-btn--secondary {
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text;
}

.presszone-forum-btn--secondary:hover:not(:disabled) {
    background: $presszone-forum-border;
}

.presszone-forum-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim, $presszone-forum-shadow;
}

.presszone-forum-btn-icon {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-btn-icon:hover {
    opacity: 1;
}

.presszone-forum-btn-icon:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
}

.presszone-forum-btn-icon--danger:hover {
    opacity: 1;
    color: $presszone-forum-error;
}

body.dark-mode .presszone-forum-btn-icon:hover {
    opacity: 1;
}

body.dark-mode .presszone-forum-btn-icon--danger:hover {
    opacity: 1;
    color: $presszone-forum-error-dark;
}

/* Button variants for vanilla JS */
.presszone-forum-btn--ghost {
    background: transparent;
    color: $presszone-forum-text-muted;
    border: 1px solid transparent;
}

.presszone-forum-btn--ghost:hover:not(:disabled) {
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text;
}

.presszone-forum-btn--lg {
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
}

.presszone-forum-btn--sm {
    padding: 4px 10px;
    font-size: 12px;
}

.presszone-forum-btn--success {
    background: $presszone-forum-success;
    color: $presszone-forum-text-on-primary;
}

.presszone-forum-btn--success:hover:not(:disabled) {
    background: $presszone-forum-success-hover;
}

.presszone-forum-btn--danger {
    background: $presszone-forum-error;
    color: $presszone-forum-text-on-primary;
}

.presszone-forum-btn--danger:hover:not(:disabled) {
    background: $presszone-forum-error-hover;
}

.presszone-forum-btn--warning {
    background: $presszone-forum-warning-dim-lightest;
    color: $presszone-forum-text;
    border: 1px solid $presszone-forum-warning-border;
}

.presszone-forum-btn--warning:hover:not(:disabled) {
    background: $presszone-forum-warning-dim-lighter;
    border-color: $presszone-forum-warning;
}

/* Badges */
.presszone-forum-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
}

.presszone-forum-badge--category {
    background: $presszone-forum-badge-category-bg;
    color: $presszone-forum-badge-category-text;
}

.presszone-forum-badge--forum {
    background: $presszone-forum-badge-forum-bg;
    color: $presszone-forum-badge-forum-text;
}

.presszone-forum-badge--link {
    background: $presszone-forum-badge-link-bg;
    color: $presszone-forum-badge-link-text;
}

.presszone-forum-badge--page {
    background: $presszone-forum-badge-page-bg;
    color: $presszone-forum-badge-page-text;
}

/* Moderation badge variants */
.presszone-forum-badge--success {
    background: $presszone-forum-success-dim;
    color: $presszone-forum-success;
}

.presszone-forum-badge--danger {
    background: $presszone-forum-error-dim;
    color: $presszone-forum-error;
}

.presszone-forum-badge--warning {
    background: $presszone-forum-warning-dim;
    color: $presszone-forum-warning;
}

/* Status Tags */
.presszone-forum-status-tag {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.presszone-forum-status-tag--ok {
    background: $presszone-forum-success-dim;
    color: $presszone-forum-success;
}

.presszone-forum-status-tag--missing {
    background: $presszone-forum-error-dim;
    color: $presszone-forum-error;
}

/* Node item row layout */
.presszone-forum-node-item__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: $presszone-forum-surface-2;
    border-radius: $presszone-forum-radius;
}

.presszone-forum-node-item__row:hover {
    background: $presszone-forum-surface-3;
}

.presszone-forum-node-item__controls {
    display: flex;
    gap: 4px;
}

.presszone-forum-node-item__info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

/* Inputs */
.presszone-forum-input,
.presszone-forum-select,
.presszone-forum-textarea {
    width: 100%;
    padding: 10px 12px;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius;
    color: $presszone-forum-text;
    font-size: 14px;
    transition: border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-input:hover,
.presszone-forum-select:hover,
.presszone-forum-textarea:hover {
    border-color: $presszone-forum-border-hover;
}

.presszone-forum-input:focus,
.presszone-forum-select:focus,
.presszone-forum-textarea:focus {
    outline: none;
    border-color: $presszone-forum-primary;
}

.presszone-forum-input:focus-visible,
.presszone-forum-select:focus-visible,
.presszone-forum-textarea:focus-visible {
    outline: none;
    border-color: $presszone-forum-primary;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
}

.presszone-forum-input--small {
    width: 120px;
}

.presszone-forum-textarea--code {
    font-family: "SF Mono", "Consolas", monospace;
    font-size: 13px;
}

/* Autocomplete Dropdown */
.presszone-forum-autocomplete {
    position: relative;
}

.presszone-forum-autocomplete__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius;
    box-shadow: $presszone-forum-shadow-modal;
    z-index: 10;
    max-height: 300px;
    overflow-y: auto;
    margin-top: 4px;
    display: none;

    /* Portal version - rendered to body with position: fixed */
    &--portal {
        position: fixed;
        z-index: 999999;
    }
}

.presszone-forum-autocomplete__message {
    padding: 12px;
    text-align: center;
    color: $presszone-forum-text-muted;

    &--error {
        color: $presszone-forum-error;
    }
}

.presszone-forum-autocomplete__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
}

.presszone-forum-autocomplete__user-info {
    flex: 1;
    min-width: 0;
}

.presszone-forum-autocomplete__user-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.presszone-forum-autocomplete__user-handle {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-autocomplete__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    cursor: pointer;
    border-bottom: 1px solid $presszone-forum-border;
    background: $presszone-forum-surface;
    color: $presszone-forum-text;
    transition: background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-autocomplete__item:last-child {
    border-bottom: none;
}

.presszone-forum-autocomplete__item:hover {
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-autocomplete__dropdown {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
    box-shadow: $presszone-forum-shadow-modal-dark;
}

body.dark-mode .presszone-forum-autocomplete__item {
    background: $presszone-forum-surface-dark;
    color: $presszone-forum-text-dark;
    border-bottom-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-autocomplete__item:hover {
    background: $presszone-forum-surface-2-dark;
}

body.dark-mode .presszone-forum-autocomplete__message {
    color: $presszone-forum-text-muted-dark;

    &--error {
        color: $presszone-forum-error;
    }
}

body.dark-mode .presszone-forum-autocomplete__user-handle {
    color: $presszone-forum-text-muted-dark;
}

/* Forms */
.presszone-forum-form-group {
    margin-bottom: 20px;
}

.presszone-forum-form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: $presszone-forum-text;
}

.presszone-forum-form-group--checkbox label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.presszone-forum-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.presszone-forum-form-row--thirds {
    grid-template-columns: 1fr 1fr 1fr;
}

.presszone-forum-form-group--half {
    margin-bottom: 8px;
}

.presszone-forum-form-group--third {
    margin-bottom: 8px;
}

.presszone-forum-form-help {
    margin-top: 4px;
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-form-help--row {
    margin-top: -8px;
    margin-bottom: 20px;
}

.presszone-forum-color-input {
    display: flex;
    gap: 8px;
    align-items: center;
}

.presszone-forum-color-input input[type="color"] {
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: $presszone-forum-radius;
    cursor: pointer;
}

.presszone-forum-radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.presszone-forum-radio-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

/* Notices */
/* Toast styles moved to _animations.css */

/* =============================================================================
   Dashboard - Matches Comments Plugin Design
   ============================================================================= */

.presszone-forum-dashboard__header {
    margin-bottom: 24px;
}

.presszone-forum-dashboard__header h1 {
    font-size: 28px;
    margin: 0 0 4px 0;
}

.presszone-forum-dashboard__subtitle {
    color: $presszone-forum-text-muted;
    margin: 0;
}

/* Stats Grid (4 cards) */
.presszone-forum-dashboard__stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

/* Bottom 3-column Grid */
.presszone-forum-dashboard__bottom-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 24px;
}

@media (max-width: 1200px) {
    .presszone-forum-dashboard__bottom-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .presszone-forum-dashboard__bottom-grid {
        grid-template-columns: 1fr;
    }
}

/* Widget Card - Premium Design with curved border */
.presszone-forum-widget {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-inline-start: 4px solid $presszone-forum-primary;
    transition: transform $presszone-forum-duration-normal $presszone-forum-ease-smooth,
        box-shadow $presszone-forum-duration-normal $presszone-forum-ease-smooth;

    &:hover {
        transform: translateY(-2px);
        box-shadow: $presszone-forum-shadow-hover;
    }

    // Color variants
    &--primary {
        border-inline-start-color: $presszone-forum-primary;
    }

    &--success {
        border-inline-start-color: $presszone-forum-success;
    }

    &--warning {
        border-inline-start-color: $presszone-forum-warning;
    }

    &--error {
        border-inline-start-color: $presszone-forum-error;
    }

    &--no-accent {
        border-inline-start: 0;
    }
}

.presszone-forum-widget__icon {
    font-size: 24px;
}

.presszone-forum-widget__content {
    flex: 1;
    min-width: 0;
}

.presszone-forum-widget__value {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 20px;
    font-weight: 700;
    color: $presszone-forum-text;
    line-height: 1.2;
}

.presszone-forum-widget__growth {
    font-size: 12px;
    font-weight: 500;
    color: $presszone-forum-success;
    opacity: 0.9;
    background: $presszone-forum-success-dim-lighter;
    padding: 2px 6px;
    border-radius: $presszone-forum-radius-sm;
}

.presszone-forum-widget__label {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    margin-top: 2px;
}

.presszone-forum-widget__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    font-size: 12px;
}

.presszone-forum-widget__trend {
    font-weight: 600;

    &--up {
        color: $presszone-forum-success;
    }

    &--down {
        color: $presszone-forum-error;
    }

    &--neutral {
        color: $presszone-forum-text-muted;
    }
}

.presszone-forum-widget__comparison {
    color: $presszone-forum-text-muted;
    opacity: 0.8;
}

/* Dark Mode for Widgets */
body.dark-mode .presszone-forum-widget {
    background: $presszone-forum-surface-dark;

    &:hover {
        box-shadow: $presszone-forum-shadow-hover-dark;
    }

    &--primary {
        border-inline-start-color: $presszone-forum-primary-dark;
    }

    &--success {
        border-inline-start-color: $presszone-forum-success-dark;
    }

    &--warning {
        border-inline-start-color: $presszone-forum-warning-dark;
    }

    &--error {
        border-inline-start-color: $presszone-forum-error-dark;
    }
}

body.dark-mode .presszone-forum-widget__value {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-widget__growth {
    color: $presszone-forum-success-dark;
    background: $presszone-forum-success-dim-dark;
}

body.dark-mode .presszone-forum-widget__label {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-widget__comparison {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-widget__trend--up {
    color: $presszone-forum-success-dark;
}

body.dark-mode .presszone-forum-widget__trend--down {
    color: $presszone-forum-error-dark;
}

/* =============================================================================
   Activity Chart (SVG Area Chart)
   ============================================================================= */

.presszone-forum-chart-container {
    position: relative;
    height: 280px;
    width: 100%;
    padding: 20px 0;
    overflow: visible;
}

@media (max-width: 768px) {
    .presszone-forum-chart-container {
        height: 200px;
    }
}

.presszone-forum-chart-svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.presszone-forum-chart-gradient-start {
    stop-color: $presszone-forum-primary;
    stop-opacity: 0.2;
}

.presszone-forum-chart-gradient-end {
    stop-color: $presszone-forum-primary;
    stop-opacity: 0;
}

.presszone-forum-chart-line {
    stroke: $presszone-forum-primary;
    stroke-width: 3;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}

.presszone-forum-chart-point {
    fill: $presszone-forum-surface;
    stroke: $presszone-forum-primary;
    stroke-width: 2;
    opacity: 0;
    transition: opacity $presszone-forum-duration-fast;

    &.is-visible {
        opacity: 1;
    }
}

.presszone-forum-chart-tooltip {
    position: absolute;
    top: 0;
    left: 0;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    box-shadow: $presszone-forum-shadow-hover;
    border-radius: $presszone-forum-radius;
    padding: 12px;
    pointer-events: none;
    z-index: 10;
    opacity: 0;
    transition: opacity $presszone-forum-duration-fast ease, transform 0.1s linear;
    min-width: 140px;

    &.is-visible {
        opacity: 1;
    }

    .tooltip-date {
        font-size: 12px;
        color: $presszone-forum-text-muted;
        margin-bottom: 4px;
    }

    .tooltip-value {
        font-size: 16px;
        font-weight: 600;
        color: $presszone-forum-text;
    }

    .tooltip-meta {
        font-size: 12px;
        color: $presszone-forum-text-secondary;
        margin-top: 4px;
        display: flex;
        gap: 8px;
    }
}

/* Dark Mode for Chart */
body.dark-mode .presszone-forum-chart-gradient-start {
    stop-color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-chart-gradient-end {
    stop-color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-chart-line {
    stroke: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-chart-point {
    fill: $presszone-forum-surface-dark;
    stroke: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-chart-tooltip {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
    box-shadow: $presszone-forum-shadow-hover-dark;

    .tooltip-date {
        color: $presszone-forum-text-muted-dark;
    }

    .tooltip-value {
        color: $presszone-forum-text-dark;
    }

    .tooltip-meta {
        color: $presszone-forum-text-secondary-dark;
    }
}

/* =============================================================================
   Leaderboard (Top Contributors)
   ============================================================================= */

.presszone-forum-leaderboard {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.presszone-forum-leaderboard__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-bottom: 1px solid $presszone-forum-border;
    transition: background $presszone-forum-duration-fast $presszone-forum-ease-smooth;

    &:hover {
        background: $presszone-forum-surface-2;
        border-radius: $presszone-forum-radius-sm;
    }

    &:last-child {
        border-bottom: none;
    }
}

.presszone-forum-leaderboard__rank {
    font-size: 24px;
    width: 40px;
    text-align: center;
    flex-shrink: 0;
}

.presszone-forum-leaderboard__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
}

.presszone-forum-leaderboard__name {
    flex: 1;
    font-weight: 500;
    color: $presszone-forum-text;
}

.presszone-forum-leaderboard__count {
    color: $presszone-forum-text-muted;
    font-size: 14px;
    flex-shrink: 0;
}

/* Dark Mode for Leaderboard */
body.dark-mode .presszone-forum-leaderboard__item {
    border-bottom-color: $presszone-forum-border-dark;

    &:hover {
        background: $presszone-forum-surface-2-dark;
    }
}

body.dark-mode .presszone-forum-leaderboard__name {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-leaderboard__count {
    color: $presszone-forum-text-muted-dark;
}

/* =============================================================================
   Timeline (Mod Activity)
   ============================================================================= */

.presszone-forum-timeline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.presszone-forum-timeline__item {
    display: flex;
    gap: 8px;
    padding: 8px;
    border-inline-start: 2px solid $presszone-forum-border;
    margin-inline-start: 12px;
    transition: border-color $presszone-forum-duration-fast;

    &:hover {
        border-inline-start-color: $presszone-forum-primary;
        background: $presszone-forum-surface-2;
        border-radius: 0 $presszone-forum-radius-sm $presszone-forum-radius-sm 0;
    }
}

.presszone-forum-timeline__icon {
    font-size: 20px;
    flex-shrink: 0;
    width: 24px;
    text-align: center;
}

.presszone-forum-timeline__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;

    strong {
        color: $presszone-forum-text;
    }

    em {
        color: $presszone-forum-primary;
        font-style: normal;
    }
}

.presszone-forum-timeline__time {
    color: $presszone-forum-text-muted;
    font-size: 12px;
}

/* Dark Mode for Timeline */
body.dark-mode .presszone-forum-timeline__item {
    border-inline-start-color: $presszone-forum-border-dark;

    &:hover {
        border-inline-start-color: $presszone-forum-primary-dark;
        background: $presszone-forum-surface-2-dark;
    }
}

body.dark-mode .presszone-forum-timeline__content {
    strong {
        color: $presszone-forum-text-dark;
    }

    em {
        color: $presszone-forum-primary-dark;
    }
}

body.dark-mode .presszone-forum-timeline__time {
    color: $presszone-forum-text-muted-dark;
}

/* =============================================================================
   Reports List
   ============================================================================= */

.presszone-forum-reports-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.presszone-forum-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    border-bottom: 1px solid $presszone-forum-border;
    gap: 16px;
    transition: background $presszone-forum-duration-fast $presszone-forum-ease-smooth;

    &:hover {
        background: $presszone-forum-surface-2;
        border-radius: $presszone-forum-radius-sm;
    }

    &:last-child {
        border-bottom: none;
    }
}

.presszone-forum-list-item__content {
    flex: 1;
    min-width: 0;

    strong {
        color: $presszone-forum-text;
        font-size: 14px;
        display: block;
        margin-bottom: 4px;
    }

    p {
        color: $presszone-forum-text-muted;
        font-size: 13px;
        margin: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Dark Mode for Reports List */
body.dark-mode .presszone-forum-list-item {
    border-bottom-color: $presszone-forum-border-dark;

    &:hover {
        background: $presszone-forum-surface-2-dark;
    }
}

body.dark-mode .presszone-forum-list-item__content {
    strong {
        color: $presszone-forum-text-dark;
    }

    p {
        color: $presszone-forum-text-muted-dark;
    }
}

/* Legacy widgets container (for compatibility) */
.presszone-forum-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.presszone-forum-activity,
.presszone-forum-health {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    padding: 20px;
    margin-bottom: 20px;
}

.presszone-forum-activity h2,
.presszone-forum-health h2 {
    margin: 0 0 16px 0;
    font-size: 16px;
}

.presszone-forum-activity__grid {
    display: flex;
    gap: 32px;
}

.presszone-forum-activity__item {
    display: flex;
    flex-direction: column;
}

.presszone-forum-activity__value {
    font-size: 24px;
    font-weight: 600;
    color: $presszone-forum-primary;
}

.presszone-forum-activity__label {
    font-size: 13px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-health__checks {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.presszone-forum-health__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.presszone-forum-health__item--ok {
    color: $presszone-forum-success;
}

/* Node Tree */
.presszone-forum-node-tree__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}

.presszone-forum-node-tree__header h1 {
    margin: 0 0 4px 0;
}

.presszone-forum-node-tree__header p {
    color: $presszone-forum-text-muted;
    margin: 0;
    font-size: 14px;
}

.presszone-forum-node-tree__header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.presszone-forum-btn--undo {
    background: $presszone-forum-warning-dim-lighter;
    color: $presszone-forum-warning;
    border: 1px solid $presszone-forum-warning;
    transition: all $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-btn--undo:hover:not(:disabled) {
    background: $presszone-forum-warning-dim;
}

.presszone-forum-node-tree__content {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    padding: 16px;
}

.presszone-forum-node-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.presszone-forum-node-item {
    margin-bottom: 4px;
}

.presszone-forum-node-item:hover {
    background: $presszone-forum-surface-2;
}

@for $i from 0 through 10 {
    .presszone-forum-node-item.presszone-forum-depth-#{$i} {
        margin-left: $i * 24px;
    }
}

.presszone-forum-node-item__content {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: $presszone-forum-surface-2;
    border-radius: $presszone-forum-radius;
}

.presszone-forum-node-item--dragging .presszone-forum-node-item__content {
    box-shadow: $presszone-forum-shadow;
}

.presszone-forum-node-item__handle {
    cursor: grab;
    color: $presszone-forum-text-muted;
    user-select: none;
}

.presszone-forum-node-item__icon {
    font-size: 16px;
}

.presszone-forum-node-item__title {
    flex: 1;
    font-weight: 500;
}

.presszone-forum-node-item__type {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 12px;
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
    text-transform: uppercase;
}

/* Node type color coding */
.presszone-forum-node-item__type--category {
    background: $presszone-forum-badge-category-bg;
    color: $presszone-forum-badge-category-text;
}

.presszone-forum-node-item__type--link {
    background: $presszone-forum-badge-link-bg;
    color: $presszone-forum-badge-link-text;
}

.presszone-forum-node-item__type--forum {
    background: $presszone-forum-badge-forum-bg;
    color: $presszone-forum-badge-forum-text;
}

.presszone-forum-node-item__type--page {
    background: $presszone-forum-badge-page-bg;
    color: $presszone-forum-badge-page-text;
}

.presszone-forum-node-item__inactive {
    font-size: 11px;
    color: $presszone-forum-warning;
}

.presszone-forum-node-item__actions {
    display: flex;
    gap: 4px;
    opacity: 1;
    transition: opacity 0.15s;
}

.presszone-forum-node-item__arrows {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-right: 8px;
}

.presszone-forum-btn-arrow {
    background: $presszone-forum-surface-2;
    border: 1px solid $presszone-forum-border;
    border-radius: 4px;
    width: 20px;
    height: 16px;
    font-size: 8px;
    line-height: 1;
    cursor: pointer;
    color: $presszone-forum-text-muted;
    transition: all $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.presszone-forum-btn-arrow:hover:not(:disabled) {
    background: $presszone-forum-primary-dim;
    border-color: $presszone-forum-primary;
    color: $presszone-forum-primary;
}

.presszone-forum-btn-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.presszone-forum-saving-indicator {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: $presszone-forum-surface;
    padding: 12px 20px;
    border-radius: $presszone-forum-radius;
    box-shadow: $presszone-forum-shadow;
    font-size: 14px;
}

/* Modal */
.presszone-forum-modal-overlay {
    position: fixed;
    inset: 0;
    background: $presszone-forum-overlay;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.presszone-forum-modal {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-xl;
    width: 100%;
    max-width: 500px;
    height: 600px;
    /* Fixed height to prevent jitter when switching tabs */
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: $presszone-forum-shadow;
    overflow: hidden;
}

/* Modal header - reduced bottom padding for tabs */
.presszone-forum-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px 24px 0;
    /* Reduced bottom padding */
    border-bottom: none;
    flex-shrink: 0;
}

/* ... existing styles ... */

/* Modal content area - reduced top padding */
.presszone-forum-modal__content {
    padding: 16px 24px 24px;
    /* Reduced top padding */
    flex: 1;
    overflow-y: auto;
    /* Scroll internally */
}

/* Infraction modal helpers */
.presszone-forum-modal__suggestion {
    padding: 12px 16px;
    background: $presszone-forum-warning-dim-lightest;
    border: 1px solid $presszone-forum-warning;
    border-radius: $presszone-forum-radius;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.presszone-forum-modal__suggestion-text {
    font-size: 13px;
}

body.dark-mode {
    .presszone-forum-modal__suggestion {
        background: $presszone-forum-surface-dark;
        border-color: $presszone-forum-warning-dark;
    }
}

.presszone-forum-form--infraction {
    min-height: 350px;
}

.presszone-forum-infraction-user-display {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: $presszone-forum-surface-alt;
    border: 1px solid $presszone-forum-border;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    color: $presszone-forum-text;

    .presszone-forum-avatar--sm {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        flex-shrink: 0;
    }

    &__handle {
        color: $presszone-forum-text-muted;
        font-weight: 400;
    }
}

body.dark-mode .presszone-forum-infraction-user-display {
    background: $presszone-forum-surface-alt-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;

    .presszone-forum-infraction-user-display__handle {
        color: $presszone-forum-text-muted-dark;
    }
}

.presszone-forum-form-label--with-tooltip {
    display: flex;
    align-items: center;
    gap: 6px;
}

.presszone-forum-details--infraction {
    margin-bottom: 16px;
}

.presszone-forum-details__summary {
    cursor: pointer;
    color: $presszone-forum-text-muted;
    font-size: 13px;
    padding: 8px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.presszone-forum-details__lock {
    opacity: 0.6;
    font-size: 12px;
}

.presszone-forum-form-group--details {
    margin-top: 12px;
}

body.dark-mode {
    .presszone-forum-details__summary {
        color: $presszone-forum-text-muted-dark;
    }
}

.presszone-forum-modal__form {
    padding: 16px 24px 24px;
    /* Consistent with content */
}

/* Modal actions footer */
.presszone-forum-modal__actions {
    display: flex;
    gap: 12px;
    padding: 16px 24px;
    border-top: 1px solid $presszone-forum-border;
    background: $presszone-forum-surface-2;
}

/* Permissions */
.presszone-forum-permissions__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}

.presszone-forum-permissions__header h1 {
    margin: 0 0 4px 0;
}

.presszone-forum-permissions__header p {
    color: $presszone-forum-text-muted;
    margin: 0;
    font-size: 14px;
}

.presszone-forum-permissions__actions {
    display: flex;
    gap: 8px;
}

.presszone-forum-perm-legend {
    display: flex;
    gap: 24px;
    margin-bottom: 16px;
    font-size: 14px;
}

.presszone-forum-perm-legend__item {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Role header with tooltip */
.presszone-forum-perm-table__role-header {
    white-space: nowrap;
}

.presszone-forum-role-name {
    margin-right: 4px;
}

.presszone-forum-role-tooltip,
.presszone-forum-cap-tooltip,
.presszone-forum-tooltip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 11px;
    color: $presszone-forum-text-muted;
    cursor: help;
    opacity: 0.6;
    transition: opacity $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    position: relative;
}

body.dark-mode .presszone-forum-role-tooltip:hover,
body.dark-mode .presszone-forum-cap-tooltip:hover,
body.dark-mode .presszone-forum-tooltip:hover {
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-tooltip::after {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 1px $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-tooltip::before {
    border-bottom-color: $presszone-forum-surface-dark;
}

/* Custom Tooltip Popup using title attribute */
.presszone-forum-tooltip::after {
    content: attr(title);
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 14px;
    background: $presszone-forum-surface;
    color: $presszone-forum-text;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
    width: max-content;
    max-width: 280px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15), 0 0 0 1px $presszone-forum-border;
    opacity: 0;
    visibility: hidden;
    transition: opacity $presszone-forum-duration-fast $presszone-forum-ease-smooth, visibility $presszone-forum-duration-fast $presszone-forum-ease-smooth, transform $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    z-index: 10000;
    pointer-events: none;
    text-align: left;
}

.presszone-forum-tooltip::before {
    content: '';
    position: absolute;
    top: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-bottom-color: $presszone-forum-surface;
    opacity: 0;
    visibility: hidden;
    transition: opacity $presszone-forum-duration-fast $presszone-forum-ease-smooth, visibility $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    z-index: 10001;
}

.presszone-forum-tooltip:hover::after,
.presszone-forum-tooltip:hover::before {
    opacity: 1;
    visibility: visible;
}

.presszone-forum-tooltip:hover::after {
    transform: translateX(-50%) translateY(4px);
}

.presszone-forum-perm-table__cap {
    display: flex;
    align-items: center;
    gap: 6px;
}

.presszone-forum-perm-trace__help {
    color: $presszone-forum-text-muted;
    font-size: 13px;
    margin: 0 0 12px 0;
}

/* Permission Table Redesign */
.presszone-forum-perm-table-wrapper {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    overflow: auto;
    /* Enable scrolling */
    max-width: 100%;
    border: 1px solid $presszone-forum-border;
    position: relative;
    max-height: calc(100vh - 200px);
    /* Limit height to viewport */
}

/* Permission Grid (Div-based) */
.presszone-forum-perm-grid-wrapper {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    border: 1px solid $presszone-forum-border;
    overflow: auto;
    max-height: calc(100vh - 200px);
    position: relative;
    box-shadow: $presszone-forum-shadow-sm;
}

.presszone-forum-perm-grid {
    display: grid;
    /* grid-template-columns set inline in JS */
    min-width: 100%;
}

.presszone-forum-perm-grid__cell {
    padding: 16px 12px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid $presszone-forum-border;
    background: $presszone-forum-surface;
    font-size: 14px;
    color: $presszone-forum-text;
}

/* Header Cells */
.presszone-forum-perm-grid__cell--header {
    background: $presszone-forum-surface-2;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 10;
    border-bottom: 2px solid $presszone-forum-border;
    justify-content: center;
}

/* Capability Column (Sticky Left) */
.presszone-forum-perm-grid__cell--cap {
    position: sticky;
    left: 0;
    z-index: 5;
    background: $presszone-forum-surface;
    border-right: 2px solid $presszone-forum-border;
    font-weight: 500;
    justify-content: flex-start;
}

/* Top-Left Corner (Sticky Both) */
.presszone-forum-perm-grid__cell--sticky-corner {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 20;
    background: $presszone-forum-surface-2;
    border-right: 2px solid $presszone-forum-border;
    justify-content: flex-start;
}

/* Action Cells */
.presszone-forum-perm-grid__cell--action {
    justify-content: center;
}

/* Hover effect */
.presszone-forum-perm-grid__cell--action:hover {
    background: $presszone-forum-surface-2;
}

.presszone-forum-settings-group--horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-end;
    /* Align bottom to match inputs */
}

.presszone-forum-settings-group--horizontal>.presszone-forum-form-group {
    flex: 1;
    min-width: 250px;
    margin-bottom: 0;
    /* Remove bottom margin inside group */
}

/* Legacy permission table styles - DEPRECATED (use .presszone-forum-perm-grid instead) */
/* These styles are kept for backwards compatibility but should not be used in new code */

.presszone-forum-perm-cell {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    font-size: 14px;
}

.presszone-forum-perm-cell--allow {
    background: $presszone-forum-success-dim-alt;
    color: $presszone-forum-success;
}

.presszone-forum-perm-cell--inherit {
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text-muted;
}

.presszone-forum-perm-cell--never {
    background: $presszone-forum-error-dim;
    color: $presszone-forum-error;
}

.presszone-forum-perm-trace {
    margin-top: 32px;
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    padding: 20px;
}

.presszone-forum-perm-trace h2 {
    margin: 0 0 16px 0;
    font-size: 16px;
}

.presszone-forum-perm-trace__form {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.presszone-forum-perm-trace__form .presszone-forum-input,
.presszone-forum-perm-trace__form .presszone-forum-select {
    width: auto;
    min-width: 150px;
}

.presszone-forum-perm-trace__result {
    margin-top: 16px;
    padding: 16px;
    border-radius: $presszone-forum-radius;
}

.presszone-forum-perm-trace__result h3 {
    margin: 0 0 12px 0;
}

.presszone-forum-perm-trace__result ul {
    margin: 0;
    padding-left: 20px;
    font-size: 13px;
}

.presszone-forum-perm-trace__result--allowed {
    background: $presszone-forum-success-dim-lighter;
    border: 1px solid $presszone-forum-success;
}

.presszone-forum-perm-trace__result--denied {
    background: $presszone-forum-error-dim-lighter;
    border: 1px solid $presszone-forum-error;
}

/* Settings */
.presszone-forum-settings__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.presszone-forum-settings__header h1 {
    margin: 0;
}


/* ============================================
   Modern Tabs Component
   ============================================ */

.presszone-forum-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 24px;
    border-radius: $presszone-forum-radius;
    padding: 4px;
    overflow-x: auto;
    scrollbar-width: none;

    &::-webkit-scrollbar {
        display: none;
    }
}

.presszone-forum-tabs__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: none;
    border: none;
    border-radius: $presszone-forum-radius;
    color: $presszone-forum-text-muted;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
                background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    white-space: nowrap;
}

.presszone-forum-tabs__item:hover {
    color: $presszone-forum-text;
    background: $presszone-forum-surface-2;
}

.presszone-forum-tabs__item--active {
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
}

.presszone-forum-tabs__icon {
    font-size: 16px;
}

.presszone-forum-tabs__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 600;
    background: $presszone-forum-surface-2;
    border-radius: 10px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-tabs__item--active .presszone-forum-tabs__count {
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
}

/* Modal tabs variant - compact */
.presszone-forum-tabs--modal {
    margin-bottom: 0;
    padding: 4px 24px;
}

.presszone-forum-tabs--modal .presszone-forum-tabs__item {
    font-size: 13px;
}


.presszone-forum-settings__panel {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    padding: 24px;
}

.presszone-forum-settings__section-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: $presszone-forum-primary;
    margin: 0 0 16px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-settings__section-title:not(:first-child) {
    margin-top: 28px;
}

.presszone-forum-settings__footer {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid $presszone-forum-border;
}

.presszone-forum-saas-status {
    margin-top: 24px;
    padding: 16px;
    background: $presszone-forum-surface-2;
    border-radius: $presszone-forum-radius;
}

.presszone-forum-saas-status h3 {
    margin: 0 0 12px 0;
    font-size: 14px;
}

.presszone-forum-saas-status__indicator {
    display: flex;
    align-items: center;
    gap: 8px;
}

.presszone-forum-saas-status__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: $presszone-forum-warning;
}

/* Pending Changes Bar (for staged drag-drop) */
.presszone-forum-pending-changes-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, $presszone-forum-warning-gradient-start, $presszone-forum-warning-gradient-end);
    border: 1px solid $presszone-forum-warning;
    border-radius: $presszone-forum-radius;
    margin-bottom: 16px;
    animation: presszoneForumSlideInDown $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-pending-changes-bar__icon {
    font-size: 18px;
}

.presszone-forum-pending-changes-bar__text {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: $presszone-forum-warning;
}

.presszone-forum-pending-changes-bar__actions {
    display: flex;
    gap: 8px;
}

/* Drag Preview */
.presszone-forum-node-drag-preview {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    font-weight: 500;
    border: 2px solid $presszone-forum-primary;
}

/* Node item when changed */
.presszone-forum-node-item--changed .presszone-forum-node-item__content {
    border-left: 3px solid $presszone-forum-warning;
    background: $presszone-forum-warning-dim-lightest2;
}

/* Improved drag states */
.presszone-forum-node-item--dragging {
    opacity: 0.4;
}

.presszone-forum-node-item--over {
    background: $presszone-forum-primary-dim;
    border-radius: $presszone-forum-radius;
}

/* ============================================
   Moderation Queue Styles
   ============================================ */

/* Moderation page layout - sticky header with scrollable content */

/* When moderation page is active, enable flex layout on content container */
.presszone-forum-content:has(.presszone-forum-moderation-sticky-header) {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 46px - 48px);
    /* Account for WP admin bar and padding */
    overflow: hidden;
}

.presszone-forum-moderation-sticky-header {
    flex-shrink: 0;
    background: $presszone-forum-bg;
    padding-bottom: 0;
    margin: -24px -24px 0 -24px;
    padding: 24px 24px 0 24px;
    border-bottom: 1px solid $presszone-forum-border;

    .presszone-forum-dashboard__header {
        margin-bottom: 16px;
    }

    .presszone-forum-tabs {
        margin-bottom: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;

        &::-webkit-scrollbar {
            height: 4px;
        }

        &::-webkit-scrollbar-track {
            background: transparent;
        }

        &::-webkit-scrollbar-thumb {
            background: $presszone-forum-border;
            border-radius: 2px;
        }
    }
}

body.dark-mode .presszone-forum-moderation-sticky-header {
    background: $presszone-forum-surface-dark;
    border-bottom-color: $presszone-forum-border-dark;
}

/* Dark Mode - Moderation Cards and Elements */
body.dark-mode {
    .presszone-forum-moderation__card {
        background: $presszone-forum-surface-dark;
        border-color: $presszone-forum-border-dark;
    }

    .presszone-forum-moderation__type,
    .presszone-forum-moderation__header h1 {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-moderation__date,
    .presszone-forum-moderation__meta {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-moderation__preview {
        background: $presszone-forum-surface-2-dark;
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-moderation__reason {
        background: rgba(239, 68, 68, 0.1);
        border-left-color: $presszone-forum-error-dark;
    }

    .presszone-forum-moderation__reason strong {
        color: $presszone-forum-error-dark;
    }

    .presszone-forum-moderation__reason p {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-moderation__empty {
        background: $presszone-forum-surface-dark;
        border-color: $presszone-forum-border-dark;
    }

    .presszone-forum-moderation__empty h2 {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-moderation__empty p {
        color: $presszone-forum-text-muted-dark;
    }
}

.presszone-forum-moderation-content {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    margin: 0 -24px -24px -24px;

    /* Table containers within moderation should scroll horizontally */
    .presszone-forum-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;

        &::-webkit-scrollbar {
            height: 8px;
        }

        &::-webkit-scrollbar-track {
            background: $presszone-forum-surface-2;
            border-radius: 4px;
        }

        &::-webkit-scrollbar-thumb {
            background: $presszone-forum-border;
            border-radius: 4px;

            &:hover {
                background: $presszone-forum-text-muted;
            }
        }
    }
}

/* Mobile adjustments for moderation layout */
@media (max-width: 768px) {
    .presszone-forum-content:has(.presszone-forum-moderation-sticky-header) {
        height: calc(100vh - 46px - 60px - 48px);
        /* Account for hamburger area */
    }

    .presszone-forum-moderation-sticky-header {
        margin: -24px -16px 0 -16px;
        padding: 16px 16px 0 16px;

        .presszone-forum-dashboard__header {
            margin-bottom: 12px;

            h1 {
                font-size: 22px;
            }
        }

        .presszone-forum-tabs {
            gap: 0;
        }

        .presszone-forum-tabs__item {
            padding: 10px 14px;
            font-size: 13px;
        }
    }

    .presszone-forum-moderation-content {
        padding: 16px;
        margin: 0 -16px -16px -16px;
    }
}

.presszone-forum-moderation {
    max-width: 1000px;
}

.presszone-forum-moderation__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    gap: 16px;
    flex-wrap: wrap;
}

.presszone-forum-moderation__header h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: $presszone-forum-text;
}

.presszone-forum-moderation__filters {
    display: flex;
    gap: 8px;
}

.presszone-forum-moderation__empty {
    text-align: center;
    padding: 60px 20px;
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-moderation__empty-icon {
    font-size: 48px;
    display: block;
    margin-bottom: 16px;
}

.presszone-forum-moderation__empty h2 {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 600;
}

.presszone-forum-moderation__empty p {
    margin: 0;
    color: $presszone-forum-text-muted;
}

.presszone-forum-moderation__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.presszone-forum-moderation__card {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    border: 1px solid $presszone-forum-border;
    padding: 20px;
    transition: box-shadow $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-moderation__card:hover {
    box-shadow: $presszone-forum-shadow;
}

body.dark-mode .presszone-forum-moderation__card:hover {
    box-shadow: $presszone-forum-shadow-hover-dark;
}

.presszone-forum-moderation__card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.presszone-forum-moderation__type {
    font-weight: 600;
    font-size: 14px;
    color: $presszone-forum-text;
}

.presszone-forum-moderation__date {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-moderation__content {
    margin-bottom: 12px;
}

.presszone-forum-moderation__preview {
    margin: 0;
    padding: 12px;
    background: $presszone-forum-surface-2;
    border-radius: $presszone-forum-radius;
    color: $presszone-forum-text;
    font-size: 14px;
    line-height: 1.5;
}

.presszone-forum-moderation__reason {
    margin-bottom: 16px;
    padding: 12px;
    background: $presszone-forum-error-dim-lightest;
    border-radius: $presszone-forum-radius;
    border-left: 3px solid $presszone-forum-error;
}

.presszone-forum-moderation__reason strong {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: $presszone-forum-error;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.presszone-forum-moderation__reason p {
    margin: 0;
    font-size: 14px;
    color: $presszone-forum-text;
}

.presszone-forum-moderation__meta {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    margin-bottom: 16px;
}

.presszone-forum-moderation__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Moderation - User Lookup (warnings) */
.presszone-forum-moderation-user-header {
    margin-bottom: 16px;
}

/* Widget modifier used on moderation user header */
.presszone-forum-widget--no-accent {
    border-inline-start: 0;
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-widget--no-accent {
    background: $presszone-forum-surface-2-dark;
}

.presszone-forum-moderation-user-header__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.presszone-forum-moderation-user-header__name {
    margin: 0;
}

.presszone-forum-moderation-user-header__handle {
    margin: 0;
}

.presszone-forum-moderation-user-header__user {
    flex: 1;
    min-width: 0;
}

.presszone-forum-moderation-user-header__stats {
    display: flex;
    gap: 12px;
    margin-right: 24px;
}

@media (max-width: 768px) {
    .presszone-forum-moderation-user-header {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .presszone-forum-moderation-user-header__stats {
        margin-right: 0;
        width: 100%;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 8px;
    }

    .presszone-forum-moderation-user-header__user {
        width: 100%;
    }

    .presszone-forum-moderation-user-header__title-row {
        flex-wrap: wrap;
    }
}

.presszone-forum-stat-badge {
    text-align: center;
    min-width: 92px;

    @media (max-width: 768px) {
        min-width: 0;
        flex: 1;
        padding: 4px;
    }
}

.presszone-forum-stat-badge__value {
    font-size: 20px;
    font-weight: 700;
    color: $presszone-forum-text-muted;
}

.presszone-forum-stat-badge__label {
    font-size: 11px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-stat-badge--warning:not(.is-zero) .presszone-forum-stat-badge__value {
    color: $presszone-forum-warning;
}

.presszone-forum-stat-badge--mute:not(.is-zero) .presszone-forum-stat-badge__value {
    color: $presszone-forum-primary;
}

.presszone-forum-stat-badge--ban:not(.is-zero) .presszone-forum-stat-badge__value {
    color: $presszone-forum-error;
}

body.dark-mode {
    .presszone-forum-stat-badge__value {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-stat-badge__label {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-stat-badge--warning:not(.is-zero) .presszone-forum-stat-badge__value {
        color: $presszone-forum-warning-dark;
    }

    .presszone-forum-stat-badge--mute:not(.is-zero) .presszone-forum-stat-badge__value {
        color: $presszone-forum-primary-dark;
    }

    .presszone-forum-stat-badge--ban:not(.is-zero) .presszone-forum-stat-badge__value {
        color: $presszone-forum-error-dark;
    }
}

.presszone-forum-moderation-escalation {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 16px;
    background: $presszone-forum-surface;
    border-radius: 12px;
    border: 1px solid $presszone-forum-border;

    @media (max-width: 768px) {
        display: block; // Or flex-column
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom: 24px; // Scrollbar space
    }
}

.presszone-forum-moderation-escalation__label {
    font-size: 13px;
    font-weight: 500;
    color: $presszone-forum-text-muted;
    white-space: nowrap;
}

.presszone-forum-moderation-escalation__steps {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;

    @media (max-width: 768px) {
        flex-wrap: nowrap; // Keep horizontal scroll
    }
}

body.dark-mode .presszone-forum-moderation-escalation {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-moderation-escalation__label {
    color: $presszone-forum-text-muted-dark;
}

.presszone-forum-escalation-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.presszone-forum-escalation-step__circle {
    width: 24px;
    height: 24px;
    border-radius: 50%;

    @media (max-width: 768px) {
        width: 20px;
        height: 20px;
        font-size: 9px;
    }

    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text-muted;
    border: 1px solid $presszone-forum-border;
    transition: box-shadow $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-escalation-step__label {
    font-size: 10px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-escalation-connector {
    width: 20px;
    height: 2px;
    background: $presszone-forum-border;
    border-radius: 2px;
    margin-top: -12px;
}

body.dark-mode {
    .presszone-forum-escalation-step__circle {
        background: $presszone-forum-surface-2-dark;
        color: $presszone-forum-text-muted-dark;
        border-color: $presszone-forum-border-dark;
    }

    .presszone-forum-escalation-step__label {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-escalation-connector {
        background: $presszone-forum-border-dark;
    }
}

.presszone-forum-escalation-step.is-active {
    .presszone-forum-escalation-step__circle {
        color: $presszone-forum-text-on-primary;
        border-color: transparent;
    }

    .presszone-forum-escalation-step__label {
        font-weight: 500;
    }
}

.presszone-forum-escalation-step--0.is-active {
    .presszone-forum-escalation-step__circle {
        background: $presszone-forum-success;
    }

    .presszone-forum-escalation-step__label {
        color: $presszone-forum-success;
    }

    &.is-current .presszone-forum-escalation-step__circle {
        box-shadow: 0 0 0 3px rgba($presszone-forum-success, 0.25);
    }
}

.presszone-forum-escalation-step--1.is-active {
    .presszone-forum-escalation-step__circle {
        background: $presszone-forum-warning;
    }

    .presszone-forum-escalation-step__label {
        color: $presszone-forum-warning;
    }

    &.is-current .presszone-forum-escalation-step__circle {
        box-shadow: 0 0 0 3px rgba($presszone-forum-warning, 0.25);
    }
}

.presszone-forum-escalation-step--2.is-active {
    .presszone-forum-escalation-step__circle {
        background: $presszone-forum-escalation-mute;
    }

    .presszone-forum-escalation-step__label {
        color: $presszone-forum-escalation-mute;
    }

    &.is-current .presszone-forum-escalation-step__circle {
        box-shadow: 0 0 0 3px rgba($presszone-forum-escalation-mute, 0.25);
    }
}

.presszone-forum-escalation-step--3.is-active {
    .presszone-forum-escalation-step__circle {
        background: $presszone-forum-error;
    }

    .presszone-forum-escalation-step__label {
        color: $presszone-forum-error;
    }

    &.is-current .presszone-forum-escalation-step__circle {
        box-shadow: 0 0 0 3px rgba($presszone-forum-error, 0.25);
    }
}

.presszone-forum-escalation-step--4.is-active {
    .presszone-forum-escalation-step__circle {
        background: $presszone-forum-escalation-perm;
    }

    .presszone-forum-escalation-step__label {
        color: $presszone-forum-escalation-perm;
    }

    &.is-current .presszone-forum-escalation-step__circle {
        box-shadow: 0 0 0 3px rgba($presszone-forum-escalation-perm, 0.25);
    }
}

.presszone-forum-escalation-connector--0.is-active {
    background: $presszone-forum-success;
}

.presszone-forum-escalation-connector--1.is-active {
    background: $presszone-forum-warning;
}

.presszone-forum-escalation-connector--2.is-active {
    background: $presszone-forum-escalation-mute;
}

.presszone-forum-escalation-connector--3.is-active {
    background: $presszone-forum-error;
}

body.dark-mode {
    .presszone-forum-escalation-step.is-active {
        .presszone-forum-escalation-step__circle {
            color: $presszone-forum-text-on-primary-dark;
        }
    }

    .presszone-forum-escalation-step--0.is-active {
        .presszone-forum-escalation-step__circle {
            background: $presszone-forum-success-dark;
        }

        .presszone-forum-escalation-step__label {
            color: $presszone-forum-success-dark;
        }

        &.is-current .presszone-forum-escalation-step__circle {
            box-shadow: 0 0 0 3px rgba($presszone-forum-success-dark, 0.25);
        }
    }

    .presszone-forum-escalation-step--1.is-active {
        .presszone-forum-escalation-step__circle {
            background: $presszone-forum-warning-dark;
        }

        .presszone-forum-escalation-step__label {
            color: $presszone-forum-warning-dark;
        }

        &.is-current .presszone-forum-escalation-step__circle {
            box-shadow: 0 0 0 3px rgba($presszone-forum-warning-dark, 0.25);
        }
    }

    .presszone-forum-escalation-step--2.is-active {
        .presszone-forum-escalation-step__circle {
            background: $presszone-forum-escalation-mute-dark;
        }

        .presszone-forum-escalation-step__label {
            color: $presszone-forum-escalation-mute-dark;
        }

        &.is-current .presszone-forum-escalation-step__circle {
            box-shadow: 0 0 0 3px rgba($presszone-forum-escalation-mute-dark, 0.25);
        }
    }

    .presszone-forum-escalation-step--3.is-active {
        .presszone-forum-escalation-step__circle {
            background: $presszone-forum-error-dark;
        }

        .presszone-forum-escalation-step__label {
            color: $presszone-forum-error-dark;
        }

        &.is-current .presszone-forum-escalation-step__circle {
            box-shadow: 0 0 0 3px rgba($presszone-forum-error-dark, 0.25);
        }
    }

    .presszone-forum-escalation-step--4.is-active {
        .presszone-forum-escalation-step__circle {
            background: $presszone-forum-escalation-perm-dark;
        }

        .presszone-forum-escalation-step__label {
            color: $presszone-forum-escalation-perm-dark;
        }

        &.is-current .presszone-forum-escalation-step__circle {
            box-shadow: 0 0 0 3px rgba($presszone-forum-escalation-perm-dark, 0.25);
        }
    }

    .presszone-forum-escalation-connector--0.is-active {
        background: $presszone-forum-success-dark;
    }

    .presszone-forum-escalation-connector--1.is-active {
        background: $presszone-forum-warning-dark;
    }

    .presszone-forum-escalation-connector--2.is-active {
        background: $presszone-forum-escalation-mute-dark;
    }

    .presszone-forum-escalation-connector--3.is-active {
        background: $presszone-forum-error-dark;
    }
}

.presszone-forum-moderation-suggested {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: $presszone-forum-warning-dim-lightest;
    border: 1px solid $presszone-forum-warning;
    border-radius: 12px;
    margin-bottom: 16px;
}

.presszone-forum-moderation-suggested__icon {
    font-size: 18px;
}

.presszone-forum-moderation-suggested__content {
    flex: 1;
    min-width: 0;
}

.presszone-forum-moderation-suggested__label {
    color: $presszone-forum-warning;
}

.presszone-forum-moderation-suggested__rationale {
    margin: 4px 0 0;
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

body.dark-mode {
    .presszone-forum-moderation-suggested {
        background: $presszone-forum-surface-dark;
        border-color: $presszone-forum-warning-dark;
    }

    .presszone-forum-moderation-suggested__label {
        color: $presszone-forum-warning-dark;
    }

    .presszone-forum-moderation-suggested__rationale {
        color: $presszone-forum-text-muted-dark;
    }
}

.presszone-forum-moderation__internal-note {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed $presszone-forum-border;
    font-size: 12px;
    color: $presszone-forum-text-muted;
    font-style: italic;
}

.presszone-forum-moderation__internal-note-label {
    font-weight: 500;
    font-style: normal;
}

body.dark-mode {
    .presszone-forum-moderation__internal-note {
        border-top-color: $presszone-forum-border-dark;
        color: $presszone-forum-text-muted-dark;
    }
}

/* Premium List Component */
.presszone-forum-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 280px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.presszone-forum-list__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-list__item:last-child {
    border-bottom: none;
}

.presszone-forum-list__item--contributor {
    gap: 12px;
}

.presszone-forum-list__name {
    flex: 1;
    font-weight: 500;
    color: $presszone-forum-text;
}

.presszone-forum-list__meta {
    font-size: 13px;
    color: $presszone-forum-text-muted;
}

/* Badge - Rank Variant */
.presszone-forum-badge--rank {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    padding: 0;
}

/* Activity List - Additional Styles */
.presszone-forum-activity-list__reason {
    font-size: 0.9em;
    margin: 4px 0;
}

.presszone-forum-activity-list__resolved {
    font-size: 0.9em;
    margin-top: 2px;
    color: $presszone-forum-success;
}

.presszone-forum-activity-list__icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
}

.presszone-forum-alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 8px;
    margin-bottom: 24px;
}

.presszone-forum-alert--warning {
    background: $presszone-forum-warning-dim-alt;
    border: 1px solid $presszone-forum-warning-border;
    color: $presszone-forum-warning;
}

.presszone-forum-alert__icon {
    font-size: 20px;
}

.presszone-forum-notice {
    padding: 14px 18px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.5;
}

.presszone-forum-notice--success {
    background: $presszone-forum-success-dim;
    border: 1px solid $presszone-forum-success;
    color: $presszone-forum-success-hover;
}

.presszone-forum-notice--error {
    background: $presszone-forum-error-dim-alt;
    border: 1px solid $presszone-forum-error;
    color: $presszone-forum-error-hover;
}

.presszone-forum-notice--warning {
    background: $presszone-forum-warning-dim-alt2;
    border: 1px solid $presszone-forum-warning;
    color: $presszone-forum-warning-hover;
}

.presszone-forum-notice--info {
    background: $presszone-forum-primary-dim;
    border: 1px solid $presszone-forum-primary;
    color: $presszone-forum-primary-hover;
}

.presszone-forum-activity-chart h2,
.presszone-forum-recent-activity h2,
.presszone-forum-top-contributors h2,
.presszone-forum-quick-stats h2 {
    font-size: 16px;
    margin: 0 0 16px;
    color: $presszone-forum-text;
}

.presszone-forum-chart {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 120px;
    padding-top: 10px;
}

.presszone-forum-chart__bar-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.presszone-forum-chart__bar {
    width: 100%;
    background: linear-gradient(to top, $presszone-forum-chart-bar-start, $presszone-forum-chart-bar-end);
    border-radius: 4px 4px 0 0;
    min-height: 4px;
    transition: height 0.3s ease;
}

.presszone-forum-chart__label {
    font-size: 10px;
    color: $presszone-forum-text-muted;
    margin-top: 6px;
}

.presszone-forum-activity-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 250px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.presszone-forum-activity-list__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-activity-list__item:last-child {
    border-bottom: none;
}

.presszone-forum-activity-list__icon {
    font-size: 16px;
}

.presszone-forum-activity-list__content {
    flex: 1;
    font-size: 13px;
    line-height: 1.4;
}

.presszone-forum-activity-list__time {
    font-size: 11px;
    color: $presszone-forum-text-muted;
}

/* =============================================================================
   Moderation Overview - Stats Row & Cards
   ============================================================================= */

.presszone-forum-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin-top: 24px;
}

/* =============================================================================
   STAT CARD COMPONENT
   =============================================================================
   Used in Dashboard and Moderation Overview for statistics.
   Centered/stacked layout: icon on top, value in middle, label at bottom.
   Matches Comments plugin styling for brand consistency.
   ============================================================================= */

.presszone-forum-stat-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background: $presszone-forum-surface;
    border-radius: 12px;
    padding: 16px 20px;
    border-inline-start: 4px solid transparent;
    transition: border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

/* Icon on left */
.presszone-forum-stat-card__icon {
    font-size: 28px;
    line-height: 1;
    flex-shrink: 0;
}

/* Value (number) - large and bold */
.presszone-forum-stat-card__value {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
    transition: color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

/* Label - smaller, muted by default */
.presszone-forum-stat-card__label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    color: $presszone-forum-text-muted;
    transition: color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

/* Stat card color modifiers - colors value only, label stays muted */
.presszone-forum-stat-card--red {
    border-inline-start-color: $presszone-forum-stat-red;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-red;
    }
}

.presszone-forum-stat-card--orange {
    border-inline-start-color: $presszone-forum-stat-orange;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-orange;
    }
}

.presszone-forum-stat-card--yellow {
    border-inline-start-color: $presszone-forum-stat-yellow;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-yellow;
    }
}

.presszone-forum-stat-card--blue {
    border-inline-start-color: $presszone-forum-stat-blue;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-blue;
    }
}

.presszone-forum-stat-card--green {
    border-inline-start-color: $presszone-forum-stat-green;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-green;
    }
}

.presszone-forum-stat-card--purple {
    border-inline-start-color: $presszone-forum-stat-purple;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-purple;
    }
}

.presszone-forum-stat-card--cyan {
    border-inline-start-color: $presszone-forum-stat-cyan;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-stat-cyan;
    }
}

.presszone-forum-stat-card--muted {
    border-inline-start-color: $presszone-forum-text-muted;

    .presszone-forum-stat-card__value {
        color: $presszone-forum-text-muted;
    }
}

/* Quick Actions Row */
.presszone-forum-actions-row {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* =============================================================================
   Moderation Overview - Activity Section & Timeline
   ============================================================================= */

.presszone-forum-activity-section {
    margin-top: 32px;
}

.presszone-forum-activity-section__title {
    margin: 0 0 16px 0;
    font-size: 16px;
    font-weight: 600;
    color: $presszone-forum-text;
}

/* Timeline Container */
.presszone-forum-timeline {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.presszone-forum-timeline__loading,
.presszone-forum-timeline__error {
    text-align: center;
    padding: 24px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-timeline__error {
    color: $presszone-forum-error;
}

.presszone-forum-timeline__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px 24px;
    text-align: center;
    color: $presszone-forum-text-muted;
}

.presszone-forum-timeline__empty-icon {
    font-size: 32px;
    opacity: 0.6;
}

/* Timeline Items */
.presszone-forum-timeline__item {
    display: flex;
    gap: 12px;
    padding: 12px 8px;
    border-inline-start: 2px solid $presszone-forum-border;
    margin-inline-start: 12px;
    transition: border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        background $presszone-forum-duration-fast $presszone-forum-ease-smooth;

    &:hover {
        border-inline-start-color: $presszone-forum-primary;
        background: $presszone-forum-surface-2;
        border-radius: 0 $presszone-forum-radius-sm $presszone-forum-radius-sm 0;
    }
}

.presszone-forum-timeline__icon {
    font-size: 20px;
    flex-shrink: 0;
    width: 24px;
    text-align: center;
    line-height: 1;
}

.presszone-forum-timeline__icon--danger {
    filter: saturate(1.2);
}

.presszone-forum-timeline__icon--warning {
    filter: saturate(1.1);
}

.presszone-forum-timeline__icon--success {
    filter: saturate(1.2);
}

.presszone-forum-timeline__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.presszone-forum-timeline__header {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 1.4;
}

.presszone-forum-timeline__user {
    font-weight: 600;
    color: $presszone-forum-text;
}

.presszone-forum-timeline__action {
    color: $presszone-forum-text-muted;
}

.presszone-forum-timeline__meta {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.presszone-forum-timeline__time {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    white-space: nowrap;
    flex-shrink: 0;
    margin-inline-start: auto;
}

/* Dark Mode Overrides for Stat Cards and Timeline */
body.dark-mode {
    .presszone-forum-stat-card {
        background: $presszone-forum-surface-dark;
    }

    .presszone-forum-stat-card__label {
        color: $presszone-forum-text-muted-dark;
    }

    /* Red variant (Banned) - brighter in dark mode */
    .presszone-forum-stat-card--red {
        border-inline-start-color: $presszone-forum-stat-red-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-red-dark;
        }
    }

    /* Orange variant (Muted) - brighter in dark mode */
    .presszone-forum-stat-card--orange {
        border-inline-start-color: $presszone-forum-stat-orange-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-orange-dark;
        }
    }

    /* Yellow variant (Warned) - brighter in dark mode */
    .presszone-forum-stat-card--yellow {
        border-inline-start-color: $presszone-forum-stat-yellow-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-yellow-dark;
        }
    }

    /* Blue variant (Reports) - brighter in dark mode */
    .presszone-forum-stat-card--blue {
        border-inline-start-color: $presszone-forum-stat-blue-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-blue-dark;
        }
    }

    /* Green variant - brighter in dark mode */
    .presszone-forum-stat-card--green {
        border-inline-start-color: $presszone-forum-stat-green-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-green-dark;
        }
    }

    /* Purple variant - brighter in dark mode */
    .presszone-forum-stat-card--purple {
        border-inline-start-color: $presszone-forum-stat-purple-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-purple-dark;
        }
    }

    /* Cyan variant - brighter in dark mode */
    .presszone-forum-stat-card--cyan {
        border-inline-start-color: $presszone-forum-stat-cyan-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-stat-cyan-dark;
        }
    }

    /* Muted variant */
    .presszone-forum-stat-card--muted {
        border-inline-start-color: $presszone-forum-text-muted-dark;

        .presszone-forum-stat-card__value {
            color: $presszone-forum-text-muted-dark;
        }
    }

    .presszone-forum-activity-section__title {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-timeline {
        background: $presszone-forum-surface-dark;
    }

    .presszone-forum-timeline__item {
        border-inline-start-color: $presszone-forum-border-dark;

        &:hover {
            border-inline-start-color: $presszone-forum-primary-dark;
            background: $presszone-forum-surface-2-dark;
        }
    }

    .presszone-forum-timeline__user {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-timeline__action,
    .presszone-forum-timeline__meta,
    .presszone-forum-timeline__time {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-timeline__loading,
    .presszone-forum-timeline__empty {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-timeline__error {
        color: $presszone-forum-error-dark;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

    .presszone-forum-stat-card,
    .presszone-forum-timeline__item,
    .presszone-forum-widget,
    .presszone-forum-leaderboard__item,
    .presszone-forum-list-item,
    .presszone-forum-chart-tooltip,
    .presszone-forum-chart-point {
        transition: none !important;
    }

    .presszone-forum-widget:hover {
        transform: none;
    }
}

/* =============================================================================
   Activity Table (GridTable variant for Recent Activity)
   ============================================================================= */

.presszone-forum-activity-table-container {
    margin-top: 8px;
}

/* Compact user cell variant (icon + name on same line) */
.presszone-forum-user-cell--compact {
    display: flex;
    align-items: center;
    gap: 8px;
}

.presszone-forum-activity-icon {
    font-size: 16px;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

/* Action cell with text and optional reason */
.presszone-forum-action-cell {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.presszone-forum-action-text {
    font-size: 14px;
    color: $presszone-forum-text;
}

.presszone-forum-action-reason {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.presszone-forum-time-text {
    font-size: 13px;
    color: $presszone-forum-text-muted;
    white-space: nowrap;
}

.presszone-forum-moderator-text {
    font-size: 13px;
    color: $presszone-forum-text-muted;
}

/* Dark Mode Overrides for Activity Table */
body.dark-mode {
    .presszone-forum-action-text {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-action-reason,
    .presszone-forum-time-text,
    .presszone-forum-moderator-text {
        color: $presszone-forum-text-muted-dark;
    }
}

.presszone-forum-contributors-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: contributor;
}

.presszone-forum-contributors-list__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-contributors-list__item:last-child {
    border-bottom: none;
}

.presszone-forum-contributors-list__rank {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: $presszone-forum-primary;
    color: $presszone-forum-contributor-rank-text;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
}

.presszone-forum-contributors-list__name {
    flex: 1;
    font-weight: 500;
}

.presszone-forum-contributors-list__count {
    font-size: 13px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-quick-stats__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.presszone-forum-quick-stats__item {
    text-align: center;
    padding: 16px;
    background: $presszone-forum-info-bg;
    border-radius: 8px;
}

.presszone-forum-quick-stats__value {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: $presszone-forum-primary;
}

.presszone-forum-quick-stats__label {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    text-transform: uppercase;
}

/* ============================================
   Settings Caching Tab - Unavailable States
   ============================================ */

.presszone-forum-settings__info-box {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: $presszone-forum-primary-dim;
    border-radius: $presszone-forum-radius;
    margin-bottom: 24px;
}

.presszone-forum-settings__info-box strong {
    color: $presszone-forum-text;
}

.presszone-forum-settings__unavailable-card {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: $presszone-forum-warning-dim-alt2;
    border: 1px solid rgba(251, 191, 36, 0.3);
    border-radius: $presszone-forum-radius-lg;
    margin-top: 12px;
}

.presszone-forum-settings__unavailable-icon {
    font-size: 24px;
    flex-shrink: 0;
}

.presszone-forum-settings__unavailable-content {
    flex: 1;
}

.presszone-forum-settings__unavailable-content>strong {
    display: block;
    font-size: 15px;
    margin-bottom: 8px;
    color: $presszone-forum-suggested-content-title;
}

.presszone-forum-settings__unavailable-content>p {
    margin: 0 0 12px;
    font-size: 14px;
    color: $presszone-forum-text-muted;
    line-height: 1.5;
}

.presszone-forum-settings__unavailable-steps {
    background: $presszone-forum-surface-2;
    border-radius: $presszone-forum-radius;
    padding: 12px 16px;
}

.presszone-forum-settings__unavailable-steps>strong {
    display: block;
    font-size: 13px;
    margin-bottom: 8px;
    color: $presszone-forum-text;
}

.presszone-forum-settings__unavailable-steps ol {
    margin: 0;
    padding-left: 20px;
    font-size: 13px;
    color: $presszone-forum-text-muted;
    line-height: 1.8;
}

.presszone-forum-settings__unavailable-steps li {
    margin: 0;
}

.presszone-forum-settings__info-card {
    padding: 16px 20px;
    background: $presszone-forum-info-bg;
    border: 1px solid $presszone-forum-info-border;
    border-radius: $presszone-forum-radius-lg;
}

.presszone-forum-settings__info-card>strong {
    display: block;
    font-size: 14px;
    color: $presszone-forum-primary;
}

.presszone-forum-settings__info-card>p {
    margin: 0;
    font-size: 13px;
    color: $presszone-forum-text-muted;
    line-height: 1.6;
}

/* Generic Table Styles */
.presszone-forum-table-wrapper {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    overflow-x: auto;
    border: 1px solid $presszone-forum-border;
}

/* Generic Table - Flexbox based (replaces table elements) */
.presszone-forum-table {
    display: flex;
    flex-direction: column;
    width: 100%;
    font-size: 14px;
}

.presszone-forum-table__header {
    display: flex;
    background: $presszone-forum-surface-2;
    border-bottom: 1px solid $presszone-forum-border;
    font-weight: 600;
}

.presszone-forum-table__body {
    display: flex;
    flex-direction: column;
}

.presszone-forum-table__row {
    display: flex;
    border-bottom: 1px solid $presszone-forum-border;
    transition: background $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-table__row:last-child {
    border-bottom: none;
}

.presszone-forum-table__row:hover {
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-table__row:hover {
    background: $presszone-forum-surface-2-dark;
}

.presszone-forum-table__cell {
    padding: 12px 16px;
    display: flex;
    align-items: center;
    font-size: 14px;
    color: $presszone-forum-text;
}

.presszone-forum-table__cell--header {
    font-weight: 600;
    color: $presszone-forum-text;
    padding: 12px 16px;
}


.presszone-forum-table-container {
    margin-top: 24px;
}

/* User Avatar & Info */
.presszone-forum-user-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.presszone-forum-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    background: $presszone-forum-surface-2;
}

.presszone-forum-avatar--large {
    width: 48px;
    height: 48px;
}

.presszone-forum-avatar-small {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    background: $presszone-forum-surface-2;
    flex-shrink: 0;
}

.presszone-forum-staff-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius;
    margin-bottom: 8px;
}

.presszone-forum-staff-item .presszone-forum-user-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.presszone-forum-staff-search-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius;
    margin-bottom: 8px;
    transition: background $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-staff-search-item:hover {
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-staff-search-item:hover {
    background: $presszone-forum-surface-2-dark;
}

.presszone-forum-staff-search-item .presszone-forum-user-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.presszone-forum-user-info {
    display: flex;
    flex-direction: column;
}

.presszone-forum-user-name {
    font-weight: 500;
    color: $presszone-forum-text;
}

.presszone-forum-user-handle {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

/* Search Section */
.presszone-forum-search-section {
    background: $presszone-forum-surface;
    padding: 24px;
    border-radius: $presszone-forum-radius-lg;
    margin-bottom: 24px;
    border: 1px solid $presszone-forum-border;
}

/* Escalation Bar */
.presszone-forum-escalation-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 16px;
    background: $presszone-forum-surface;
    border-radius: 12px;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-escalation-label {
    font-size: 13px;
    font-weight: 500;
    color: $presszone-forum-text-muted;
    margin-right: 12px;
}

/* Suggested Action Card */
.presszone-forum-suggested-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid $presszone-forum-suggested-border;
    border-radius: 12px;
    margin-bottom: 16px;
}

.presszone-forum-suggested-card__icon {
    font-size: 18px;
}

.presszone-forum-suggested-card__content {
    flex: 1;
}

.presszone-forum-suggested-card__title {
    color: $presszone-forum-suggested-title;
}

.presszone-forum-suggested-card__rationale {
    margin: 4px 0 0;
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

/* User Header Widget */
.presszone-forum-user-header {
    margin-bottom: 16px;
    border-left: none;
    background: $presszone-forum-surface-2;
}

/* Dark Mode - Search Section and Warnings Elements */
body.dark-mode {
    .presszone-forum-search-section {
        background: $presszone-forum-surface-dark;
        border-color: $presszone-forum-border-dark;
    }

    .presszone-forum-search-section h2 {
        color: $presszone-forum-text-dark;
    }

    .presszone-forum-escalation-bar {
        background: $presszone-forum-surface-dark;
        border-color: $presszone-forum-border-dark;
    }

    .presszone-forum-escalation-label {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-suggested-card {
        background: rgba(245, 158, 11, 0.15);
        border-color: $presszone-forum-suggested-border-dark;
    }

    .presszone-forum-suggested-card__title {
        color: $presszone-forum-suggested-title-dark;
    }

    .presszone-forum-suggested-card__rationale {
        color: $presszone-forum-text-muted-dark;
    }

    .presszone-forum-user-header {
        background: $presszone-forum-surface-dark;
    }
}

.presszone-forum-search-bar {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

/* ============================================
   DARK MODE TOGGLE BUTTON
   ============================================ */

.presszone-forum-dark-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: $presszone-forum-surface-2;
    border: 1px solid $presszone-forum-border;
    border-radius: 50%;
    cursor: pointer;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
    color: $presszone-forum-text-muted;
    flex-shrink: 0;
    margin-left: auto;
}

.presszone-forum-dark-toggle:hover {
    background: $presszone-forum-surface-3;
    color: $presszone-forum-text;
    border-color: $presszone-forum-border-hover;
}

.presszone-forum-dark-toggle:focus {
    outline: none;
    box-shadow: 0 0 0 2px $presszone-forum-primary-dim;
}

.presszone-forum-dark-toggle svg {
    width: 16px;
    height: 16px;
    transition: transform $presszone-forum-duration-normal $presszone-forum-ease-spring;
}

.presszone-forum-dark-toggle .presszone-forum-icon-sun {
    display: block;
}

.presszone-forum-dark-toggle .presszone-forum-icon-moon {
    display: none;
}

body.dark-mode .presszone-forum-dark-toggle .presszone-forum-icon-sun {
    display: none;
}

body.dark-mode .presszone-forum-dark-toggle .presszone-forum-icon-moon {
    display: block;
}

/* ============================================
   ADMIN TYPOGRAPHY FIXES (Dark Mode Support)
   ============================================ */
.presszone-forum-admin h1,
.presszone-forum-admin h2,
.presszone-forum-admin h3,
.presszone-forum-admin h4,
.presszone-forum-admin h5,
.presszone-forum-admin h6,
.presszone-forum-card__title {
    color: $presszone-forum-text;
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
}

.presszone-forum-text-muted,
.presszone-forum-activity__label,
.presszone-forum-widget__label,
.presszone-forum-chart__label,
.presszone-forum-dashboard__subtitle,
.presszone-forum-node-tree__header p {
    color: $presszone-forum-text-muted;
}

.presszone-forum-card {
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius-lg;
    padding: 24px;
    box-shadow: $presszone-forum-shadow-sm;
}

.presszone-forum-dark-toggle:hover svg {
    transform: rotate(15deg);
}

/* Inline Settings Layout */
.presszone-forum-form-group--inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.presszone-forum-inline-label {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.presszone-forum-inline-label label {
    margin-bottom: 0;
}

.presszone-forum-input--inline {
    width: 100px !important;
    min-width: 80px;
    flex: 0 0 auto;
    text-align: center;
}

/* =========================================================================
   Modal Redesign (Admin)
   ========================================================================= */

.presszone-forum-modal {
    background: $presszone-forum-surface;
    width: 500px;
    max-width: 90%;
    border-radius: $presszone-forum-radius-lg;
    box-shadow: $presszone-forum-shadow-hover;
    display: flex;
    flex-direction: column;
    max-height: 85vh;
    animation: presszone-forum-modal-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: 1px solid $presszone-forum-glass-border;
    position: relative;
    z-index: 10001;
    /* Above overlay */
}

@keyframes presszone-forum-modal-in {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.presszone-forum-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 32px 16px;
    background: $presszone-forum-surface;
    flex-shrink: 0;
}

.presszone-forum-modal__header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: $presszone-forum-text;
    letter-spacing: -0.5px;
}

.presszone-forum-modal__close {
    background: $presszone-forum-surface-2;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    color: $presszone-forum-text-muted;
    transition: background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth, color $presszone-forum-duration-fast $presszone-forum-ease-smooth, transform $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-modal__close:hover {
    background: $presszone-forum-error;
    color: white;
    transform: rotate(90deg);
}

.presszone-forum-modal__body {
    padding: 16px 32px 32px;
    overflow-y: auto;
}

/* Tabs - Premium Pill Style */
.presszone-forum-modal__tabs {
    display: flex;
    gap: 8px;
    padding: 0 32px;
    margin-bottom: 24px;
    border-bottom: 2px solid $presszone-forum-surface-2;
}

.presszone-forum-tab {
    background: none;
    border: none;
    padding: 12px 4px;
    margin-bottom: -2px;
    /* Overlap border */
    font-weight: 600;
    font-size: 15px;
    color: $presszone-forum-text-muted;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
                background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
                border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-tab:hover {
    color: $presszone-forum-text;
    background: $presszone-forum-surface-2;
}

.presszone-forum-tab.active {
    color: $presszone-forum-primary;
    border-bottom-color: $presszone-forum-primary;
}

.presszone-forum-form-group {
    margin-bottom: 24px;
}

.presszone-forum-form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 14px;
    color: $presszone-forum-text;
}

.presszone-forum-textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius;
    padding: 12px 16px;
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text;
    font-family: inherit;
    resize: vertical;
    min-height: 100px;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-textarea:focus {
    outline: none;
    background: $presszone-forum-surface;
    border-color: $presszone-forum-primary;
    box-shadow: 0 0 0 4px $presszone-forum-primary-dim;
    transform: translateY(-1px);
}

.presszone-forum-modal__footer {
    padding: 24px 32px;
    background: $presszone-forum-surface;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    border-top: 1px solid $presszone-forum-border;
    /* Subtle separator */
}

.presszone-forum-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 32px;
}

.presszone-forum-modal__cancel {
    background: transparent;
    border: none;
    color: $presszone-forum-text-muted;
    font-weight: 600;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth, color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-modal__cancel:hover {
    color: $presszone-forum-text;
    background: $presszone-forum-surface-2;
    border-radius: $presszone-forum-radius;
}

body.dark-mode .presszone-forum-modal__cancel:hover {
    background: $presszone-forum-surface-3-dark;
    color: $presszone-forum-text-dark;
}

/* ============================================
   PREMIUM MODAL STYLES
   Modern, lively animations matching polls feature
   ============================================ */

/* Premium Modal Keyframes */
@keyframes presszone-forum-modal-premium-in {
    0% {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes presszone-forum-modal-premium-out {
    0% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }

    100% {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }
}

@keyframes presszone-forum-success-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.02);
    }
}

@keyframes presszone-forum-error-shake {

    0%,
    100% {
        transform: translateX(0);
    }

    20%,
    60% {
        transform: translateX(-6px);
    }

    40%,
    80% {
        transform: translateX(6px);
    }
}

/* Premium Modal Overlay */
.presszone-forum-modal-overlay--premium {
    background: $presszone-forum-overlay-light;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: presszoneForumFadeIn $presszone-forum-duration-normal $presszone-forum-ease-smooth forwards;
}

/* Premium Modal Container */
.presszone-forum-modal--premium {
    background: $presszone-forum-surface;
    border-radius: 20px;
    border: 1px solid $presszone-forum-border;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.03),
        0 2px 4px rgba(0, 0, 0, 0.04),
        0 12px 24px rgba(0, 0, 0, 0.08),
        0 24px 48px rgba(0, 0, 0, 0.08);
    animation: presszone-forum-modal-premium-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    width: 600px;
    min-height: 0;
    max-height: 80vh;
    max-width: 92vw;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Compact Confirmation Modal */
.presszone-forum-modal--confirm {
    width: 440px !important;
    height: auto !important;
    min-height: auto !important;
}

.presszone-forum-modal--confirm .presszone-forum-modal__header--premium {
    padding: 20px 24px 12px;
}

.presszone-forum-modal--confirm .presszone-forum-modal__content--premium {
    padding: 0 24px 24px;
    min-height: auto;
    flex: none;
}

.presszone-forum-modal--confirm .presszone-forum-modal__footer--premium {
    padding: 16px 24px;
    background: $presszone-forum-surface;
}

.presszone-forum-modal--premium.is-closing {
    animation: presszone-forum-modal-premium-out 0.2s ease forwards;
}

/* Premium Modal Header */
.presszone-forum-modal__header--premium {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 32px 16px;
    border-bottom: none;
    position: relative;
}

.presszone-forum-modal__header--premium::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: radial-gradient(ellipse at top right,
            $presszone-forum-primary-dim,
            transparent 70%);
    pointer-events: none;
    opacity: 0.5;
    border-radius: 20px 20px 0 0;
}

.presszone-forum-modal__title--premium {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: $presszone-forum-text;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 1;
}

.presszone-forum-modal__title-icon {
    width: 28px;
    height: 28px;
    background: $presszone-forum-primary-dim;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: $presszone-forum-primary;
    font-size: 14px;
}

/* Premium Close Button */
.presszone-forum-modal__close--premium {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: $presszone-forum-surface-2;
    border: 1px solid transparent;
    color: $presszone-forum-text-muted;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    position: relative;
    z-index: 1;
    transition:
        background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        transform $presszone-forum-duration-normal $presszone-forum-ease-spring,
        border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-modal__close--premium:hover {
    background: $presszone-forum-error-dim-alt;
    border-color: $presszone-forum-error-border;
    color: $presszone-forum-error;
    transform: rotate(90deg);
}

body.dark-mode .presszone-forum-modal__close--premium:hover {
    background: $presszone-forum-error-dim-dark;
    border-color: $presszone-forum-error-border-dark;
    color: $presszone-forum-error-dark;
}

.presszone-forum-modal__close--premium:active {
    transform: rotate(90deg) scale(0.92);
}

/* Header Controls Container */
.presszone-forum-modal__header-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.presszone-forum-modal__header-action {
    display: flex;
}

/* Header Button Styling */
.presszone-forum-btn--header {
    padding: 10px 20px;
    font-size: 13px;
}

/* Premium Tab Navigation */
.presszone-forum-modal-tabs {
    display: flex;
    gap: 0;
    padding: 0 32px;
    border-bottom: 2px solid $presszone-forum-surface-2;
    position: relative;
}

.presszone-forum-modal-tab {
    position: relative;
    padding: 14px 20px;
    background: transparent;
    border: none;
    font-size: 14px;
    font-weight: 600;
    color: $presszone-forum-text-muted;
    cursor: pointer;
    margin-bottom: -2px;
    transition: color 0.2s ease;
}

.presszone-forum-modal-tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    background: transparent;
    border-radius: 2px 2px 0 0;
    transition:
        background-color 0.2s ease,
        transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform: scaleX(0);
    transform-origin: center;
}

.presszone-forum-modal-tab:hover {
    color: $presszone-forum-text;
    background: $presszone-forum-surface-2;
}

.presszone-forum-modal-tab--active {
    color: $presszone-forum-primary;
}

.presszone-forum-modal-tab--active::after {
    background: $presszone-forum-primary;
    transform: scaleX(1);
}

.presszone-forum-modal-tab__icon {
    margin-right: 8px;
    font-size: 15px;
    opacity: 0.7;
}

.presszone-forum-modal-tab--active .presszone-forum-modal-tab__icon {
    opacity: 1;
}

.presszone-forum-modal-tab__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-left: 8px;
    font-size: 11px;
    font-weight: 700;
    background: $presszone-forum-surface-2;
    border-radius: 10px;
    color: $presszone-forum-text-muted;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-modal-tab--active .presszone-forum-modal-tab__badge {
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
}

/* Tab Panel Animation */
.presszone-forum-tab-panel--active {
    animation: presszoneForumSlideInRight $presszone-forum-duration-normal $presszone-forum-ease-smooth forwards;
}

/* Premium Modal Content */
.presszone-forum-modal__content--premium {
    padding: 12px 32px 24px;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Tab panel wrapper (no class on first render) must stretch to fill modal content */
.presszone-forum-modal__content--premium > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Form fills content area so trailing textarea can grow */
.presszone-forum-modal__content--premium .presszone-forum-modal__form {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Form-group containing a textarea expands to fill remaining space */
.presszone-forum-modal__content--premium .presszone-forum-modal__form .presszone-forum-form-group:has(.presszone-forum-textarea--premium),
.presszone-forum-modal__content--premium .presszone-forum-modal__form .presszone-forum-form-group.has-textarea {
    flex: 1;
    min-height: 0;
}

.presszone-forum-modal__content--premium .presszone-forum-modal__form .presszone-forum-form-group:has(.presszone-forum-textarea--premium) .presszone-forum-textarea--premium,
.presszone-forum-modal__content--premium .presszone-forum-modal__form .presszone-forum-form-group.has-textarea .presszone-forum-textarea--premium {
    height: 100%;
    box-sizing: border-box;
    resize: none;
}

/* Tab slide animations moved to _tab-slide-animations.scss */

/* Premium Form Styles - no stagger animation, simpler approach */
/* .presszone-forum-form-group--animated removed to prevent conflicts */

/* Premium Form - Horizontal Layout */
.presszone-forum-modal__content--premium .presszone-forum-form-group {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px 16px;
    align-items: center;
    margin-bottom: 16px;
}

/* Align label to top when form group contains a textarea */
/* BROWSER COMPATIBILITY: Add .has-textarea class to form-group via JS */
.presszone-forum-modal__content--premium .presszone-forum-form-group:has(.presszone-forum-textarea--premium),
.presszone-forum-modal__content--premium .presszone-forum-form-group.has-textarea {
    align-items: start;
}

.presszone-forum-modal__content--premium .presszone-forum-form-group:has(.presszone-forum-textarea--premium) .presszone-forum-label--premium,
.presszone-forum-modal__content--premium .presszone-forum-form-group.has-textarea .presszone-forum-label--premium {
    padding-top: 14px;
}

.presszone-forum-modal__content--premium .presszone-forum-form-group .presszone-forum-form-help,
.presszone-forum-modal__content--premium .presszone-forum-form-group .presszone-forum-form-help--premium {
    grid-column: 2;
    margin: -10px 0 0 0;
    font-size: 11px;
    color: $presszone-forum-text-muted;
    white-space: nowrap;
}

.presszone-forum-label--premium {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: $presszone-forum-text-secondary;
    white-space: nowrap;
}

.presszone-forum-label--premium .required {
    color: $presszone-forum-error;
    margin-left: 4px;
}

/* Premium Input Styles */
.presszone-forum-input--premium,
.presszone-forum-select--premium,
.presszone-forum-textarea--premium {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    background: $presszone-forum-surface-2;
    border: 1.5px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    color: $presszone-forum-text;
    transition:
        background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        box-shadow $presszone-forum-duration-normal $presszone-forum-ease-smooth,
        transform $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-input--premium::placeholder,
.presszone-forum-textarea--premium::placeholder {
    color: $presszone-forum-text-muted;
    opacity: 0.7;
}

.presszone-forum-input--premium:hover,
.presszone-forum-select--premium:hover,
.presszone-forum-textarea--premium:hover {
    background-color: $presszone-forum-surface;
    border-color: $presszone-forum-border;
}

.presszone-forum-input--premium:focus,
.presszone-forum-select--premium:focus,
.presszone-forum-textarea--premium:focus {
    outline: none;
    background-color: $presszone-forum-surface;
    border-color: $presszone-forum-primary;
    box-shadow: 0 0 0 4px $presszone-forum-primary-dim;
    transform: translateY(-1px);
}

.presszone-forum-input--premium.has-error,
.presszone-forum-select--premium.has-error,
.presszone-forum-textarea--premium.has-error {
    border-color: $presszone-forum-error;
    background: $presszone-forum-error-dim-lightest;
    animation: presszone-forum-error-shake 0.4s ease;
}

.presszone-forum-input--premium.has-error:focus {
    box-shadow: 0 0 0 4px $presszone-forum-warning-dim-lighter;
}

.presszone-forum-input--premium.has-success {
    border-color: $presszone-forum-success;
    animation: presszone-forum-success-pulse 0.3s ease;
}

.presszone-forum-input--premium:disabled,
.presszone-forum-select--premium:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: $presszone-forum-surface-3;
}

/* Static (read-only) field display */
.presszone-forum-field-static {
    display: inline-flex;
    align-items: center;
    width: 100%;
    padding: 14px 16px;
    background: $presszone-forum-surface-2;
    border: 1.5px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    color: $presszone-forum-text-muted;
    cursor: default;
    user-select: none;
}

body.dark-mode .presszone-forum-field-static {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-muted-dark;
}

/* Premium Select Arrow */
.presszone-forum-select--premium {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 44px;
}

/* Premium Textarea */
.presszone-forum-textarea--premium {
    min-height: 80px;
    resize: vertical;
    line-height: 1.5;
}

/* Form Helper & Error Text */
.presszone-forum-form-help--premium {
    margin-top: 8px;
    font-size: 12px;
    color: $presszone-forum-text-muted;
    line-height: 1.4;
}

.presszone-forum-form-error--premium {
    margin-top: 8px;
    font-size: 12px;
    color: $presszone-forum-error;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Premium Buttons */
.presszone-forum-btn--premium-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    min-width: 120px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, $presszone-forum-primary 0%, $presszone-forum-primary-hover 100%);
    color: $presszone-forum-text-on-primary;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow:
        0 2px 4px $presszone-forum-primary-shadow-sm,
        0 4px 8px $presszone-forum-primary-dim;
    transition:
        transform $presszone-forum-duration-fast $presszone-forum-ease-spring,
        box-shadow $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        background $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-btn--premium-primary:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow:
        0 4px 8px $presszone-forum-primary-shadow-md,
        0 8px 16px $presszone-forum-primary-shadow-sm;
}

.presszone-forum-btn--premium-primary:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 1px 2px $presszone-forum-primary-shadow-sm;
}

.presszone-forum-btn--premium-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.presszone-forum-btn--premium-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    min-width: 100px;
    background: transparent;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 12px;
    color: $presszone-forum-text-secondary;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition:
        background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        transform $presszone-forum-duration-fast $presszone-forum-ease-spring;
}

.presszone-forum-btn--premium-secondary:hover {
    background: $presszone-forum-surface-2;
    border-color: $presszone-forum-border;
    color: $presszone-forum-text;
}

.presszone-forum-btn--premium-secondary:active {
    transform: scale(0.97);
}

.presszone-forum-btn--premium-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: $presszone-forum-text-muted;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition:
        background-color $presszone-forum-duration-fast $presszone-forum-ease-smooth,
        color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-btn--premium-ghost:hover {
    background: $presszone-forum-surface-2;
    color: $presszone-forum-text;
}

.presszone-forum-btn--premium-ghost-danger:hover {
    background: $presszone-forum-error-dim-alt;
    color: $presszone-forum-error;
}

body.dark-mode .presszone-forum-btn--premium-primary:hover {
    background: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-btn--premium-secondary:hover {
    background: $presszone-forum-surface-3-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-btn--premium-ghost:hover {
    background: $presszone-forum-surface-hover-bright-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-btn--premium-ghost-danger:hover {
    background: $presszone-forum-error-dim-dark;
    color: $presszone-forum-error-dark;
}

/* Button Loading State */
.presszone-forum-btn--loading {
    position: relative;
    pointer-events: none;
    color: transparent !important;
}

.presszone-forum-btn--loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: presszoneForumSpin $presszone-forum-spinner-duration linear infinite;
}

.presszone-forum-btn--premium-primary.presszone-forum-btn--loading::after {
    border-top-color: $presszone-forum-white;
}

/* Premium Modal Footer */
.presszone-forum-modal__footer--premium {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 20px 32px;
    background: $presszone-forum-surface-2;
    border-top: 1px solid $presszone-forum-border;
    border-radius: 0 0 20px 20px;
}

/* Conditional Field Transitions */
.presszone-forum-form-group--conditional {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-bottom: 0;
    transition:
        max-height 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
        opacity 0.25s ease,
        margin-bottom 0.25s ease;
}

.presszone-forum-form-group--conditional.is-visible {
    max-height: 200px;
    opacity: 1;
    margin-bottom: 24px;
}

/* Flex Row Utility */
.presszone-forum-flex-row {
    display: flex;
    flex-direction: row;
    align-items: center;
}

/* Premium Moderator List Styles */
.presszone-forum-moderators-tab--premium {
    padding: 8px 0;
}

.presszone-forum-moderator-assign--premium {
    margin-bottom: 32px;
}

.presszone-forum-moderator-assign--premium h3 {
    font-size: 14px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0 0 16px;
}

/* Moderator assign inline layout - select + button on same row */
.presszone-forum-moderator-assign--premium .presszone-forum-flex-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.presszone-forum-moderator-assign--premium .presszone-forum-flex-row select {
    flex: 1;
    min-width: 200px;
    max-width: 400px;
    width: auto;
}

.presszone-forum-moderator-assign--premium .presszone-forum-flex-row button {
    flex-shrink: 0;
    white-space: nowrap;
}

.presszone-forum-moderator-list--premium {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 280px;
}

.presszone-forum-moderator-item--premium {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: $presszone-forum-surface-2;
    border-radius: 12px;
    border: 1px solid transparent;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.15s ease;
}

.presszone-forum-moderator-item--premium:hover {
    background: $presszone-forum-surface;
    border-color: $presszone-forum-border;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.presszone-forum-moderator-avatar--premium {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid $presszone-forum-surface;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.presszone-forum-moderator-info--premium {
    flex: 1;
    min-width: 0;
}

.presszone-forum-moderator-name--premium {
    font-size: 14px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0;
}

.presszone-forum-moderator-role--premium {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-moderator-remove--premium {
    opacity: 0;
    transition: opacity 0.15s ease;
}

.presszone-forum-moderator-item--premium:hover .presszone-forum-moderator-remove--premium {
    opacity: 1;
}

.presszone-forum-moderator-empty--premium {
    text-align: center;
    padding: 40px 20px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-moderator-empty__icon--premium {
    font-size: 32px;
    margin-bottom: 12px;
    opacity: 0.5;
    display: block;
}

/* Dark Mode - Moderator tab headings */
body.dark-mode .presszone-forum-moderators-tab--premium h3 {
    color: $presszone-forum-text-dark;
}

/* Dark Mode Adjustments for Premium Modal */
body.dark-mode .presszone-forum-modal-overlay--premium {
    background: $presszone-forum-overlay-dark;
}

body.dark-mode .presszone-forum-modal--premium {
    border-color: $presszone-forum-glass-border;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.05),
        0 2px 4px rgba(0, 0, 0, 0.2),
        0 12px 24px rgba(0, 0, 0, 0.4),
        0 24px 48px rgba(0, 0, 0, 0.4);
}

body.dark-mode .presszone-forum-modal__header--premium::after {
    opacity: 0.3;
}

body.dark-mode .presszone-forum-modal-tabs {
    background: $presszone-forum-surface-dark;
    border-bottom: 2px solid $presszone-forum-surface-2-dark;
}

/* Dark Mode - Legacy modal tabs container */
body.dark-mode .presszone-forum-modal__tabs {
    border-bottom-color: $presszone-forum-surface-2-dark;
}

/* Dark Mode - Settings tabs */
body.dark-mode .presszone-forum-settings__tabs {
    background: $presszone-forum-surface-2-dark;
}

body.dark-mode .presszone-forum-settings__tab {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-settings__tab:hover {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-3-dark;
}

body.dark-mode .presszone-forum-settings__tab--active {
    background: $presszone-forum-primary-dim-dark;
    color: $presszone-forum-primary-text-dark;
}

body.dark-mode .presszone-forum-modal-tab {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-modal-tab:hover {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-3-dark;
}

body.dark-mode .presszone-forum-modal-tab--active {
    color: $presszone-forum-primary-text-dark;
}

body.dark-mode .presszone-forum-modal-tab--active::after {
    background: $presszone-forum-primary-text-dark;
}

body.dark-mode .presszone-forum-input--premium,
body.dark-mode .presszone-forum-select--premium,
body.dark-mode .presszone-forum-textarea--premium {
    background-color: $presszone-forum-surface-2-dark;
    border-color: transparent;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-input--premium:hover,
body.dark-mode .presszone-forum-select--premium:hover,
body.dark-mode .presszone-forum-textarea--premium:hover {
    background-color: $presszone-forum-surface-3-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-input--premium:focus,
body.dark-mode .presszone-forum-select--premium:focus,
body.dark-mode .presszone-forum-textarea--premium:focus {
    background-color: $presszone-forum-surface-dark;
    border-color: $presszone-forum-primary-dark;
    box-shadow: 0 0 0 4px $presszone-forum-primary-shadow-focus-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-input--premium::placeholder,
body.dark-mode .presszone-forum-textarea--premium::placeholder {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-select--premium {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa0a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    /* Improve native select popup rendering in dark mode */
    color-scheme: dark;
}

body.dark-mode .presszone-forum-select--premium option,
body.dark-mode .presszone-forum-select--premium optgroup {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-moderator-item--premium:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Reduced Motion Support for Premium Modal and Animations */
@media (prefers-reduced-motion: reduce) {

    .presszone-forum-modal--premium,
    .presszone-forum-modal--premium.is-closing,
    .presszone-forum-form-group--animated,
    .presszone-forum-tab-panel--active,
    .presszone-forum-spinner,
    .presszone-forum-btn--loading::after,
    .presszone-forum-tool-spinner,
    .presszone-forum-settings-card,
    .presszone-forum-pending-changes-bar,
    .presszone-forum-tool-item,
    .presszone-forum-skeleton,
    .presszone-forum-empty-state__icon,
    .presszone-forum-btn--success-burst,
    .presszone-forum-tool-checkmark {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .presszone-forum-modal-overlay--premium {
        animation: none !important;
    }

    .presszone-forum-input--premium:focus,
    .presszone-forum-select--premium:focus,
    .presszone-forum-textarea--premium:focus {
        transform: none !important;
    }

    .presszone-forum-btn--premium-primary:hover,
    .presszone-forum-btn--premium-secondary:hover,
    .presszone-forum-moderator-item--premium:hover {
        transform: none !important;
    }

    .presszone-forum-modal__close--premium:hover {
        transform: none !important;
    }

    .presszone-forum-form-group--conditional {
        transition: none !important;
    }
}

/* ============================================
   Forum Access Tab - Premium Permission Matrix
   ============================================ */

.presszone-forum-access-tab--premium {
    padding: 0;
}

.presszone-forum-access-container {
    padding: 0;
}

.presszone-forum-access-header {
    margin-bottom: 12px;
}

.presszone-forum-access-header h3 {
    font-size: 15px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0 0 4px;
}

.presszone-forum-access-header__help {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    margin: 0;
    line-height: 1.4;
}

/* Legend */
.presszone-forum-access-legend {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    padding: 6px 12px;
    background: $presszone-forum-surface-alt;
    border-radius: 8px;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-access-legend__items {
    display: flex;
    gap: 12px;
    align-items: center;
}

.presszone-forum-access-legend__item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-access-legend__item>span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

/* Grid Wrapper */
.presszone-forum-access-grid-wrapper {
    overflow: visible;
    margin-bottom: 0;
    border-radius: 8px;
    border: 1px solid $presszone-forum-border;
    background: $presszone-forum-surface;
}

/* Grid Layout */
.presszone-forum-access-grid {
    display: grid;
    min-width: fit-content;
}

/* Grid Cells */
.presszone-forum-access-grid__cell {
    padding: 6px 10px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid $presszone-forum-border;
    background: $presszone-forum-surface;
    transition: background 0.15s ease;
}

.presszone-forum-access-grid__cell--header {
    background: $presszone-forum-code-bg;
    font-weight: 600;
    font-size: 12px;
    color: $presszone-forum-text;
    padding: 8px 10px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    position: sticky;
    top: 0;
    z-index: 2;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.presszone-forum-access-grid__cell--corner {
    position: sticky;
    left: 0;
    z-index: 3;
    background: $presszone-forum-code-bg;
    border-right: 1px solid $presszone-forum-border;
}

.presszone-forum-access-grid__cell--role {
    position: sticky;
    left: 0;
    z-index: 1;
    background: $presszone-forum-surface;
    border-right: 1px solid $presszone-forum-border;
    gap: 6px;
}

.presszone-forum-access-grid__cell--role:hover {
    background: $presszone-forum-surface-alt;
}

.presszone-forum-access-grid__cell--action {
    justify-content: center;
}

.presszone-forum-access-grid__cell:last-child {
    border-bottom: none;
}

/* Header Labels */
.presszone-forum-access-header__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.presszone-forum-access-header__label {
    font-weight: 600;
    font-size: 11px;
    color: $presszone-forum-text;
}

.presszone-forum-access-header__info {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    cursor: help;
    opacity: 0.6;
    transition: opacity 0.15s ease, color 0.15s ease;
    position: relative;
}

.presszone-forum-access-header__info:hover {
    opacity: 1;
    color: $presszone-forum-primary;
}

/* Custom Tooltip for Permission Headers */
.presszone-forum-access-header__info::after {
    content: attr(data-tooltip);
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 14px;
    background: $presszone-forum-surface;
    color: $presszone-forum-text;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
    width: 240px;
    max-width: 280px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15), 0 0 0 1px $presszone-forum-border;
    opacity: 0;
    visibility: hidden;
    transition: opacity $presszone-forum-duration-fast $presszone-forum-ease-smooth, visibility $presszone-forum-duration-fast $presszone-forum-ease-smooth, transform $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    z-index: 10000;
    pointer-events: none;
    text-align: left;
}

.presszone-forum-access-header__info::before {
    content: '';
    position: absolute;
    top: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-bottom-color: $presszone-forum-surface;
    opacity: 0;
    visibility: hidden;
    transition: opacity $presszone-forum-duration-fast $presszone-forum-ease-smooth, visibility $presszone-forum-duration-fast $presszone-forum-ease-smooth;
    z-index: 10001;
}

.presszone-forum-access-header__info:hover::after,
.presszone-forum-access-header__info:hover::before {
    opacity: 1;
    visibility: visible;
}

.presszone-forum-access-header__info:hover::after {
    transform: translateX(-50%) translateY(4px);
}

.presszone-forum-access-header__desc {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: $presszone-forum-text-muted;
    margin-top: 2px;
}

/* Role Column Styling */
.presszone-forum-access-role__icon {
    font-size: 14px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: $presszone-forum-surface-alt;
    border-radius: 5px;
    flex-shrink: 0;
}

.presszone-forum-access-role__name {
    font-size: 12px;
    font-weight: 500;
    color: $presszone-forum-text;
}

/* Permission Cells - Tri-State Buttons */
.presszone-forum-access-cell {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    background: $presszone-forum-surface-alt;
    color: $presszone-forum-text-muted;
}

.presszone-forum-access-cell:hover:not(:disabled) {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.presszone-forum-access-cell:active:not(:disabled) {
    transform: scale(0.95);
}

/* Allow State - Green */
.presszone-forum-access-cell--allow {
    background: linear-gradient(135deg, $presszone-forum-success 0%, $presszone-forum-success-hover 100%);
    color: $presszone-forum-text-on-primary;
    border-color: $presszone-forum-success-hover;
    box-shadow: 0 2px 8px $presszone-forum-success-shadow;
}

.presszone-forum-access-cell--allow:hover:not(:disabled) {
    box-shadow: 0 4px 16px $presszone-forum-success-shadow-hover;
}

/* Inherit State - Gray/Neutral */
.presszone-forum-access-cell--inherit {
    background: $presszone-forum-surface-alt;
    color: $presszone-forum-text-muted;
    border-color: $presszone-forum-border;
}

.presszone-forum-access-cell--inherit:hover:not(:disabled) {
    background: $presszone-forum-surface;
    border-color: $presszone-forum-primary;
}

/* Never State - Red */
.presszone-forum-access-cell--never {
    background: linear-gradient(135deg, $presszone-forum-error 0%, $presszone-forum-error-hover 100%);
    color: $presszone-forum-text-on-primary;
    border-color: $presszone-forum-error-hover;
    box-shadow: 0 2px 8px $presszone-forum-error-shadow;
}

.presszone-forum-access-cell--never:hover:not(:disabled) {
    box-shadow: 0 4px 16px $presszone-forum-error-shadow-hover;
}

/* Locked State - Administrators */
.presszone-forum-access-cell--locked {
    cursor: not-allowed;
    opacity: 0.7;
}

.presszone-forum-access-cell--locked:hover {
    transform: none !important;
    box-shadow: 0 2px 8px $presszone-forum-success-shadow !important;
}

/* Legend Cell Styling (reuse in legend) */
.presszone-forum-access-legend .presszone-forum-access-cell--allow,
.presszone-forum-access-legend .presszone-forum-access-cell--inherit,
.presszone-forum-access-legend .presszone-forum-access-cell--never {
    width: 24px;
    height: 24px;
    font-size: 14px;
    pointer-events: none;
}

/* Alternating Row Colors for Readability */
.presszone-forum-access-grid__cell--role:nth-child(8n+5),
.presszone-forum-access-grid__cell--role:nth-child(8n+5)~.presszone-forum-access-grid__cell--action:nth-child(-n+3) {
    background: $presszone-forum-surface-alt;
}

/* Dark Mode Adjustments */
body.dark-mode .presszone-forum-access-legend {
    background: $presszone-forum-surface-hover-light;
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-access-grid-wrapper {
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-access-grid__cell {
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-access-grid__cell--header {
    background: $presszone-forum-code-bg-dark;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

body.dark-mode .presszone-forum-access-grid__cell--corner {
    background: $presszone-forum-code-bg-dark;
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-access-grid__cell--role {
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-access-role__icon {
    background: $presszone-forum-surface-hover;
}

body.dark-mode .presszone-forum-access-cell--inherit {
    background: $presszone-forum-surface-hover;
    border-color: $presszone-forum-surface-border;
}

body.dark-mode .presszone-forum-access-cell--inherit:hover:not(:disabled) {
    background: $presszone-forum-surface-hover-bright;
}

body.dark-mode .presszone-forum-access-cell--allow {
    box-shadow: 0 2px 12px $presszone-forum-success-shadow-hover;
}

body.dark-mode .presszone-forum-access-cell--never {
    box-shadow: 0 2px 12px $presszone-forum-error-shadow-hover;
}

/* ============================================
   Premium Settings Page Styles
   ============================================ */

/* Premium Settings Cards */
.presszone-forum-settings-card {
    background: $presszone-forum-surface;
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: $presszone-forum-shadow-sm;
    margin-bottom: 20px;
    /* No entrance animation - page transitions handle this */
}

/* ============================================
   Page Transitions - vertical slide based on navigation direction
   Applied by JS when navigating between sidebar pages
   ============================================ */

@keyframes presszone-forum-page-slide-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes presszone-forum-page-slide-in-down {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Moving DOWN the sidebar (e.g., Dashboard → Forums → Permissions) */
.presszone-forum-content.presszone-forum-page--slide-up {
    animation: presszone-forum-page-slide-in-up 0.25s $presszone-forum-ease-out forwards;
}

/* Moving UP the sidebar (e.g., Permissions → Forums → Dashboard) */
.presszone-forum-content.presszone-forum-page--slide-down {
    animation: presszone-forum-page-slide-in-down 0.25s $presszone-forum-ease-out forwards;
}

/* Reduced motion support for page transitions */
@media (prefers-reduced-motion: reduce) {

    .presszone-forum-content.presszone-forum-page--slide-up,
    .presszone-forum-content.presszone-forum-page--slide-down {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

.presszone-forum-settings-card__header {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-settings-card__icon {
    width: 40px;
    height: 40px;
    background: $presszone-forum-primary-dim;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.presszone-forum-admin .presszone-forum-settings-card__title {
    font-size: 16px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0;
}

.presszone-forum-settings-card__desc {
    font-size: 13px;
    color: $presszone-forum-text-muted;
    margin: 0;
}

.presszone-forum-settings-card__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Collapsible Card */
.presszone-forum-settings-card--collapsible .presszone-forum-settings-card__header {
    cursor: pointer;
    user-select: none;
}

.presszone-forum-settings-card--collapsible .presszone-forum-settings-card__header::after {
    content: '\25BC';
    font-size: 12px;
    color: $presszone-forum-text-muted;
    margin-left: auto;
    transition: transform 0.2s ease;
}

.presszone-forum-settings-card--collapsed .presszone-forum-settings-card__header {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.presszone-forum-settings-card--collapsed .presszone-forum-settings-card__header::after {
    transform: rotate(-90deg);
}

.presszone-forum-settings-card--collapsed .presszone-forum-settings-card__body {
    display: none;
}

/* Warning Card (Maintenance Mode) */
.presszone-forum-settings-card--warning {
    border: 1px solid $presszone-forum-warning;
    background: linear-gradient(135deg, $presszone-forum-warning-dim-lightest2 0%, $presszone-forum-surface 100%);
}

.presszone-forum-settings-card--warning .presszone-forum-settings-card__icon {
    background: $presszone-forum-warning-dim-alt;
}

/* Premium Toggle Switch */
.presszone-forum-toggle {
    position: relative;
    width: 48px;
    height: 26px;
    border: none;
    padding: 0;
    margin: 0;
    appearance: none;
    text-indent: -9999px;
    overflow: hidden;
    background: $presszone-forum-surface-3;
    border-radius: 13px;
    cursor: pointer;
    transition: background $presszone-forum-duration-normal $presszone-forum-ease-smooth;
    flex-shrink: 0;
}

.presszone-forum-toggle:hover {
    opacity: 0.85;
}

.presszone-forum-toggle::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: transform $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-toggle--active {
    background: $presszone-forum-primary;
}

.presszone-forum-toggle--active::after {
    transform: translateX(20px);
}

.presszone-forum-toggle--warning.presszone-forum-toggle--active {
    background: $presszone-forum-warning;
}

.presszone-forum-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid $presszone-forum-border;
}

.presszone-forum-toggle-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.presszone-forum-toggle-row__label {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.presszone-forum-toggle-row__title {
    font-size: 14px;
    font-weight: 500;
    color: $presszone-forum-text;
}

.presszone-forum-toggle-row__desc {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

/* Premium Settings Form Layout */
.presszone-forum-settings-card__body .presszone-forum-form-group {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 8px 16px;
    align-items: center;
}

.presszone-forum-settings-card__body .presszone-forum-form-group--full {
    grid-template-columns: 1fr;
}

.presszone-forum-settings-card__body .presszone-forum-label--settings {
    font-size: 13px;
    font-weight: 500;
    color: $presszone-forum-text;
    display: flex;
    align-items: center;
    gap: 6px;
}

.presszone-forum-settings-card__body .presszone-forum-input--settings,
.presszone-forum-settings-card__body .presszone-forum-select--settings {
    padding: 10px 14px;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 8px;
    background: $presszone-forum-surface-2;
    font-size: 14px;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-settings-card__body .presszone-forum-input--settings:hover,
.presszone-forum-settings-card__body .presszone-forum-select--settings:hover {
    border-color: $presszone-forum-border-hover;
    transform: translateY(-1px);
    box-shadow: $presszone-forum-shadow-sm;
}

.presszone-forum-settings-card__body .presszone-forum-input--settings:focus,
.presszone-forum-settings-card__body .presszone-forum-select--settings:focus {
    outline: none;
    border-color: $presszone-forum-primary;
    background: $presszone-forum-surface;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
    transform: translateY(-1px);
}

.presszone-forum-settings-card__body .presszone-forum-form-help--settings {
    grid-column: 2;
    font-size: 11px;
    color: $presszone-forum-text-muted;
    margin-top: -4px;
}

/* Save Button Enhancement */
.presszone-forum-btn--has-changes {
    position: relative;
    animation: presszone-forum-unsaved-pulse 2s ease-in-out infinite;
}

.presszone-forum-btn--has-changes::before {
    content: '';
    position: absolute;
    top: -4px;
    right: -4px;
    width: 10px;
    height: 10px;
    background: $presszone-forum-warning;
    border-radius: 50%;
    border: 2px solid $presszone-forum-surface;
}

@keyframes presszone-forum-unsaved-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 $presszone-forum-primary-dim;
    }

    50% {
        box-shadow: 0 0 0 6px transparent;
    }
}

.presszone-forum-btn--success-burst {
    background: $presszone-forum-success !important;
    animation: presszone-forum-save-bounce 0.5s ease-out;
}

@keyframes presszone-forum-save-bounce {
    0% {
        transform: scale(1);
    }

    30% {
        transform: scale(0.95);
    }

    50% {
        transform: scale(1.05);
    }

    70% {
        transform: scale(0.98);
    }

    100% {
        transform: scale(1);
    }
}

/* Stagger animation for settings cards */
.presszone-forum-settings-card:nth-child(1) {
    animation-delay: 0.05s;
}

.presszone-forum-settings-card:nth-child(2) {
    animation-delay: 0.1s;
}

.presszone-forum-settings-card:nth-child(3) {
    animation-delay: 0.15s;
}

.presszone-forum-settings-card:nth-child(4) {
    animation-delay: 0.2s;
}

.presszone-forum-settings-card:nth-child(5) {
    animation-delay: 0.25s;
}

/* Dark Mode Support for Settings Cards */
body.dark-mode .presszone-forum-settings-card {
    background: $presszone-forum-glass-bg;
    border: 1px solid $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-settings-card__icon {
    background: $presszone-forum-info-bg-dark;
}

body.dark-mode .presszone-forum-toggle {
    background: $presszone-forum-surface-border;
}

body.dark-mode .presszone-forum-settings-card__body .presszone-forum-label--settings {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-settings-card__body .presszone-forum-input--settings,
body.dark-mode .presszone-forum-settings-card__body .presszone-forum-select--settings,
body.dark-mode .presszone-forum-settings-card__body .presszone-forum-textarea--settings {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
    color-scheme: dark;
}

body.dark-mode .presszone-forum-settings-card__body .presszone-forum-input--settings:hover,
body.dark-mode .presszone-forum-settings-card__body .presszone-forum-select--settings:hover,
body.dark-mode .presszone-forum-settings-card__body .presszone-forum-textarea--settings:hover {
    border-color: $presszone-forum-border-hover-dark;
}

body.dark-mode .presszone-forum-settings-card__body .presszone-forum-input--settings:focus,
body.dark-mode .presszone-forum-settings-card__body .presszone-forum-select--settings:focus,
body.dark-mode .presszone-forum-settings-card__body .presszone-forum-textarea--settings:focus {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-primary-dark;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim-dark;
}

body.dark-mode .presszone-forum-admin .presszone-forum-settings-card__title {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-toggle-row__title {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-settings-card__desc {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-toggle-row__desc {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-settings-card__body .presszone-forum-form-help--settings {
    color: $presszone-forum-text-muted-dark;
}

/* Reduced Motion Support for Access Tab */
@media (prefers-reduced-motion: reduce) {
    .presszone-forum-access-cell {
        transition: none !important;
    }

    .presszone-forum-access-cell:hover:not(:disabled) {
        transform: none !important;
    }

    .presszone-forum-access-grid__cell--role:hover {
        transition: none !important;
    }
}

/* ============================================
   Additional Premium Settings Styles
   ============================================ */

/* Premium Radio Options (Reputation Tab) */
.presszone-forum-radio-group--card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.presszone-forum-radio-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: $presszone-forum-surface-2;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 12px;
    cursor: pointer;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-radio-option:hover {
    border-color: $presszone-forum-primary;
    background: $presszone-forum-primary-dim;
    transform: translateY(-1px);
}

/* Checked state - HTML: <label class="presszone-forum-radio-option"><input>content</label> */
/* BROWSER COMPATIBILITY: Add .checked class to label via JS when input is checked */
.presszone-forum-radio-option:has(input:checked),
.presszone-forum-radio-option.checked {
    border-color: $presszone-forum-primary;
    background: $presszone-forum-primary-dim;
}

.presszone-forum-radio-option input[type="radio"] {
    appearance: radio;
    -webkit-appearance: radio;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    border: none;
    flex-shrink: 0;
    accent-color: $presszone-forum-primary;
    cursor: pointer;
    display: block;
}

.presszone-forum-radio-option__content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.presszone-forum-radio-option__title {
    font-size: 14px;
    font-weight: 600;
    color: $presszone-forum-text;
}

.presszone-forum-radio-option__desc {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

/* Dark Mode for Radio Options */
body.dark-mode .presszone-forum-radio-option {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-radio-option:hover,
body.dark-mode .presszone-forum-radio-option.checked,
body.dark-mode .presszone-forum-radio-option:has(input:checked) {
    background: $presszone-forum-primary-dim-dark;
    border-color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-radio-option__title {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-radio-option__desc {
    color: $presszone-forum-text-muted-dark;
}

/* ============================================
   DESIGN PAGE - COLOR GRID & FIELDS
   ============================================ */

/* Color Columns Layout (2-column Light/Dark) */
.presszone-forum-color-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.presszone-forum-color-columns--settings {
    transition: grid-template-columns 0.5s cubic-bezier(0.4, 0, 0.2, 1), gap 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.presszone-forum-color-columns--settings.is-dark-disabled {
    grid-template-columns: 1fr;
    gap: 0;
}

.presszone-forum-color-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.presszone-forum-color-column--dark {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
}

/* ============================================
   Global Reduced Motion Support
   ============================================ */
@media (prefers-reduced-motion: reduce) {
    .presszone-forum-color-columns--settings,
    .presszone-forum-color-column--dark,
    .presszone-forum-radio-option,
    .presszone-forum-spinner-component {
        transition: none !important;
        animation: none !important;
    }

    .presszone-forum-color-option:hover,
    .presszone-forum-radio-option:hover {
        transform: none !important;
    }
}

.presszone-forum-color-column--dark.is-hidden {
    opacity: 0;
    transform: translateX(20px);
    visibility: hidden;
    pointer-events: none;
    max-height: 0;
    margin-top: -32px;
    padding-top: 0;
    padding-bottom: 0;
    clip-path: inset(0 0 100% 0);
}

.presszone-forum-color-column--dark.is-visible {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
    max-height: 2000px;
    clip-path: inset(0 0 0 0);
}

.presszone-forum-color-column__title {
    font-size: 13px;
    font-weight: 600;
    color: $presszone-forum-text-secondary;
    margin: 0 0 4px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid $presszone-forum-border;
}

@media (max-width: 768px) {
    .presszone-forum-color-columns {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Color Grid Layout */
.presszone-forum-color-grid {
    display: grid;
    gap: 16px;
}

.presszone-forum-color-grid--2 {
    grid-template-columns: repeat(2, 1fr);
}

.presszone-forum-color-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {

    .presszone-forum-color-grid--2,
    .presszone-forum-color-grid--3 {
        grid-template-columns: 1fr;
    }
}

/* Premium Color Field */
.presszone-forum-form-group--color-premium {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.presszone-forum-color-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.presszone-forum-color-preview {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 2px solid $presszone-forum-border;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-color-preview:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.presszone-forum-input--color {
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 13px;
    max-width: 100px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 10px;
    background: $presszone-forum-surface-2;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 8px;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-input--color:hover {
    border-color: $presszone-forum-primary;
    background: $presszone-forum-surface;
}

.presszone-forum-input--color:focus {
    border-color: $presszone-forum-primary;
    background: $presszone-forum-surface;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
    outline: none;
}

/* Premium Textarea */
.presszone-forum-textarea--premium {
    width: 100%;
    padding: 14px 16px;
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.5;
    background: $presszone-forum-surface-2;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 12px;
    resize: vertical;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-textarea--premium:hover {
    border-color: $presszone-forum-primary;
    background: $presszone-forum-surface;
}

.presszone-forum-textarea--premium:focus {
    border-color: $presszone-forum-primary;
    background: $presszone-forum-surface;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
    outline: none;
}

/* Premium Select */
.presszone-forum-select--premium {
    min-width: 0;
    padding: 10px 14px;
    padding-right: 36px;
    background: $presszone-forum-surface-2;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 10px;
    font-size: 14px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 18px;
    cursor: pointer;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-select--premium:hover {
    border-color: $presszone-forum-primary;
    background-color: $presszone-forum-surface;
}

.presszone-forum-select--premium:focus {
    border-color: $presszone-forum-primary;
    background-color: $presszone-forum-surface;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
    outline: none;
}

/* Dark Mode Support for Design Page */
body.dark-mode .presszone-forum-color-preview {
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-input--color,
body.dark-mode .presszone-forum-textarea--premium,
body.dark-mode .presszone-forum-select--premium {
    background-color: $presszone-forum-surface-hover;
    border-color: $presszone-forum-glass-border;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-input--color:hover,
body.dark-mode .presszone-forum-input--color:focus,
body.dark-mode .presszone-forum-textarea--premium:hover,
body.dark-mode .presszone-forum-textarea--premium:focus,
body.dark-mode .presszone-forum-select--premium:hover,
body.dark-mode .presszone-forum-select--premium:focus {
    background-color: $presszone-forum-surface-border;
    border-color: $presszone-forum-primary;
}

body.dark-mode .presszone-forum-color-column__title {
    color: $presszone-forum-text-dark;
    border-bottom-color: $presszone-forum-border-dark;
}

/* ============================================
   SKELETON LOADING STATES
   ============================================ */

@keyframes presszone-forum-shimmer {
    0% {
        background-position: -200px 0;
    }

    100% {
        background-position: calc(200px + 100%) 0;
    }
}

.presszone-forum-skeleton {
    background: linear-gradient(90deg,
            $presszone-forum-surface-2 25%,
            $presszone-forum-surface 50%,
            $presszone-forum-surface-2 75%);
    background-size: 200px 100%;
    animation: presszone-forum-shimmer 1.5s infinite;
    border-radius: $presszone-forum-radius;
}

.presszone-forum-skeleton--text {
    height: 16px;
    width: 80%;
    margin-bottom: 8px;
}

.presszone-forum-skeleton--card {
    height: 120px;
    width: 100%;
    margin-bottom: 16px;
    border-radius: 16px;
}

.presszone-forum-skeleton--stat {
    height: 100px;
    width: 100%;
    border-radius: 12px;
}

.presszone-forum-skeleton--row {
    height: 48px;
    width: 100%;
    margin-bottom: 8px;
    border-radius: 8px;
}

.presszone-forum-skeleton-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.dark-mode .presszone-forum-skeleton {
    background: linear-gradient(90deg,
            rgba(255, 255, 255, 0.05) 25%,
            rgba(255, 255, 255, 0.1) 50%,
            rgba(255, 255, 255, 0.05) 75%);
    background-size: 200px 100%;
}

/* ============================================
   EMPTY STATE COMPONENT
   ============================================ */

@keyframes presszone-forum-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.presszone-forum-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    text-align: center;
    gap: 20px;
}

.presszone-forum-empty-state__icon {
    font-size: 80px;
    margin-bottom: 20px;
    opacity: 1;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: presszone-forum-float 3s ease-in-out infinite;
    pointer-events: none;
}

.presszone-forum-empty-state__title {
    font-size: 18px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0 0 8px 0;
}

.presszone-forum-empty-state__desc {
    font-size: 14px;
    color: $presszone-forum-text-muted;
    margin: 0 0 20px 0;
    max-width: 320px;
}

.presszone-forum-empty-state__action {
    margin-top: 8px;
}

/* ============================================
   ERROR STATE COMPONENT
   ============================================ */

.presszone-forum-error-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    background: $presszone-forum-surface;
    border-radius: 16px;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-error-state__icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.presszone-forum-error-state__title {
    font-size: 18px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0 0 8px 0;
}

.presszone-forum-error-state__desc {
    font-size: 14px;
    color: $presszone-forum-text-muted;
    margin: 0 0 20px 0;
    max-width: 400px;
}

/* Placeholder Tags (Emails Tab) */
.presszone-forum-placeholders-grid--card {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.presszone-forum-placeholder-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: $presszone-forum-surface-2;
    border-radius: 8px;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-placeholder-tag {
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
    cursor: pointer;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-placeholder-tag:hover {
    background: $presszone-forum-primary;
    color: white;
    transform: scale(1.02);
}

.presszone-forum-placeholder-desc {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

/* Info Card Box (for additional placeholders etc.) */
.presszone-forum-settings-card__info {
    background: $presszone-forum-surface-2;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 13px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-settings-card__info code {
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
}

.presszone-forum-settings-card__note {
    font-size: 13px;
    color: $presszone-forum-text-muted;
    margin: 0 0 12px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid $presszone-forum-border;
}

/* Dark Mode for Placeholders \u0026 Notes */
body.dark-mode .presszone-forum-placeholder-tag {
    background: rgba(59, 130, 246, 0.15);
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-placeholder-tag:hover {
    background: $presszone-forum-primary-dark;
    color: white;
}

body.dark-mode .presszone-forum-placeholder-desc {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-settings-card__info {
    background: rgba(255, 255, 255, 0.03);
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-settings-card__info code {
    background: rgba(59, 130, 246, 0.15);
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-settings-card__note {
    color: $presszone-forum-text-muted-dark;
    border-bottom-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-placeholders-inline strong {
    color: $presszone-forum-text-dark;
}

/* Premium Textarea Styling */
.presszone-forum-textarea--settings {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid $presszone-forum-border;
    border-radius: 8px;
    background: $presszone-forum-surface-2;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    min-height: 100px;
    transition: all $presszone-forum-duration-normal $presszone-forum-ease-smooth;
}

.presszone-forum-textarea--settings:hover {
    border-color: $presszone-forum-border-hover;
    box-shadow: $presszone-forum-shadow-sm;
}

.presszone-forum-textarea--settings:focus {
    outline: none;
    border-color: $presszone-forum-primary;
    background: $presszone-forum-surface;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
}

/* Full-width textarea in card body */
/* BROWSER COMPATIBILITY: Add .has-textarea class to form-group via JS */
.presszone-forum-settings-card__body .presszone-forum-form-group:has(.presszone-forum-textarea--settings),
.presszone-forum-settings-card__body .presszone-forum-form-group.has-textarea {
    grid-template-columns: 1fr;
}

.presszone-forum-settings-card__body .presszone-forum-form-group:has(.presszone-forum-textarea--settings) .presszone-forum-label--settings,
.presszone-forum-settings-card__body .presszone-forum-form-group.has-textarea .presszone-forum-label--settings {
    margin-bottom: 8px;
}

/* =============================================================================
   TAG INPUT COMPONENT (Settings-Integrated)
   ============================================================================= */

.presszone-forum-tag-input {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
    background: $presszone-forum-surface;
    border: 1px solid $presszone-forum-border;
    border-radius: $presszone-forum-radius;
    min-height: 48px;
    transition: border-color $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-tag-input:focus-within {
    border-color: $presszone-forum-primary;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
}

/* Tags Container */
.presszone-forum-tag-input__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Individual Tag */
.presszone-forum-tag-input__tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px 4px 12px;
    background: $presszone-forum-primary-dim;
    color: $presszone-forum-primary;
    border-radius: $presszone-forum-radius-full;
    font-size: 13px;
    font-weight: 500;
    animation: presszone-forum-pop-in $presszone-forum-duration-normal $presszone-forum-ease-spring;
}

/* Tag Text (truncated) */
.presszone-forum-tag-input__tag-text {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Tag Remove Button */
.presszone-forum-tag-input__tag-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: $presszone-forum-primary;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: all $presszone-forum-duration-fast $presszone-forum-ease-smooth;
}

.presszone-forum-tag-input__tag-remove:hover {
    background: $presszone-forum-error;
    color: $presszone-forum-text-on-primary;
}

/* Input Field */
.presszone-forum-tag-input__input {
    flex: 1;
    min-width: 120px;
    padding: 4px 0;
    background: transparent;
    border: none;
    color: $presszone-forum-text;
    font-size: 14px;
    outline: none;
}

.presszone-forum-tag-input__input::placeholder {
    color: $presszone-forum-text-muted;
}

/* Full-width tag input in card body */
.presszone-forum-settings-card__body .presszone-forum-form-group:has(.presszone-forum-tag-input),
.presszone-forum-settings-card__body .presszone-forum-form-group.has-tag-input {
    grid-template-columns: 1fr;
}

.presszone-forum-settings-card__body .presszone-forum-form-group:has(.presszone-forum-tag-input) .presszone-forum-label--settings,
.presszone-forum-settings-card__body .presszone-forum-form-group.has-tag-input .presszone-forum-label--settings {
    margin-bottom: 8px;
}

/* Settings Examples (for wildcard help text) */
.presszone-forum-settings-examples {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 12px;
    color: $presszone-forum-text-muted;
    margin-top: 4px;
}

.presszone-forum-settings-examples code {
    background: $presszone-forum-surface-2;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 12px;
}

/* Dark Mode - Tag Input */
body.dark-mode .presszone-forum-tag-input {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-tag-input:focus-within {
    border-color: $presszone-forum-primary-dark;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim-dark;
}

body.dark-mode .presszone-forum-tag-input__tag {
    background: $presszone-forum-primary-dim-dark;
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-tag-input__tag-remove {
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-tag-input__tag-remove:hover {
    background: $presszone-forum-error-dark;
    color: $presszone-forum-text-on-primary-dark;
}

body.dark-mode .presszone-forum-tag-input__input {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-tag-input__input::placeholder {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-settings-examples {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-settings-examples code {
    background: $presszone-forum-surface-2-dark;
}

/* Pop-in animation for tags */
@keyframes presszone-forum-pop-in {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Info Grid (Cache Tab) */
.presszone-forum-info-grid--card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.presszone-forum-info-item--card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    background: $presszone-forum-surface-2;
    border-radius: 10px;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-info-label--card {
    font-size: 12px;
    color: $presszone-forum-text-muted;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.presszone-forum-info-value--card {
    font-size: 18px;
    font-weight: 600;
    color: $presszone-forum-text;
}

/* Unavailable Notice (for Redis/Memcached not installed) */
.presszone-forum-unavailable-notice {
    background: $presszone-forum-surface-2;
    border: 1px dashed $presszone-forum-border;
    border-radius: 10px;
    padding: 16px 20px;
}

.presszone-forum-unavailable-notice__steps {
    font-size: 13px;
    color: $presszone-forum-text-muted;
}

.presszone-forum-unavailable-notice__steps strong {
    color: $presszone-forum-text;
    display: block;
    margin-bottom: 8px;
}

.presszone-forum-unavailable-notice__steps ol {
    margin: 0;
    padding-left: 20px;
}

.presszone-forum-unavailable-notice__steps li {
    margin-bottom: 6px;
}

/* Dark Mode for Info Grid \u0026 Notices */
body.dark-mode .presszone-forum-info-item--card {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-info-label--card {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-info-value--card {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-unavailable-notice {
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-unavailable-notice__steps {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-unavailable-notice__steps strong {
    color: $presszone-forum-text-dark;
}

/* Settings Subset (nested config like Redis password) */
.presszone-forum-settings-subset {
    padding: 0 20px;
    background: $presszone-forum-surface-2;
    border-radius: 10px;
    border-left: 3px solid $presszone-forum-primary;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 20px;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transition:
        max-height 0.4s $presszone-forum-ease-smooth,
        opacity 0.3s $presszone-forum-ease-smooth,
        margin 0.3s $presszone-forum-ease-smooth,
        padding 0.3s $presszone-forum-ease-smooth,
        visibility 0s 0.4s;

    &--visible {
        max-height: 400px;
        opacity: 1;
        visibility: visible;
        margin-top: 12px;
        margin-bottom: 12px;
        padding: 16px 20px;
        transition:
            max-height 0.4s $presszone-forum-ease-smooth,
            opacity 0.4s $presszone-forum-ease-smooth,
            margin 0.3s $presszone-forum-ease-smooth,
            padding 0.3s $presszone-forum-ease-smooth,
            visibility 0s 0s;
    }

    .presszone-forum-form-group {
        margin-bottom: 0;
    }
}

/* Staff Card Styles */
.presszone-forum-staff-add--card {
    margin-bottom: 16px;
}

.presszone-forum-staff-add__row {
    display: flex;
    gap: 12px;
    align-items: center;
}

.presszone-forum-staff-add__row .presszone-forum-input--settings {
    flex: 1;
}

.presszone-forum-staff-list--card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.presszone-forum-staff-item--card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: $presszone-forum-surface-2;
    border-radius: 10px;
    border: 1px solid $presszone-forum-border;
}

.presszone-forum-user-info--card {
    display: flex;
    align-items: center;
    gap: 12px;
}

.presszone-forum-staff-search-item--card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: $presszone-forum-surface;
    border-radius: 8px;
    border: 1px solid $presszone-forum-border;
    margin-top: 8px;
}

.presszone-forum-staff-group--card {
    margin-bottom: 16px;
}

.presszone-forum-staff-group__title {
    font-size: 14px;
    font-weight: 500;
    color: $presszone-forum-text-muted;
    margin: 0 0 12px 0;
}

.presszone-forum-staff-group__title strong {
    color: $presszone-forum-text;
}

.presszone-forum-user-email {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

/* Dark Mode for Staff Management */
body.dark-mode .presszone-forum-staff-item--card {
    background: rgba(255, 255, 255, 0.03);
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-staff-search-item--card {
    background: rgba(255, 255, 255, 0.02);
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-staff-group__title {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-staff-group__title strong {
    color: $presszone-forum-text-on-primary;
}

body.dark-mode .presszone-forum-user-email {
    color: $presszone-forum-text-muted-dark;
}

/* Empty and Error States */
.presszone-forum-empty--card {
    text-align: center;
    padding: 24px;
    color: $presszone-forum-text-muted;
    font-size: 14px;
    background: $presszone-forum-surface-2;
    border-radius: 10px;
    border: 1px dashed $presszone-forum-border;
}

.presszone-forum-error--card {
    padding: 16px;
    background: $presszone-forum-error-dim-alt;
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
    color: $presszone-forum-danger;
    font-size: 14px;
}

.presszone-forum-loading--inline {
    text-align: center;
    padding: 24px;
    color: $presszone-forum-text-muted;
    font-size: 14px;
}

/* Dark Mode Support for Additional Styles */
body.dark-mode .presszone-forum-radio-option {
    background: $presszone-forum-surface-hover-light;
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-radio-option:hover,
body.dark-mode .presszone-forum-radio-option:has(input:checked),
body.dark-mode .presszone-forum-radio-option.checked {
    background: $presszone-forum-primary-dim-dark;
}

body.dark-mode .presszone-forum-placeholder-item,
body.dark-mode .presszone-forum-info-item--card,
body.dark-mode .presszone-forum-staff-item--card,
body.dark-mode .presszone-forum-settings-card__info {
    background: $presszone-forum-surface-hover-light;
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-textarea--settings {
    background: $presszone-forum-surface-hover-light;
    border-color: $presszone-forum-glass-border;
    color: $presszone-forum-text;
}

body.dark-mode .presszone-forum-unavailable-notice,
body.dark-mode .presszone-forum-settings-subset {
    background: rgba(255, 255, 255, 0.02);
}

body.dark-mode .presszone-forum-empty--card {
    background: rgba(255, 255, 255, 0.02);
    border-color: $presszone-forum-glass-border;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .presszone-forum-settings-card__body .presszone-forum-form-group {
        grid-template-columns: 1fr;
    }

    .presszone-forum-settings-card__body .presszone-forum-label--settings {
        margin-bottom: 6px;
    }

    .presszone-forum-settings-subset {
        margin-left: 0;
        padding: 0 16px;

        &--visible {
            padding: 12px 16px;
        }

        .presszone-forum-form-group {
            flex-direction: column;
            align-items: stretch !important;
            gap: 8px !important;

            .presszone-forum-input--settings {
                max-width: 100% !important;
            }
        }
    }

    .presszone-forum-placeholders-grid--card {
        grid-template-columns: 1fr;
    }

    .presszone-forum-info-grid--card {
        grid-template-columns: 1fr;
    }

    .presszone-forum-staff-add__row {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ============================================
   PREMIUM TOOLS PAGE STYLES
   ============================================ */

/* Tools Container */
.presszone-forum-tools--premium {
    padding: 24px;
}

.presszone-forum-tools__header {
    margin-bottom: 32px;
}

.presszone-forum-tools__header h1 {
    font-size: 28px;
    font-weight: 700;
    color: $presszone-forum-text;
    margin: 0 0 8px 0;
}

.presszone-forum-tools__header p {
    font-size: 15px;
    color: $presszone-forum-text-muted;
    margin: 0;
}

/* Tools Grid */
.presszone-forum-tools__grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Tool Item within Settings Card */
.presszone-forum-tool-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 20px;
    background: $presszone-forum-surface-2;
    border-radius: 12px;
    border: 1px solid $presszone-forum-border;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    animation: presszone-forum-tool-item-slide-in 0.4s ease-out backwards;
}

.presszone-forum-tool-item:hover {
    transform: translateY(-2px);
    box-shadow: $presszone-forum-shadow-hover;
    border-color: $presszone-forum-primary-dim;
}

.presszone-forum-tool-item--running {
    border-color: $presszone-forum-primary;
    background: linear-gradient(135deg, $presszone-forum-primary-dim 0%, $presszone-forum-surface-2 100%);
}

.presszone-forum-tool-item--success {
    border-color: $presszone-forum-success;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, $presszone-forum-surface-2 100%);
    animation: presszone-forum-tool-success-pulse 0.6s ease-out;
}

@keyframes presszone-forum-tool-item-slide-in {
    from {
        opacity: 0;
        transform: translateX(-12px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes presszone-forum-tool-success-pulse {
    0% {
        transform: scale(1);
    }

    15% {
        transform: scale(1.01);
    }

    30% {
        transform: scale(1);
    }

    50% {
        box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
    }

    100% {
        box-shadow: none;
    }
}

/* Tool Item Icon */
.presszone-forum-tool-item__icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: $presszone-forum-primary-dim;
    border-radius: 10px;
    font-size: 22px;
    flex-shrink: 0;
    transition: transform 0.3s ease, background 0.3s ease;
}

.presszone-forum-tool-item:hover .presszone-forum-tool-item__icon {
    transform: scale(1.05);
    background: $presszone-forum-primary-glow;
}

.presszone-forum-tool-item--running .presszone-forum-tool-item__icon {
    animation: presszone-forum-tool-icon-pulse 1.5s ease-in-out infinite;
}

@keyframes presszone-forum-tool-icon-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

/* Tool Item Content */
.presszone-forum-tool-item__content {
    flex: 1;
    min-width: 0;
}

.presszone-forum-tool-item__title {
    font-size: 15px;
    font-weight: 600;
    color: $presszone-forum-text;
    margin: 0 0 4px 0;
}

.presszone-forum-tool-item__desc {
    font-size: 14px;
    color: $presszone-forum-text-secondary;
    margin: 0 0 6px 0;
    line-height: 1.5;
}

.presszone-forum-tool-item__help {
    display: block;
    font-size: 12px;
    color: $presszone-forum-text-muted;
    margin: 0;
    line-height: 1.4;
}

/* Tool Item Action */
.presszone-forum-tool-item__action {
    flex-shrink: 0;
    align-self: center;
}

.presszone-forum-tool-item__action .presszone-forum-btn {
    min-width: 100px;
}

/* Tool Button Content */
.presszone-forum-tool-btn-content {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Tool Spinner */
.presszone-forum-tool-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: presszoneForumSpin $presszone-forum-spinner-duration linear infinite;
}

/* Tool Checkmark */
.presszone-forum-tool-checkmark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    font-size: 11px;
    animation: presszone-forum-tool-checkmark-pop 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes presszone-forum-tool-checkmark-pop {
    0% {
        transform: scale(0);
    }

    70% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

/* Dark Mode Support for Tools */
body.dark-mode .presszone-forum-tool-item {
    background: $presszone-forum-surface-hover-light;
    border-color: $presszone-forum-glass-border;
}

body.dark-mode .presszone-forum-tool-item:hover {
    background: $presszone-forum-surface-hover;
    border-color: $presszone-forum-primary-dim;
}

body.dark-mode .presszone-forum-tool-item--running {
    background: linear-gradient(135deg, $presszone-forum-primary-dim 0%, rgba(255, 255, 255, 0.03) 100%);
}

body.dark-mode .presszone-forum-tool-item--success {
    background: linear-gradient(135deg, rgba(52, 211, 153, 0.1) 0%, rgba(255, 255, 255, 0.03) 100%);
}

body.dark-mode .presszone-forum-tool-item__icon {
    background: rgba(59, 130, 246, 0.15);
}

body.dark-mode .presszone-forum-tool-item__title {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-tool-item__desc {
    color: $presszone-forum-text-secondary-dark;
}

body.dark-mode .presszone-forum-tool-item__help {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-tools__header p {
    color: $presszone-forum-text-muted-dark;
}

/* Responsive Modal */
@media (max-width: 768px) {
    .presszone-forum-modal {
        width: 95% !important;
        max-width: 95% !important;
        margin: 10px;
        max-height: 90vh;
        display: flex;
        flex-direction: column;
    }

    .presszone-forum-modal__content {
        padding: 16px;
        overflow-y: auto;
    }

    .presszone-forum-modal--infraction {
        width: 100% !important;
        /* Force override for fixed width modals */
    }

    /* Stack form groups on mobile */
    .presszone-forum-form-group {
        width: 100%;

        input,
        select,
        textarea {
            width: 100%;
        }
    }
}

/* Responsive Tools */
@media (max-width: 768px) {
    .presszone-forum-tools--premium {
        padding: 16px;
    }

    .presszone-forum-tool-item {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .presszone-forum-tool-item__icon {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .presszone-forum-tool-item__action {
        align-self: stretch;
    }

    .presszone-forum-tool-item__action .presszone-forum-btn {
        width: 100%;
    }
}

/* ============================================
   Grid Table Component - CSS Grid Based
   ============================================ */

/* Table Wrapper - provides horizontal scroll on mobile */
.presszone-forum-table-wrapper {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    overflow-x: auto;
    border: 1px solid $presszone-forum-border;
    position: relative;

    // Mobile responsive behavior
    @media (max-width: 768px) {
        border-radius: $presszone-forum-radius;
        margin: 0 -8px; // Extend to screen edges on mobile
        border-left: none;
        border-right: none;
        position: relative;

        // Add scroll indicator
        &::after {
            content: '← Scroll →';
            position: absolute;
            bottom: 8px;
            right: 16px;
            font-size: 11px;
            color: $presszone-forum-text-muted;
            background: rgba(255, 255, 255, 0.9);
            padding: 2px 6px;
            border-radius: 4px;
            pointer-events: none;
            opacity: 0.7;
        }

        // Hide scroll indicator when not needed
        &:not([data-scrollable="true"])::after {
            display: none;
        }
    }
}

body.dark-mode .presszone-forum-table-wrapper {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-glass-border;

    @media (max-width: 768px) {
        &::after {
            background: rgba(0, 0, 0, 0.8);
            color: $presszone-forum-text-muted-dark;
        }
    }
}

/* Grid table - CSS Grid based for perfect column alignment */
/* All cells (header + body) are direct children of the grid container. */
/* The grid auto-wraps rows based on grid-template-columns (set via JS). */
.presszone-forum-grid-table {
    display: grid;
    width: 100%;
    font-size: 14px;
    min-width: 800px; // Force horizontal scroll on mobile
    // grid-template-columns is set dynamically via JavaScript

    @media (max-width: 768px) {
        min-width: 900px; // Slightly wider for mobile scroll
        font-size: 13px;
    }
}

.presszone-forum-grid-table__cell {
    padding: 12px 16px;
    display: flex;
    align-items: center;
    font-size: 14px;
    color: $presszone-forum-text;
    word-break: break-word;
    overflow-wrap: break-word;
    background: $presszone-forum-surface;
    transition: background 0.15s ease;

    @media (max-width: 768px) {
        padding: 8px 12px;
        font-size: 13px;
    }

    // Header cells
    &--header {
        font-size: 12px;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        color: $presszone-forum-text-muted;
        font-weight: 600;
        user-select: none;
        padding: 12px 16px;
        background: $presszone-forum-surface-alt;
        border-bottom: 1px solid $presszone-forum-border;

        @media (max-width: 768px) {
            padding: 8px 12px;
            font-size: 11px;
        }
    }
}

// Row hover effect - highlight cells on hover
.presszone-forum-grid-table__cell:not(.presszone-forum-grid-table__cell--header):hover {
    background: $presszone-forum-surface-2;
}

/* Dark Mode */
body.dark-mode .presszone-forum-grid-table__cell {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-dark;

    &--header {
        color: $presszone-forum-text-muted-dark;
        background: $presszone-forum-surface-dim;
        border-bottom-color: $presszone-forum-glass-border;
    }
}

body.dark-mode .presszone-forum-grid-table__cell:not(.presszone-forum-grid-table__cell--header):hover {
    background: $presszone-forum-surface-hover;
}

/* ============================================
   Grid Table Cell Content Styles
   ============================================ */

/* Reason cell content */
.presszone-forum-reason-cell {
    width: 100%;
    min-width: 0;
}

.presszone-forum-reason-text {
    word-break: break-word;
}

.presszone-forum-reason-note {
    margin-top: 6px;
    font-size: 12px;
    color: $presszone-forum-text-muted;
    font-style: italic;
    word-break: break-word;
}

body.dark-mode .presszone-forum-reason-note {
    color: $presszone-forum-text-muted-dark;
}

.presszone-forum-reason-note-label {
    font-weight: 500;
    font-style: normal;
    opacity: 0.8;
}

/* Date text in cells */
.presszone-forum-date-text {
    font-size: 13px;
}

/* Actions cell */
.presszone-forum-actions-cell {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* ============================================
   User Avatar & Info
   ============================================ */

.presszone-forum-user-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.presszone-forum-user-cell .presszone-forum-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-user-cell .presszone-forum-avatar {
    background: $presszone-forum-surface-dim;
}

.presszone-forum-user-info {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.presszone-forum-user-name {
    font-weight: 500;
    color: $presszone-forum-text;
}

body.dark-mode .presszone-forum-user-name {
    color: $presszone-forum-text-dark;
}

.presszone-forum-user-handle {
    font-size: 12px;
    color: $presszone-forum-text-muted;
}

body.dark-mode .presszone-forum-user-handle {
    color: $presszone-forum-text-muted-dark;
}

/* ============================================================================
 * Additional Dark Mode Rules - Comprehensive Coverage
 * ============================================================================ */

/* Buttons - Secondary and Ghost variants */
body.dark-mode .presszone-forum-btn--secondary {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-btn--secondary:hover:not(:disabled) {
    background: $presszone-forum-surface-3-dark;
}

body.dark-mode .presszone-forum-btn--ghost {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-btn--ghost:hover:not(:disabled) {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

/* Dark Mode - Access Tab */
body.dark-mode .presszone-forum-access-legend {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-access-grid-wrapper {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-access-grid__cell {
    background: $presszone-forum-surface-dark;
    border-bottom-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-access-grid__cell--header {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-access-header__label {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-access-header__info,
body.dark-mode .presszone-forum-access-header__desc {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-access-header__info:hover {
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-access-header__info::after {
    background: $presszone-forum-surface-dark;
    color: $presszone-forum-text-dark;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 1px $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-access-header__info::before {
    border-bottom-color: $presszone-forum-surface-dark;
}

body.dark-mode .presszone-forum-access-cell {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-access-cell--inherit {
    color: $presszone-forum-text-muted-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-access-grid__cell--corner {
    background: $presszone-forum-surface-2-dark;
    border-right-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-access-grid__cell--role {
    background: $presszone-forum-surface-dark;
    border-right-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-access-grid__cell--role:hover {
    background: $presszone-forum-surface-2-dark;
}

body.dark-mode .presszone-forum-access-role__name,
body.dark-mode .presszone-forum-access-role__icon {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-access-header h3 {
    color: $presszone-forum-text-dark;
}

/* Dark Mode - General Tab */
body.dark-mode .presszone-forum-label--premium {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-form-help--premium {
    color: $presszone-forum-text-muted-dark;
}

/* Permissions Grid - Comprehensive */
body.dark-mode .presszone-forum-perm-grid-wrapper {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-perm-grid__cell {
    background: $presszone-forum-surface-dark;
    color: $presszone-forum-text-dark;
    border-bottom-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-perm-grid__cell--cap {
    background: $presszone-forum-surface-dark;
    border-right-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-perm-grid__cell--sticky-corner {
    background: $presszone-forum-surface-2-dark;
    border-right-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-perm-grid__cell--action {
    background: $presszone-forum-surface-dark;
}

body.dark-mode .presszone-forum-perm-grid__cell--action:hover {
    background: $presszone-forum-surface-2-dark;
}

body.dark-mode .presszone-forum-perm-grid__cell--header {
    background: $presszone-forum-surface-2-dark;
    border-bottom-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

/* Permission Cells - Allow/Inherit/Never states */
body.dark-mode .presszone-forum-perm-cell--allow {
    background: $presszone-forum-success-dim-alt-dark;
    color: $presszone-forum-success-dark;
}

body.dark-mode .presszone-forum-perm-cell--inherit {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-perm-cell--never {
    background: $presszone-forum-error-dim-dark;
    color: $presszone-forum-error-dark;
}

/* Permission Trace */
body.dark-mode .presszone-forum-perm-trace {
    background: $presszone-forum-surface-dark;
}

/* Settings Cards */
body.dark-mode .presszone-forum-settings-card {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-settings-card__icon {
    background: $presszone-forum-primary-dim-dark;
}

body.dark-mode .presszone-forum-settings-card--warning .presszone-forum-settings-card__icon {
    background: $presszone-forum-warning-dim-dark;
}

/* Color Inputs */
body.dark-mode .presszone-forum-input--color {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-color-preview {
    border-color: $presszone-forum-border-dark;
}

/* Badges - All variants */
body.dark-mode .presszone-forum-badge {
    background: $presszone-forum-primary-dim-dark;
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-badge--category {
    background: $presszone-forum-badge-category-bg-dark;
    color: $presszone-forum-badge-category-text-dark;
}

body.dark-mode .presszone-forum-badge--forum {
    background: $presszone-forum-badge-forum-bg-dark;
    color: $presszone-forum-badge-forum-text-dark;
}

body.dark-mode .presszone-forum-badge--link {
    background: $presszone-forum-badge-link-bg-dark;
    color: $presszone-forum-badge-link-text-dark;
}

body.dark-mode .presszone-forum-badge--page {
    background: $presszone-forum-badge-page-bg-dark;
    color: $presszone-forum-badge-page-text-dark;
}

/* Dark Mode Toggle */
body.dark-mode .presszone-forum-dark-toggle {
    background: $presszone-forum-surface-2-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-dark-toggle:hover {
    background: $presszone-forum-surface-3-dark;
}

/* Node Items (Forum Manager) */
body.dark-mode .presszone-forum-node-item__row {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-node-item__row:hover {
    background: $presszone-forum-surface-2-dark;
}

/* Tool Items */
body.dark-mode .presszone-forum-tool-item__icon {
    background: $presszone-forum-surface-2-dark;
}

/* Widget Growth Indicators */
body.dark-mode .presszone-forum-widget__growth {
    background: $presszone-forum-success-dim-alt-dark;
    color: $presszone-forum-success-dark;
}

/* Toggles */
body.dark-mode .presszone-forum-toggle--active {
    background: $presszone-forum-success-dark;
}

body.dark-mode .presszone-forum-toggle--warning.presszone-forum-toggle--active {
    background: $presszone-forum-warning-dark;
}

/* Avatars */
body.dark-mode .presszone-forum-avatar,
body.dark-mode .avatar.presszone-forum-avatar {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
}

/* Settings Panels */
body.dark-mode .presszone-forum-settings__panel {
    background: $presszone-forum-surface-dark;
}

/* Sidebar Active Link - Fix color contrast */
body.dark-mode .presszone-forum-sidebar__link--active {
    background: $presszone-forum-primary-dim-dark;
    color: $presszone-forum-primary-dark;
}

body.dark-mode .presszone-forum-sidebar__link--active .presszone-forum-sidebar__icon {
    color: $presszone-forum-primary-dark;
}

/* Mobile-specific table enhancements */
@media (max-width: 768px) {
    .presszone-forum-user-cell {
        min-width: 180px;

        .presszone-forum-avatar {
            width: 32px;
            height: 32px;
        }

        .presszone-forum-user-info {
            .presszone-forum-user-name {
                font-size: 13px;
            }

            .presszone-forum-user-handle {
                font-size: 11px;
            }
        }
    }

    // Make action buttons more compact on mobile
    .presszone-forum-grid-table__cell {
        .presszone-forum-btn--sm {
            padding: 4px 8px;
            font-size: 11px;
        }
    }

    // Ensure badges don't break layout
    .presszone-forum-badge {
        font-size: 10px;
        padding: 2px 6px;
        white-space: nowrap;
    }
}

/* ============================================
   Fixes for Dark Mode Claims (TagInput, Modals)
   ============================================ */

/* TagInput Styles (Missing) */
.presszone-forum-tag-input {
    width: 100%;
}

.presszone-forum-tag-input__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
    min-height: 24px;
}

.presszone-forum-tag-input__tag {
    display: inline-flex;
    align-items: center;
    background: $presszone-forum-surface-2;
    border: 1px solid $presszone-forum-border;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 13px;
    color: $presszone-forum-text;
}

.presszone-forum-tag-input__tag-text {
    margin-right: 6px;
}

.presszone-forum-tag-input__tag-remove {
    background: none;
    border: none;
    color: $presszone-forum-text-muted;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
}

.presszone-forum-tag-input__tag-remove:hover {
    color: $presszone-forum-error;
}

.presszone-forum-tag-input__input-wrapper {
    position: relative;
    width: 100%;
}

.presszone-forum-tag-input__input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid $presszone-forum-border;
    border-radius: 12px;
    background: $presszone-forum-surface;
    color: $presszone-forum-text;
    font-size: 14px;
    transition: all 0.2s ease;
}

.presszone-forum-tag-input__input:focus {
    outline: none;
    border-color: $presszone-forum-primary;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim;
}

/* TagInput Dark Mode */
body.dark-mode .presszone-forum-tag-input__tag {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-tag-input__tag-remove {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-tag-input__tag-remove:hover {
    color: $presszone-forum-error-dark;
}

body.dark-mode .presszone-forum-tag-input__input {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-tag-input__input:focus {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-primary-dark;
    box-shadow: 0 0 0 3px $presszone-forum-primary-dim-dark;
    color: $presszone-forum-text-dark;
}

/* Placeholders Dark Mode Fix */
body.dark-mode .presszone-forum-placeholder-item {
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
    color: $presszone-forum-text-dark;
}

/* Moderators Dark Mode Fix */
body.dark-mode .presszone-forum-moderator-item--premium {
    background: $presszone-forum-surface-2-dark;
    border-color: transparent;
}

body.dark-mode .presszone-forum-moderator-item--premium:hover {
    background: $presszone-forum-surface-3-dark;
    border-color: $presszone-forum-border-dark;
}

body.dark-mode .presszone-forum-moderator-name--premium {
    color: $presszone-forum-text-dark;
}

body.dark-mode .presszone-forum-moderator-role--premium {
    color: $presszone-forum-text-muted-dark;
}

body.dark-mode .presszone-forum-moderator-avatar--premium {
    border-color: $presszone-forum-surface-dark;
}

body.dark-mode .presszone-forum-moderator-empty--premium {
    color: $presszone-forum-text-muted-dark;
}

/* ============================================
   Stagger Utility Classes (No CSS Variables)
   Keep at end so it can override animation shorthands.
   ============================================ */

@for $i from 0 through 30 {
    .presszone-forum-stagger-#{$i} {
        animation-delay: $i * $presszone-forum-stagger;
    }
}

@for $i from 0 through 30 {
    .presszone-forum-tool-stagger-#{$i} {
        animation-delay: $i * $presszone-forum-tool-stagger;
    }
}

/* ==========================================================================
   Responsive Table Wrapper & Grid Table
   Ported from comments-press-zone for consistent moderation UI
   ========================================================================== */

.presszone-forum-table-wrapper {
    background: $presszone-forum-surface;
    border-radius: $presszone-forum-radius-lg;
    overflow-x: auto;
    border: 1px solid $presszone-forum-border;
    position: relative;

    @media (max-width: 768px) {
        border-radius: $presszone-forum-radius;
        margin: 0 -16px; // Extend to screen edges on mobile (assuming parent padding is 16px)
        border-left: none;
        border-right: none;
        position: relative;

        // Add scroll indicator
        &::after {
            content: '← Scroll →';
            position: absolute;
            bottom: 8px;
            right: 16px;
            font-size: 11px;
            color: $presszone-forum-text-muted;
            background: rgba(255, 255, 255, 0.9);
            padding: 2px 6px;
            border-radius: 4px;
            pointer-events: none;
            opacity: 0.7;
        }

        // Hide scroll indicator when not needed
        &:not([data-scrollable="true"])::after {
            display: none;
        }
    }
}

body.dark-mode .presszone-forum-table-wrapper {
    background: $presszone-forum-surface-dark;
    border-color: $presszone-forum-border-dark;

    @media (max-width: 768px) {
        &::after {
            background: rgba(0, 0, 0, 0.8);
            color: $presszone-forum-text-muted-dark;
        }
    }
}

.presszone-forum-grid-table {
    display: grid;
    width: 100%;
    font-size: 14px;
    min-width: 800px; // Force horizontal scroll on mobile
    // grid-template-columns is set dynamically via JavaScript

    @media (max-width: 768px) {
        min-width: 900px; // Slightly wider for mobile scroll
        font-size: 13px;
    }
}

.presszone-forum-grid-table__cell {
    padding: 12px 16px;
    display: flex;
    align-items: center;
    font-size: 14px;
    color: $presszone-forum-text;
    word-break: break-word;
    overflow-wrap: break-word;
    background: $presszone-forum-surface;
    transition: background $presszone-forum-duration-fast $presszone-forum-ease-smooth;

    @media (max-width: 768px) {
        padding: 8px 12px;
        font-size: 13px;
    }
}

body.dark-mode .presszone-forum-grid-table__cell {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-dark;
}

.presszone-forum-grid-table__cell--header {
    font-weight: 600;
    color: $presszone-forum-text;
    background: $presszone-forum-surface-2;
    padding: 12px 16px;
    border-bottom: 1px solid $presszone-forum-border;

    @media (max-width: 768px) {
        padding: 8px 12px;
        font-size: 13px;
    }
}

body.dark-mode .presszone-forum-grid-table__cell--header {
    color: $presszone-forum-text-dark;
    background: $presszone-forum-surface-2-dark;
    border-color: $presszone-forum-border-dark;
}

// Row hover effect
.presszone-forum-grid-table__cell:not(.presszone-forum-grid-table__cell--header):hover {
    background: $presszone-forum-surface-2;
}

body.dark-mode .presszone-forum-grid-table__cell:not(.presszone-forum-grid-table__cell--header):hover {
    background: $presszone-forum-surface-2-dark;
}

// Mobile specific table enhancements
@media (max-width: 768px) {
    .presszone-forum-user-cell {
        min-width: 180px;

        .presszone-forum-avatar {
            width: 32px;
            height: 32px;
        }

        .presszone-forum-user-info {
            .presszone-forum-user-name {
                font-size: 13px;
            }

            .presszone-forum-user-handle {
                font-size: 11px;
            }
        }
    }

    // Make action buttons more compact on mobile
    .presszone-forum-grid-table__cell {
        .presszone-forum-btn--sm {
            padding: 4px 8px;
            font-size: 11px;
        }
    }

    // Ensure badges don't break layout
    .presszone-forum-badge {
        font-size: 10px;
        padding: 2px 6px;
        white-space: nowrap;
    }
}

.presszone-forum-table-container {
    margin-top: 24px;
}
