/* web-app/css/dashboard-modern.css */

:root {
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --accent-color: #FFFFFF;
    --accent-rgb: 255, 255, 255;
    --accent-hover: #EDEDED;
    --accent-dim: rgba(var(--accent-rgb), 0.16);
    --accent-foreground: #121212;

    --bg-color: #0d1118;
    --sidebar-bg: rgba(16, 21, 31, 0.76);
    --panel-bg: rgba(17, 23, 34, 0.72);
    --card-bg: rgba(20, 27, 40, 0.8);
    --input-bg: rgba(255, 255, 255, 0.055);

    --border-color: rgba(255, 255, 255, 0.12);
    --border-strong: rgba(255, 255, 255, 0.2);

    --text-primary: #f5f8ff;
    --text-secondary: rgba(235, 241, 255, 0.76);
    --text-tertiary: rgba(225, 233, 250, 0.56);

    --success-color: #22c55e;
    --danger-color: #ef4444;

    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --radius-xl: 28px;

    --glass-blur: 18px;
    --shell-padding: 16px;
    --card-shadow: 0 18px 40px rgba(3, 8, 20, 0.35);
    --history-fade-solid: #121a28;
}

[data-theme="light"] {
    --bg-color: #f3f6fb;
    --sidebar-bg: rgba(255, 255, 255, 0.78);
    --panel-bg: rgba(255, 255, 255, 0.72);
    --card-bg: rgba(255, 255, 255, 0.86);
    --input-bg: rgba(243, 247, 255, 0.94);

    --border-color: rgba(19, 34, 62, 0.12);
    --border-strong: rgba(19, 34, 62, 0.2);

    --text-primary: #18223a;
    --text-secondary: rgba(24, 34, 58, 0.78);
    --text-tertiary: rgba(24, 34, 58, 0.56);

    --accent-color: #121212;
    --accent-rgb: 18, 18, 18;
    --accent-hover: #2A2A2A;
    --accent-dim: rgba(var(--accent-rgb), 0.16);
    --accent-foreground: #FFFFFF;

    --card-shadow: 0 22px 40px rgba(29, 47, 81, 0.12);
    --history-fade-solid: #f3f6fb;
}

.dashboard-body {
    font-family: var(--font-family);
    background: var(--bg-color);
    color: var(--text-primary);
    letter-spacing: 0.01em;
    position: relative;
}

.dashboard-body::before,
.dashboard-body::after {
    content: '';
    position: fixed;
    pointer-events: none;
    z-index: 0;
}

.dashboard-body::before {
    inset: -10% auto auto -5%;
    width: 42vw;
    height: 42vw;
    min-width: 340px;
    min-height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--accent-rgb), 0.2) 0%, rgba(var(--accent-rgb), 0) 72%);
}

.dashboard-body::after {
    inset: auto -8% -12% auto;
    width: 36vw;
    height: 36vw;
    min-width: 280px;
    min-height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--accent-rgb), 0.12) 0%, rgba(var(--accent-rgb), 0) 72%);
}

.dashboard-body .app-loading:not(.pricing-opening) {
    background:
        radial-gradient(circle at 18% 16%, rgba(var(--accent-rgb), 0.24), transparent 52%),
        radial-gradient(circle at 86% 84%, rgba(var(--accent-rgb), 0.1), transparent 52%),
        var(--bg-color);
}

.dashboard-body .app-loading.pricing-opening {
    background: var(--status-page-bg);
}

.dashboard-body .app-container {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    gap: 14px;
    padding: var(--shell-padding);
    height: 100dvh;
    width: 100vw;
}

.dashboard-body .sidebar {
    width: 276px;
    min-width: 276px;
    max-width: 276px;
    height: 100%;
    min-height: 0;
    align-self: stretch;
}

.dashboard-body .sidebar-surface,
.dashboard-body .main-content,
.dashboard-body .studio-config,
.dashboard-body .studio-results,
.dashboard-body .studio-config-sticky-footer,
.dashboard-body .history-collection-loader,
.dashboard-body .subject-source-menu,
.dashboard-body .app-modal-card,
.dashboard-body .checkout-modal-card,
.dashboard-body .tool-picker-panel,
.dashboard-body .bulk-interactive-surface,
.dashboard-body .bulk-interactive-tray-panel,
.dashboard-body .bulk-interactive-groups-panel,
.dashboard-body .bulk-interactive-group-card,
.dashboard-body .model-generator-result-panel,
.dashboard-body .safe-header,
.dashboard-body .safe-card {
    backdrop-filter: blur(var(--glass-blur)) saturate(135%);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(135%);
}

.dashboard-body .sidebar-surface {
    --sidebar-bg: rgba(24, 24, 24, 0.94);
    --input-bg: rgba(255, 255, 255, 0.06);
    --border-color: rgba(255, 255, 255, 0.12);
    --border-strong: rgba(255, 255, 255, 0.2);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background: var(--sidebar-bg);
    box-shadow: var(--card-shadow);
}

[data-theme="light"] .dashboard-body .sidebar-surface {
    --sidebar-bg: rgba(255, 255, 255, 0.96);
    --input-bg: rgba(245, 245, 245, 0.98);
    --border-color: rgba(0, 0, 0, 0.12);
    --border-strong: rgba(0, 0, 0, 0.2);
}

.dashboard-body .brand {
    margin-bottom: 26px;
    padding-left: 4px;
}

.dashboard-body .logo-text {
    font-family: 'Jost', sans-serif;
    letter-spacing: 0.04em;
    font-size: 1.2rem;
}

.dashboard-body .logo-text span:first-child {
    font-weight: 800;
}

.dashboard-body .nav-menu {
    gap: 8px;
}

.dashboard-body .nav-item {
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: var(--text-secondary);
    padding: 12px 14px;
    font-size: 0.88rem;
    font-weight: 600;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.dashboard-body .nav-item:hover {
    border-color: var(--border-color);
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-primary);
}

.dashboard-body .nav-item.active {
    border-color: rgba(var(--accent-rgb), 0.42);
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: var(--accent-foreground)!important;
    box-shadow: none;
}

.dashboard-body .nav-item.nav-item-highlighted,
.dashboard-body .nav-item.nav-item-highlighted:hover,
.dashboard-body .nav-item.nav-item-highlighted.active {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--border-color);
    box-shadow: none;
    color: var(--text-primary) !important;
}

.dashboard-body .btn-top-up,
.dashboard-body .btn-side-secondary {
    border-radius: 13px;
    min-height: 40px;
    height: 40px;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.dashboard-body .btn-top-up {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    box-shadow: none;
    transition: filter 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-body .btn-side-secondary {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--border-color);
}

.dashboard-body .btn-side-secondary:hover {
    border-color: rgba(var(--accent-rgb), 0.4);
    background: var(--accent-dim);
}

.dashboard-body .user-panel {
    border-top-color: var(--border-color);
    padding-top: 18px;
}

.dashboard-body .user-avatar {
    border: 1px solid var(--border-color);
}

.dashboard-body .main-content {
    --panel-bg: rgba(24, 24, 24, 0.94);
    --card-bg: rgba(31, 31, 31, 0.92);
    --input-bg: rgba(255, 255, 255, 0.06);
    --history-fade-solid: #191919;
    border: 1px solid var(--border-color);
    border-radius: 26px;
    background: var(--panel-bg);
    box-shadow: var(--card-shadow);
    overflow: hidden;
}

[data-theme="light"] .dashboard-body .main-content {
    --panel-bg: rgba(255, 255, 255, 0.96);
    --card-bg: rgba(249, 249, 249, 0.96);
    --input-bg: rgba(245, 245, 245, 0.98);
    --history-fade-solid: #ffffff;
}

.dashboard-body .mobile-top-bar {
    background: rgba(255, 255, 255, 0.03);
}

.dashboard-body .mobile-view-btn,
.dashboard-body .model-generator-mobile-view-btn {
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-secondary);
}

.dashboard-body .mobile-view-btn.active,
.dashboard-body .model-generator-mobile-view-btn.active {
    border-color: rgba(var(--accent-rgb), 0.5);
    background: var(--accent-dim);
    color: var(--text-primary);
}

.dashboard-body .studio-layout {
    gap: 14px;
    background: var(--panel-bg);
    padding: 14px;
    border-radius: 18px;
}

.dashboard-body .studio-config-wrapper {
    width: 444px;
    position: relative;
    border: none;
    border-radius: 14px;
    overflow: hidden;
    background: var(--panel-bg);
    background-clip: padding-box;
    -webkit-background-clip: padding-box;
}

.dashboard-body .studio-config-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid var(--border-color);
    border-radius: inherit;
    pointer-events: none;
    z-index: 26;
}

.dashboard-body .studio-config,
.dashboard-body .studio-results {
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.dashboard-body .studio-config {
    padding: 22px;
}

.dashboard-body .studio-results {
    padding: 6px 8px 14px;
}

.dashboard-body #sharedResultsContainer {
    border-radius: 0;
    position: relative;
    padding: 12px 10px 18px;
    scroll-padding-top: 12px;
    scroll-padding-bottom: 18px;
}

.dashboard-body #sharedResultsContainer.history-bottom-fade {
    box-shadow: none;
    --history-mask-fade-height: clamp(24px, calc(var(--history-grid-fade-height, 58px) * 0.45), 40px);
    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 1) calc(100% - var(--history-mask-fade-height)),
        rgba(0, 0, 0, 0) 100%
    );
    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 1) calc(100% - var(--history-mask-fade-height)),
        rgba(0, 0, 0, 0) 100%
    );
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

.dashboard-body .history-bottom-fade-overlay {
    display: none !important;
}

[data-theme="light"] .dashboard-body .history-bottom-fade-overlay {
    display: none !important;
}

.dashboard-body .panel-header {
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border-color);
}

.dashboard-body .panel-title {
    font-size: 1.06rem;
    letter-spacing: 0.015em;
}

.dashboard-body .panel-title svg {
    width: 18px;
    height: 18px;
    color: var(--accent-color);
}

.dashboard-body .panel-subtitle,
.dashboard-body .config-subtitle {
    color: var(--text-tertiary);
    line-height: 1.45;
}

.dashboard-body .panel-subtitle {
    font-size: 0.78rem;
    margin-top: 8px;
}

.dashboard-body .config-subtitle {
    font-size: 0.76rem;
    margin-bottom: 12px;
}

.dashboard-body .control-group {
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background: var(--card-bg);
    padding: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.dashboard-body .control-group:hover {
    border-color: var(--border-strong);
}

.dashboard-body .config-group,
.dashboard-body .config-group.visible-animated {
    margin-bottom: 0;
}

/* Allow lower config dropdowns to render over the guidance block below. */
.dashboard-body .config-container {
    overflow: visible;
}

/* Parent group now owns collapsed clipping/mask behavior. */
.dashboard-body #configBuilderGroup.collapsed {
    overflow: hidden;
}

.dashboard-body .control-group-header {
    font-size: 0.72rem;
    letter-spacing: 0.11em;
    color: var(--text-secondary);
}

.dashboard-body .label-orange,
.dashboard-body .config-group-header,
.dashboard-body .tool-picker-section-title {
    color: var(--accent-color);
}

.dashboard-body .divider,
.dashboard-body .toggle-divider,
.dashboard-body .text-separator .line {
    background: var(--border-color);
}

.dashboard-body .text-separator span {
    color: var(--text-tertiary);
}

.dashboard-body .studio-style-gallery {
    gap: 10px;
}

.dashboard-body .studio-style-card {
    border-radius: 12px;
    border-color: var(--border-color);
    background: rgba(255, 255, 255, 0.03);
}

.dashboard-body .studio-style-card:hover {
    border-color: rgba(var(--accent-rgb), 0.4);
}

.dashboard-body .studio-style-card.active {
    border-color: rgba(var(--accent-rgb), 0.5);
    background: var(--accent-dim);
}

.dashboard-body .studio-style-card-title {
    font-size: 0.82rem;
}

.dashboard-body .drop-zone {
    border-radius: 14px;
    border: 1.5px dashed var(--border-color);
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),
        var(--input-bg);
}

.dashboard-body #dropZoneProduct {
    aspect-ratio: 2 / 1;
}

.dashboard-body #dropZoneProduct.has-image {
    aspect-ratio: 1 / 1;
}

.dashboard-body .drop-zone:not(.has-image):hover {
    border-color: rgba(var(--accent-rgb), 0.52);
    background:
        linear-gradient(160deg, rgba(var(--accent-rgb), 0.14), rgba(var(--accent-rgb), 0.06)),
        var(--input-bg);
}

.dashboard-body .drop-content {
    color: var(--text-secondary);
    gap: 8px;
}

.dashboard-body .drop-content p {
    font-size: 0.8rem;
    font-weight: 600;
}

.dashboard-body .drop-content svg {
    opacity: 0.72;
}

.dashboard-body .remove-btn,
.dashboard-body .gallery-nav {
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(22, 22, 22, 0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.dashboard-body .gallery-counter {
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(22, 22, 22, 0.72);
}

.dashboard-body .modern-input,
.dashboard-body .modern-select,
.dashboard-body .modern-textarea,
.dashboard-body .bulk-interactive-group-name {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--input-bg);
    color: var(--text-primary);
    min-height: 40px;
    font-size: 0.86rem;
}

.dashboard-body .modern-input:focus,
.dashboard-body .modern-textarea:focus,
.dashboard-body .bulk-interactive-group-name:focus,
.dashboard-body .segment-btn:focus-visible,
.dashboard-body .action-btn:focus-visible,
.dashboard-body .btn-primary:focus-visible,
.dashboard-body .btn-secondary:focus-visible,
.dashboard-body .icon-btn:focus-visible,
.dashboard-body .nav-item:focus-visible,
.dashboard-body .tool-picker-card:focus-visible {
    outline: none;
    border-color: rgba(var(--accent-rgb), 0.55);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18);
}

.dashboard-body .modern-select:focus {
    border-color: var(--border-color);
    box-shadow: none;
}

.dashboard-body .segmented-control {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.025);
    padding: 4px;
}

.dashboard-body .slide-bg {
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.26), rgba(var(--accent-rgb), 0.14));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.dashboard-body .segment-btn {
    border-radius: 10px;
    padding: 9px 8px;
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.dashboard-body .segment-btn.active {
    color: var(--text-primary);
}

.dashboard-body .variation-change-btn {
    border-radius: 12px;
    border-color: var(--border-color);
    background: var(--input-bg);
}

.dashboard-body .variation-change-btn.active {
    border-color: rgba(var(--accent-rgb), 0.55);
    background: var(--accent-dim);
    color: var(--text-primary);
}

.dashboard-body .btn-primary,
.dashboard-body .action-btn--accent {
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(140deg, var(--accent-color), var(--accent-hover));
    color: var(--accent-foreground)!important;
    box-shadow: none;
}

.dashboard-body .btn-primary:hover,
.dashboard-body .action-btn--accent:hover {
    filter: none;
    transform: none;
    box-shadow: none;
}

.dashboard-body .btn-primary:disabled,
.dashboard-body .action-btn--accent:disabled {
    opacity: 0.58;
    box-shadow: none;
}

.dashboard-body .btn-secondary,
.dashboard-body .action-btn--neutral,
.dashboard-body .icon-btn,
.dashboard-body .icon-btn-small {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    color: var(--text-secondary);
}

.dashboard-body .action-btn--accent {
    font-family: var(--font-family);
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 12px;
}

.dashboard-body .btn-secondary:hover,
.dashboard-body .action-btn--neutral:hover,
.dashboard-body .icon-btn:hover,
.dashboard-body .icon-btn-small:hover {
    color: var(--text-primary);
    border-color: var(--border-strong);
    background: rgba(255, 255, 255, 0.07);
}

.dashboard-body .studio-config-sticky-footer {
    background: var(--panel-bg);
    border: 1px solid var(--border-color);
    border-radius: 0 0 14px 14px;
    background-clip: padding-box;
    -webkit-background-clip: padding-box;
    padding: 12px 18px max(12px, env(safe-area-inset-bottom));
}

.dashboard-body #tab-studio .studio-config-sticky-footer,
.dashboard-body #tab-bulk .studio-config-sticky-footer,
.dashboard-body #tab-variations .studio-config-sticky-footer,
.dashboard-body #tab-models .studio-config-sticky-footer,
.dashboard-body #tab-enhance .studio-config-sticky-footer {
    border: none;
    border-top: 1px solid var(--border-color);
    z-index: 22;
}

.dashboard-body .estimate-card {
    border: 1px solid var(--border-color);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.03);
    padding: 11px;
}

.dashboard-body .estimate-icon {
    color: var(--accent-color);
    opacity: 0.9;
}

.dashboard-body .estimate-label {
    color: var(--text-tertiary);
}

.dashboard-body .estimate-value {
    color: var(--text-primary);
}

.dashboard-body .results-empty-state {
    border-style: solid;
    border-color: var(--border-color);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    padding: 22px;
}

.dashboard-body .jobs-grid {
    gap: 12px;
}

.dashboard-body #sharedResultsContainer .jobs-grid {
    grid-template-columns: repeat(auto-fill, minmax(198px, 1fr));
    gap: 12px;
    border-radius: 12px;
    padding: 6px;
    margin: -6px;
}

.dashboard-body .job-card,
.dashboard-body #sharedResultsContainer .job-card {
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: var(--card-bg);
    box-shadow: none;
}

.dashboard-body .job-card:hover {
    transform: translateY(-2px) scale(1.012);
    border-color: var(--border-strong);
}

.dashboard-body.modal-overlay-open #sharedResultsContainer .job-card,
.dashboard-body.modal-overlay-open #sharedResultsContainer .job-card:hover {
    transform: none !important;
}

.dashboard-body.modal-overlay-open #sharedResultsContainer .job-card {
    transition: border-color 0.2s ease, opacity 0.2s ease !important;
}

.dashboard-body.modal-overlay-open #sharedResultsContainer.history-bottom-fade {
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.dashboard-body .bulk-interactive-group-name {
    height: 34px;
    min-height: 34px;
    padding-top: 0;
    padding-bottom: 0;
}

.dashboard-body .bulk-interactive-group-dropzone {
    border: 1px solid var(--border-color);
}

.dashboard-body .bulk-interactive-mode-meta-item {
    border-radius: 12px;
}

/* Reusable custom modern-select dropdown */
.dashboard-body .select-wrapper.modern-select-enhanced {
    position: relative;
}

.dashboard-body .select-wrapper.modern-select-enhanced .modern-select {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.dashboard-body .select-wrapper.modern-select-enhanced .select-chevron {
    display: none;
}

.dashboard-body .modern-select-trigger {
    width: 100%;
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: var(--input-bg);
    color: var(--text-primary);
    font-family: var(--font-family);
    font-size: 0.86rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.dashboard-body .modern-select-trigger::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--text-secondary);
    border-bottom: 1.5px solid var(--text-secondary);
    transform: rotate(45deg) translateY(-1px);
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.dashboard-body .select-wrapper.modern-select-enhanced.is-open .modern-select-trigger::after {
    transform: rotate(225deg) translateY(-1px);
}

.dashboard-body .modern-select-trigger:hover {
    border-color: var(--border-strong);
}

.dashboard-body .modern-select-trigger:focus-visible {
    outline: none;
    border-color: var(--border-color);
    box-shadow: none;
}

.dashboard-body .select-wrapper.modern-select-enhanced.is-disabled .modern-select-trigger {
    opacity: 0.58;
    cursor: not-allowed;
}

.dashboard-body .modern-select-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 40;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-bg);
    box-shadow: var(--card-shadow);
    padding: 6px;
    display: none;
    backdrop-filter: blur(var(--glass-blur)) saturate(135%);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(135%);
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--accent-rgb), 0.62) transparent;
}

.dashboard-body .modern-select-dropdown::-webkit-scrollbar {
    width: 6px;
}

.dashboard-body .modern-select-dropdown::-webkit-scrollbar-track {
    background: transparent;
}

.dashboard-body .modern-select-dropdown::-webkit-scrollbar-thumb {
    background: rgba(var(--accent-rgb), 0.62);
    border-radius: 999px;
}

.dashboard-body .modern-select-dropdown::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--accent-rgb), 0.82);
}

.dashboard-body .select-wrapper.modern-select-enhanced.is-open {
    z-index: 35;
}

.dashboard-body .select-wrapper.modern-select-enhanced.is-open .modern-select-dropdown {
    display: block;
}

.dashboard-body .modern-select-option {
    width: 100%;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    font-family: var(--font-family);
    font-size: 0.83rem;
    text-align: left;
    padding: 8px 10px;
    cursor: pointer;
}

.dashboard-body .modern-select-option:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-primary);
}

[data-theme="light"] .dashboard-body .modern-select-option:hover,
[data-theme="light"] .dashboard-body .modern-select-option:focus-visible {
    background: rgba(24, 34, 58, 0.1);
    color: var(--text-primary);
}

.dashboard-body .modern-select-option.is-active {
    background: rgba(var(--accent-rgb), 0.14);
    color: var(--text-primary);
}

.dashboard-body .modern-select-option:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.dashboard-body .footer-generate-row,
.dashboard-body .footer-generate-controls {
    overflow: visible;
}

.dashboard-body .job-card-download,
.dashboard-body .job-card-delete {
    border-radius: 10px;
    background: rgba(22, 22, 22, 0.76);
    border-color: rgba(255, 255, 255, 0.18);
}

[data-theme="light"] .dashboard-body .job-card-download {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(15, 23, 42, 0.14);
    color: var(--text-primary);
}

.dashboard-body .job-load-more-card {
    border-radius: 16px;
    border-color: var(--border-color);
    background: rgba(255, 255, 255, 0.03);
}

.dashboard-body .history-collection-loader {
    inset: 12px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: rgba(22, 22, 22, 0.58);
}

[data-theme="light"] .dashboard-body .history-collection-loader {
    background: rgba(255, 255, 255, 0.64);
}

.dashboard-body .history-loading-more-hint {
    border-color: var(--border-color);
    background: rgba(24, 24, 24, 0.74);
}

[data-theme="light"] .dashboard-body .history-loading-more-hint {
    background: rgba(255, 255, 255, 0.84);
}

.dashboard-body .safe-view {
    max-width: 980px;
    gap: 14px;
}

.dashboard-body .safe-header,
.dashboard-body .safe-card {
    border-color: var(--border-color);
    border-radius: 18px;
    background: var(--card-bg);
}

.dashboard-body .safe-title {
    font-size: 1.1rem;
}

.dashboard-body .safe-card-title svg {
    color: var(--accent-color);
}

.dashboard-body .safe-card-text,
.dashboard-body .safe-list {
    color: var(--text-secondary);
}

.dashboard-body .subject-source-menu {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--panel-bg);
    box-shadow: var(--card-shadow);
}

.dashboard-body .subject-source-action:hover {
    background: rgba(255, 255, 255, 0.06);
}

.dashboard-body .tool-picker-overlay,
.dashboard-body .app-modal,
.dashboard-body .bulk-interactive-workspace {
    background: rgba(7, 11, 19, 0.5);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

[data-theme="light"] .dashboard-body .tool-picker-overlay,
[data-theme="light"] .dashboard-body .app-modal,
[data-theme="light"] .dashboard-body .bulk-interactive-workspace {
    background: rgba(225, 234, 248, 0.56);
}

/* Keep checkout overlays neutral in both themes (no blue cast bleed). */
.dashboard-body .checkout-modal {
    background: rgba(8, 10, 14, 0.62);
}

[data-theme="light"] .dashboard-body .checkout-modal {
    background: rgba(245, 245, 245, 0.66);
}

/* Keep bulk interactive workspace on neutral tint/background (no blue cast). */
.dashboard-body .bulk-interactive-workspace {
    background: rgba(5, 5, 5, 0.46);
    --panel-bg: rgba(24, 24, 24, 0.94);
    --card-bg: rgba(31, 31, 31, 0.92);
    --input-bg: rgba(255, 255, 255, 0.06);
}

[data-theme="light"] .dashboard-body .bulk-interactive-workspace {
    background: rgba(255, 255, 255, 0.56);
    --panel-bg: rgba(255, 255, 255, 0.96);
    --card-bg: rgba(249, 249, 249, 0.96);
    --input-bg: rgba(245, 245, 245, 0.98);
}

/* Keep the tool picker on the same neutral tint as sidebar/main-content surfaces. */
.dashboard-body .tool-picker-overlay {
    background: rgba(5, 5, 5, 0.46);
}

[data-theme="light"] .dashboard-body .tool-picker-overlay {
    background: rgba(255, 255, 255, 0.56);
}

.dashboard-body #settingsModal {
    --panel-bg: rgba(24, 24, 24, 0.92);
    --card-bg: rgba(31, 31, 31, 0.78);
    --input-bg: rgba(255, 255, 255, 0.08);
}

[data-theme="light"] .dashboard-body #settingsModal {
    --panel-bg: rgba(255, 255, 255, 0.95);
    --card-bg: rgba(255, 255, 255, 0.84);
    --input-bg: rgba(245, 245, 245, 0.97);
}

.dashboard-body .app-modal-header,
.dashboard-body .tool-picker-header {
    border-bottom: 1px solid var(--border-color);
}

.dashboard-body .app-modal-footer {
    border-top: 1px solid var(--border-color);
}

/* Account modal headers/footers should not have separator dividers. */
.dashboard-body .checkout-modal-header,
.dashboard-body .checkout-modal-footer {
    border: none;
}

.dashboard-body .app-modal-card,
.dashboard-body .checkout-modal-card,
.dashboard-body .tool-picker-panel,
.dashboard-body .bulk-interactive-surface,
.dashboard-body .model-generator-result-panel,
.dashboard-body .plugin-option-btn,
.dashboard-body .tool-picker-card,
.dashboard-body .model-template-card,
.dashboard-body .bulk-interactive-mode-panel,
.dashboard-body .bulk-interactive-dropzone,
.dashboard-body .bulk-interactive-group-dropzone,
.dashboard-body .bulk-interactive-add-group-cell,
.dashboard-body .bulk-interactive-add-cell {
    border-color: var(--border-color);
    background: var(--card-bg);
}

/* Keep account modal cards neutral (no blue cast). */
.dashboard-body .checkout-modal-card,
.dashboard-body .checkout-modal-card .checkout-modal-section,
.dashboard-body .checkout-modal-card .plugin-option-btn,
.dashboard-body .checkout-modal-card .checkout-quick-pick,
.dashboard-body .checkout-modal-card .pricing-picker-modal-top,
.dashboard-body .checkout-modal-card .web-plan-card,
.dashboard-body .checkout-modal-card .web-pricing-segmented {
    background: rgba(24, 24, 24, 0.94);
}

[data-theme="light"] .dashboard-body .checkout-modal-card,
[data-theme="light"] .dashboard-body .checkout-modal-card .checkout-modal-section,
[data-theme="light"] .dashboard-body .checkout-modal-card .plugin-option-btn,
[data-theme="light"] .dashboard-body .checkout-modal-card .checkout-quick-pick,
[data-theme="light"] .dashboard-body .checkout-modal-card .pricing-picker-modal-top,
[data-theme="light"] .dashboard-body .checkout-modal-card .web-plan-card,
[data-theme="light"] .dashboard-body .checkout-modal-card .web-pricing-segmented {
    background: rgba(255, 255, 255, 0.96);
}

.dashboard-body .tool-picker-panel {
    --panel-bg: rgba(24, 24, 24, 0.94);
    --card-bg: rgba(31, 31, 31, 0.92);
    --input-bg: rgba(255, 255, 255, 0.06);
}

[data-theme="light"] .dashboard-body .tool-picker-panel {
    --panel-bg: rgba(255, 255, 255, 0.96);
    --card-bg: rgba(249, 249, 249, 0.96);
    --input-bg: rgba(245, 245, 245, 0.98);
}

.dashboard-body .tool-picker-tool-icon,
.dashboard-body .plugin-option-logo {
    border-color: var(--border-color);
    background: var(--accent-dim);
}

.dashboard-body .tool-picker-card:hover,
.dashboard-body .plugin-option-btn:hover,
.dashboard-body .model-template-card:hover {
    border-color: rgba(var(--accent-rgb), 0.44);
}

.dashboard-body .in-app-alert-card {
    border-color: var(--border-color);
    background: rgba(24, 24, 24, 0.9);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
}

[data-theme="light"] .dashboard-body .in-app-alert-card {
    border-color: rgba(16, 24, 40, 0.14);
    background: rgba(255, 255, 255, 0.88);
}

.dashboard-body .lightbox {
    background: rgba(7, 11, 19, 0.62);
}

[data-theme="light"] .dashboard-body.modal-overlay-open:not(.tool-picker-visible) #app,
.dashboard-body.modal-overlay-open:not(.tool-picker-visible) #app {
    filter: blur(6px) saturate(0.96);
    transform: translateZ(0);
    will-change: filter;
}

[data-theme="light"] .dashboard-body.settings-overlay-open:not(.tool-picker-visible) #app,
.dashboard-body.settings-overlay-open:not(.tool-picker-visible) #app {
    filter: blur(9px) saturate(0.94);
}

.dashboard-body.modal-overlay-open .lightbox,
.dashboard-body.modal-overlay-open .app-modal,
.dashboard-body.modal-overlay-open .checkout-modal,
.dashboard-body.modal-overlay-open .bulk-interactive-workspace,
.dashboard-body.modal-overlay-open .tool-picker-overlay {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Safari/WebKit: avoid stacking app-level blur with modal backdrops during transitions. */
.dashboard-body.browser-safari.modal-overlay-open #app,
.dashboard-body.browser-safari.settings-overlay-open #app,
.dashboard-body.browser-safari.sidebar-overlay-open .app-container.sidebar-mobile-enabled .main-content,
.dashboard-body.browser-webkit.modal-overlay-open #app,
.dashboard-body.browser-webkit.settings-overlay-open #app,
.dashboard-body.browser-webkit.sidebar-overlay-open .app-container.sidebar-mobile-enabled .main-content {
    filter: none !important;
    transform: none !important;
    will-change: auto !important;
}

.dashboard-body.browser-safari .app-modal,
.dashboard-body.browser-safari .checkout-modal,
.dashboard-body.browser-webkit .app-modal,
.dashboard-body.browser-webkit .checkout-modal {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    contain: paint;
}

.dashboard-body.browser-safari .app-modal,
.dashboard-body.browser-safari .checkout-modal,
.dashboard-body.browser-webkit .app-modal,
.dashboard-body.browser-webkit .checkout-modal {
    background: rgba(8, 8, 12, 0.64) !important;
    -webkit-backdrop-filter: blur(14px) saturate(118%) !important;
    backdrop-filter: blur(14px) saturate(118%) !important;
}

[data-theme="light"] .dashboard-body.browser-safari .app-modal,
[data-theme="light"] .dashboard-body.browser-safari .checkout-modal,
[data-theme="light"] .dashboard-body.browser-webkit .app-modal,
[data-theme="light"] .dashboard-body.browser-webkit .checkout-modal {
    background: rgba(245, 245, 245, 0.72) !important;
    -webkit-backdrop-filter: blur(14px) saturate(108%) !important;
    backdrop-filter: blur(14px) saturate(108%) !important;
}

[data-theme="light"] .dashboard-body .lightbox {
    background: rgba(225, 234, 248, 0.56);
}

.dashboard-body .lightbox-image-stage,
.dashboard-body .lightbox-sidebar {
    border-color: var(--border-color);
    background: rgba(16, 22, 34, 0.66);
}

[data-theme="light"] .dashboard-body .lightbox-image-stage,
[data-theme="light"] .dashboard-body .lightbox-sidebar {
    background: rgba(255, 255, 255, 0.8);
}

.dashboard-body .lightbox-config-item,
.dashboard-body .lightbox-config-toggle-item {
    border-color: var(--border-color);
    background: rgba(255, 255, 255, 0.05);
}

[data-theme="light"] .dashboard-body .lightbox-config-item,
[data-theme="light"] .dashboard-body .lightbox-config-toggle-item {
    background: rgba(255, 255, 255, 0.86);
}

.dashboard-body .lightbox-sidebar-title,
.dashboard-body .lightbox-config-value,
.dashboard-body .lightbox-config-toggle-label {
    color: var(--text-primary);
}

.dashboard-body .lightbox-sidebar-subtitle,
.dashboard-body .lightbox-config-key,
.dashboard-body .lightbox-config-status {
    color: var(--text-secondary);
}

.dashboard-body .lightbox-close {
    border-color: var(--border-color);
    background: rgba(12, 17, 27, 0.68);
}

[data-theme="light"] .dashboard-body .lightbox-close {
    background: rgba(255, 255, 255, 0.9);
}

.dashboard-body .toast-container {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 3000;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dashboard-body .toast {
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    border-radius: 12px;
    box-shadow: var(--card-shadow);
    color: var(--text-primary);
}

.dashboard-body .toast.toast-success {
    border-left: 4px solid var(--success-color);
}

.dashboard-body .toast.toast-error {
    border-left: 4px solid var(--danger-color);
}

@media (max-width: 1400px) {
    .dashboard-body .studio-config-wrapper {
        width: 422px;
    }
}

@media (min-width: 765px) and (max-width: 1072px) {
    .dashboard-body .app-container.sidebar-mobile-enabled.sidebar-compact-enabled .sidebar-surface,
    [data-theme="light"] .dashboard-body .app-container.sidebar-mobile-enabled.sidebar-compact-enabled .sidebar-surface {
        background: var(--sidebar-bg);
        border-color: var(--border-color);
    }

    .dashboard-body .app-container.sidebar-mobile-enabled.sidebar-compact-expanded .sidebar-surface {
        box-shadow: var(--card-shadow);
    }
}

@media (max-width: 1072px) {
    .dashboard-body .app-container {
        gap: 12px;
        padding: 12px;
    }

    .dashboard-body .main-content {
        border-radius: 22px;
    }

    .dashboard-body .studio-layout {
        padding: 12px;
        gap: 12px;
    }

    .dashboard-body .studio-config-sticky-footer {
        border-radius: 0 0 14px 14px;
    }
}

@media (max-width: 764px) {
    .dashboard-body::before,
    .dashboard-body::after {
        opacity: 0.75;
    }

    .dashboard-body .app-container {
        padding: 0;
        gap: 0;
        height: 100dvh;
    }

    .dashboard-body .main-content {
        border: none;
        border-radius: 0;
        box-shadow: none;
    }

    .dashboard-body .mobile-top-bar,
    .dashboard-body .mobile-view-switcher {
        background: var(--panel-bg);
        border-color: var(--border-color);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .dashboard-body .studio-layout {
        padding: 10px;
        gap: 10px;
    }

    .dashboard-body .studio-config-wrapper {
        width: auto;
        max-width: none;
        min-width: 0;
        position: absolute;
        inset: 0;
    }

    .dashboard-body .studio-config,
    .dashboard-body .studio-results {
        border-radius: 0;
        padding: 14px;
    }

    .dashboard-body .studio-config-sticky-footer {
        border-radius: 0;
        padding: 10px 14px max(10px, env(safe-area-inset-bottom));
    }

    .dashboard-body .app-container.sidebar-mobile-enabled .sidebar {
        width: min(86vw, 330px);
    }

    .dashboard-body .app-container.sidebar-mobile-enabled .sidebar-surface {
        border-radius: 0 22px 22px 0;
        border-left: none;
        border-top: none;
        border-bottom: none;
    }

    .dashboard-body .history-collection-loader {
        inset: 14px;
    }

    .dashboard-body .toast-container {
        right: 14px;
        bottom: calc(78px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 448px) {
    .dashboard-body .control-group {
        padding: 14px;
    }

    .dashboard-body .panel-header {
        margin-bottom: 14px;
    }
}
