/* === Ürünü Koru (Strict-BG) Button Active State === */
#strictBgBtn {
    position: relative;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, transform 0.1s ease;
}

/* Default/inactive subtle state to differentiate from active */
#strictBgBtn:not(.active) {
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

/* Active: clear visual emphasis */
#strictBgBtn.active {
    border: 2px solid var(--primary-color, #6c5ce7);
}



/* Keyboard focus ring synergy */
#strictBgBtn:focus-visible {
    outline: 2px solid var(--primary-color, #6c5ce7);
    outline-offset: 2px;
}

/* Compact state on press */
#strictBgBtn:active {
    transform: translateY(1px);
}


/* Digital Studio - Modern Professional Interface */

/* CSS Variables for Theme System */
:root {
    /* Light Theme Colors */
    --primary-color: #007AFF;
    --primary-color-rgb: 0, 122, 255;
    --primary-rgb: var(--primary-color-rgb);
    --primary: var(--primary-color);
    --primary-dark: #0051D5;
    --primary-hover: var(--primary-dark);
    --primary-color-dark: #0051D5;
    --primary-light: #268FFF;
    --secondary-color: #5856D6;
    --secondary-color-rgb: 88, 86, 214;
    --accent-color: #FF9500;
    --accent-color-rgb: 255, 149, 0;
    --accent-contrast: #111318;

    /* Background Colors */
    --bg-primary: #FAFAFA;
    --bg-secondary: #F5F5F7;
    --bg-tertiary: #EFEFF4;
    --bg-elevated: #FFFFFF;
    --card-background: #FFFFFF;
    --card-bg: #FFFFFF;
    --input-background: #FFFFFF;

    /* Text Colors */
    --text-primary: #1C1C1E;
    --text-secondary: #48484A;
    --text-muted: #8E8E93;
    --text-inverse: #FFFFFF;

    /* Border Colors */
    --border-light: #E5E5EA;
    --border-color: var(--border-light); /* used by settings, menus and tags; was never defined (10 Oct) */
    --border-medium: #D1D1D6;
    --border-dark: #C7C7CC;

    /* Status Colors */
    --success-color: #34C759;
    --warning-color: #FF9500;
    --error-color: #FF3B30;
    --error: #FF3B30;
    --info-color: var(--primary-color);

    /* Shadow Variables */
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.08);
    --shadow-md: 0 4px 8px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.04);
    --shadow-lg: 0 10px 25px -3px rgb(0 0 0 / 0.1), 0 4px 10px -4px rgb(0 0 0 / 0.04);
    --shadow-xl: 0 25px 50px -12px rgb(0 0 0 / 0.15);

    /* Layout Variables */
    --header-height: 56px;
    --sidebar-width: 260px;
    --border-radius: 12px;
    --border-radius-sm: 8px;
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 24px;

    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.25s ease;
    --transition-slow: 0.35s ease;

    /* Download button colors */
    --download-btn-bg: var(--primary-color);
    --download-btn-color: white;
    --download-btn-hover-bg: var(--primary-dark);
    --download-overlay-bg: rgba(0, 0, 0, 0.6);

    /* Upscale button colors */
    --sharp-upscale-color: #FF6B35;
    --sharp-upscale-hover: #E55722;
    --soft-upscale-color: #4ECDC4;
    --soft-upscale-hover: #45B7B8;
    /* Action area sizing for alignment computations */
    --action-button-height: 38px;
    /* matches .btn-large */
    --action-buttons-vertical-gap: 8px;
    /* gap above container */
    --left-panel-bottom-padding: 16px;
    /* assumed padding at bottom of left column */
    /* Computed offset so right modal bottom visually aligns with İşleme Başla button */
    --modal-bottom-offset: calc(var(--action-button-height) + var(--action-buttons-vertical-gap) + var(--left-panel-bottom-padding));
}

/* Dark Theme Colors */
.dark-mode {
    --primary-color: #0A84FF;
    --primary-color-rgb: 10, 132, 255;
    --primary-rgb: var(--primary-color-rgb);
    --primary: var(--primary-color);
    --primary-dark: #0051D5;
    --primary-hover: var(--primary-dark);
    --primary-color-dark: #0051D5;
    --primary-light: #409CFF;
    --secondary-color: #5E5CE6;
    --secondary-color-rgb: 94, 92, 230;
    --accent-color: #FF9F0A;
    --accent-color-rgb: 255, 159, 10;
    --accent-contrast: #111318;

    --bg-primary: #0A0A0A;
    --bg-secondary: #1C1C1E;
    --bg-tertiary: #2C2C2E;
    --bg-elevated: #1C1C1E;
    --card-bg: #1A1A1E;

    --text-primary: #FFFFFF;
    --text-secondary: #E5E5E7;
    --text-muted: #8E8E93;
    --text-inverse: #000000;

    --border-light: #38383A;
    --border-color: var(--border-light); /* used by settings, menus and tags; was never defined (10 Oct) */
    --border-medium: #48484A;
    --border-dark: #636366;

    /* Download button colors - dark mode */
    --download-overlay-bg: rgba(0, 0, 0, 0.8);
}

/* Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    line-height: 1.5;
    overflow-x: hidden;
    height: 100%;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: background-color var(--transition-normal), color var(--transition-normal);
    overflow-x: hidden;
    overflow-y: hidden;
    height: 100%;
    min-width: 320px;
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: var(--spacing-md);
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.5rem;
}

h3 {
    font-size: 1.25rem;
}

h4 {
    font-size: 1.125rem;
}

p {
    color: var(--text-secondary);
    line-height: 1.6;
}

/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    background: var(--bg-primary);
    border-bottom: none;
    z-index: 1000;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 var(--spacing-md);
    max-width: 100%;
    gap: var(--spacing-md);
}

.header-left {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.logo {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--text-primary);
    margin-left: var(--spacing-xs);
}

.logo i {
    color: var(--primary-color);
    font-size: 1.25rem;
}

.version-badge {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: var(--ds-accent-ink);
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: var(--spacing-xs);
}

.badge {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 500;
    margin-left: 8px;
    display: inline-block;
}

.header-controls {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.processing-indicator {
    display: none;
    align-items: center;
    gap: var(--spacing-sm);
    color: var(--primary-color);
    font-weight: 500;
}

.processing-indicator.active {
    display: flex;
}

.processing-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid var(--border-light);
    border-top: 2px solid var(--primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.processing-modal-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    position: relative;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.8);
    font-size: 0.95rem;
}

.processing-modal-toggle:hover {
    background: var(--bg-secondary);
    color: var(--primary-color);
}

.processing-modal-toggle.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light));
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.2);
}

.processing-modal-toggle.active::after {
    content: '';
    position: absolute;
    top: 4px;
    right: 4px;
    width: 6px;
    height: 6px;
    background: var(--accent-color);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

/* Processing Modal Enhancements */
.processing-modal {
    transition: all 0.3s ease;
}

.processing-modal.minimized {
    transform: translateY(100vh);
    visibility: hidden;
    opacity: 0;
}

.processing-modal-controls {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.modal-control-btn {
    width: 28px;
    height: 28px;
    background: rgba(var(--ds-media-glass-rgb), 0.9);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    backdrop-filter: blur(10px);
}

.modal-control-btn:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: scale(1.1);
}

.modal-control-btn.minimize-btn {
    background: rgba(var(--ds-warn-rgb), 0.1);
    border-color: var(--warning-color);
    color: var(--warning-color);
}

.modal-control-btn.minimize-btn:hover {
    background: var(--warning-color);
    color: var(--ds-on-media);
}

.modal-control-btn.cancel-btn {
    background: rgba(var(--ds-danger-rgb), 0.1);
    border-color: var(--error-color);
    color: var(--error-color);
}

.modal-control-btn.cancel-btn:hover {
    background: var(--error-color);
    color: var(--ds-on-media);
}

@keyframes pulse {

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

    50% {
        opacity: 0.7;
        transform: scale(1.1);
    }
}

.theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: 0.95rem;
}

.theme-toggle:hover {
    background: var(--bg-secondary);
    color: var(--primary-color);
}

.dark-mode .theme-toggle {
    color: var(--text-secondary);
}

.dark-mode .theme-toggle:hover {
    color: var(--primary-color);
}

/* Main Layout */
.main-layout {
    display: flex;
    margin-top: var(--header-height);
    min-height: calc(100vh - var(--header-height));
    min-height: calc(100dvh - var(--header-height)); /* the visible height on a phone (25 Oct) */
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height)); /* the visible height on a phone (25 Oct) */
    background: var(--bg-primary);
    overflow: visible;
}

/* Sidebar */
.sidebar {
    width: var(--sidebar-width);
    background: var(--bg-primary);
    border-right: none;
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    position: fixed;
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height)); /* the visible height on a phone (25 Oct) */
    overflow-y: auto;
    transition: width 0.3s ease;
    box-shadow: none;
}

.sidebar.collapsed {
    width: 60px;
    padding: var(--spacing-sm);
}

.sidebar.collapsed .nav-item span,
.sidebar.collapsed .nav-section h3,
.sidebar.collapsed .sidebar-footer,
.sidebar.collapsed .version-badge {
    display: none;
}

.sidebar.collapsed .nav-item {
    justify-content: center;
    padding: var(--spacing-md);
}

.sidebar.collapsed .nav-item i {
    margin: 0;
    font-size: 1.25rem;
}

/* Sidebar Toggle Button in Header */
.sidebar-toggle-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    position: relative;
    z-index: 1002;
    flex-shrink: 0;
    font-size: 1.1rem;
}

.sidebar-toggle-header:hover {
    background: var(--bg-secondary);
    color: var(--primary-color);
}

.sidebar-toggle-header:active {
    transform: scale(0.95);
}

/* Mobile menu toggle - keep it hidden on desktop */
.mobile-menu-toggle {
    display: none;
}

.sidebar-nav {
    flex: 1;
}

.nav-section {
    margin-bottom: var(--spacing-xl);
}

.nav-section h3 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--spacing-md);
}

.nav-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: 18px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: all var(--transition-fast);
    margin-bottom: var(--spacing-xs);
}

.nav-item:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.nav-item:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.nav-item.active {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
    border-radius: 18px;
}

.nav-item i {
    width: 20px;
    text-align: center;
}

.sidebar-footer {
    border-top: 1px solid var(--border-light);
    padding-top: var(--spacing-lg);
    margin-top: var(--spacing-lg);
}

.stats {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--spacing-sm);
}

.stat-item {
    text-align: center;
}

.stat-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-xs);
}

.stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
}

/* Main Content */
.main-content {
    flex: 1;
    margin-left: var(--sidebar-width);
    padding: var(--spacing-lg);
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height)); /* the visible height on a phone (25 Oct) */
    min-height: 0;
    width: calc(100vw - var(--sidebar-width));
    max-width: calc(100vw - var(--sidebar-width));
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    scrollbar-gutter: stable;
    position: relative;
    box-sizing: border-box;
    transition: margin-left 0.3s ease, width 0.3s ease;
    background: var(--bg-primary);
}

/* Generation tab gets minimal horizontal padding */
.main-content:has(#generation-tab.active) {
    padding-left: 12px;
    padding-right: 12px;
    overflow: hidden;
    /* Generation tab kendi scroll mekanizmasını kullanır */
}

.main-content.expanded {
    margin-left: 60px;
    width: calc(100vw - 60px);
    max-width: calc(100vw - 60px);
}

.content-header {
    margin-bottom: var(--spacing-lg);
    padding-bottom: var(--spacing-xs);
    margin-top: 8px;
    padding-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    position: relative;
}

.content-header .header-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-left: auto;
    flex-shrink: 0;
}

.content-header .btn-icon {
    width: 40px;
    height: 40px;
    font-size: 0.9rem;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(128, 128, 128, 0.15);
    border: none;
    border-radius: 50%;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.content-header .btn-icon:hover {
    background: rgba(128, 128, 128, 0.25);
    color: var(--primary-color);
    transform: translateY(-1px);
}

.content-header .btn-icon span {
    font-size: 0.8rem;
    font-weight: 700;
}

.content-header .btn-icon i {
    font-size: 0.85rem;
}

.content-header .btn-icon.upscale-btn {
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(128, 128, 128, 0.15);
    color: var(--text-secondary);
    border: none;
    border-radius: 50%;
    box-shadow: none;
}

.content-header .btn-icon.upscale-btn .badge-scale {
    color: inherit;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.content-header .btn-icon.upscale-btn:hover {
    background: rgba(128, 128, 128, 0.25);
    color: var(--primary-color);
}

.content-header .divider-vertical {
    width: 1px;
    height: 18px;
    background-color: var(--border-light);
    margin: 0 4px;
}

/* ===== Grid Selector - Oval Pill with Circular Buttons ===== */
.grid-selector {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(128, 128, 128, 0.12);
    border-radius: 20px;
    padding: 4px;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.grid-selector.hidden {
    display: none;
}

.grid-option {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s ease;
    position: relative;
}

.grid-option::before {
    content: attr(data-grid);
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-secondary);
    transition: color 0.15s ease;
}

.grid-option:hover {
    background: rgba(128, 128, 128, 0.2);
}

.grid-option:hover::before {
    color: var(--text-primary);
}

.grid-option.active {
    background: var(--primary-color);
}

.grid-option.active::before {
    color: var(--ds-accent-ink);
}

/* Dark mode grid selector */
.dark-mode .grid-selector {
    background: rgba(255, 255, 255, 0.08);
}

/* ===== Mode Selector - Pill Tab Style ===== */
.mode-selector {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(128, 128, 128, 0.1);
    border-radius: 24px;
    padding: 4px;
    /* Absolute centering - independent of other header elements */
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

/* The gallery gives its tab menu a row of its own (.gallery-mode-row). Centred
   absolutely it floated over the title and the tools under it and, with the
   Agent tab added, covered them at common widths (owner, 27 Sep). */
#gallery-tab .gallery-mode-row .mode-selector {
    position: static;
    transform: none;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
}

.mode-option {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.mode-option i {
    font-size: 0.8rem;
    opacity: 0.8;
}

.mode-option span {
    font-weight: 500;
}

.mode-option:hover {
    background: rgba(128, 128, 128, 0.15);
    color: var(--text-primary);
}

.mode-option.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.25);
}

.mode-option.active i {
    opacity: 1;
}

/* Dark mode */
.dark-mode .mode-selector {
    background: rgba(255, 255, 255, 0.06);
}

.dark-mode .mode-option:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Mode-specific visibility */
.mode-hidden {
    display: none !important;
}

/* ==========================================
   Edit Mode Mini Input Styles
   ========================================== */
.edit-mode-input {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    max-width: 600px;
    min-width: 400px;
    padding: 8px 12px;
    background: var(--card-bg);
    border: 1px solid rgba(128, 128, 128, 0.15);
    border-radius: 28px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 100;
    backdrop-filter: blur(10px);
}

.edit-input-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.edit-selected-indicator {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.edit-selected-thumb {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(128, 128, 128, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

.edit-selected-thumb.has-image {
    border-color: var(--primary-color);
}

.edit-selected-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.edit-selected-thumb i {
    color: rgba(128, 128, 128, 0.4);
    font-size: 14px;
}

.edit-selected-label {
    display: none;
}

.edit-input-container {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(128, 128, 128, 0.05);
    border: 1px solid rgba(128, 128, 128, 0.1);
    border-radius: 20px;
    padding: 3px 3px 3px 12px;
    transition: all 0.2s ease;
}

.edit-input-container:focus-within {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.03);
}

.edit-prompt-input {
    flex: 1;
    min-width: 180px;
    border: none;
    background: transparent;
    font-size: 13px;
    color: var(--text-primary);
    outline: none;
    padding: 6px 0;
}

.edit-prompt-input:focus {
    outline: none;
    box-shadow: none;
}

.edit-prompt-input::placeholder {
    color: rgba(128, 128, 128, 0.5);
    font-size: 12px;
}

.edit-send-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.edit-send-btn i {
    font-size: 14px;
}

.edit-send-btn:hover {
    background: var(--primary-hover);
    transform: scale(1.08);
}

.edit-send-btn:disabled {
    background: rgba(128, 128, 128, 0.3);
    cursor: not-allowed;
    transform: none;
}

/* Smart Edit Toggle Button */
.smart-edit-toggle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: transparent;
    color: rgba(128, 128, 128, 0.5);
    border: 2px solid rgba(128, 128, 128, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.smart-edit-toggle i {
    font-size: 14px;
    transition: all 0.3s ease;
}

.smart-edit-toggle:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
    opacity: 0.7;
}

.smart-edit-toggle.active {
    background: var(--primary-color);
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light, var(--primary-color)));
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    box-shadow: 0 0 12px color-mix(in srgb, var(--primary-color) 40%, transparent);
}

.smart-edit-toggle.active:hover {
    opacity: 0.9;
    box-shadow: 0 0 18px color-mix(in srgb, var(--primary-color) 60%, transparent);
}

.smart-edit-toggle.active i {
    animation: brain-pulse 2s ease-in-out infinite;
}

@keyframes brain-pulse {

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

    50% {
        transform: scale(1.1);
    }
}

/* Edit Mode Model Selector */
.edit-model-selector {
    position: relative;
    flex-shrink: 0;
}

.edit-model-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: rgba(128, 128, 128, 0.1);
    border: 1px solid rgba(128, 128, 128, 0.2);
    border-radius: 16px;
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.edit-model-btn:hover {
    background: rgba(var(--primary-color-rgb), 0.1);
    border-color: var(--primary-color);
}

.edit-model-btn i:first-child {
    font-size: 14px;
    color: var(--primary-color);
}

.edit-model-btn i:last-child {
    font-size: 10px;
    opacity: 0.6;
    transition: transform 0.2s ease;
}

.edit-model-selector.open .edit-model-btn i:last-child {
    transform: rotate(180deg);
}

.edit-model-name {
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
}

#creativeRatioSelector.pixel-size-active .edit-model-name {
    max-width: 96px;
}

#creativeRatioSelector.pixel-size-active .edit-model-btn {
    min-width: 124px;
}

.edit-model-dropdown {
    position: absolute;
    bottom: calc(100% + 4px);
    left: 0;
    background: var(--card-bg);
    border: 1px solid rgba(128, 128, 128, 0.2);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    padding: 4px;
    min-width: 130px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 200;
}

.edit-model-selector.open .edit-model-dropdown {
    opacity: 1;
    visibility: visible;
}

.edit-model-option {
    display: flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 12px;
    color: var(--text-primary);
}

.edit-model-option:hover {
    background: rgba(var(--primary-color-rgb), 0.1);
}

.edit-model-option.active {
    background: rgba(var(--primary-color-rgb), 0.15);
    color: var(--primary-color);
    font-weight: 500;
}

.edit-model-option.ratio-with-preview {
    gap: 6px;
    min-width: 124px;
}

/* Model Capability Icons */
.model-capability-icons {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    padding-left: 8px;
}

.model-capability-icons i {
    font-size: 10px;
    opacity: 0.7;
    transition: all 0.15s ease;
}

.model-capability-icons i.fa-draw-polygon {
    color: var(--ds-secondary);
    /* Pink for mask */
}

.model-capability-icons i.fa-expand-arrows-alt {
    color: var(--ds-ok);
    /* Green for outpaint */
}

.model-capability-icons i.fa-layer-group {
    color: var(--primary-color);
    /* Purple for LoRA */
}

.edit-model-option:hover .model-capability-icons i {
    opacity: 1;
}

/* Dark mode */
.dark-mode .edit-model-dropdown {
    background: rgba(var(--ds-surface-rgb), 0.98);
    border-color: rgba(255, 255, 255, 0.1);
}

/* Edit History Stack on Image Thumbnails */
.edit-history-stack {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 20;
    padding: 6px 10px;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.55));
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    backdrop-filter: blur(10px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

.edit-history-thumb {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    /* overflow visible for badge to show outside */
    overflow: visible;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    flex-shrink: 0;
}

.edit-history-thumb:hover {
    transform: scale(1.1);
    z-index: 10;
    border-color: rgba(255, 255, 255, 0.8);
}

.edit-history-thumb.active {
    border-color: var(--ds-accent);
    box-shadow: 0 0 0 2px rgba(var(--ds-accent-rgb), 0.4);
}

.edit-history-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

/* Minimal number badge - top right corner */
.edit-history-thumb::after {
    content: attr(data-index);
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--ds-accent);
    color: var(--ds-accent-ink);
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    z-index: 5;
}

.edit-history-thumb.original {
    border-style: dashed;
    border-color: rgba(255, 255, 255, 0.7);
}

/* Original thumbnail shows green dot instead of number */
.edit-history-thumb.original::after {
    content: "●";
    background: var(--ds-ok);
    font-size: 8px;
    min-width: 18px;
    height: 18px;
}

.edit-history-more {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.8);
    color: var(--ds-on-media);
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s ease;
}

.edit-history-more:hover {
    background: rgba(var(--primary-color-rgb), 0.8);
    border-color: var(--primary-color);
}

/* Edit history navigation arrows */
.edit-history-nav {
    width: 24px;
    height: 40px;
    background: rgba(255, 255, 255, 0.08);
    border: none;
    color: var(--text-inverse, #fff);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.edit-history-nav:hover {
    background: var(--primary-color, #6366f1);
    color: var(--ds-accent-ink);
}

.edit-history-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* FAZ 3.1: Edit history undo button */
.edit-history-undo {
    width: 28px;
    height: 28px;
    background: rgba(var(--ds-danger-rgb), 0.2);
    border: 1px solid rgba(var(--ds-danger-rgb), 0.4);
    color: var(--ds-danger);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    margin-left: 4px;
    font-size: 11px;
}

.edit-history-undo:hover {
    background: rgba(var(--ds-danger-rgb), 0.5);
    color: var(--ds-on-media);
    transform: scale(1.1);
}

/* FAZ 3.2: Side-by-side comparison overlay */
.compare-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(20px);
    z-index: 10001;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.compare-overlay.active {
    opacity: 1;
}

.compare-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
}

.compare-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ds-on-media);
    font-size: 16px;
    font-weight: 600;
}

.compare-title i {
    color: var(--primary-color);
}

.compare-close {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: var(--ds-on-media);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.compare-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

.compare-container {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: ew-resize;
}

.compare-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.compare-image img {
    max-width: 90%;
    max-height: 85vh;
    object-fit: contain;
    user-select: none;
    pointer-events: none;
}

.compare-edited {
    clip-path: inset(0 0 0 50%);
}

.compare-label {
    position: absolute;
    bottom: 24px;
    padding: 6px 16px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    color: var(--ds-on-media);
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    user-select: none;
}

.compare-label-left {
    left: 24px;
}

.compare-label-right {
    right: 24px;
}

.compare-slider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 4px;
    transform: translateX(-50%);
    z-index: 10;
    cursor: ew-resize;
}

.compare-slider-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    background: var(--ds-surface);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.compare-slider-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ds-surface);
    color: var(--ds-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
    font-size: 14px;
    transition: transform 0.15s ease;
}

.compare-slider-handle:hover {
    transform: translate(-50%, -50%) scale(1.15);
}

/* Compare button in edit history */
.edit-history-compare {
    width: 28px;
    height: 28px;
    background: rgba(var(--ds-accent-rgb), 0.2);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.4);
    color: var(--ds-accent);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    font-size: 10px;
}

.edit-history-compare:hover {
    background: rgba(var(--ds-accent-rgb), 0.5);
    color: var(--ds-on-media);
    transform: scale(1.1);
}

.dark-mode .edit-history-stack {
    background: linear-gradient(135deg, rgba(12, 12, 12, 0.9), rgba(28, 28, 28, 0.8));
    border-color: rgba(255, 255, 255, 0.08);
}

.dark-mode .edit-history-thumb.original::before {
    background: rgba(255, 255, 255, 0.12);
}

.light-mode .edit-history-stack {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(245, 245, 247, 0.9));
    border-color: rgba(0, 0, 0, 0.06);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
}

.light-mode .edit-history-thumb {
    border-color: rgba(0, 0, 0, 0.08);
}

.light-mode .edit-history-thumb.original::before {
    background: rgba(0, 0, 0, 0.08);
    color: var(--text-primary, #1c1c1e);
}

/* Gallery Edit History Stack (smaller version for gallery items) */
.gallery-edit-stack {
    padding: 4px 6px;
    gap: 4px;
    border-radius: 10px;
}

.gallery-edit-stack .edit-history-thumb {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border-width: 2px;
}

.gallery-edit-stack .edit-history-label {
    position: absolute;
    bottom: 2px;
    right: 2px;
    min-width: 14px;
    height: 14px;
    padding: 0 3px;
    background: var(--primary-color, #6366f1);
    color: var(--ds-accent-ink);
    font-size: 8px;
    font-weight: 700;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-edit-stack .edit-history-label i {
    font-size: 7px;
}

/* Edit Session Badge for Gallery Items */
.edit-session-badge {
    position: absolute;
    bottom: 8px;
    left: 8px;
    padding: 4px 8px;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light, var(--primary-color)));
    color: var(--ds-accent-ink);
    font-size: 10px;
    font-weight: 600;
    border-radius: 6px;
    z-index: 15;
    display: flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: opacity 0.2s ease;
}

/* Hide edit badge when prompt overlay is visible (on hover) */
.gallery-item:hover .edit-session-badge,
.result-image:hover .edit-session-badge {
    opacity: 0;
    pointer-events: none;
}

.edit-session-badge i {
    font-size: 10px;
}

/* Edit Mode Full Page Drag & Drop */
.edit-drop-zone {
    position: relative;
}

.edit-drop-zone.drag-active::before {
    content: '';
    position: fixed;
    top: 16px;
    left: 16px;
    right: 16px;
    bottom: 16px;
    background: rgba(var(--primary-color-rgb), 0.05);
    border: 2px dashed rgba(var(--primary-color-rgb), 0.4);
    border-radius: 24px;
    z-index: 9999;
    pointer-events: none;
    animation: dropPulse 2s ease-in-out infinite;
}

.edit-drop-zone.drag-active::after {
    content: 'Görselleri bırakın';
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    padding: 16px 32px;
    border-radius: 9999px;
    font-size: 15px;
    font-weight: 500;
    z-index: 10000;
    pointer-events: none;
    box-shadow: 0 4px 20px rgba(var(--primary-color-rgb), 0.3);
}

@keyframes dropPulse {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

/* Edit Mode Input Responsive */
@media (max-width: 768px) {
    .edit-mode-input {
        min-width: 300px;
        max-width: calc(100vw - 40px);
        bottom: 30px;
    }

    .edit-selected-label {
        display: none;
    }

    .edit-prompt-input {
        min-width: 120px;
    }
}

/* Dark mode adjustments for edit input */
.dark-mode .edit-mode-input {
    background: transparent;
    border-color: transparent;
}

.dark-mode .edit-input-container {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

/* ==========================================
   Mask Editor UI Styles
   ========================================== */

/* Mask Editor Container - Fullscreen Overlay */
.mask-editor-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.mask-editor-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Mask Editor Header */
.mask-editor-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
    z-index: 10;
}

.mask-editor-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ds-on-media);
    font-size: 16px;
    font-weight: 600;
}

.mask-editor-title i {
    font-size: 18px;
    color: var(--ds-on-media);
}

.mask-editor-close {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: var(--ds-on-media);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.mask-editor-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

/* Mask Canvas Container */
.mask-canvas-container {
    position: relative;
    max-width: 80vw;
    max-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.mask-canvas-container img {
    max-width: 100%;
    max-height: 70vh;
    display: block;
    user-select: none;
    pointer-events: none;
}

.mask-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: crosshair;
    touch-action: none;
}

/* Mask Toolbar */
.mask-toolbar {
    position: absolute;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: rgba(var(--ds-media-glass-rgb), 0.95);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.mask-tool-btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: all 0.2s ease;
}

.mask-tool-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--ds-on-media);
}

.mask-tool-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.4);
}

.mask-tool-divider {
    width: 1px;
    height: 28px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 4px;
}

/* Brush Size Slider */
.mask-brush-size {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 8px;
}

.mask-brush-size-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
}

.mask-brush-slider {
    width: 80px;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    outline: none;
}

.mask-brush-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--primary-color);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    transition: transform 0.15s ease;
}

.mask-brush-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

.mask-brush-preview {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mask-brush-preview-circle {
    border-radius: 50%;
    background: var(--primary-color);
    transition: all 0.15s ease;
}

/* Mask Actions Footer */
.mask-actions-footer {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
}

.mask-action-btn {
    padding: 12px 32px;
    border-radius: 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mask-action-btn.secondary {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
}

.mask-action-btn.secondary:hover {
    background: rgba(255, 255, 255, 0.15);
}

.mask-action-btn.primary {
    background: var(--primary-color);
    border: none;
    color: var(--ds-accent-ink);
    box-shadow: 0 4px 16px rgba(var(--primary-color-rgb), 0.4);
}

.mask-action-btn.primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(var(--primary-color-rgb), 0.5);
}

.mask-action-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

/* ==========================================
   Outpaint UI Styles
   ========================================== */

/* Outpaint Panel - Integrated with Edit Mode Input */
.outpaint-panel {
    position: fixed;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    max-width: 480px;
    padding: 16px 20px;
    background: var(--card-bg);
    border: 1px solid rgba(128, 128, 128, 0.15);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 101;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(20px);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.outpaint-panel.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.outpaint-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.outpaint-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

.outpaint-title i {
    font-size: 16px;
    color: var(--primary-color);
}

.outpaint-close {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: rgba(128, 128, 128, 0.1);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: all 0.2s ease;
}

.outpaint-close:hover {
    background: rgba(128, 128, 128, 0.2);
    color: var(--text-primary);
}

/* Aspect Ratio Selector */
.outpaint-aspect-section {
    margin-bottom: 16px;
}

.outpaint-section-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    margin-bottom: 8px;
    display: block;
}

.outpaint-aspect-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.outpaint-aspect-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 8px;
    border-radius: 12px;
    border: 1px solid rgba(128, 128, 128, 0.15);
    background: rgba(128, 128, 128, 0.05);
    cursor: pointer;
    transition: all 0.2s ease;
}

.outpaint-aspect-btn:hover {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.05);
}

.outpaint-aspect-btn.active {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.1);
    box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.2);
}

.outpaint-aspect-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}

.outpaint-aspect-icon .aspect-box {
    border: 2px solid var(--text-secondary);
    border-radius: 3px;
    transition: border-color 0.2s ease;
}

.outpaint-aspect-btn:hover .aspect-box,
.outpaint-aspect-btn.active .aspect-box {
    border-color: var(--primary-color);
}

/* Aspect ratio box sizes */
.aspect-box.ar-1-1 {
    width: 20px;
    height: 20px;
}

.aspect-box.ar-16-9 {
    width: 26px;
    height: 15px;
}

.aspect-box.ar-9-16 {
    width: 15px;
    height: 26px;
}

.aspect-box.ar-4-3 {
    width: 24px;
    height: 18px;
}

.aspect-box.ar-3-4 {
    width: 18px;
    height: 24px;
}

.aspect-box.ar-21-9 {
    width: 28px;
    height: 12px;
}

.aspect-box.ar-3-2 {
    width: 24px;
    height: 16px;
}

.aspect-box.ar-2-3 {
    width: 16px;
    height: 24px;
}

.outpaint-aspect-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--text-secondary);
    transition: color 0.2s ease;
}

.outpaint-aspect-btn:hover .outpaint-aspect-label,
.outpaint-aspect-btn.active .outpaint-aspect-label {
    color: var(--primary-color);
}

/* Direction Selector */
.outpaint-direction-section {
    margin-bottom: 16px;
}

.outpaint-direction-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 4px;
    width: 120px;
    height: 120px;
    margin: 0 auto;
}

.outpaint-direction-btn {
    border-radius: 8px;
    border: 1px solid rgba(128, 128, 128, 0.15);
    background: rgba(128, 128, 128, 0.05);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--text-secondary);
    transition: all 0.2s ease;
}

.outpaint-direction-btn:hover {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.05);
}

.outpaint-direction-btn.active {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.15);
    color: var(--primary-color);
}

.outpaint-direction-btn.center {
    background: rgba(128, 128, 128, 0.1);
    border-style: dashed;
    cursor: default;
}

.outpaint-direction-btn.center i {
    font-size: 16px;
    color: var(--text-muted);
}

/* Outpaint Actions */
.outpaint-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.outpaint-btn {
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.outpaint-btn.secondary {
    background: rgba(128, 128, 128, 0.1);
    border: 1px solid rgba(128, 128, 128, 0.2);
    color: var(--text-primary);
}

.outpaint-btn.secondary:hover {
    background: rgba(128, 128, 128, 0.15);
}

.outpaint-btn.primary {
    background: var(--primary-color);
    border: none;
    color: var(--ds-accent-ink);
}

.outpaint-btn.primary:hover {
    background: var(--primary-dark);
    transform: translateY(-1px);
}

/* Edit Mode Input - Outpaint Toggle */
.edit-outpaint-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 16px;
    border: 1px solid rgba(128, 128, 128, 0.2);
    background: transparent;
    color: var(--text-secondary);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.edit-outpaint-toggle:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.edit-outpaint-toggle.active {
    background: rgba(var(--primary-color-rgb), 0.1);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.edit-outpaint-toggle i {
    font-size: 12px;
}

/* Edit Mode Input - Mask Toggle */
.edit-mask-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 16px;
    border: 1px solid rgba(128, 128, 128, 0.2);
    background: transparent;
    color: var(--text-secondary);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.edit-mask-toggle:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.edit-mask-toggle.active {
    background: rgba(var(--primary-color-rgb), 0.1);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.edit-mask-toggle i {
    font-size: 12px;
}

/* Edit Mode Input Layout */
.edit-mode-input {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Standalone Perspective Button */
.standalone-perspective {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.standalone-perspective:hover {
    background: var(--hover-bg);
    color: var(--primary-color);
    border-color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.standalone-perspective i {
    font-size: 18px;
}

/* Context Tool Buttons (Inside Input Container) */
.context-tool-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.context-tool-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-primary);
}

.context-tool-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.context-tool-btn.hidden {
    display: none;
}

.vertical-divider {
    width: 1px;
    height: 24px;
    background: var(--border-color);
    margin: 0 4px;
}

.vertical-divider.hidden {
    display: none;
}

/* Update Edit Input Container to support new tools */
.edit-input-container {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--input-bg);
    border: 1px solid var(--border-color);
    border-radius: 30px;
    padding: 6px 12px;
    flex: 1;
    min-width: 0;
    transition: all 0.3s ease;
}

/* Multi-Angle Panel - Higher z-index for fullscreen modal */
#multiAnglePanel {
    z-index: 10005;
    max-width: 380px;
}


/* Multi-Angle Panel Controls - Theme Consistent */
#multiAnglePanel .control-group {
    margin-bottom: 16px;
}

#multiAnglePanel .control-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

#multiAnglePanel .control-header label {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-primary);
}

#multiAnglePanel .value-badge {
    font-size: 13px;
    font-weight: 700;
    background-color: var(--ds-accent);
    color: var(--ds-accent-ink);
    /* White text */
    padding: 4px 12px;
    border-radius: 12px;
    min-width: 36px;
    text-align: center;
    display: inline-block;
}

#multiAnglePanel .slider-control-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

#multiAnglePanel .slider-control-header label {
    font-size: 14px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.9);
}

#multiAnglePanel .slider-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

#multiAnglePanel .range-label {
    font-size: 11px;
    color: rgba(var(--ds-ink-rgb), 0.6);
    min-width: 20px;
    text-align: center;
}

#multiAnglePanel .premium-slider {
    flex: 1;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 2px;
    outline: none;
}

#multiAnglePanel .premium-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--ds-accent);
    /* Orange */
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    transition: transform 0.15s ease;
}

#multiAnglePanel .premium-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

#multiAnglePanel .premium-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--ds-accent);
    /* Orange */
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* Wide Angle Checkbox - Fix visibility */
#multiAnglePanel .checkbox-group {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: var(--hover-bg);
    border-radius: 10px;
    margin-bottom: 16px;
}

#multiAnglePanel .premium-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-primary);
    width: 100%;
}

#multiAnglePanel .premium-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--accent-color);
    cursor: pointer;
}

#multiAnglePanel .slider-helper-text {
    font-size: 11px;
    color: var(--text-muted);
    text-align: center;
    margin-top: 6px;
}

/* Reset Button in sliders */
#multiAnglePanel .btn-icon.small {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--hover-bg);
    border: 1px solid var(--border-color);
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

#multiAnglePanel .btn-icon.small:hover {
    background: var(--card-bg);
    color: var(--text-primary);
    border-color: var(--text-muted);
}

/* Multi-Angle Body Padding */
#multiAnglePanel .multi-angle-body {
    padding: 8px 4px 0;
}

/* Wide Angle Checkbox Icon */
#multiAnglePanel .premium-checkbox i {
    font-size: 14px;
    color: var(--accent-color);
}


/* Dark mode adjustments */
.dark-mode .outpaint-panel {
    background: rgba(var(--ds-surface-rgb), 0.95);
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .outpaint-aspect-btn,
.dark-mode .outpaint-direction-btn {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .outpaint-btn.secondary {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.15);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .mask-toolbar {
        padding: 8px 12px;
        gap: 4px;
        bottom: 120px;
    }

    .mask-tool-btn {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }

    .mask-brush-slider {
        width: 60px;
    }

    .outpaint-panel {
        max-width: calc(100vw - 32px);
        padding: 14px 16px;
    }

    .outpaint-aspect-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .outpaint-direction-grid {
        width: 100px;
        height: 100px;
    }
}

/* Responsive - hide text on smaller screens */
@media (max-width: 1200px) {
    .mode-option span {
        display: none;
    }

    .mode-option {
        padding: 8px 12px;
    }
}

.content-header h1 {
    margin-bottom: 0;
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-shrink: 0;
}

.content-header h1 .subtitle {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--text-muted);
    margin-left: var(--spacing-xs);
    opacity: 0.7;
    letter-spacing: 0.3px;
}

@media (max-width: 1200px) {
    .content-header h1 .subtitle {
        display: none;
    }
}

/* Tab System */
.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* Nasıl kullanılır (26 Oct 2026): the guide fills the main area; its own rules (help.css, all under
   .hg-page) arrive with it. This is only the frame while it loads or fails. */
.ds-help { padding: 4px 4px 32px; color: var(--ds-ink); }
.ds-help-loading, .ds-help-error { margin: 48px 0; text-align: center; color: var(--ds-muted); }
.ds-help-error .btn-secondary { display: inline-flex; align-items: center; margin: 6px 4px 0; text-decoration: none; }

/* Generation tab - minimal padding for full width */
#generation-tab {
    padding: 0;
}

#generation-tab .content-header {
    padding: 0 0 var(--spacing-md) 0;
}

/* Generation Layout */
.generation-layout {
    display: grid;
    grid-template-columns: 410px 1fr;
    gap: 24px;
    max-width: 100%;
    width: 100%;
    align-items: start;
    isolation: isolate;
}

/* Uploaded Files Preview - New Layout */
.uploaded-files-preview-row {
    display: none;
    /* Başlangıçta gizli */
    align-items: center;
    padding: 6px 0;
    margin: 4px 0 2px 0;
    border-top: 1px solid var(--border-light);
    min-height: 44px;
    transition: all 0.2s ease;
    overflow: visible;
}

.uploaded-files-container {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 10px;
    overflow: visible;
}

.uploaded-files-scroll-area {
    flex: 1;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 4px 8px;
    min-height: 40px;
    align-items: center;
    scroll-behavior: smooth;
    position: relative;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.uploaded-files-scroll-area::-webkit-scrollbar {
    display: none;
}

/* Scroll fade effects (show only when 7+ files) */
.uploaded-files-scroll-area.has-many-files::before,
.uploaded-files-scroll-area.has-many-files::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px;
    pointer-events: none;
    z-index: 1;
    transition: opacity 0.3s ease;
}

.uploaded-files-scroll-area.has-many-files::before {
    left: 0;
    background: linear-gradient(to right, var(--bg-primary), transparent);
}

.uploaded-files-scroll-area.has-many-files::after {
    right: 0;
    background: linear-gradient(to left, var(--bg-primary), transparent);
}

.uploaded-file-item {
    position: relative;
    width: 36px;
    height: 36px;
    border-radius: 16px;
    overflow: visible;
    border: 2px solid var(--border-light);
    transition: all 0.2s ease;
    background: var(--bg-secondary);
    cursor: pointer;
    flex-shrink: 0;
    isolation: isolate;
}

.uploaded-file-item::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    pointer-events: none;
}

.uploaded-file-item:hover {
    border-color: var(--primary-color);
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.uploaded-file-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 14px;
}

.uploaded-file-remove {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    width: 18px;
    height: 18px;
    background: transparent;
    color: var(--text-secondary);
    border: none;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    cursor: pointer;
    transition: color 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
    box-shadow: none;
    opacity: 0;
    z-index: 30;
    line-height: 1;
    pointer-events: auto;
}

/* Minimal hover state */
.uploaded-file-remove:hover {
    color: var(--error-color);
    transform: translate(50%, -50%) scale(1.05);
}

.uploaded-file-item:hover .uploaded-file-remove {
    opacity: 1;
}

/* legacy hover removed in favor of minimal style */

.uploaded-file-remove i {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: inherit;
}

.expand-files-btn {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark, #4f46e5));
    border: none;
    border-radius: 18px;
    color: var(--ds-accent-ink);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.25);
    position: relative;
}

.expand-files-btn:hover {
    background: linear-gradient(135deg, var(--primary-color-dark, #4f46e5), var(--primary-color));
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.4);
}

.expand-files-btn:active {
    transform: translateY(0) scale(0.98);
}

.expand-files-btn::before {
    content: attr(title);
    position: absolute;
    bottom: calc(100% + 8px);
    right: 0;
    background: rgba(0, 0, 0, 0.9);
    color: var(--ds-accent-ink);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 10;
}

.expand-files-btn::after {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    right: 8px;
    border: 6px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.expand-files-btn:hover::before,
.expand-files-btn:hover::after {
    opacity: 1;
}

/* Add File Button */
.add-file-btn {
    width: 36px;
    height: 36px;
    background: transparent;
    border: 2px dashed var(--border-light);
    border-radius: 18px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    margin-right: 8px;
}

.add-file-btn:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.05);
}

.add-file-btn:active {
    transform: scale(0.95);
}

.uploaded-files-empty {
    color: var(--text-secondary);
    font-size: 12px;
    font-style: italic;
    opacity: 0.7;
    padding: 12px 0;
    text-align: center;
    width: 100%;
}

/* Uploaded Files Preview Modal */
#uploadedFilesPreviewModal {
    z-index: 10000 !important;
}

.uploaded-files-preview-content {
    position: relative;
    width: 90vw;
    height: 90vh;
    max-width: 1400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.preview-main {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.preview-main img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.preview-info-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 8px 16px;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    color: var(--ds-on-media);
    font-size: 0.875rem;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 100;
}

.preview-close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: var(--ds-on-media);
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.preview-close-btn:hover {
    background: rgba(var(--ds-danger-rgb), 0.9);
    border-color: rgba(255, 255, 255, 0.5);
    transform: rotate(90deg) scale(1.1);
    box-shadow: 0 6px 16px rgba(var(--ds-danger-rgb), 0.4);
}

.preview-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.preview-nav-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-50%) scale(1.1);
}

.preview-nav-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.preview-prev {
    left: 20px;
}

.preview-next {
    right: 20px;
}

/* Uploaded Files Modal */
.uploaded-files-modal-content {
    background: var(--bg-elevated);
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    max-width: 900px;
    width: 92%;
    max-height: 85vh;
    overflow: hidden;
    margin: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }

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

.uploaded-files-modal-content .modal-header {
    padding: 24px 28px;
    border-bottom: 1px solid var(--border-light);
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-elevated) 100%);
}

.uploaded-files-modal-content .modal-header h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.file-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 10px;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark, #4f46e5));
    color: var(--ds-accent-ink);
    border-radius: 14px;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.3);
}

.uploaded-files-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 20px;
    padding: 24px;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Custom scrollbar for modal */
.uploaded-files-grid::-webkit-scrollbar {
    width: 8px;
}

.uploaded-files-grid::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: 4px;
}

.uploaded-files-grid::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 4px;
}

.uploaded-files-grid::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color);
}

/* Modern File Card */
.uploaded-file-card {
    background: var(--bg-secondary);
    border: 2px solid var(--border-light);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
}

.uploaded-file-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-color);
}

.file-preview {
    position: relative;
    width: 100%;
    height: 160px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.file-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.uploaded-file-card:hover .file-preview img {
    transform: scale(1.08);
}

.file-preview i {
    color: var(--text-muted);
    opacity: 0.5;
}

.file-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 12px;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.uploaded-file-card:hover .file-overlay {
    opacity: 1;
}

.file-action-btn {
    background: rgba(var(--ds-danger-rgb), 0.95);
    color: var(--ds-bg);
    border: none;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(var(--ds-danger-rgb), 0.4);
}

.file-action-btn.preview {
    background: rgba(var(--primary-color-rgb), 0.95);
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.4);
}

.file-action-btn.preview:hover {
    background: var(--primary-dark);
    transform: scale(1.05);
}

.file-action-btn:hover {
    background: var(--ds-danger);
    transform: scale(1.05);
}

.file-action-btn i {
    font-size: 0.875rem;
}

.file-details {
    padding: 12px 14px;
    background: var(--bg-elevated);
}

.file-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.file-size {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.file-size i {
    font-size: 0.7rem;
    opacity: 0.7;
}

.file-index {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary-color);
    background: var(--bg-secondary);
    padding: 2px 8px;
    border-radius: 6px;
}

/* Empty State */
.uploaded-files-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
}

.uploaded-files-empty-state .empty-icon {
    font-size: 4rem;
    color: var(--text-muted);
    opacity: 0.3;
    margin-bottom: 20px;
}

.uploaded-files-empty-state h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.uploaded-files-empty-state p {
    font-size: 0.9375rem;
    color: var(--text-secondary);
    margin: 0;
}

/* Uploaded Files Modal Footer */
.uploaded-files-modal-content .modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    border-top: 1px solid var(--border-light);
    background: var(--bg-secondary);
}

.modal-footer-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-stat {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.footer-stat i {
    color: var(--primary-color);
    font-size: 1rem;
}

.footer-stat span {
    color: var(--text-primary);
    font-weight: 600;
}

.modal-footer-actions {
    display: flex;
    gap: 12px;
}

.uploaded-files-modal-content .btn-secondary,
.uploaded-files-modal-content .btn-primary {
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 500;
    font-size: 0.9375rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.uploaded-files-modal-content .btn-secondary {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-medium);
}

.uploaded-files-modal-content .btn-secondary:hover {
    background: var(--bg-elevated);
    border-color: var(--error);
    color: var(--error);
    transform: translateY(-1px);
}

.uploaded-files-modal-content .btn-primary {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark, #4f46e5));
    color: var(--ds-accent-ink);
    border: none;
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.3);
}

.uploaded-files-modal-content .btn-primary:hover {
    box-shadow: 0 6px 16px rgba(var(--primary-color-rgb), 0.4);
    transform: translateY(-2px);
}

.upload-area-modal {
    margin: 16px;
    padding: 24px;
    border: 2px dashed var(--border-medium);
    border-radius: 12px;
    text-align: center;
    transition: all var(--transition-normal);
    cursor: pointer;
    background: var(--bg-secondary);
}

.upload-area-modal:hover {
    border-color: var(--primary-color);
    background: var(--bg-tertiary);
}

.upload-area-modal .upload-icon {
    font-size: 2rem;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.upload-area-modal:hover .upload-icon {
    color: var(--primary-color);
}

.upload-area-modal .upload-link {
    color: var(--primary-color);
    font-weight: 500;
    cursor: pointer;
}

.upload-area-modal .file-formats {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin-top: 8px;
}

.generation-layout {
    height: calc(100vh - 120px);
    flex: 1;
    min-height: 0;
    align-items: stretch;
    grid-template-rows: minmax(0, 1fr);
    grid-auto-rows: minmax(0, 1fr);
    contain: layout;
    padding-right: 0;
    margin-top: var(--spacing-xs);
    overflow: hidden;
}

/* Hide vertical divider line */
.generation-layout::after {
    display: none !important;
}

.input-panel {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: fit-content;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 0 24px 0;
    /* Alt kısımda ekstra boşluk - scroll ile en alta erişim için */
    align-self: start;
    scrollbar-width: thin;
    scrollbar-color: var(--border-medium) transparent;
}

/* Poster mode: tighter, consistent vertical rhythm */
.input-panel:has(#posterUnifiedPanel:not(.hidden)) {
    gap: 12px;
    padding-bottom: 28px;
}

.input-panel:has(#posterUnifiedPanel:not(.hidden)) .action-buttons-container {
    margin-bottom: 16px;
}

/* Input Panel Scrollbar */
.input-panel::-webkit-scrollbar {
    width: 6px;
}

.input-panel::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 3px;
}

.input-panel::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 3px;
}

.input-panel::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

.results-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    margin-top: 0;
    position: relative;
    z-index: auto;
    pointer-events: auto;
    overflow: hidden;
}

/* Panel Cards */
.panel-card {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 18px;
    overflow: visible;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.panel-card:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    border-color: rgba(var(--primary-color-rgb), 0.3);
}

/* Poster Mode: First panel-card needs higher z-index for dropdowns to appear above tabs */
.input-panel:has(#posterUnifiedPanel:not(.hidden))>.panel-card:first-child {
    z-index: 100;
}

/* Storyboard Mode: Generation panel needs higher z-index for dropdowns to appear above storyboard wizard */
.input-panel:has(.storyboard-wizard.active)>.panel-card:first-child {
    position: relative;
    z-index: 100;
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-light);
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    min-height: 40px;
    border-radius: 18px 18px 0 0;
    overflow: visible;
}

/* Sonuçlar paneli için kompakt header */
.results-panel .card-header {
    padding: var(--spacing-sm) var(--spacing-md);
    min-height: 50px;
}

.results-panel .card-header h3 {
    font-size: 0.9rem;
}

.results-panel .header-actions {
    gap: var(--spacing-xs);
}

.results-panel .btn-icon {
    width: 40px;
    height: 40px;
    font-size: 0.9rem;
    border-radius: 20px;
}

.card-header h3 {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin: 0;
    color: var(--text-primary);
    font-size: 0.875rem;
    font-weight: 600;
}

.card-header i {
    color: var(--primary-color);
    font-size: 0.875rem;
}

.header-actions {
    display: flex;
    gap: var(--spacing-sm);
}


/* Upload Area */
.upload-area {
    position: relative;
    padding: var(--spacing-lg);
    border: 2px dashed var(--border-medium);
    border-radius: var(--border-radius);
    text-align: center;
    transition: all var(--transition-normal);
    cursor: pointer;
}

.upload-area:hover,
.upload-area.drag-over {
    border-color: var(--primary-color);
    background: var(--bg-secondary);
}

.upload-content {
    pointer-events: none;
    position: relative;
    z-index: 1;
}

.upload-icon {
    font-size: 3rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
}

.upload-area:hover .upload-icon {
    color: var(--primary-color);
}

.upload-link {
    color: var(--primary-color);
    font-weight: 500;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    z-index: 3;
}

.file-formats {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin-top: var(--spacing-sm);
}

#fileInput {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    pointer-events: auto;
}

/* Uploaded Files */
.uploaded-files {
    max-height: 200px;
    overflow-y: auto;
    padding: var(--spacing-md);
}

.file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-sm);
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
    margin-bottom: var(--spacing-sm);
}

.file-info {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.file-icon {
    color: var(--primary-color);
}

.file-details {
    flex: 1;
}

.file-name {
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.file-size {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.file-actions {
    display: flex;
    gap: var(--spacing-xs);
}

/* Settings Grid */
.settings-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 12px;
    border: 1px solid var(--border-light);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
    max-height: none;
    overflow: visible;
}

.setting-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--border-light);
}

.setting-group:last-child {
    border-bottom: none;
}

.setting-group label {
    font-weight: 500;
    color: var(--text-primary);
    margin: 0;
    font-size: 0.875rem;
    min-width: 100px;
    flex-shrink: 0;
}

/* Advanced Style Categories */
.advanced-styles {
    margin-top: 0;
    position: relative;
    z-index: 0;
}

.advanced-styles-card {
    margin-top: 0;
    position: relative;
    z-index: 0;
}

.advanced-styles-card .card-header {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
}

.advanced-styles-card .card-header h3 {
    font-weight: 700;
    color: var(--text-primary);
}

/* Aspect Ratio Panel */
.aspect-ratio-card {
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.aspect-ratio-card .card-header {
    padding: 10px var(--spacing-md);
}

.aspect-ratio-card .card-header h3 {
    font-size: 0.875rem;
    font-weight: 600;
}

.aspect-ratio-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
    padding: 24px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 18px;
    border: 1px solid var(--border-light);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
    max-width: 100%;
    width: 100%;
}

.aspect-ratio-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 20px;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    border-radius: 16px;
    cursor: pointer;
    transition: all var(--transition-fast);
    border: 1.5px solid var(--border-light);
    gap: 8px;
    min-height: 90px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.aspect-ratio-option:hover {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-color: rgba(var(--primary-color-rgb), 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.aspect-ratio-option:hover .aspect-ratio-box {
    border-color: var(--primary-color);
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}

.aspect-ratio-option.active {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
}

.aspect-ratio-option.active .aspect-ratio-label {
    color: var(--ds-accent-ink);
}

.aspect-ratio-option.active .aspect-ratio-box {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.85) 100%);
    border-color: rgba(255, 255, 255, 0.8);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(255, 255, 255, 0.3);
}

.aspect-ratio-box {
    display: block;
    border: 2px solid var(--border-dark);
    border-radius: 4px;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    transition: all var(--transition-fast);
    margin-bottom: 4px;
}

/* Clean minimal design without patterns */

/* Aspect ratio box sizes - smaller to fit properly in expanded containers */
.aspect-ratio-box.square {
    width: 26px;
    height: 26px;
}

.aspect-ratio-box.standard {
    width: 32px;
    height: 24px;
}

.aspect-ratio-box.wide {
    width: 34px;
    height: 19px;
}

.aspect-ratio-box.portrait {
    width: 24px;
    height: 32px;
}

.aspect-ratio-box.vertical {
    width: 18px;
    height: 32px;
}

.aspect-ratio-box.ultra-wide {
    width: 36px;
    height: 15px;
}

.aspect-ratio-label {
    font-size: 0.7rem;
    color: var(--text-primary);
    font-weight: 600;
    text-align: center;
    line-height: 1.1;
    margin-top: 4px;
    letter-spacing: 0.5px;
}

/* Pseudo-element kaldırıldı - gerçek kutular kullanılıyor */

/* Image Count Selector */
.image-count-panel {
    margin-top: 0;
    position: relative;
    z-index: 0;
}

.image-count-panel .card-header h3 {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
}

.image-count-selectors {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    padding: 16px;
    border-radius: 0 0 18px 18px;
    border: none;
    box-shadow: none;
}

.count-selector {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid var(--border-light);
}

.count-selector:last-child {
    border-bottom: none;
}

.selector-header {
    display: flex;
    align-items: center;
    min-width: 100px;
}

.selector-label {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8125rem;
    margin: 0;
}

.selector-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    padding: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
    flex: 1;
    justify-content: flex-end;
}

.count-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

/* Shadow Style Selector */
.shadow-style-selector {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    width: 100%;
    /* Ensure it spans full width */
    margin-top: 15px;
    /* Push away from slider */
    margin-bottom: 5px;
    padding: 0;
    background: transparent;
    border: none;
    transition: all 0.3s ease;
}

.shadow-btn {
    display: flex;
    flex-direction: row;
    /* Horizontal layout */
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 36px;
    /* Fixed height for consistency */
    padding: 0 8px;
    border-radius: 18px;
    /* Oval shape */
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.02);
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: all 0.2s ease;
}

.shadow-btn i {
    font-size: 0.9rem;
    margin-bottom: 0;
    /* Remove bottom margin for horizontal layout */
}

.shadow-btn span {
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.3px;
}

.shadow-btn:hover {
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.1);
    border-color: rgba(var(--primary-color-rgb), 0.2);
}

.shadow-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.3);
    transform: translateY(-1px);
}

.light-mode .shadow-style-selector {
    background: rgba(0, 0, 0, 0.03);
}

.light-mode .shadow-btn {
    color: rgba(0, 0, 0, 0.6);
    border-color: rgba(0, 0, 0, 0.05);
}



.light-mode .shadow-btn {
    color: var(--text-secondary);
}

.light-mode .shadow-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.count-btn:hover:not(:disabled) {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.count-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.count-btn i {
    font-size: 0.75rem;
    font-weight: 400;
}

.count-btn.minus i::before {
    content: "−" !important;
    font-family: inherit !important;
    font-size: 0.85rem !important;
}

.count-btn.plus i::before {
    content: "+" !important;
    font-family: inherit !important;
}

.count-slider-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

/* Mode-specific count selectors */
.studio-mode-counts,
.storyboard-mode-counts {
    width: 100%;
}

.count-slider {
    width: 100%;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    outline: none;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.slider-track {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--border-medium);
    border-radius: 2px;
    transform: translateY(-50%);
    pointer-events: none;
}

.slider-fill {
    height: 100%;
    background: var(--primary-color);
    border-radius: 2px;
    width: 25%;
    transition: width var(--transition-fast);
}

.count-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    background: var(--primary-color);
    border: 2px solid var(--bg-primary);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all var(--transition-fast);
}

.count-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: var(--primary-color);
    border: 2px solid var(--bg-primary);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all var(--transition-fast);
}

.count-slider:hover::-webkit-slider-thumb,
.count-slider:hover::-moz-range-thumb {
    transform: scale(1.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.count-value {
    min-width: 40px;
    height: 32px;
    background: linear-gradient(135deg, var(--ds-accent) 0%, var(--ds-accent-press) 100%);
    color: var(--ds-accent-ink);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.875rem;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
    transition: all 0.3s ease;
}

.count-value.zero {
    background: rgba(var(--ds-ink-rgb), 0.12);
    box-shadow: 0 2px 8px rgba(142, 142, 147, 0.2);
    color: var(--ds-ink);
}

/* Light mode readability for count selectors */
.light-mode .image-count-panel .card-header h3 {
    color: var(--text-primary);
}

.light-mode .selector-label {
    color: var(--text-secondary);
}

.light-mode .count-btn {
    border-color: var(--border-light);
    color: var(--text-secondary);
}

/* Production Container Styles */
.production-container {
    background-color: var(--ds-accent);
    border-radius: 12px;
    padding: 24px;
}

/* Generation Container Styles */
.generation-container {
    position: relative;
    z-index: 50;
    padding: 14px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 0 0 16px 16px;
    overflow: visible;
}

.generation-prompt-wrapper {
    margin-bottom: 16px;
    position: relative;
}

.generation-prompt-input {
    width: 100%;
    background: var(--bg-primary);
    border: 1px solid var(--border-medium);
    border-radius: 24px;
    padding: 12px 96px 12px 18px;
    /* right padding for inline icons */
    color: var(--text-primary);
    font-size: 15px;
    height: 48px;
    transition: all 0.2s ease;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Textarea specific styling */
textarea.generation-prompt-input {
    height: auto;
    min-height: 80px;
    padding-top: 14px;
    padding-bottom: 14px;
    line-height: 1.5;
    resize: vertical;
}

.generation-prompt-input::placeholder {
    color: var(--text-muted);
}

.generation-prompt-input:focus {
    outline: none;
    border-color: var(--primary-color);
    background: var(--bg-primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
}

/* Prompt actions inside input */
.prompt-actions {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 6px;
    z-index: 200;
}

.prompt-tools-actions {
    z-index: 400;
}

.input-icon-btn {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.input-icon-btn i {
    font-size: 16px;
}

.input-icon-btn:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.input-icon-btn.active {
    color: var(--primary-color);
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
}

.dark-mode .input-icon-btn.active {
    background: rgba(var(--primary-color-rgb), 0.14);
}

/* Prompt Tools Wrapper & Popup Menu */
.prompt-tools-wrapper {
    position: relative;
    /* Ensure no stacking context issues here */
}

.prompt-tools-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border: 1px solid var(--border-light);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
    z-index: 99999;
    min-width: 180px;
    pointer-events: auto;
}

.prompt-tools-menu.open {
    display: flex !important;
}

.prompt-tools-menu.fixed-mode {
    display: none !important;
}

.prompt-tool-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: none;
    background: transparent;
    color: var(--ds-on-media);
    font-size: 0.85rem;
    font-weight: 500;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
    white-space: nowrap;
}

.prompt-tool-item i {
    font-size: 15px;
    width: 20px;
    text-align: center;
    color: var(--primary-color);
}

.prompt-tool-item span {
    flex: 1;
}

.prompt-tool-item:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ds-on-media);
}

.prompt-tool-item.active {
    background: rgba(var(--primary-color-rgb), 0.25);
    color: var(--primary-color);
}

/* Toggle button active state when menu is open */
#promptToolsToggle.open {
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.15);
}

/* Light mode adjustments */
.light-mode .prompt-tools-menu {
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border: 1px solid var(--border-light);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18),
        0 4px 12px rgba(0, 0, 0, 0.08);
}

.light-mode .prompt-tool-item {
    color: rgba(0, 0, 0, 0.7);
}

.light-mode .prompt-tool-item i {
    color: rgba(0, 0, 0, 0.5);
}

.light-mode .prompt-tool-item:hover {
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.9);
}

.generation-controls-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
    min-height: 36px;
}

/* ===== GENERATION PRIMARY ROW - RESPONSIVE SYSTEM ===== */

.generation-primary-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
    margin-bottom: 14px;
    position: relative;
    z-index: 100;
}

.generation-primary-row .seed-container {
    margin-left: auto;
}

.compact-select {
    position: relative;
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
    z-index: 10;
}

/* Desktop (default) */
.compact-select.model-select {
    flex: 0 0 auto;
    width: 130px;
}

.compact-select.aspect-select {
    flex: 0 0 auto;
    width: 75px;
}

.compact-select.aspect-select.pixel-size-active {
    width: 122px;
}

.compact-select-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    height: 38px;
    padding: 0 10px;
    border-radius: 9999px;
    border: 1px solid var(--border-light);
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
}

.compact-select-toggle span {
    flex: 1;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    min-width: 0;
}

.compact-select-toggle .chevron {
    font-size: 0.7rem;
    opacity: 0.5;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.compact-select-toggle.open,
.compact-select-toggle:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.compact-select-toggle:hover .chevron {
    opacity: 1;
}

.compact-select-toggle.open .chevron {
    transform: rotate(180deg);
    opacity: 1;
}

.model-select .compact-select-toggle {
    border-radius: 9999px;
    padding: 0 16px;
    border: 1px solid var(--border-light);
    background: transparent;
    color: var(--text-secondary);
    font-weight: 600;
}

.model-select .compact-select-toggle:hover,
.model-select .compact-select-toggle.open {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.compact-plus {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    z-index: 10;
}

.compact-plus-toggle {
    width: 38px;
    height: 38px;
    border-radius: 18px;
    border: 1px solid var(--border-light);
    background: transparent;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.compact-plus-toggle:hover,
.compact-plus-toggle.open {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.compact-select-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 4px;
    border-radius: 10px;
    background: var(--bg-primary);
    border: 1px solid var(--border-light);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: max-content;
    z-index: 99999;
}

.compact-select-menu.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.compact-select-option {
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 500;
    border-radius: 8px;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 6px 10px;
    transition: all 0.15s ease;
    text-align: left;
    position: relative;
}

.compact-select-option .option-title {
    line-height: 1.1;
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    color: inherit;
}

.compact-select-option .option-meta {
    display: none;
}

.compact-select-option:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    color: var(--text-primary);
}

/* Model seçimi - + menüsü kadar minimalist */
.model-select .compact-select-option {
    background: transparent;
    color: var(--text-secondary);
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 0.8rem;
    border: none;
}

.model-select .compact-select-option:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    color: var(--text-primary);
}

.model-select .compact-select-option.active {
    background: transparent;
    color: var(--primary-color);
    font-weight: 600;
    box-shadow: none;
    border: none;
}

.model-select .compact-select-option.active .option-title {
    color: var(--primary-color);
}

/* Upload ve aspect menü - minimal stil */
.upload-menu-popover .compact-select-option.active,
.aspect-select .compact-select-option.active {
    background: transparent;
    color: var(--primary-color);
    font-weight: 600;
}


.compact-select-option:hover .option-meta,
.compact-select-option.active .option-meta {
    color: var(--primary-color);
}

.compact-select-option.has-reference {
    background: rgba(var(--primary-color-rgb), 0.16);
    color: var(--primary-color);
}

.option-meta {
    display: block;
}

.compact-select-option .option-meta:empty {
    display: none;
}

.aspect-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--border-light);
    background: var(--bg-secondary);
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.aspect-preview::after {
    content: '';
    display: block;
    width: 70%;
    height: 70%;
    border-radius: 2px;
    border: 1px solid rgba(var(--primary-color-rgb), 0.3);
    background: rgba(var(--primary-color-rgb), 0.1);
}

.compact-select-option:hover .aspect-preview {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
}

.compact-select-option.active .aspect-preview {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.15);
}

.compact-select-option.active .aspect-preview::after {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.25);
}

/* Aspect ratio icon dimensions - Compact */
.aspect-1-1 {
    width: 14px;
    height: 14px;
}

.aspect-4-3 {
    width: 16px;
    height: 12px;
}

.aspect-3-2 {
    width: 17px;
    height: 11px;
}

.aspect-16-9 {
    width: 18px;
    height: 10px;
}

.aspect-3-4 {
    width: 12px;
    height: 16px;
}

.aspect-2-3 {
    width: 11px;
    height: 17px;
}

.aspect-9-16 {
    width: 10px;
    height: 18px;
}

.aspect-21-9 {
    width: 21px;
    height: 9px;
}

.aspect-match {
    width: 14px;
    height: 14px;
    border-style: dashed;
}

.aspect-auto {
    width: 14px;
    height: 14px;
    border-style: dashed;
}

.model-select .compact-select-menu {
    min-width: 220px;
    max-height: 420px;
    overflow-y: auto;
}

.model-select .compact-select-option {
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.model-select .option-title {
    font-weight: 600;
}

.model-select .option-meta {
    font-size: 10px;
    color: var(--text-muted);
    opacity: 0.8;
}

.model-category-label {
    padding: 10px 12px 6px;
    font-size: 9px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.6;
}

.model-category-label:not(:first-child) {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.dark-mode .model-category-label:not(:first-child) {
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* Aspect ratio menu adjustments */
.aspect-select .compact-select-menu {
    min-width: 96px;
    padding: 2px;
    border-radius: 8px;
}

.aspect-select .compact-select-option {
    padding: 3px 8px !important;
    gap: 5px !important;
    min-height: unset !important;
    height: auto !important;
    line-height: 1 !important;
    border-radius: 4px !important;
}

.aspect-select .compact-select-option .option-title {
    font-size: 0.72rem !important;
    font-weight: 500;
    line-height: 1 !important;
}

.aspect-select .compact-select-option .aspect-preview {
    border: 1px solid var(--border-light);
    border-radius: 3px;
}

.aspect-select .compact-select-option .aspect-preview::after {
    width: 65%;
    height: 65%;
    border-radius: 2px;
}

/* Aspect select menu - compact layout */
.aspect-select .compact-select-menu {
    padding: 3px !important;
    gap: 0 !important;
    min-width: 124px !important;
}

.aspect-select .aspect-ratio-option[data-ratio*="x"] .option-title {
    font-variant-numeric: tabular-nums;
}


.upload-menu-popover {
    flex-direction: column;
    align-items: stretch;
    gap: 1px;
    min-width: 130px;
    max-width: 150px;
}

.upload-menu-popover .compact-select-option {
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 6px 10px;
    white-space: nowrap;
    background: transparent;
    border: none;
    border-radius: 6px;
}

.upload-menu-popover .compact-select-option:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
}

.upload-menu-popover .compact-select-option.active {
    background: transparent;
    color: var(--primary-color);
}

.upload-menu-popover .compact-select-option i {
    transition: all 0.2s ease;
}

.upload-menu-popover .compact-select-option:hover i {
    opacity: 1 !important;
    transform: scale(1.1);
}

.upload-menu-popover .compact-select-option .option-meta {
    display: none;
}

.compact-select-toggle:focus-visible,
.compact-plus-toggle:focus-visible,
.compact-select-option:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Ensure upload menu appears above everything */
.compact-plus .compact-select-menu {
    z-index: 100000;
    left: auto;
    right: 0;
}

.dark-mode .compact-select-toggle,
.dark-mode .compact-plus-toggle {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.75);
}

.dark-mode .compact-select-toggle:hover,
.dark-mode .compact-select-toggle.open,
.dark-mode .compact-plus-toggle:hover,
.dark-mode .compact-plus-toggle.open {
    border-color: rgba(var(--primary-color-rgb), 0.6);
    background: rgba(var(--primary-color-rgb), 0.08);
    color: rgba(var(--primary-color-rgb), 0.95);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .compact-select-menu {
    background: rgba(var(--ds-surface-rgb), 0.98);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
}

.dark-mode .model-usage-button {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.75);
}

.dark-mode .model-usage-button:hover,
.dark-mode .model-usage-button.open {
    border-color: rgba(var(--primary-color-rgb), 0.6);
    background: rgba(var(--primary-color-rgb), 0.08);
    color: rgba(var(--primary-color-rgb), 0.95);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .model-options-menu {
    background: rgba(var(--ds-surface-rgb), 0.98);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
}

.dark-mode .menu-toggle-option {
    color: rgba(255, 255, 255, 0.75);
}

.dark-mode .menu-toggle-option:hover {
    background: rgba(var(--primary-color-rgb), 0.12);
}

.dark-mode .menu-option-label {
    color: rgba(255, 255, 255, 0.75);
}

.dark-mode .toggle-slider-mini {
    background-color: rgba(255, 255, 255, 0.15);
}

.dark-mode .menu-toggle-option input:checked+.toggle-slider-mini {
    background-color: rgba(var(--primary-color-rgb), 0.8);
}

.dark-mode .compact-select-option {
    color: rgba(255, 255, 255, 0.75);
}

.dark-mode .compact-select-option:hover {
    background: rgba(var(--primary-color-rgb), 0.12);
    color: rgba(255, 255, 255, 0.95);
}

/* Model seçimi - active mavi arka plan (dark mode) */
.dark-mode .model-select .compact-select-option {
    background: transparent;
    color: rgba(255, 255, 255, 0.75);
    border: none;
}

.dark-mode .model-select .compact-select-option:hover {
    background: rgba(var(--primary-color-rgb), 0.12);
    color: rgba(255, 255, 255, 0.95);
}

.dark-mode .model-select .compact-select-option.active {
    background: transparent;
    color: rgba(var(--primary-color-rgb), 0.95);
    box-shadow: none;
    border: none;
}

.dark-mode .model-select .compact-select-option.active .option-title {
    color: rgba(var(--primary-color-rgb), 0.95);
}

/* Upload ve aspect menü - minimal stil (dark mode) */
.dark-mode .upload-menu-popover .compact-select-option.active,
.dark-mode .aspect-select .compact-select-option.active {
    background: transparent;
    color: rgba(var(--primary-color-rgb), 0.95);
}

.dark-mode .compact-select-option .option-meta {
    color: rgba(255, 255, 255, 0.45);
}

.dark-mode .compact-select-option:hover .option-meta,
.dark-mode .compact-select-option.active .option-meta {
    color: rgba(var(--primary-color-rgb), 0.85);
}

.dark-mode .aspect-preview {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}

.dark-mode .aspect-preview::after {
    border-color: rgba(var(--primary-color-rgb), 0.4);
    background: rgba(var(--primary-color-rgb), 0.15);
}

.dark-mode .compact-select-option:hover .aspect-preview {
    background: rgba(var(--primary-color-rgb), 0.15);
    border-color: rgba(var(--primary-color-rgb), 0.5);
}

.dark-mode .compact-select-option.active .aspect-preview {
    background: rgba(var(--primary-color-rgb), 0.2);
    border-color: rgba(var(--primary-color-rgb), 0.6);
}

.dark-mode .compact-select-option.active .aspect-preview::after {
    border-color: rgba(var(--primary-color-rgb), 0.8);
    background: rgba(var(--primary-color-rgb), 0.35);
}

.dark-mode .seed-embedded-input {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .seed-embedded-input:hover,
.dark-mode .seed-embedded-input.input-mode {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: rgba(var(--primary-color-rgb), 0.6);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .seed-button-content {
    color: rgba(255, 255, 255, 0.7);
}

/* Mobile menu adjustments */
@media (max-width: 768px) {
    .compact-select-menu {
        padding: 3px;
    }

    .upload-menu-popover {
        min-width: 135px;
        max-width: 155px;
        padding: 3px;
    }

    .upload-menu-popover .compact-select-option {
        padding: 7px 10px;
        font-size: 0.78rem;
    }

    .model-select .compact-select-option {
        padding: 7px 10px;
        font-size: 0.78rem;
    }

    .aspect-select .compact-select-option {
        padding: 2px 6px;
        font-size: 0.74rem;
        gap: 4px;
        min-height: 20px;
    }

    /* Smaller aspect icons on mobile */
    .aspect-1-1 {
        width: 12px;
        height: 12px;
    }

    .aspect-4-3 {
        width: 14px;
        height: 10px;
    }

    .aspect-3-2 {
        width: 15px;
        height: 10px;
    }

    .aspect-16-9 {
        width: 16px;
        height: 9px;
    }

    .aspect-3-4 {
        width: 10px;
        height: 14px;
    }

    .aspect-2-3 {
        width: 10px;
        height: 15px;
    }

    .aspect-9-16 {
        width: 9px;
        height: 16px;
    }

    .aspect-21-9 {
        width: 18px;
        height: 8px;
    }

    .aspect-match,
    .aspect-auto {
        width: 12px;
        height: 12px;
    }
}

@media (max-width: 480px) {
    .compact-select-menu {
        padding: 3px;
        font-size: 0.75rem;
    }

    .upload-menu-popover .compact-select-option,
    .model-select .compact-select-option {
        padding: 6px 9px;
        font-size: 0.75rem;
    }

    .aspect-select .compact-select-option {
        padding: 2px 5px;
        font-size: 0.7rem;
        gap: 3px;
        min-height: 18px;
    }

    /* Even smaller icons for small phones */
    .aspect-1-1 {
        width: 10px;
        height: 10px;
    }

    .aspect-4-3 {
        width: 12px;
        height: 9px;
    }

    .aspect-3-2 {
        width: 13px;
        height: 9px;
    }

    .aspect-16-9 {
        width: 14px;
        height: 8px;
    }

    .aspect-3-4 {
        width: 9px;
        height: 12px;
    }

    .aspect-2-3 {
        width: 9px;
        height: 13px;
    }

    .aspect-9-16 {
        width: 8px;
        height: 14px;
    }

    .aspect-21-9 {
        width: 16px;
        height: 7px;
    }

    .aspect-match,
    .aspect-auto {
        width: 10px;
        height: 10px;
    }
}

#modelSelectActiveLabel,
#aspectRatioActiveLabel {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== RESPONSIVE BREAKPOINTS - STANDARDIZED ===== */

/* Large Desktop: 1920px+ (default above) */
/* Desktop: 1440px - 1920px (default above) */

/* Laptop / Small Desktop: 1024px - 1440px */
@media (max-width: 1440px) {
    .compact-select.model-select {
        width: 135px;
    }

    .compact-select.aspect-select {
        width: 75px;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 118px;
    }

    .seed-embedded-input {
        width: 95px;
    }

    .seed-embedded-input.input-mode {
        width: 145px;
    }
}

/* Tablet Landscape: 900px - 1024px */
@media (max-width: 1024px) {
    .generation-model-settings {
        flex-wrap: wrap;
        gap: 8px;
    }

    .batch-button-group {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .generation-primary-row {
        gap: 6px;
    }

    .compact-select.model-select {
        width: 130px;
    }

    .compact-select.aspect-select {
        width: 72px;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 116px;
    }

    .seed-container {
        padding-left: 8px;
    }

    .seed-embedded-input {
        width: 92px;
    }

    .seed-embedded-input.input-mode {
        width: 140px;
    }
}

/* Tablet Portrait: 768px - 900px */
@media (max-width: 900px) {
    .generation-primary-row {
        gap: 6px;
    }

    .compact-select.model-select {
        width: 125px;
    }

    .compact-select.aspect-select {
        width: 70px;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 116px;
    }

    .seed-container {
        padding-left: 8px;
    }

    .seed-embedded-input {
        width: 88px;
    }

    .seed-embedded-input.input-mode {
        width: 135px;
    }
}

/* Mobile Landscape: 640px - 768px */
@media (max-width: 768px) {
    .generation-primary-row {
        gap: 6px;
    }

    .compact-select.model-select {
        width: 118px;
    }

    .compact-select.aspect-select {
        width: 68px;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 114px;
    }

    .compact-plus {
        flex: 0 0 40px;
    }

    .seed-embedded-input {
        width: 85px;
    }

    .seed-embedded-input.input-mode {
        width: 130px;
    }
}

/* Mobile Portrait: 480px - 640px */
@media (max-width: 640px) {
    .generation-primary-row {
        gap: 5px;
    }

    .compact-select.model-select {
        width: 112px;
    }

    .compact-select.aspect-select {
        width: 65px;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 112px;
    }

    .seed-embedded-input {
        width: 82px;
    }

    .seed-embedded-input.input-mode {
        width: 125px;
    }
}

/* Small Mobile: 375px - 480px */
@media (max-width: 480px) {
    .generation-primary-row {
        gap: 5px;
        flex-wrap: wrap;
    }

    .compact-select.model-select {
        width: 108px;
        flex: 0 0 auto;
    }

    .compact-select.aspect-select {
        width: 62px;
        flex: 0 0 auto;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 112px;
    }

    .compact-plus {
        flex: 0 0 40px;
    }

    .seed-container {
        margin-left: auto;
        margin-top: 6px;
        flex: 0 0 auto;
        padding-left: 0;
    }

    .seed-embedded-input {
        width: 100%;
        min-width: 100px;
    }

    .seed-embedded-input.input-mode {
        width: 100%;
        min-width: 120px;
    }
}

/* Extra Small Mobile: < 375px */
@media (max-width: 375px) {
    .generation-primary-row {
        gap: 4px;
    }

    .compact-select.model-select {
        width: 100px;
    }

    .compact-select.aspect-select {
        width: 58px;
    }

    .compact-select.aspect-select.pixel-size-active {
        width: 110px;
    }

    .compact-plus {
        flex: 0 0 38px;
    }

    .compact-plus-toggle {
        width: 38px;
        height: 38px;
        font-size: 0.85rem;
    }
}

.generation-buttons {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    flex-wrap: nowrap;
    overflow: hidden;
}

.generation-btn {
    min-width: 75px;
    height: 30px;
    background: var(--bg-primary);
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 11px;
    font-weight: 500;
    padding: 0 6px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.generation-btn:hover {
    background: var(--bg-secondary);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

/* Seed Container - Embedded Input */
.seed-container {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 0;
    z-index: 0;
}

.seed-embedded-input {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 92px;
    width: 92px;
    height: 38px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 9999px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}

.seed-embedded-input:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.seed-embedded-input.input-mode {
    width: 150px;
    cursor: text;
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.seed-button-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 10px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
    transition: all 0.3s ease;
    pointer-events: none;
}

.seed-embedded-input.input-mode .seed-button-content {
    opacity: 0;
    transform: translateX(-10px);
}

.seed-embedded-input input {
    position: absolute;
    top: 0;
    left: 0;
    right: 42px;
    bottom: 0;
    background: transparent;
    border: none;
    outline: none;
    padding: 0 16px 0 16px;
    font-size: 0.85rem;
    color: var(--text-primary);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
    text-align: left;
    /* Sola yaslı */
}

.seed-embedded-input.input-mode input {
    opacity: 1;
    pointer-events: all;
}

.seed-generate-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: var(--bg-secondary);
    /* Diğer butonlarla uyumlu renk */
    color: var(--text-secondary);
    border: 1px solid var(--border-medium);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}

.seed-embedded-input.input-mode .seed-generate-btn {
    opacity: 1;
    pointer-events: all;
}

.seed-generate-btn:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
    transform: translateY(-50%) scale(1.05);
}

.seed-embedded-input input::placeholder {
    color: var(--text-muted);
    font-size: 0.75rem;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

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

.generation-model-settings {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    flex-wrap: wrap;
}

.generation-model-settings .seed-container {
    flex: 0 0 auto;
}

.batch-button-group {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.compact-toggle-button {
    height: 38px;
    padding: 0 12px;
    border-radius: 19px;
    border: 1px solid var(--border-light);
    background: transparent;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.compact-toggle-button:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.compact-toggle-button.active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.compact-toggle-button:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

.compact-toggle-button i {
    font-size: 0.75rem;
}

/* Resolution Select Specific Styles */
.resolution-select {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.resolution-select .compact-select-toggle {
    min-width: 70px;
}

.resolution-select .option-meta {
    font-size: 0.7rem;
    color: var(--text-tertiary);
    font-weight: 400;
}

/* Dark mode for compact toggle button */
.dark-mode .compact-toggle-button {
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
}

.dark-mode .compact-toggle-button:hover {
    border-color: rgba(var(--primary-color-rgb), 0.6);
    color: rgba(var(--primary-color-rgb), 0.95);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .compact-toggle-button.active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

/* Sequential Mode Controls */
.sequential-mode-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Dark mode for add file button */
.dark-mode .add-file-btn {
    border-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.6);
}

.dark-mode .add-file-btn:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.1);
}

/* Bottom row for Edit and Model Selector - Now empty */
.generation-bottom-row {
    display: none;
}

/* Model Settings Row */
.generation-model-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    /* Boşluğu azalttık */
    flex-wrap: wrap;
    padding: 8px 0 0 0;
    margin-top: 6px;
    border-top: 1px solid var(--border-light);
    /* İnce çizgiyi geri ekledik */
}

.model-info-inline {
    position: relative;
}

.model-info-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 600;
    padding: 4px 8px;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.model-info-toggle:hover,
.model-info-toggle.open {
    color: var(--primary-color);
    border-color: rgba(var(--primary-color-rgb), 0.3);
    background: rgba(var(--primary-color-rgb), 0.08);
}

.model-info-toggle .dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent-color);
    box-shadow: 0 0 0 2px rgba(var(--ds-accent-rgb), 0.18);
}

.model-info-toggle .chevron {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
    opacity: 0.6;
}

.model-info-toggle.open .chevron {
    transform: rotate(180deg);
    opacity: 1;
}

.model-info-content {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    display: none;
    width: 320px;
    background: rgba(var(--ds-surface-rgb), 0.96);
    border-radius: 14px;
    border: 1px solid var(--border-light);
    padding: 12px 14px;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--text-secondary);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(12px);
    z-index: 10;
}

.dark-mode .model-info-content {
    background: rgba(var(--ds-surface-rgb), 0.94);
    border-color: rgba(255, 255, 255, 0.08);
}

.model-info-content.open {
    display: block;
}

.model-info-header {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 6px;
}

.model-info-header .model-name {
    font-weight: 700;
    color: var(--text-primary);
}

.model-info-header .model-provider {
    font-size: 0.72rem;
    color: var(--text-muted);
}

.model-info-badges,
.model-info-strengths {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 4px 0;
}

.model-info-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 8px;
    background: rgba(var(--primary-color-rgb), 0.08);
    color: var(--text-primary);
    font-size: 0.72rem;
    font-weight: 600;
}

.model-info-badge.soft {
    background: rgba(0, 0, 0, 0.04);
    color: var(--text-secondary);
}

.dark-mode .model-info-badge.soft {
    background: rgba(255, 255, 255, 0.06);
}

.model-info-template {
    margin-top: 4px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(var(--ds-accent-rgb), 0.08);
    border: 1px dashed rgba(var(--ds-accent-rgb), 0.3);
    color: var(--text-primary);
    font-size: 0.78rem;
}

.model-info-template .template-label {
    display: block;
    font-weight: 700;
    margin-bottom: 4px;
    font-size: 0.76rem;
}

.model-info-template code {
    background: transparent;
    padding: 0;
    font-family: 'Space Grotesk', 'Inter', monospace;
    font-size: 0.78rem;
    color: inherit;
}

.model-info-tips {
    margin-top: 6px;
}

.model-info-tips-title {
    font-weight: 700;
    font-size: 0.78rem;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.model-info-tip-list {
    margin: 0 0 0 16px;
    padding: 0;
    color: var(--text-secondary);
}

.model-info-tip-list li {
    margin-bottom: 3px;
}

.model-info-capabilities {
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.model-info-capability {
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(var(--primary-color-rgb), 0.12);
    color: var(--text-primary);
    font-size: 0.7rem;
    border: 1px solid rgba(var(--primary-color-rgb), 0.2);
}

.model-info-loading {
    font-size: 0.76rem;
    color: var(--text-muted);
}


.generation-edit-settings {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border-left: none;
    margin-left: 0;
}

.settings-label {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.toggle-group {
    display: flex;
    gap: 6px;
    justify-content: flex-start;
    width: auto;
    flex-wrap: wrap;
}

/* Model Usage Button with Menu (like upload menu) */
.model-usage-button-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.model-usage-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    height: 38px;
    padding: 0 10px;
    border-radius: 9999px;
    border: 1px solid var(--border-light);
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
}

.model-usage-button:hover,
.model-usage-button.open {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.model-usage-button .chevron {
    font-size: 0.7rem;
    opacity: 0.5;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.model-usage-button.open .chevron {
    transform: rotate(180deg);
    opacity: 1;
}

.model-options-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 4px;
    border-radius: 10px;
    background: var(--bg-primary);
    border: 1px solid var(--border-light);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: max-content;
    z-index: 99999;
}

.model-options-menu.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.menu-toggle-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 0.78rem;
}

.menu-toggle-option:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
}

.menu-toggle-option input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider-mini {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 20px;
    background-color: var(--border-medium);
    border-radius: 20px;
    cursor: pointer;
    transition: 0.3s;
    flex-shrink: 0;
}

.toggle-slider-mini .icon-on,
.toggle-slider-mini .icon-off {
    position: absolute;
    font-size: 10px;
    color: var(--ds-on-media);
    transition: all 0.3s ease;
    font-weight: 900;
}

.toggle-slider-mini .icon-off {
    opacity: 1;
}

.toggle-slider-mini .icon-on {
    opacity: 0;
}

.menu-toggle-option input:checked+.toggle-slider-mini {
    background-color: var(--primary-color);
}

.menu-toggle-option input:checked+.toggle-slider-mini .icon-off {
    opacity: 0;
}

.menu-toggle-option input:checked+.toggle-slider-mini .icon-on {
    opacity: 1;
}

.menu-toggle-option.disabled,
.menu-toggle-option.disabled .toggle-slider-mini {
    opacity: 0.5;
    cursor: not-allowed;
}

.menu-option-label {
    font-size: 0.78rem;
    color: var(--text-secondary);
    white-space: nowrap;
}

.toggle-switch-sm {
    position: relative;
    display: inline-block;
    width: 56px;
    height: 22px;
}

.toggle-switch-sm input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--border-medium);
    transition: 0.3s;
    border-radius: 20px;
    overflow: hidden;
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: var(--ds-surface);
    transition: 0.3s;
    border-radius: 50%;
    z-index: 2;
}

/* Icon styles - Hidden when under toggle button */
.toggle-slider .icon-on,
.toggle-slider .icon-off {
    position: absolute;
    font-size: 12px;
    color: var(--ds-on-media);
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
    z-index: 1;
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro" !important;
    font-weight: 900;
    display: inline-block;
}

/* Kapalı durumda - sol icon gizli (beyaz yuvarlağın altında), sağ icon görünür */
.toggle-slider .icon-off {
    left: 6px;
    opacity: 0;
    font-weight: 900;
    text-shadow: none;
}

.toggle-slider .icon-on {
    right: 6px;
    opacity: 1;
    font-weight: 900;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* When checked - Açık durumda - sol icon görünür, sağ icon gizli (beyaz yuvarlağın altında) */
.toggle-switch-sm input:checked+.toggle-slider {
    background-color: var(--primary-color);
}

.toggle-switch-sm input:checked+.toggle-slider:before {
    transform: translateX(34px);
}

.toggle-switch-sm input:checked+.toggle-slider .icon-off {
    opacity: 1;
    font-weight: 900;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.toggle-switch-sm input:checked+.toggle-slider .icon-on {
    opacity: 0;
    font-weight: 900;
    text-shadow: none;
}

/* Disabled Toggle State */
.toggle-switch-sm.toggle-disabled {
    pointer-events: none !important;
}

.toggle-switch-sm.toggle-disabled .toggle-slider {
    cursor: not-allowed !important;
    background-color: rgba(120, 120, 120, 0.35) !important;
    opacity: 0.65 !important;
}

.toggle-switch-sm.toggle-disabled .toggle-slider:hover {
    cursor: not-allowed !important;
}

.toggle-switch-sm.toggle-disabled .toggle-slider:before {
    background-color: rgba(140, 140, 140, 0.85) !important;
    opacity: 0.75 !important;
}

.toggle-switch-sm.toggle-disabled .toggle-slider .icon-on,
.toggle-switch-sm.toggle-disabled .toggle-slider .icon-off {
    opacity: 0.65 !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Dark mode disabled toggle */
.dark-mode .toggle-switch-sm.toggle-disabled .toggle-slider {
    background-color: rgba(80, 80, 80, 0.4) !important;
}

.dark-mode .toggle-switch-sm.toggle-disabled .toggle-slider:before {
    background-color: rgba(110, 110, 110, 0.8) !important;
}

/* Dark mode fade effects */
.dark-mode .uploaded-files-scroll-area.has-many-files::before {
    background: linear-gradient(to right, var(--bg-primary), transparent);
}

.dark-mode .uploaded-files-scroll-area.has-many-files::after {
    background: linear-gradient(to left, var(--bg-primary), transparent);
}

/* Reference Indicator Styles */
.generation-btn.has-reference {
    position: relative;
    border-color: var(--success-color);
    background: rgba(var(--ds-ok-rgb), 0.1);
}

.reference-indicator {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid var(--success-color);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    z-index: 10;
}

/* Model selector removed - using Context Max by default */

/* Dark mode specific overrides for generation container */
.dark-mode .generation-container {
    background: linear-gradient(135deg, var(--ds-surface-2) 0%, var(--ds-surface) 100%);
}

.dark-mode .generation-prompt-input {
    background: var(--ds-surface-2);
    border-color: var(--ds-line);
}

.dark-mode .generation-prompt-input:focus {
    background: var(--ds-surface-2);
}

.dark-mode .generation-btn {
    background: var(--ds-surface-2);
    border-color: var(--ds-line);
}

.dark-mode .generation-btn:hover {
    background: var(--ds-surface-2);
}

/* Dark mode specific overrides for generation container */
.container {
    background-color: var(--ds-accent);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}

.container h2 {
    color: var(--ds-accent-ink);
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0;
}

/* Tailwind-like utility classes */
.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.justify-between {
    justify-content: space-between;
}

.space-x-2>*+* {
    margin-left: 0.5rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

.ml-4 {
    margin-left: 1rem;
}

.text-white {
    color: var(--ds-on-media);
}

.text-gray-400 {
    color: var(--ds-muted);
}

.text-gray-300 {
    color: var(--ds-muted);
}

.text-sm {
    font-size: 0.875rem;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.text-lg {
    font-size: 1.125rem;
}

/* Custom input styles */
.w-full {
    width: 100%;
}

.bg-\[\#1e2337\] {
    background-color: var(--ds-accent);
}

.border {
    border-width: 1px;
}

.border-gray-600 {
    border-color: var(--ds-line);
}

.rounded-lg {
    border-radius: 0.5rem;
}

.p-3 {
    padding: 0.75rem;
}

.placeholder-gray-500::placeholder {
    color: var(--ds-ink-2);
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.focus\:ring-2:focus {
    box-shadow: 0 0 0 2px var(--primary-color);
}

.focus\:ring-indigo-500:focus {
    box-shadow: 0 0 0 2px var(--primary-color);
}

/* Button styles */
.bg-\[\#373c52\] {
    background-color: var(--ds-accent);
}

.p-2 {
    padding: 0.5rem;
}

.hover\:bg-gray-600:hover {
    background-color: var(--ds-line-strong);
}

.bg-indigo-600 {
    background-color: var(--primary-color);
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.rounded-l-lg {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}

.rounded-r-lg {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.hover\:bg-indigo-700:hover {
    background-color: var(--primary-dark);
}

/* Switch styles (already defined in design-code.txt) */
.switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--ds-line-strong);
    transition: .4s;
    border-radius: 20px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 2px;
    bottom: 2px;
    background-color: var(--ds-surface);
    transition: .4s;
    border-radius: 50%;
}

input:checked+.slider {
    background-color: var(--primary-color);
}

input:checked+.slider:before {
    transform: translateX(20px);
}

.advanced-styles-card .expandable-section {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.style-options-grid {
    display: grid;
    gap: 4px;
    padding: 0;
}

.expandable-section {
    border: 1px solid var(--border-light);
    border-radius: 18px;
    background: var(--bg-elevated);
    overflow: hidden;
    transition: all var(--transition-normal);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
}

.expandable-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border: none;
    cursor: pointer;
    color: var(--text-primary);
    font-weight: 600;
    font-size: 0.875rem;
    transition: all var(--transition-fast);
    border-radius: 18px 18px 0 0;
    min-height: 40px;
}

.expandable-header:hover {
    background: var(--bg-secondary);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.expandable-header.active {
    background: var(--bg-tertiary);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.expandable-header i {
    font-size: 1rem;
    color: var(--primary-color);
}

.expandable-header span {
    flex: 1;
    text-align: left;
    margin: 0 var(--spacing-md);
}

.expand-icon {
    transition: transform var(--transition-normal);
}

.expandable-header.active .expand-icon {
    transform: rotate(180deg);
}

.expandable-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-normal), padding var(--transition-normal);
    background: var(--bg-primary);
    border: none;
    border-radius: 0 0 12px 12px;
}

.expandable-content.expanded {
    max-height: 800px;
    padding: 8px 12px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 0 0 18px 18px;
}

.style-category-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid var(--border-light);
}

.style-category-group:last-child {
    border-bottom: none;
}

.style-category-group label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0;
    display: block;
    min-width: 140px;
    flex-shrink: 0;
}

.style-category-group .select-input {
    font-size: 0.875rem;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    border: 1px solid var(--border-light);
    border-radius: 18px;
    transition: all var(--transition-fast);
    padding: 8px 12px;
    height: 36px;
    flex: 1;
    margin-left: 12px;
    color: var(--text-primary);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.style-category-group .select-input:hover {
    border-color: var(--primary-color);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.style-category-group .select-input:focus {
    border-color: var(--primary-color);
    background: var(--bg-primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
    outline: none;
}

/* Form Controls */
.select-input,
.number-input,
.text-input {
    width: 100%;
    padding: 6px var(--spacing-sm);
    border: 1px solid var(--border-medium);
    border-radius: 17px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.8125rem;
    transition: border-color var(--transition-fast);
    height: 34px;
}

.select-input:focus,
.number-input:focus,
.text-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
}

/* Buttons */
.btn-primary,
.btn-secondary,
.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 24px;
    border: none;
    border-radius: 24px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s ease;
    text-decoration: none;
    font-size: 0.9375rem;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 12px rgba(var(--primary-color-rgb), 0.3);
    border-radius: 24px;
    font-weight: 700;
    font-size: 0.9375rem;
}

.btn-primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(var(--primary-color-rgb), 0.4);
}

.btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 2px solid var(--border-light);
    border-radius: 24px;
    font-weight: 600;
    font-size: 0.875rem;
}

.btn-secondary:hover:not(:disabled) {
    background: var(--bg-tertiary);
    border-color: var(--primary-color);
}

.btn-icon {
    width: 48px;
    height: 48px;
    padding: 0;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border-radius: 50%;
    border: 2px solid var(--border-light);
    transition: all 0.25s ease;
}

.btn-icon:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--primary-color);
    transform: translateY(-1px);
}

.action-buttons {
    padding: var(--spacing-md);
    border-top: 1px solid var(--border-light);
    display: flex;
    gap: var(--spacing-sm);
}

/* Action Buttons Container - New design */
.action-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 8px;
    /* Scroll ile görünürlük için alt boşluk */
    flex-shrink: 0;
    /* Scroll sırasında küçülmesini engelle */
}

.btn-large {
    width: 100%;
    height: 38px;
    padding: 0 12px;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.btn-large i {
    font-size: 0.85rem;
}

/* Primary button large style */
.btn-primary.btn-large {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border: 1px solid var(--primary-color);
}

.btn-primary.btn-large:hover:not(:disabled) {
    background: rgba(var(--primary-color-rgb), 0.9);
    border-color: rgba(var(--primary-color-rgb), 0.9);
}

.btn-primary.btn-large:active:not(:disabled) {
    background: rgba(var(--primary-color-rgb), 0.8);
}

/* Secondary button large style */
.btn-secondary.btn-large {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-light);
}

.btn-secondary.btn-large:hover:not(:disabled) {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.btn-large:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Results */
.results-content {
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    height: 200px;
    max-height: 200px;
    overflow: hidden;
}

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 170px;
    text-align: center;
    width: 100%;
    gap: 6px;
}

.empty-icon {
    font-size: 2.5rem;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.empty-state h4 {
    color: var(--text-primary);
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.empty-state p {
    color: var(--text-muted);
    margin: 0;
    font-size: 0.75rem;
}

.results-grid {
    display: flex;
    gap: var(--spacing-lg);
    overflow-x: auto;
    overflow-y: hidden;
    padding: var(--spacing-sm) 0;
    width: 100%;
    height: 180px;
    max-height: 180px;
    align-items: center;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    user-select: none;
    /* Performance optimizations */
    will-change: scroll-position;
    backface-visibility: hidden;
    transform: translateZ(0);
    /* Custom scrollbar */
    scrollbar-width: thin;
    scrollbar-color: var(--border-medium) var(--bg-secondary);
}

.results-grid.grabbing {
    cursor: grabbing;
}

.results-grid::-webkit-scrollbar {
    height: 6px;
}

.results-grid::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: 3px;
}

.results-grid::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 3px;
}

.results-grid::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

.result-item {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 20px;
    overflow: hidden;
    transition: all var(--transition-fast);
    cursor: pointer;
    flex: 0 0 130px;
    width: 150px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    /* Performance optimizations */
    will-change: transform;
    backface-visibility: hidden;
    transform: translateZ(0);
}

.result-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.03);
    border-color: rgba(var(--primary-color-rgb), 0.5);
    transform: translateY(-1px);
}

.result-image {
    position: relative;
    width: 100%;
    height: 120px;
    overflow: hidden;
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
}

.model-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 5px 12px;
    border-radius: 0 20px 20px 0;
    background: rgba(0, 0, 0, 0.6);
    color: var(--ds-on-media);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: none;
    z-index: 3;
    border: none;
    box-shadow: none;
}

.light-mode .model-badge {
    background: rgba(var(--ds-media-glass-rgb), 0.85);
    color: var(--ds-on-media);
}

.dark-mode .model-badge {
    background: rgba(0, 0, 0, 0.65);
    color: var(--ds-ink);
}

.result-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--bg-secondary);
    display: block;
}

.result-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 8px;
    padding: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
}

.result-item:hover .result-overlay {
    pointer-events: all;
}

.result-item:hover .result-overlay,
.gallery-item:hover .result-overlay {
    opacity: 1;
}

.result-info {
    padding: var(--spacing-sm);
    text-align: center;
    background: var(--bg-primary);
}

.result-type {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary-color);
    margin: 0;
    line-height: 1.2;
}

.result-status {
    font-size: 0.7rem;
    color: var(--text-muted);
    display: none;
    line-height: 1.2;
}

/* New Results Header */
.results-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 12px 0;
    margin-bottom: 20px;
    gap: 8px;
}

.results-header .header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* Results Empty State - Aligned with left panel */
.results-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
    text-align: center;
    gap: 12px;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
}

.results-empty-state .empty-icon {
    font-size: 4rem;
    color: var(--text-muted);
    opacity: 0.5;
}

.results-empty-state h4 {
    color: var(--text-primary);
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
}

.results-empty-state p {
    color: var(--text-muted);
    margin: 0;
    font-size: 0.95rem;
}

/* Results Viewer */
.results-viewer {
    width: 100%;
    height: 100%;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--border-medium) transparent;
    pointer-events: auto;
    display: flex;
    flex-direction: column;
}

/* Carousel aktifken results-viewer üst hizalı olsun */
.results-viewer:has(.carousel-view:not([style*="display: none"])) {
    justify-content: flex-start;
    overflow-y: hidden;
}

/* Grid aktifken results-viewer scroll edilebilir olsun */
.results-viewer:has(.grid-view:not([style*="display: none"])) {
    justify-content: flex-start;
    overflow-y: auto;
}

.results-viewer::-webkit-scrollbar {
    width: 8px;
}

.results-viewer::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: 4px;
}

.results-viewer::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 4px;
}

.results-viewer::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

/* Result images - simple direct styling */
.result-item img,
.grid-item img,
.gallery-item img {
    border-radius: 12px;
}

/* Remove aggressive overrides - let container clipping work */

/* Clean container styling for result items */
.result-item,
.grid-item,
.gallery-item {
    border-radius: 12px;
    overflow: hidden;
}

/* Carousel View */
.carousel-view {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: transparent;
    flex: 0 0 auto;
    overflow: hidden;
    padding-top: 0;
}

/* Inner frame to guarantee rounded clipping regardless of child content */
.carousel-frame {
    position: relative;
    width: fit-content;
    height: fit-content;
    max-width: 100%;
    max-height: 100%;
    border-radius: 16px;
    overflow: hidden;
    background: transparent;
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
}

.carousel-frame>img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 16px;
}

.result-social-format-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 7;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(var(--ds-media-glass-rgb), 0.74);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: var(--ds-on-media);
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* A social card shows the model's badge too, at the same corner: the format badge
   sits under it instead of over it (§0.10, §0.1 #11). */
.model-badge ~ .result-social-format-badge {
    top: 40px;
}

.result-social-format-badge span {
    color: rgba(255, 255, 255, 0.72);
    font-weight: 750;
}

.grid-item.result-social-card,
.carousel-frame.result-social-card {
    background: var(--bg-secondary);
}

.grid-item.result-social-card {
    display: flex;
    flex-direction: column;
    aspect-ratio: var(--result-social-aspect, 4 / 5);
}

.grid-item.result-social-card>img {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grid-item.result-social-vertical>img {
    aspect-ratio: 9 / 16;
}

.grid-item.result-social-feed>img {
    aspect-ratio: 4 / 5;
}

.carousel-frame.result-social-card {
    width: auto;
    aspect-ratio: var(--result-social-aspect, 4 / 5);
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

#carouselView .carousel-frame.result-social-card>img {
    flex: 1 1 auto;
    min-height: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
}

#carouselView .carousel-frame.result-social-vertical>img {
    aspect-ratio: 9 / 16;
}

#carouselView .carousel-frame.result-social-feed>img {
    aspect-ratio: 4 / 5;
}

.result-piece-scenes.piece-scenes {
    flex: 0 0 auto;
    width: 100%;
    justify-content: flex-start;
    gap: 4px;
    padding: 5px 6px;
    border-width: 0;
    border-top: 1px solid rgba(var(--ds-ink-rgb), 0.12);
    border-radius: 0;
    background: rgba(var(--ds-surface-rgb), 0.94);
    box-shadow: none;
}

.result-piece-scenes.piece-scenes .piece-scene-thumb {
    width: 26px;
    height: 26px;
    border-radius: 6px;
}

.result-piece-scenes.piece-scenes.is-compact .piece-scene-thumb {
    width: 22px;
    height: 22px;
}

.result-piece-scenes.piece-scenes.is-dense .piece-scene-thumb {
    width: 19px;
    height: 19px;
}

.carousel-container {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 480px;
    padding: 0 32px;
    flex-wrap: nowrap;
    background: transparent;
}

/* Single image container - minimal padding */
.carousel-container:has(.carousel-item:only-child) {
    justify-content: center;
    padding: 0;
    gap: 0;
}

/* Two images container - optimize spacing */
.carousel-container:has(.carousel-item:nth-child(2):last-child) {
    justify-content: center;
    padding: 0 32px;
    gap: 24px;
}

.carousel-item {
    position: relative;
    flex: 0 0 auto;
    max-width: calc(33.333% - 14px);
    min-width: 200px;
    height: auto;
    overflow: visible;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    transition: all 0.3s ease;
    background: transparent;
    /* No border-radius on container itself */
}

/* Single image container styling */
.carousel-container.single-image {
    padding: 0 !important;
    gap: 0 !important;
    height: clamp(540px, 82vh, 960px) !important;
    align-items: center !important;
}

.carousel-container.single-image .carousel-item {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: unset !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Single image - ensure rounded corners for frame and image */
.carousel-container.single-image .carousel-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: fit-content;
    max-width: 100%;
    max-height: 100%;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.carousel-container.single-image .carousel-frame>img {
    border-radius: 16px !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
}

/* Two images container styling */
.carousel-container.double-images {
    padding: 0 32px !important;
    gap: 24px !important;
    justify-content: center !important;
    height: clamp(500px, 78vh, 920px) !important;
}

.carousel-container.double-images .carousel-item {
    flex: 0 0 auto !important;
    max-width: calc(50% - 12px) !important;
    width: auto !important;
    height: 100% !important;
    min-width: unset !important;
    align-items: flex-start !important;
}

/* Two images - rounded corners handled by frame */
.carousel-container.double-images .carousel-frame {
    width: fit-content;
    height: fit-content;
    max-width: 100%;
    max-height: 100%;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.carousel-container.double-images .carousel-frame>img {
    border-radius: 16px !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

/* Three or more images - preserve original aspect ratio */
.carousel-container.multiple-images .carousel-item {
    flex: 0 0 auto;
    max-width: calc(33.333% - 18px);
    /* aspect-ratio removed to preserve original image proportions */
}

.carousel-container.multiple-images .carousel-frame {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-container.multiple-images .carousel-frame>img {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
}

#carouselView .carousel-container.social-results {
    align-items: flex-start;
}

#carouselView .carousel-container.social-results .carousel-item.result-social-card {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--social-result-card-height, clamp(320px, 58vh, 640px)) !important;
    align-items: stretch !important;
    justify-content: center !important;
}

#carouselView .carousel-container.social-results .carousel-frame.result-social-card {
    width: auto !important;
    min-width: 132px;
    max-width: min(var(--social-result-max-width, 420px), 560px) !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: var(--result-social-aspect, 4 / 5);
    align-items: stretch !important;
}

#carouselView .carousel-container.social-results .carousel-frame.result-social-card>img {
    flex: 1 1 auto;
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

#carouselView .carousel-container.social-results .result-piece-scenes.piece-scenes {
    min-height: 34px;
}

/* Overrides: Do not clip mini preview remove button */
.generation-layout .uploaded-file-item {
    overflow: visible !important;
    border-radius: 6px !important;
}

.generation-layout .uploaded-file-item img {
    border-radius: 4px !important;
}

.carousel-item:hover {
    transform: translateY(-2px);
    z-index: 10;
}

.carousel-item-overlay {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    background: transparent;
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 10px 14px;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    pointer-events: none;
    border-radius: 9999px;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}


.carousel-item:hover .carousel-item-overlay,
.carousel-frame:hover .carousel-item-overlay {
    opacity: 1;
    pointer-events: auto;
}

/* Carousel overlay buttons styling - Minimal Modern Design */
.carousel-item-overlay .btn-icon,
.grid-item-overlay .btn-icon,
.result-overlay .btn-icon,
.gallery-item .result-overlay .btn-icon {
    width: 30px;
    height: 30px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--ds-media-glass-rgb), 0.92);
    color: var(--text-primary);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.12);
    border-radius: 50%;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.2s ease;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(var(--ds-accent-rgb), 0.14);
    pointer-events: auto;
}

.carousel-item-overlay .btn-icon:hover,
.grid-item-overlay .btn-icon:hover,
.result-overlay .btn-icon:hover,
.gallery-item .result-overlay .btn-icon:hover {
    background: var(--ds-surface);
    color: var(--primary-color);
    border-color: rgba(var(--primary-color-rgb), 0.25);
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(var(--ds-accent-rgb), 0.18);
}

.carousel-item-overlay .btn-icon.create-collection-btn,
.grid-item-overlay .btn-icon.create-collection-btn {
    color: rgba(var(--accent-color-rgb), 0.96);
    border-color: rgba(var(--accent-color-rgb), 0.22);
    background: rgba(var(--accent-color-rgb), 0.12);
}

.carousel-item-overlay .btn-icon.create-collection-btn:hover,
.grid-item-overlay .btn-icon.create-collection-btn:hover {
    color: var(--ds-on-media);
    border-color: rgba(var(--accent-color-rgb), 0.34);
    background: rgba(var(--accent-color-rgb), 0.9);
}

.carousel-item-overlay .btn-icon.favorite-toggle-btn.active,
.grid-item-overlay .btn-icon.favorite-toggle-btn.active {
    color: rgba(var(--ds-warn-rgb), 0.98);
    border-color: rgba(var(--ds-warn-rgb), 0.24);
    background: rgba(var(--ds-warn-rgb), 0.12);
}

.carousel-item-overlay .btn-icon.compare-selection-btn,
.grid-item-overlay .btn-icon.compare-selection-btn {
    color: rgba(255, 255, 255, 0.95);
    border-color: rgba(var(--accent-color-rgb), 0.18);
    background: rgba(var(--accent-color-rgb), 0.1);
}

.carousel-item-overlay .btn-icon.color-tag-btn.active,
.grid-item-overlay .btn-icon.color-tag-btn.active {
    border-color: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.24);
    background: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.14);
    color: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.98);
}

.carousel-item-overlay .btn-icon i,
.grid-item-overlay .btn-icon i,
.result-overlay .btn-icon i,
.gallery-item .result-overlay .btn-icon i {
    font-size: 0.80rem;
    color: inherit;
}

.carousel-item-overlay .upscale-btn .badge-scale,
.grid-item-overlay .upscale-btn .badge-scale,
.result-overlay .upscale-btn .badge-scale,
.gallery-item .upscale-btn .badge-scale {
    font-size: 0.74rem;
    font-weight: 700;
    color: inherit;
}

.dark-mode .carousel-item-overlay .btn-icon,
.dark-mode .grid-item-overlay .btn-icon,
.dark-mode .result-overlay .btn-icon,
.dark-mode .gallery-item .result-overlay .btn-icon {
    background: rgba(var(--ds-surface-rgb), 0.94);
    color: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.dark-mode .carousel-item-overlay .btn-icon.create-collection-btn,
.dark-mode .grid-item-overlay .btn-icon.create-collection-btn {
    background: rgba(var(--accent-color-rgb), 0.16);
    border-color: rgba(var(--accent-color-rgb), 0.26);
    color: rgba(var(--ds-ink-rgb), 0.96);
}

.dark-mode .carousel-item-overlay .btn-icon.favorite-toggle-btn.active,
.dark-mode .grid-item-overlay .btn-icon.favorite-toggle-btn.active {
    background: rgba(var(--ds-warn-rgb), 0.16);
    border-color: rgba(var(--ds-warn-rgb), 0.26);
}

.dark-mode .carousel-item-overlay .btn-icon:hover,
.dark-mode .grid-item-overlay .btn-icon:hover,
.dark-mode .result-overlay .btn-icon:hover,
.dark-mode .gallery-item .result-overlay .btn-icon:hover {
    background: rgba(var(--ds-surface-rgb), 0.95);
    color: var(--ds-ink);
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.55);
}

.tag-amber {
    --creative-tag-rgb: 245, 158, 11;
}

.tag-coral {
    --creative-tag-rgb: 244, 114, 182;
}

.tag-mint {
    --creative-tag-rgb: 16, 185, 129;
}

.tag-sky {
    --creative-tag-rgb: 56, 189, 248;
}

.tag-orchid {
    --creative-tag-rgb: 167, 139, 250;
}

.creative-result-meta-badges {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    z-index: 3;
    pointer-events: none;
}

.creative-result-meta-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(var(--ds-media-glass-rgb), 0.68);
    box-shadow: 0 10px 20px rgba(var(--ds-accent-rgb), 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.creative-result-meta-badge.favorite {
    color: rgba(var(--ds-warn-rgb), 0.98);
}

.creative-result-meta-badge.color-tag {
    color: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.98);
    border-color: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.28);
    background: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.16);
}

.creative-result-meta-badge i {
    font-size: 0.72rem;
}

/* The mark strip (the owner's note 3, F2): star · five colours · clear, just above
   what opened it, in the context menu's look; no dialog. */
.creative-mark-strip {
    position: fixed;
    z-index: 10001;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 4px;
    background: var(--card-bg);
    border: 1px solid rgba(var(--cs-ink), 0.1);
    border-radius: 999px;
    box-shadow: var(--cs-menu-shadow);
    backdrop-filter: blur(16px);
}

.creative-mark-strip button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(var(--cs-ink), 0.7);
    font-size: 0.82rem;
    cursor: pointer;
}

.creative-mark-strip button:hover:not(:disabled) {
    background: rgba(var(--cs-ink), 0.08);
    color: rgb(var(--cs-ink));
}

.creative-mark-strip button:focus-visible {
    outline: 2px solid rgba(var(--accent-color-rgb), 0.7);
    outline-offset: 1px;
}

.creative-mark-strip button:disabled {
    opacity: 0.35;
    cursor: default;
}

.creative-mark-strip .creative-mark-star.active {
    color: var(--ds-accent);
}

.dark-mode .creative-mark-strip .creative-mark-star.active {
    color: rgba(var(--ds-warn-rgb), 0.98);
}

.creative-mark-dot::before {
    content: '';
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgb(var(--creative-tag-rgb));
}

.creative-mark-dot.active::before {
    box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 4px rgb(var(--creative-tag-rgb));
}

.creative-mark-sep {
    width: 1px;
    height: 18px;
    margin: 0 3px;
    background: rgba(var(--cs-ink), 0.12);
}

.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(var(--ds-media-glass-rgb), 0.95);
    border: 1px solid var(--border-light);
    color: var(--ds-on-media);
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 120;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    pointer-events: auto;
}

.carousel-nav:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.carousel-prev {
    left: 10px;
}

.carousel-next {
    right: 10px;
}

/* Hard fix: enforce rounded corners only in generation carousel */
#carouselView .carousel-item {
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
}

#carouselView .carousel-frame {
    border-radius: 16px !important;
    overflow: hidden !important;
    isolation: isolate;
    height: auto;
    max-height: 100%;
    background: transparent;
}

#carouselView .carousel-frame>img {
    border-radius: inherit !important;
    object-fit: contain !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 70vh !important;
    display: block;
}

#carouselView .carousel-item-overlay {
    border-radius: 16px !important;
}

/* Grid View */
.grid-view {
    display: block;
    width: 100%;
    height: 100%;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--border-medium) transparent;
}

/* Grid View Scrollbar Styling */
.grid-view::-webkit-scrollbar {
    width: 8px;
}

.grid-view::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 4px;
}

.grid-view::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 4px;
}

.grid-view::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

.grid-container {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
    height: auto;
    overflow: visible;
    padding: 4px 12px 20px 4px;
    align-items: flex-start;
    align-content: flex-start;
}

/* Dynamic Grid Columns */
.grid-container[data-columns="2"] .grid-item {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
}

.grid-container[data-columns="3"] .grid-item {
    flex: 0 0 calc(33.333% - 12px);
    max-width: calc(33.333% - 12px);
}

.grid-container[data-columns="4"] .grid-item {
    flex: 0 0 calc(25% - 12px);
    max-width: calc(25% - 12px);
}

.grid-container[data-columns="6"] .grid-item {
    flex: 0 0 calc(16.666% - 14px);
    max-width: calc(16.666% - 14px);
}

/* Grid Container Scrollbar Styling */
.grid-container::-webkit-scrollbar {
    width: 6px;
}

.grid-container::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 3px;
}

.grid-container::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 3px;
}

.grid-container::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}


.grid-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    flex: 0 0 calc(33.333% - 12px);
    max-width: calc(33.333% - 12px);
    /* aspect-ratio removed to preserve original image proportions */
    background: var(--bg-secondary);
}

/* 6-column storyboard mode - compact items */
.grid-container[data-columns="6"] .grid-item {
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.grid-container[data-columns="6"] .grid-item .image-number {
    font-size: 0.6rem;
    padding: 2px 5px;
}

.grid-item:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    z-index: 10;
}

/* Edit mode selected state */
.grid-item.edit-selected,
.carousel-item.edit-selected .carousel-frame {
    outline: 3px solid var(--primary-color);
    outline-offset: 2px;
    z-index: 20;
}

.grid-item.edit-selected::before,
.carousel-item.edit-selected .carousel-frame::before {
    content: '✓';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    background: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ds-accent-ink);
    font-size: 14px;
    font-weight: bold;
    z-index: 21;
}

.grid-item img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 12px;
    background: var(--bg-secondary);
}

.grid-container.social-results {
    align-items: flex-start;
    align-content: flex-start;
}

.grid-container.social-results[data-columns] .grid-item.result-social-card {
    flex: 0 0 auto;
    width: calc(var(--social-grid-card-height, 320px) * var(--result-social-aspect, 4 / 5));
    max-width: min(100%, 380px);
    height: auto;
}

.grid-container.social-results[data-columns] .grid-item.result-social-vertical {
    max-width: min(100%, 240px);
}

.grid-container.social-results[data-columns] .grid-item.result-social-feed {
    max-width: min(100%, 380px);
}

.grid-container.social-results .grid-item.result-social-card>img {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: var(--social-grid-card-height, 320px);
    object-fit: cover;
}

.grid-item-overlay {
    position: absolute;
    inset: 0;
    background: transparent;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    align-content: flex-end;
    padding: 12px;
    gap: 6px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.grid-item:hover .grid-item-overlay {
    opacity: 1;
}

/* Fullscreen Modal — a dark stage in every palette, as photo viewers are: every control in it is
   drawn for one (white icons, dark glass captions). It took the page's ground, so in the light
   palettes its close, arrows and edit tools were white on near-white (22 Oct contrast sweep). */
.fullscreen-modal {
    position: fixed;
    inset: 0;
    background: rgb(var(--ds-media-glass-rgb));
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    animation: fadeIn 0.3s ease;
    overflow: hidden;
    /* Prevent any scrolling in fullscreen mode */
}

/* Remove extra blur layer - already applied on main modal */
.fullscreen-modal::before {
    content: none;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fullscreen-content {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100vh;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    touch-action: none;
    padding: 60px 80px 140px;
    /* Üst: close button, yan: nav buttons, alt: action bar */
    overflow: visible;
    box-sizing: border-box;
}

.fullscreen-content.is-zoomed {
    cursor: grab;
}

.fullscreen-image-area {
    position: relative;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    overflow: visible;
    background: transparent;
    touch-action: none;
    flex: 1 1 auto;
    padding: 0;
}


.dark-mode .fullscreen-image-area {
    background: transparent;
}

.fullscreen-img-wrapper {
    position: relative;
    display: inline-block;
    max-width: 100%;
    vertical-align: middle;
    line-height: 0;
}

.fullscreen-content img {
    width: auto;
    height: auto;
    max-width: 100%;
    /* Account for action bar (52px) + bottom spacing (32px) + visual gap (20px) */
    max-height: calc(100vh - 120px);
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    transition: transform 0.12s ease-out;
    cursor: zoom-in;
    user-select: none;
}

.fullscreen-content.has-prompt-info {
    padding-bottom: 220px;
}

.fullscreen-content.has-prompt-info img {
    max-height: calc(100vh - 240px);
}

.fullscreen-img-wrapper.fullscreen-social-card {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: auto;
    height: min(76vh, calc(100vh - 172px));
    max-width: calc(100vw - 160px);
    max-height: calc(100vh - 172px);
    aspect-ratio: var(--fullscreen-social-aspect, 4 / 5);
}

.fullscreen-content.has-prompt-info .fullscreen-img-wrapper.fullscreen-social-card {
    height: min(62vh, calc(100vh - 292px));
    max-height: calc(100vh - 292px);
}

.fullscreen-img-wrapper.fullscreen-social-card > #fullscreenImg {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover;
}

@media (max-width: 768px) {
    .fullscreen-img-wrapper.fullscreen-social-card {
        height: min(72vh, calc(100vh - 150px));
        max-width: calc(100vw - 32px);
    }

    .fullscreen-content.has-prompt-info .fullscreen-img-wrapper.fullscreen-social-card {
        height: min(56vh, calc(100vh - 260px));
    }
}

.fullscreen-actions {
    position: fixed;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 8px;
    background: var(--ds-surface);
    border-radius: 9999px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 10002;
    height: 52px;
    /* Fixed height for consistency */
}

/* Buttons inside toolbar - Transparent Minimal */
.fullscreen-actions .btn-icon {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 50%;
    box-shadow: none;
    color: var(--ds-muted);
    /* Zinc 400 */
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.fullscreen-actions .btn-icon:hover {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: var(--ds-ink);
    /* Zinc 100 */
    transform: none;
    box-shadow: none;
}

.fullscreen-actions .btn-icon i {
    font-size: 1rem;
    color: inherit;
}

/* HERO: Edit Button - Full Orange Circle */
.fullscreen-actions .edit-action {
    background: var(--ds-accent) !important;
    color: var(--ds-accent-ink) !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 4px;
    /* Distinct spacing */
    box-shadow: 0 4px 12px rgba(var(--ds-accent-rgb), 0.3);
}

.fullscreen-actions .edit-action:hover {
    background: var(--ds-accent) !important;
    box-shadow: 0 6px 16px rgba(var(--ds-accent-rgb), 0.5);
    transform: scale(1.05) !important;
}

.fullscreen-actions .edit-action i {
    font-size: 1.1rem;
}

.fullscreen-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 6px;
}

.fullscreen-actions .upscale-btn {
    width: 36px;
    height: 36px;
    background: rgba(var(--ds-ink-rgb), 0.06) !important;
    border: none !important;
    border-radius: 50%;
    box-shadow: none !important;
    color: var(--ds-on-media);
}

.fullscreen-actions .upscale-btn:hover {
    background: rgba(255, 255, 255, 0.15) !important;
}

.fullscreen-actions .upscale-btn .badge-scale {
    font-size: 0.8rem;
    font-weight: 700;
    color: inherit;
}

/* Fullscreen Edit Panel - Deprecated, keeping for backward compat */
.fullscreen-edit-panel {
    display: none !important;
}

/* Fullscreen Inline Edit - Inside action bar */
.fullscreen-normal-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fullscreen-inline-edit {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.fullscreen-inline-input {
    flex: 1;
    min-width: 280px;
    background: rgba(var(--ds-ink-rgb), 0.1);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.15);
    border-radius: 9999px;
    padding: 8px 16px;
    color: var(--ds-ink);
    font-size: 13px;
    outline: none;
    transition: all 0.2s ease;
}

.fullscreen-inline-input::placeholder {
    color: rgba(var(--ds-ink-rgb), 0.4);
}

.fullscreen-inline-input:focus {
    border-color: var(--primary-color);
    background: rgba(var(--ds-ink-rgb), 0.12);
}

.fullscreen-inline-send,
.fullscreen-inline-cancel {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.fullscreen-inline-send {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.fullscreen-inline-send:hover {
    background: var(--primary-hover);
    transform: scale(1.05);
}

.fullscreen-inline-cancel {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: rgba(var(--ds-ink-rgb), 0.7);
}

.fullscreen-inline-cancel:hover {
    background: rgba(var(--ds-ink-rgb), 0.2);
    color: var(--ds-ink);
}

.fullscreen-edit-send:hover {
    background: var(--primary-hover);
    transform: scale(1.08);
}

.fullscreen-edit-cancel {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: rgba(var(--ds-ink-rgb), 0.7);
}

.fullscreen-edit-cancel:hover {
    background: rgba(var(--ds-danger-rgb), 0.3);
    color: var(--ds-danger);
}

.fullscreen-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10001;
}

.fullscreen-close:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: rotate(90deg);
}

.fullscreen-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10001;
}

.fullscreen-nav:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-50%) scale(1.1);
}

.fullscreen-prev {
    left: 20px;
}

.fullscreen-next {
    right: 20px;
}

.fullscreen-info {
    position: absolute;
    /* Inside image, at bottom */
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 14px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 9999px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.75rem;
    font-weight: 500;
    z-index: 10;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
    pointer-events: none;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.fullscreen-info.prompt-info {
    position: fixed;
    bottom: 96px;
    left: 50%;
    width: min(860px, calc(100vw - 56px));
    max-height: min(24vh, 180px);
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(var(--ds-media-glass-rgb), 0.9);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.55);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
    overflow-y: auto;
    pointer-events: auto;
    touch-action: auto;
    z-index: 10002;
}

.fullscreen-info.prompt-info .fs-prompt-title {
    display: block;
    margin-bottom: 6px;
    color: var(--primary-color);
    font-weight: 800;
    line-height: 1.2;
}

.fullscreen-info.prompt-info .fs-prompt-body {
    display: block;
    color: rgba(255, 255, 255, 0.82);
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .fullscreen-content.has-prompt-info {
        padding-bottom: 200px;
    }

    .fullscreen-content.has-prompt-info img {
        max-height: calc(100vh - 230px);
    }

    .fullscreen-info.prompt-info {
        bottom: 88px;
        width: calc(100vw - 28px);
        max-height: min(30vh, 180px);
        padding: 10px 12px;
        font-size: 0.72rem;
        border-radius: 14px;
    }
}

.fullscreen-zoom-indicator {
    position: absolute;
    bottom: 28px;
    right: 28px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.7);
    color: var(--ds-on-media);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    z-index: 10002;
}

.fullscreen-zoom-indicator.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Dark mode adjustments */
.dark-mode .carousel-nav {
    background: rgba(0, 0, 0, 0.7);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--ds-ink);
}

.dark-mode .carousel-nav:hover {
    background: var(--primary-color);
}

.dark-mode .grid-item {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.dark-mode .grid-item:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

/* Preview Panel - Keep for backwards compatibility */
.preview-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin-top: 0;
    height: auto;
    min-height: 0;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.preview-panel:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    border-color: rgba(var(--primary-color-rgb), 0.3);
}

.preview-content {
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    border-radius: 16px;
}

.preview-image {
    position: relative;
    margin-bottom: var(--spacing-lg);
    border-radius: var(--border-radius);
    overflow: hidden;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-height: 300px;
    padding: var(--spacing-lg);
}

/* Görsel yüklendiğinde arka plan sınıfı */
.preview-image.has-image {
    background: var(--bg-secondary);
}

.preview-image img {
    width: auto;
    height: auto;
    max-width: calc(100% - 2 * var(--spacing-lg));
    max-height: calc(100% - 2 * var(--spacing-lg));
    display: block;
    object-fit: contain;
    border-radius: var(--border-radius-sm);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: zoom-in;
    transition: transform var(--transition-normal);
}

.preview-image.zoomed img {
    cursor: zoom-out;
    transform: scale(1.5);
    max-width: none;
    max-height: none;
}

.preview-overlay {
    position: absolute;
    top: var(--spacing-sm);
    right: var(--spacing-sm);
}

.preview-actions {
    display: flex;
    gap: var(--spacing-xs);
}

.preview-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xs);
    background: var(--bg-secondary);
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    margin-top: auto;
    flex-shrink: 0;
}

.info-item {
    text-align: center;
}

.info-item .label {
    display: block;
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-xs);
}

.info-item .value {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9rem;
}

/* Hide close button for preview panel */
#previewPanel #closePreview {
    display: none;
}

/* Preview empty state */
.preview-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    text-align: center;
    padding: var(--spacing-xl);
}

.preview-empty-state .empty-icon {
    font-size: 4rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-lg);
}

.preview-empty-state h4 {
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
}

.preview-empty-state p {
    color: var(--text-muted);
}

/* Gallery - toolbar removed, actions now in header */
.gallery-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-shrink: 0;
    margin-left: auto;
}

.gallery-filters {
    margin-bottom: var(--spacing-lg);
    width: 100%;
    position: relative;
}

.filter-container {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.main-filters {
    display: flex;
    gap: var(--spacing-sm);
    flex-shrink: 0;
}

.category-filters-wrapper {
    position: relative;
    flex: 1;
    overflow: hidden;
}

.filter-scroll-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    /* Hide scrollbar for all browsers */
    overflow-y: hidden;
    height: 40px;
    /* Fixed height to prevent scrollbar */
    /* Additional properties to ensure no scrollbar */
    position: relative;
}

/* Force hide scrollbar in all browsers */
.filter-scroll-container::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    background: transparent !important;
}

.filter-scroll-container::-webkit-scrollbar-track {
    display: none !important;
}

.filter-scroll-container::-webkit-scrollbar-thumb {
    display: none !important;
}

.category-filters {
    display: flex;
    gap: var(--spacing-sm);
    padding: 0 30px;
    min-width: max-content;
}

.scroll-indicator {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-medium);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: all var(--transition-fast);
    box-shadow: var(--shadow-sm);
}

.scroll-indicator:hover {
    background: var(--bg-secondary);
    border-color: var(--primary-color);
}

.scroll-indicator.left {
    left: 0;
}

.scroll-indicator.right {
    right: 0;
}

.scroll-indicator.disabled {
    opacity: 0;
    pointer-events: none;
}

.filter-btn {
    padding: var(--spacing-sm) var(--spacing-lg);
    border: none;
    background: rgba(128, 128, 128, 0.15);
    color: var(--text-secondary);
    border-radius: 16px;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
    flex-shrink: 0;
}

.filter-btn:hover {
    background: rgba(128, 128, 128, 0.25);
    color: var(--primary-color);
}

.filter-btn.active {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    color: var(--ds-accent-ink);
    border: none;
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
}

.divider {
    width: 1px;
    height: 24px;
    background: var(--border-medium);
    margin: 0 var(--spacing-sm);
    flex-shrink: 0;
}

.search-box {
    position: relative;
    min-width: 250px;
    width: 300px;
}

.search-box i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
    z-index: 10;
    font-size: 14px;
}

.search-box input {
    width: 100%;
    padding: 10px 16px 10px 36px !important;
    border: none;
    border-radius: 20px;
    background: rgba(128, 128, 128, 0.15);
    color: var(--text-primary);
    transition: all var(--transition-fast);
    font-size: 14px;
    box-sizing: border-box;
}

.search-box input::placeholder {
    color: var(--text-muted);
    opacity: 0.7;
}

.search-box input:hover {
    background: rgba(128, 128, 128, 0.2);
}

.search-box input:focus {
    outline: none;
    background: rgba(128, 128, 128, 0.25);
    box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.2);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    width: 100%;
    max-width: 100%;
    padding: 0;
}

/* History */
.history-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: var(--spacing-lg);
}

.history-container {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 16px;
    padding: var(--spacing-lg);
    min-height: 400px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
}

.history-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.stat-card {
    background: rgba(255, 255, 255, 0.03);
    border: none;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: all 0.2s ease;
    min-width: 0;
}

.stat-card:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
}

.stat-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ds-accent-ink);
    font-size: 1.125rem;
    box-shadow: 0 2px 6px rgba(var(--primary-color-rgb), 0.2);
}

.stat-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    flex: 1;
}

.stat-content h4 {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
    word-break: break-word;
}

.stat-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
    margin-top: 2px;
}

/* Settings */
.settings-content {
    max-width: 600px;
}

.settings-section {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 16px;
    padding: var(--spacing-xl);
    margin-bottom: var(--spacing-lg);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.settings-section:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    border-color: var(--primary-color);
}

.settings-section h3 {
    margin-bottom: var(--spacing-lg);
    color: var(--text-primary);
}

.setting-item {
    margin-bottom: var(--spacing-lg);
}

.setting-item:last-child {
    margin-bottom: 0;
}

.setting-item label {
    display: block;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
}

.setting-item small {
    display: block;
    color: var(--text-muted);
    font-size: 0.875rem;
    margin-top: var(--spacing-xs);
}

.input-with-icon {
    position: relative;
}

.input-with-icon input {
    width: 100%;
    padding-right: 48px;
}

.toggle-visibility {
    position: absolute;
    right: var(--spacing-sm);
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--spacing-sm);
}

.toggle-visibility:hover {
    color: var(--text-primary);
}

/* Toggle Switch */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-switch label {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--border-medium);
    border-radius: 24px;
    transition: background-color var(--transition-fast);
}

.toggle-switch label:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: var(--ds-surface);
    border-radius: 50%;
    transition: transform var(--transition-fast);
}

.toggle-switch input:checked+label {
    background-color: var(--primary-color);
}

.toggle-switch input:checked+label:before {
    transform: translateX(20px);
}

/* Notifications - Modern Minimal Toast Style */
.notification-container {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2000;
    display: flex;
    flex-direction: column-reverse;
    gap: 12px;
    pointer-events: none;
    max-width: 380px !important;
}

.notification {
    background: rgba(var(--ds-surface-rgb), 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.05);
    border-radius: 8px;
    padding: 8px 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    min-width: 200px;
    max-width: 320px;
    animation: slideUp 0.2s ease;
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(var(--ds-ink-rgb), 0.9);
    font-size: 0.8rem;
    position: relative;
    overflow: hidden;
}

.notification::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
}

.notification.success::before {
    background: linear-gradient(180deg, var(--ds-ok) 0%, var(--ds-ok) 100%);
}

.notification.error::before {
    background: linear-gradient(180deg, var(--ds-danger) 0%, var(--ds-danger) 100%);
}

.notification.warning::before {
    background: linear-gradient(180deg, var(--ds-warn) 0%, var(--ds-warn) 100%);
}

.notification.info::before {
    background: linear-gradient(180deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

.notification-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
}

.notification.success .notification-icon {
    color: var(--ds-ok);
}

.notification.error .notification-icon {
    color: var(--ds-danger);
}

.notification.warning .notification-icon {
    color: var(--ds-warn);
}

.notification.info .notification-icon {
    color: var(--primary-color);
}

.notification-message {
    flex: 1;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: 0.2px;
}

.notification-close {
    width: 14px;
    height: 14px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    transition: all 0.15s ease;
    padding: 0;
    font-size: 10px;
    margin-left: 4px;
    flex-shrink: 0;
}

.notification-close:hover {
    color: rgba(255, 255, 255, 0.6);
    transform: scale(1.1);
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

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

.notification.fade-out {
    animation: fadeOut 0.3s ease forwards;
}

@keyframes fadeOut {
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}

/* Loading Overlay - FIXED TO START HIDDEN */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(var(--ds-bg-rgb), 0.85);
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    display: none;
    /* START HIDDEN - JavaScript will control visibility */
    align-items: center;
    justify-content: center;
    z-index: 3000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* When modal is active but NOT minimized */
.loading-overlay.active:not(.minimized) {
    display: flex;
    opacity: 1;
    visibility: visible;
    animation: fadeIn 0.3s ease;
}

/* When modal is minimized - hide it completely */
.loading-overlay.minimized {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.loading-content {
    background: linear-gradient(135deg, var(--ds-surface) 0%, var(--ds-surface-2) 100%);
    border: 1px solid rgba(var(--primary-color-rgb), 0.2);
    border-radius: 24px;
    padding: 48px;
    text-align: center;
    max-width: 600px;
    width: 90%;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5),
        0 0 100px rgba(var(--primary-color-rgb), 0.1);
    position: relative;
    overflow: hidden;
}

.loading-content::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(var(--primary-color-rgb), 0.05) 0%, transparent 70%);
    animation: rotate 20s linear infinite;
}

/* Progress Logo */
.progress-logo {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 32px;
}

.logo-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: conic-gradient(from 0deg,
            var(--primary-color) 0deg,
            var(--secondary-color) 120deg,
            transparent 180deg);
    animation: rotate 2s linear infinite;
}

.logo-ring-inner {
    position: absolute;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    background: var(--bg-elevated);
    border-radius: 50%;
}

.logo-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
}

/* Progress Title */
.progress-title {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 40px;
    color: var(--text-primary);
    letter-spacing: -0.5px;
}

/* Progress Steps */
.progress-steps {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    position: relative;
    z-index: 1;
}

.progress-steps::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 10%;
    right: 10%;
    height: 2px;
    background: var(--border-light);
    z-index: -1;
}

.progress-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0.5;
    transition: all 0.3s ease;
}

.progress-step.active {
    opacity: 1;
}

.progress-step.completed {
    opacity: 1;
}

.step-icon {
    width: 40px;
    height: 40px;
    background: var(--bg-secondary);
    border: 2px solid var(--border-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--text-secondary);
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.progress-step.active .step-icon {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(var(--primary-color-rgb), 0.5);
}

.progress-step.completed .step-icon {
    background: var(--success-color);
    border-color: var(--success-color);
    color: var(--ds-on-media);
}

.progress-step.completed .step-icon i {
    display: none;
}

.progress-step.completed .step-icon::after {
    content: '✓';
    font-size: 20px;
    font-weight: bold;
}

.step-info {
    margin-top: 8px;
    text-align: center;
}

.step-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.step-status {
    font-size: 10px;
    color: var(--text-secondary);
}

.progress-step.active .step-status {
    color: var(--primary-color);
    font-weight: 600;
}

.progress-step.completed .step-status {
    color: var(--success-color);
}

/* Progress Container */
.progress-container {
    position: relative;
    z-index: 1;
}

.progress-bar-wrapper {
    position: relative;
    margin-bottom: 24px;
}

.progress-bar {
    width: 100%;
    height: 12px;
    background: rgba(142, 142, 147, 0.1);
    border-radius: 100px;
    overflow: hidden;
    position: relative;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 100px;
    width: 0%;
    transition: width 0.5s ease;
    position: relative;
    overflow: hidden;
}

.progress-glow {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    animation: progressGlow 2s linear infinite;
}

@keyframes progressGlow {
    0% {
        transform: translateX(-100px);
    }

    100% {
        transform: translateX(100px);
    }
}

.progress-percentage {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    background: var(--bg-elevated);
    padding: 2px 8px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Progress Status */
.progress-status {
    margin-bottom: 32px;
}

.status-message {
    font-size: 16px;
    color: var(--text-primary);
    margin-bottom: 8px;
    font-weight: 500;
}

.status-details {
    font-size: 13px;
    color: var(--text-secondary);
    min-height: 20px;
    opacity: 0.8;
}

/* Time Info */
.progress-time-info {
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 20px;
    background: rgba(142, 142, 147, 0.05);
    border-radius: 12px;
    margin-bottom: 24px;
}

.time-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.time-item i {
    font-size: 16px;
    color: var(--primary-color);
    margin-bottom: 4px;
}

.time-item span {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.time-item label {
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


/* Animations */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Animations */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

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

/* Responsive Design */
@media (min-width: 1600px) {
    .generation-layout {
        max-width: 100%;
        margin: 0;
    }

    .gallery-grid {
        max-width: 100%;
    }
}

@media (max-width: 1600px) {
    .gallery-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 1400px) {
    .generation-layout {
        grid-template-columns: 350px 1fr;
        gap: var(--spacing-md);
    }

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1200px) {
    :root {
        --sidebar-width: 240px;
    }

    .generation-layout {
        grid-template-columns: 320px 1fr;
    }
}

@media (max-width: 992px) {
    .generation-layout {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
        height: auto;
    }

    /* Its height follows its pictures here, and `contain: layout` made it the box the fixed bar
       and viewer are placed in: with a few pictures the bar sat mid-screen, clipped at its sides
       (25 Oct). The bar is anchored to the screen's bottom, as its own rules say. */
    .generation-layout {
        contain: none;
    }

    .input-panel {
        max-width: 500px;
        margin: 0 auto;
    }

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    :root {
        --header-height: 56px;
        --spacing-lg: 16px;
        --spacing-xl: 24px;
    }

    /* Hide model settings on mobile to save space */
    .generation-model-settings {
        display: none;
    }

    /* Mobile Navigation */
    .sidebar {
        position: fixed;
        transform: translateX(-100%);
        transition: transform var(--transition-normal);
        z-index: 1001;
        box-shadow: var(--shadow-xl);
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1000;
        display: none;
    }

    .sidebar-backdrop.active {
        display: block;
    }

    .mobile-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border: none;
        background: none;
        color: var(--text-primary);
        font-size: 1.25rem;
        cursor: pointer;
    }

    .main-content {
        margin-left: 0;
        padding: var(--spacing-md);
    }

    .content-header h1 {
        font-size: 1.5rem;
    }

    .header-content {
        padding: 0 var(--spacing-md);
    }

    .logo span:not(.version-badge) {
        display: none;
    }

    .header-controls {
        gap: var(--spacing-sm);
    }

    /* Forms and inputs */
    .settings-grid {
        gap: var(--spacing-md);
        padding: var(--spacing-md);
    }

    .action-buttons {
        flex-direction: column;
        padding: var(--spacing-md);
    }

    .action-buttons .btn-primary,
    .action-buttons .btn-secondary {
        width: 100%;
    }

    /* Results grid */
    .results-grid {
        gap: var(--spacing-sm);
    }

    .result-item {
        flex: 0 0 160px;
        width: 160px;
    }

    .result-image {
        height: 130px;
    }

    /* Image count selector mobile adjustments */
    .image-count-selectors {
        gap: var(--spacing-md);
    }

    .selector-controls {
        padding: 6px;
        gap: var(--spacing-sm);
    }

    .count-btn {
        width: 28px;
        height: 28px;
    }

    .count-value {
        min-width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }

    /* Gallery - responsive adjustments */
    .content-header {
        flex-wrap: wrap;
    }

    .gallery-actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: 0;
        margin-top: var(--spacing-sm);
    }

    .search-box {
        flex: 1;
        max-width: none;
        min-width: 200px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-md);
    }

    /* Modal adjustments */
    .modal-content {
        max-width: 95%;
        margin: var(--spacing-md);
    }

    /* Stats grid - keep 4 columns on tablet too */
    .history-stats {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
    }

    .stat-card {
        padding: 12px 6px;
        flex-direction: column;
        text-align: center;
    }

    .stat-content {
        align-items: center;
        text-align: center;
    }

    .stat-icon {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    .stat-content h4 {
        font-size: 0.7rem;
    }

    .stat-number {
        font-size: 1.25rem;
    }

    .stats {
        grid-template-columns: 1fr 1fr 1fr;
        gap: var(--spacing-xs);
    }

    .stat-label {
        font-size: 0.7rem;
    }

    .stat-value {
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .results-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: var(--spacing-sm);
    }

    /* History stats mobile compact layout - 4 cards side by side */
    .history-stats {
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
    }

    .stat-card {
        padding: 10px 4px;
        border-radius: 10px;
        flex-direction: column;
    }

    .stat-content {
        align-items: center;
        text-align: center;
    }

    .stat-icon {
        width: 32px;
        height: 32px;
        font-size: 0.875rem;
        border-radius: 8px;
    }

    .stat-content h4 {
        font-size: 0.6rem;
        margin-bottom: 4px;
        font-weight: 500;
    }

    .stat-number {
        font-size: 1rem;
        font-weight: 600;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-sm);
    }

    .filter-btn {
        padding: var(--spacing-xs) var(--spacing-md);
        font-size: 0.875rem;
    }

    .preview-info {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm);
    }
}

/* Very small screens */
@media (max-width: 360px) {
    .history-stats {
        gap: 4px;
    }

    .stat-card {
        padding: 8px 2px;
        flex-direction: column;
    }

    .stat-content {
        align-items: center;
        text-align: center;
    }

    .stat-icon {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }

    .stat-content h4 {
        font-size: 0.5rem;
    }

    .stat-number {
        font-size: 0.875rem;
    }
}

/* Hide mobile-only elements on desktop */
.mobile-menu-toggle {
    display: none;
}

@media (max-width: 768px) {
    .mobile-menu-toggle {
        display: flex;
    }
}

/* Custom Scrollbars */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

/* Zoom Slider Styles - Scroll bar tarzında */
.zoom-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 120px;
    height: 8px;
    background: rgba(128, 128, 128, 0.2);
    outline: none;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.zoom-slider:hover {
    background: rgba(128, 128, 128, 0.3);
}

.zoom-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: var(--primary-color);
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.zoom-slider::-webkit-slider-thumb:hover {
    background: var(--primary-dark);
    transform: scale(1.1);
}

.zoom-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: var(--primary-color);
    cursor: pointer;
    border-radius: 50%;
    border: none;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.zoom-slider::-moz-range-thumb:hover {
    background: var(--primary-dark);
    transform: scale(1.1);
}

/* Zoom control container */
.zoom-control {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    background: rgba(128, 128, 128, 0.1);
    border-radius: 20px;
    border: none;
}

.zoom-control .btn-icon {
    width: 24px;
    height: 24px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 12px;
}

.zoom-control .btn-icon:hover {
    background: rgba(128, 128, 128, 0.2);
    color: var(--primary-color);
}

::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

/* Focus Styles */
*:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Modal Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(6px) saturate(1.2);
    -webkit-backdrop-filter: blur(6px) saturate(1.2);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3000;
    animation: fadeIn 0.3s ease;
    overflow-y: auto;
    padding: 20px;
}

/* Prevent body scroll when modal is open */
body.modal-open {
    overflow: hidden;
}

/* Allow results to scroll when preview is open */
.results-content.preview-active {
    overflow-y: auto;
    max-height: calc(100vh - var(--header-height) - 200px);
}

.modal-content {
    background: var(--bg-elevated);
    border-radius: 24px;
    box-shadow: var(--shadow-xl);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    margin: auto;
    position: relative;
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-light);
    background: var(--bg-secondary);
}

.modal-header h3 {
    margin: 0;
    color: var(--text-primary);
}

.modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    transition: all var(--transition-fast);
}

.modal-close:hover {
    color: var(--text-primary);
    background: var(--bg-tertiary);
}

.modal-body {
    padding: var(--spacing-lg);
}

.bulk-options {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
}

.bulk-options label {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    cursor: pointer;
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    transition: background var(--transition-fast);
}

.bulk-options label:hover {
    background: var(--bg-secondary);
}

.bulk-options input[type="checkbox"] {
    accent-color: var(--primary-color);
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    border-top: 1px solid var(--border-light);
    background: var(--bg-secondary);
}

/* Clickable items */
.clickable {
    cursor: pointer;
}

.history-item.clickable:hover {
    transform: translateX(5px);
    box-shadow: var(--shadow-lg);
}

/* Lightbox Styles */
.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4000;
    animation: fadeIn 0.3s ease;
    overflow: auto;
    padding: var(--spacing-lg);
}

.lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.lightbox-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-xl);
    cursor: zoom-in;
}

.lightbox-image-wrapper.zoomed {
    cursor: zoom-out;
}

.lightbox-content img {
    display: block;
    max-width: 100%;
    max-height: 82vh;
    /* Action bar için altta yer aç */
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
    transform-origin: center;
}

.lightbox-controls {
    position: fixed;
    /* Absolute yerine Fixed yaparak scroll durumunda da görünür kalmasını sağla */
    top: 20px;
    right: 20px;
    display: flex;
    gap: var(--spacing-sm);
    z-index: 4020;
    /* Action bar'dan daha yüksek */
}

.lightbox-btn {
    background: rgba(0, 0, 0, 0.7);
    border: none;
    color: var(--ds-on-media);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
    font-size: 1.2rem;
}

.lightbox-btn:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.1);
}

.lightbox-zoom-info {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: var(--ds-on-media);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-sm);
    font-size: 0.875rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox-zoom-info.visible {
    opacity: 1;
}

/* Lightbox Navigation */
.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border-radius: 50%;
    font-size: 18px;
    z-index: 10;
}

.lightbox-nav:hover:not(:disabled) {
    background: rgba(0, 0, 0, 0.9);
    transform: translateY(-50%) scale(1.1);
}

.lightbox-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.lightbox-nav-prev {
    left: 20px;
}

.lightbox-nav-next {
    right: 20px;
}

.lightbox-counter {
    position: absolute;
    /* Inside image, at bottom */
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.7);
    color: rgba(255, 255, 255, 0.9);
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 10;
}

/* Lightbox prompt overlay on image */
.lightbox-image-wrapper {
    position: relative;
}

.lightbox-prompt {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px 40px 12px 12px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
    color: var(--ds-on-media);
    max-height: 100px !important;
    /* Galeri lightbox için de 4 satır sınırı */
    overflow: hidden;
    z-index: 5;
    border: none;
    border-radius: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* Show overlay on hover */
.lightbox-image-wrapper:hover .lightbox-prompt,
.history-detail-image:hover .lightbox-prompt {
    opacity: 1;
    pointer-events: auto;
}

/* On touch devices (no hover), keep it visible */
@media (hover: none) {
    .lightbox-prompt {
        opacity: 1;
        pointer-events: auto;
    }
}

/* History detail overlay: restrict container height to exactly 4 lines area */
.history-detail-image .lightbox-prompt {
    /* Kesin 4 satır sınırı - daha fazlasını gösterme */
    max-height: 100px !important;
    /* ~4 satır için sabit yükseklik */
    overflow: hidden !important;
    /* Her zaman görünür olsun */
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    z-index: 12;
}

/* In overlays inside lightbox, show full text (no clamp) */
.lightbox-image-wrapper .prompt-text,
.lightbox-image-wrapper .lightbox-prompt-text {
    line-clamp: unset !important;
    -webkit-line-clamp: unset !important;
    display: block !important;
}

/* History detail overlay: clamp to 4 lines like gallery cards */
.history-detail-image .lightbox-prompt .lightbox-prompt-text {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 4 !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
    overflow-y: hidden !important;
    white-space: normal !important;
    max-height: none !important;
}

.lightbox-prompt-text {
    font-size: 0.875rem;
    line-height: 1.45;
    white-space: pre-wrap;
    max-height: 80px !important;
    /* Galeri lightbox için de kesin 4 satır */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding-right: 10px;
    /* Scroll alanı için biraz boşluk */
}

/* Galeri lightbox için scrollbar gizle */
.lightbox-image-wrapper .lightbox-prompt-text::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.lightbox-image-wrapper .lightbox-prompt-text {
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE/Edge */
}

/* History detail overlay prompt: handled via line-clamp above; no custom scrollbars needed */

.lightbox-copy-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--ds-media-glass-rgb), 0.95);
    color: var(--ds-ink);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.lightbox-copy-btn:hover {
    background: var(--ds-surface);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Edit Session Lightbox Styles */
.edit-session-lightbox .edit-lightbox-nav {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    border-radius: 10px;
    z-index: 25;
    max-width: 70vw;
    overflow-x: auto;
}

.edit-lightbox-thumb {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: visible;
    cursor: pointer;
    border: 2px solid rgba(255, 255, 255, 0.5);
    transition: all 0.2s ease;
    position: relative;
}

.edit-lightbox-thumb:hover {
    border-color: rgba(255, 255, 255, 0.8);
    transform: scale(1.1);
}

.edit-lightbox-thumb.active {
    border-color: var(--ds-accent);
    box-shadow: 0 0 0 2px rgba(var(--ds-accent-rgb), 0.4);
}

.edit-lightbox-thumb.original {
    border-style: dashed;
    border-color: rgba(255, 255, 255, 0.7);
}

.edit-lightbox-thumb.original.active {
    border-color: var(--ds-ok);
    box-shadow: 0 0 0 2px rgba(var(--ds-ok-rgb), 0.4);
}

.edit-lightbox-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

/* Number badge - top right corner */
.edit-lightbox-thumb::after {
    content: attr(data-index);
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: var(--ds-accent);
    color: var(--ds-accent-ink);
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    z-index: 5;
}

/* Original shows green dot instead of number */
.edit-lightbox-thumb.original::after {
    content: "●";
    background: var(--ds-ok);
    font-size: 8px;
}

/* No extra padding needed - thumbnails are inside image wrapper */
.edit-session-lightbox .lightbox-content {
    padding-top: 0;
}

.edit-session-lightbox .lightbox-image-wrapper {
    position: relative;
    max-height: 82vh;
}

.edit-session-lightbox .lightbox-content img {
    max-height: 82vh;
}

/* Action bar at bottom of edit lightbox */
.edit-lightbox-action-bar {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    z-index: 25;
}

.edit-lightbox-action-bar .btn-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 8px;
    color: var(--ds-on-media);
    cursor: pointer;
    transition: all 0.2s ease;
}

.edit-lightbox-action-bar .btn-icon:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.05);
}

.edit-lightbox-action-bar .btn-icon.edit-action {
    color: var(--primary-color);
}

.edit-lightbox-action-bar .btn-icon.edit-action:hover {
    background: rgba(var(--primary-rgb, 99, 102, 241), 0.3);
}

.edit-lightbox-action-bar .action-bar-divider {
    width: 1px;
    height: 24px;
    background: rgba(255, 255, 255, 0.2);
    margin: 0 4px;
}

.edit-lightbox-action-bar .upscale-btn .badge-scale {
    font-size: 11px;
    font-weight: 700;
}

/* Unified Lightbox Action Bar - shared between gallery lightbox and edit lightbox */
.lightbox-action-bar,
.edit-lightbox-action-bar {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    background: rgba(var(--ds-media-glass-rgb), 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 9999px;
    z-index: 4010;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.lightbox-action-bar .btn-icon,
.edit-lightbox-action-bar .btn-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 14px;
}

.lightbox-action-bar .btn-icon:hover,
.edit-lightbox-action-bar .btn-icon:hover {
    background: rgba(255, 255, 255, 0.15);
    color: var(--ds-on-media);
    transform: scale(1.08);
}

.lightbox-action-bar .btn-icon.edit-action,
.edit-lightbox-action-bar .btn-icon.edit-action {
    background: var(--primary-color, #6366f1);
    color: var(--ds-accent-ink);
}

.lightbox-action-bar .btn-icon.edit-action:hover,
.edit-lightbox-action-bar .btn-icon.edit-action:hover {
    background: var(--primary-light, #818cf8);
    transform: scale(1.08);
}

.lightbox-action-bar .action-bar-divider,
.edit-lightbox-action-bar .action-bar-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 6px;
}

.lightbox-action-bar .upscale-btn .badge-scale,
.edit-lightbox-action-bar .upscale-btn .badge-scale {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.5px;
}

/* Gallery improvements */
.gallery-item {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 20px;
    overflow: hidden;
    transition: all var(--transition-fast);
    cursor: pointer;
    position: relative;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
}

.gallery-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.03);
    border-color: rgba(var(--primary-color-rgb), 0.5);
}

.gallery-item .result-image {
    position: relative;
    width: 100%;
    height: 0;
    /* 3:4, owner 2026-09-23: most of what is made now is a 3:4 poster, and a
       square tile cut its headline off at a glance. */
    padding-bottom: 133.333%;
    overflow: hidden;
    background: var(--bg-secondary);
}

.gallery-item .result-overlay {
    position: absolute;
    top: 8px;
    right: 8px;
    left: auto;
    bottom: auto;
    background: none;
    display: flex;
    flex-direction: row;
    gap: 6px;
    opacity: 0;
    transition: opacity var(--transition-fast);
    z-index: 10;
    pointer-events: none;
}


.gallery-item .prompt-text {
    color: var(--ds-on-media);
    font-size: 0.8rem;
    line-height: 1.4;
    display: -webkit-box;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
    font-weight: 500;
}

.gallery-item:hover .result-overlay {
    opacity: 1;
    pointer-events: all;
}


.gallery-item .result-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-normal);
}

.gallery-item:hover .result-image img {
    transform: scale(1.05);
}

/* Gallery item info - REMOVED for minimal design */
.gallery-item .result-info {
    display: none;
}

/* File size badge - görselin üzerinde sağ altta */
.gallery-item .file-size-badge {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.5);
    color: rgba(255, 255, 255, 0.9);
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 400;
    backdrop-filter: blur(8px);
    z-index: 5;
    transition: opacity 0.2s ease;
}

/* Hover'da MB gizlenir (prompt göründüğünde) */
.gallery-item:hover .file-size-badge {
    opacity: 0;
}

/* Removed old gallery item info styles - using minimal design */

/* History Page Styles */
.history-page {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    padding: 0;
}

/* History Controls */
.history-controls {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    border-radius: var(--border-radius);
    margin-bottom: var(--spacing-lg);
}

.history-search {
    position: relative;
    flex: 1;
    min-width: 250px;
}

.history-search i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
}

.history-search input {
    width: 100%;
    padding: 10px 12px 10px 36px;
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 14px;
    transition: all 0.2s ease;
}

.history-search input:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
}

.history-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.filter-btn {
    padding: 8px 16px;
    border: none;
    border-radius: 16px;
    background: rgba(128, 128, 128, 0.15);
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-btn:hover {
    background: rgba(128, 128, 128, 0.25);
    color: var(--primary-color);
}

.filter-btn.active {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border: none;
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
}

/* History Item Styles */
.history-item {
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
    border-radius: 20px;
    margin-bottom: var(--spacing-md);
    transition: all var(--transition-fast);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
}

.history-item:hover {
    border-color: var(--primary-color);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.history-item.clickable {
    cursor: pointer;
}

.history-item.clickable .history-item-main {
    position: relative;
}

.history-item.clickable .history-item-main:hover {
    background: rgba(var(--primary-color-rgb), 0.02);
}

.history-item-main {
    display: flex;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
}

.history-item-thumbnail {
    position: relative;
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    border-radius: 16px;
    overflow: hidden;
    background: var(--bg-secondary);
}

.history-item-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Download button overlay on thumbnail hover */
.history-item-thumbnail .download-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--download-overlay-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--transition-fast);
    pointer-events: none;
}

.history-item-thumbnail:hover .download-overlay {
    opacity: 1;
    pointer-events: auto;
}

.history-item-thumbnail .download-overlay .btn-icon {
    background: var(--download-btn-bg);
    color: var(--download-btn-color);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
    cursor: pointer;
    border: none;
    font-size: 14px;
}

.history-item-thumbnail .download-overlay .btn-icon:hover {
    background: var(--download-btn-hover-bg);
    transform: scale(1.1);
}

.type-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.type-badge.concept {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.type-badge.white {
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-light);
}

.session-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    background: var(--success);
    color: var(--ds-on-media);
    border-radius: 4px;
}

.history-item-content {
    flex: 1;
    min-width: 0;
}

.history-item-header {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-bottom: var(--spacing-sm);
}

.history-item-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    word-break: break-word;
}

.history-item-actions {
    display: none;
    /* Hide the original actions container */
}

.history-item-prompt {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: var(--spacing-md);
    padding: 10px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
    min-height: 44px;
    /* Ensure space for 2 lines */
}

.history-item-prompt span {
    display: -webkit-box;
    line-clamp: 2;
    /* Show 2 lines */
    -webkit-line-clamp: 2;
    /* Show 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.history-item-prompt i {
    color: var(--primary-color);
    margin-top: 2px;
}

.history-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    align-items: center;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-muted);
}

.meta-item i {
    font-size: 12px;
    opacity: 0.7;
}

/* Copy prompt button in meta section */
.meta-item.copy-prompt {
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all var(--transition-fast);
}

.meta-item.copy-prompt:hover {
    background: var(--bg-tertiary);
    color: var(--primary-color);
}

.meta-item.copy-prompt i {
    opacity: 1;
}

.history-item:hover .history-item-thumbnail img {
    transform: scale(1.1);
}

.history-item-thumbnail .image-type-badge {
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.8);
    color: var(--ds-on-media);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
}

.history-item:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.history-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.history-info-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.history-info-title {
    flex: 1;
}

.history-prompt {
    background: var(--bg-secondary);
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    margin: var(--spacing-sm) 0;
    max-height: 60px;
    overflow: hidden;
    position: relative;
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.4;
}

.history-prompt.expanded {
    max-height: none;
}

.history-prompt-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30px;
    background: linear-gradient(transparent, var(--bg-secondary));
    pointer-events: none;
}

.history-prompt.expanded .history-prompt-fade {
    display: none;
}

.history-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    font-size: 0.75rem;
    color: var(--text-muted);
}

.history-meta-item {
    display: flex;
    align-items: center;
    gap: 4px;
}

.history-meta-item i {
    font-size: 0.875rem;
    opacity: 0.7;
}

.history-info h5 {
    margin: 0 0 var(--spacing-xs) 0;
    color: var(--text-primary);
    font-weight: 600;
}

.history-specific-type {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 4px 0 0 0;
}

.history-info p {
    margin: 0 0 var(--spacing-xs) 0;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.history-info small {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.history-status {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--ds-on-media);
}

.history-status.success {
    background: var(--success-color);
}

.history-status.failed {
    background: var(--error-color);
}

/* History Detail Modal */
.history-detail-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(6px) saturate(1.2);
    -webkit-backdrop-filter: blur(6px) saturate(1.2);
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
}

.history-detail-modal.active {
    opacity: 1;
    visibility: visible;
}

.history-detail-content {
    background: var(--bg-elevated);
    border-radius: var(--border-radius);
    max-width: 1200px;
    width: 90%;
    max-height: 85vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-xl);
    transform: scale(0.9);
    transition: transform var(--transition-normal);
    margin: auto;
    position: relative;
}

.history-detail-modal.active .history-detail-content {
    transform: scale(1);
}

.history-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-light);
}

.history-detail-body {
    flex: 1;
    overflow-y: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
}

.history-detail-images {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.history-detail-image {
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    background: var(--bg-secondary);
}

.history-detail-image img {
    width: 100%;
    height: auto;
    display: block;
}

.history-detail-image-label {
    position: absolute;
    top: var(--spacing-sm);
    left: var(--spacing-sm);
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    padding: 4px 12px;
    border-radius: var(--border-radius-sm);
    font-size: 0.875rem;
    font-weight: 600;
}

.history-detail-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.history-detail-section {
    background: var(--bg-secondary);
    padding: var(--spacing-md);
    border-radius: var(--border-radius);
}

.history-detail-section h3 {
    margin: 0 0 var(--spacing-sm) 0;
    color: var(--text-primary);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    justify-content: space-between;
}

.history-detail-section h3 i {
    color: var(--primary-color);
}

.history-detail-section h3 .btn-icon {
    margin-left: auto;
    padding: 4px 8px;
    font-size: 0.875rem;
    background: var(--bg-primary);
    border: 1px solid var(--border-light);
    color: var(--text-muted);
    transition: all 0.2s ease;
}

.history-detail-section h3 .btn-icon:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: translateY(-1px);
}

.history-detail-prompt {
    background: var(--bg-primary);
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    font-family: 'Monaco', 'Consolas', monospace;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--text-primary);
    white-space: pre-wrap;
    max-height: 120px;
    overflow-y: auto;
}

.history-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-xs) var(--spacing-sm);
}

.history-detail-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.history-detail-item label {
    font-size: 0.65rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.history-detail-item span {
    font-size: 0.8rem;
    color: var(--text-primary);
    font-weight: 500;
}

/* Print Styles */
@media print {

    .sidebar,
    .header,
    .loading-overlay,
    .notification-container,
    .modal-overlay,
    .lightbox-overlay {
        display: none !important;
    }

    .main-content {
        margin-left: 0;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    :root {
        --border-light: #000000;
        --border-medium: #000000;
        --text-muted: #000000;
    }

    .dark-mode {
        --border-light: #ffffff;
        --border-medium: #ffffff;
        --text-muted: #ffffff;
    }
}

/* History Navigation Buttons */
.history-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.history-nav-btn:hover:not(:disabled) {
    background: rgba(0, 0, 0, 0.9);
    transform: translateY(-50%) scale(1.1);
}

.history-nav-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.history-nav-prev {
    left: -80px;
}

.history-nav-next {
    right: -80px;
}

@media (max-width: 1400px) {
    .history-nav-prev {
        left: -70px;
    }

    .history-nav-next {
        right: -70px;
    }
}

@media (max-width: 1200px) {
    .history-nav-prev {
        left: 10px;
    }

    .history-nav-next {
        right: 10px;
    }
}

/* Enhanced History Detail Image */
.history-detail-image {
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    background: var(--bg-secondary);
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.history-detail-image img {
    width: 100%;
    height: auto;
    display: block;
    transform-origin: center;
    cursor: zoom-in;
}

.history-detail-image img.zoomed {
    cursor: grab;
}

.history-detail-image img.grabbing {
    cursor: grabbing;
}

/* Zoom Info Tooltip */
.zoom-info-tooltip {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.8);
    color: var(--ds-on-media);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.875rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 20;
}

.zoom-info-tooltip.visible {
    opacity: 1;
}

/* History Detail Wrapper for Navigation */
.history-detail-wrapper {
    position: relative;
}

/* History Detail Actions */
.history-detail-actions {
    display: flex;
    gap: 8px;
    margin-top: var(--spacing-sm);
}

.history-action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    white-space: nowrap;
}

.history-action-btn:hover {
    background: var(--bg-tertiary);
    border-color: var(--border-medium);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.history-action-btn.primary {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
}

.history-action-btn.primary:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.history-action-btn i {
    font-size: 1.2rem;
}

.history-action-btn span {
    white-space: nowrap;
    text-align: center;
    line-height: 1.2;
}

/* Responsive adjustments for navigation */
@media (max-width: 768px) {
    .history-nav-btn {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }

    .history-nav-prev {
        left: 10px;
    }

    .history-nav-next {
        right: 10px;
    }

    /* Responsive modal layout */
    .history-detail-body {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    .history-detail-content {
        width: 95%;
        max-width: none;
    }

    .history-detail-actions {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .history-action-btn {
        padding: 12px 16px;
        font-size: 0.85rem;
    }

    .history-action-btn i {
        font-size: 1.1rem;
    }
}

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

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Toast notification styles for history operations - minimal design */
.toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: rgba(var(--ds-surface-rgb), 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.05);
    border-radius: 8px;
    padding: 8px 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 400;
    z-index: 10001;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.2s ease;
    max-width: 320px;
    word-wrap: break-word;
    color: rgba(var(--ds-ink-rgb), 0.9);
    position: relative;
    overflow: hidden;
    letter-spacing: 0.2px;
}

.toast::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
}

.toast.show {
    transform: translateY(0);
    opacity: 1;
}

.toast.toast-success {
    border-left-color: transparent;
}

.toast.toast-success::before {
    background: linear-gradient(180deg, var(--ds-ok) 0%, var(--ds-ok) 100%);
}

.toast.toast-success i {
    color: var(--ds-ok);
}

.toast.toast-error {
    border-left-color: transparent;
}

.toast.toast-error::before {
    background: linear-gradient(180deg, var(--ds-danger) 0%, var(--ds-danger) 100%);
}

.toast.toast-error i {
    color: var(--ds-danger);
}

.toast.toast-warning {
    border-left-color: transparent;
}

.toast.toast-warning::before {
    background: linear-gradient(180deg, var(--ds-warn) 0%, var(--ds-warn) 100%);
}

.toast.toast-warning i {
    color: var(--ds-warn);
}

.toast.toast-info {
    border-left-color: transparent;
}

.toast.toast-info::before {
    background: linear-gradient(180deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

.toast.toast-info i {
    color: var(--primary-color);
}

.toast i {
    font-size: 14px;
    flex-shrink: 0;
    opacity: 0.8;
}

/* History Page - Empty and Loading States */
.empty-state i {
    font-size: 3rem;
    color: var(--text-muted);
    opacity: 0.5;
    margin-bottom: var(--spacing-md);
    display: block;
}

.empty-state h4 {
    margin: var(--spacing-md) 0 var(--spacing-sm);
    font-size: 1.25rem;
    color: var(--text-secondary);
}

.empty-state p {
    margin: 0 0 var(--spacing-lg);
    color: var(--text-muted);
}

.empty-state .btn-primary {
    margin-top: var(--spacing-md);
}

.loading-state {
    text-align: center;
    padding: var(--spacing-2xl) var(--spacing-lg);
    color: var(--text-muted);
}

.loading-state .loading-spinner {
    width: 40px;
    height: 40px;
    margin: 0 auto var(--spacing-md);
    border: 3px solid var(--border-light);
    border-top-color: var(--primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.loading-state p {
    margin: 0;
    color: var(--text-secondary);
}

/* Responsive Aspect Ratio Options */
@media (max-width: 768px) {
    .aspect-ratio-options {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
        margin-bottom: 10px;
    }

    .aspect-ratio-option {
        width: 100%;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        background-color: var(--option-bg);
        transition: background-color 0.3s ease;
    }

    .aspect-ratio-option.selected {
        background-color: var(--primary-color);
        color: var(--ds-accent-ink);
    }
}

/* Vertical Divider */
.divider-vertical {
    width: 1px;
    height: 24px;
    background-color: var(--border-light);
    margin: 0 8px;
}

/* Upscale Button Styles - Minimal Modern Compact Design */
.upscale-btn {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border: 1px solid var(--border-light);
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: 10px;
    font-weight: 700;
    position: relative;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.upscale-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: var(--border-medium);
}

.upscale-btn:active {
    transform: translateY(0);
}

.upscale-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Sharp Upscale Button */
.upscale-btn.sharp,
.upscale-btn.soft {
    color: inherit;
}

/* Dark mode adjustments */
.dark-mode .upscale-btn {
    background: var(--bg-tertiary);
    border-color: var(--border-dark);
}

.dark-mode .divider-vertical {
    background-color: var(--border-dark);
}

/* Dark Mode Adjustments */
.dark-mode .sharp-upscale {
    background: linear-gradient(135deg, var(--ds-accent) 0%, var(--ds-accent) 100%);
    border-color: var(--ds-accent);
}

.dark-mode .soft-upscale {
    background: linear-gradient(135deg, var(--ds-accent) 0%, var(--ds-accent) 100%);
    border-color: var(--ds-accent);
}

/* Ensure badges are only visible inside upscale buttons */
.badge-scale,
.badge-2x,
.badge-4x {
    display: none !important;
}

.upscale-btn .badge-scale,
.upscale-btn .badge-2x,
.upscale-btn .badge-4x {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: inherit;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
}


/* Show only icons on very small upscale buttons */
@media (max-width: 768px) {

    .result-overlay .btn-upscale span,
    .gallery-item .result-overlay .btn-upscale span {
        display: none;
    }

    .result-overlay .btn-upscale,
    .gallery-item .result-overlay .btn-upscale {
        min-width: 32px;
        width: 32px;
        height: 32px;
        padding: 0;
        border-radius: 50%;
    }
}

/* Prompt Overlay Styles for Gallery - Clean & Minimal */
.gallery-item .prompt-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
    padding: 12px;
    padding-top: 30px;
    transform: translateY(100%);
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 11;
    pointer-events: none;
    opacity: 0;
}

.gallery-item:hover .prompt-overlay {
    transform: translateY(0);
    pointer-events: auto;
    opacity: 1;
}

.gallery-item .prompt-text {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.4;
    display: -webkit-box;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    padding: 0;
    border: none;
    background: transparent;
    word-break: break-word;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    font-weight: 400;
    letter-spacing: 0.2px;
}

.gallery-item .prompt-text:hover {
    color: var(--ds-on-media);
}

/* Lightbox Prompt Overlay - Clean & Minimal */
.lightbox-prompt {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-height: 120px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
    padding: 12px;
    padding-top: 20px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
    overflow-y: auto;
    z-index: 10;
    border: none;
    border-radius: 0;
    backdrop-filter: none;
    /* Hide scrollbar but keep scrollable */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.lightbox-prompt::-webkit-scrollbar {
    display: none;
}

.lightbox-image-wrapper:hover .lightbox-prompt {
    opacity: 1;
    transform: translateY(0);
}

.lightbox-prompt-text {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.4;
    cursor: default;
    word-break: break-word;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    font-weight: 400;
    letter-spacing: 0.2px;
}

.lightbox-prompt-text:hover {
    color: var(--ds-on-media);
}

/* Copy button in lightbox */
.lightbox-copy-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 0.7;
}

.lightbox-copy-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    opacity: 1;
}

/* ===== BULK SELECTION STYLES ===== */

/* Bulk Selection Controls Container */
.bulk-selection-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 12px;
    border-left: 1px solid var(--border);
    margin-left: 12px;
    transition: all 0.3s ease;
}

.bulk-selection-controls .btn-secondary,
.bulk-selection-controls .btn-danger {
    padding: 6px 12px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    border-radius: 16px;
}

/* Hide text on small screens */
.bulk-selection-controls .btn-secondary span,
.bulk-selection-controls .btn-danger span {
    display: none;
}

@media (min-width: 1200px) {

    .bulk-selection-controls .btn-secondary span,
    .bulk-selection-controls .btn-danger span {
        display: inline;
    }
}

/* Selection Count Badge */
.selection-count {
    padding: 6px 12px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    min-width: 80px;
    text-align: center;
    white-space: nowrap;
}

/* Toggle Selection Mode Button */
#toggleSelectionMode {
    padding: 8px 16px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

#toggleSelectionMode.active {
    background: var(--error);
    border-color: var(--error);
}

#toggleSelectionMode.active i {
    animation: pulse 1.5s infinite;
}

@keyframes pulse {

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

    50% {
        transform: scale(1.1);
    }
}

#toggleSelectionMode span {
    display: none;
}

@media (min-width: 768px) {
    #toggleSelectionMode span {
        display: inline;
    }
}

/* Gallery Item Selection Checkbox */
.gallery-item {
    position: relative;
    transition: all 0.3s ease;
}

.gallery-item.selection-mode {
    cursor: pointer;
    user-select: none;
}

.gallery-item .selection-checkbox {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 28px;
    height: 28px;
    background: rgba(var(--ds-media-glass-rgb), 0.95);
    border: 2px solid var(--primary);
    border-radius: 14px;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.gallery-item.selection-mode .selection-checkbox {
    display: flex;
}

.gallery-item.selected .selection-checkbox {
    background: var(--primary);
    border-color: var(--primary);
    animation: checkIn 0.3s ease;
}

@keyframes checkIn {
    0% {
        transform: scale(0.8);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.gallery-item.selected .selection-checkbox::after {
    content: '✓';
    color: var(--ds-on-media);
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}

/* Selected Item Visual Feedback */
.gallery-item.selected {
    transform: scale(0.97);
}

.gallery-item.selected .result-image {
    box-shadow: 0 0 0 3px var(--primary);
    border-radius: 20px;
    overflow: hidden;
}

.gallery-item.selected img {
    opacity: 0.85;
}

/* Hover Effects in Selection Mode */
.gallery-item.selection-mode:hover .selection-checkbox {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.gallery-item.selection-mode:hover:not(.selected) .result-image {
    filter: brightness(0.95);
    transform: translateY(-2px);
}

/* Danger Button Style */
.btn-danger {
    background: var(--error, #ef4444);
    color: var(--ds-on-media);
    border: 1px solid var(--error, #ef4444);
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.btn-danger:hover:not(:disabled) {
    background: var(--ds-danger);
    border-color: var(--ds-danger);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--ds-danger-rgb), 0.3);
}

.btn-danger:active:not(:disabled) {
    transform: translateY(0);
}

.btn-danger:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

/* Delete Confirmation Modal */
.delete-confirmation-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
}

.delete-confirmation-content {
    background: var(--surface);
    border-radius: 16px;
    padding: 32px;
    max-width: 480px;
    width: 90%;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: slideUp 0.3s ease;
}

.delete-confirmation-content h3 {
    margin: 0 0 16px 0;
    font-size: 24px;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 12px;
}

.delete-confirmation-content h3 i {
    color: var(--error);
    font-size: 28px;
}

.delete-confirmation-content p {
    margin: 0 0 24px 0;
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 15px;
}

.delete-confirmation-content .file-count {
    font-weight: 600;
    color: var(--error);
    font-size: 18px;
}

.delete-confirmation-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.delete-confirmation-actions button {
    min-width: 100px;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

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

/* Dark mode adjustments */
.dark-mode .gallery-item .selection-checkbox {
    background: rgba(var(--ds-surface-rgb), 0.95);
    border-color: var(--primary);
}

.dark-mode .gallery-item.selected .selection-checkbox {
    background: var(--primary);
}

.dark-mode .delete-confirmation-content {
    background: var(--surface-dark, #1a1a1a);
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .bulk-selection-controls {
        padding: 0 8px;
        gap: 8px;
    }

    .bulk-selection-controls button {
        padding: 6px 8px;
        font-size: 12px;
    }

    .selection-count {
        min-width: 60px;
        padding: 4px 8px;
        font-size: 12px;
    }

    #toggleSelectionMode {
        padding: 6px 10px;
        font-size: 13px;
    }

    .gallery-item .selection-checkbox {
        width: 24px;
        height: 24px;
        top: 8px;
        left: 8px;
    }

    .gallery-item.selected .selection-checkbox::after {
        font-size: 14px;
    }
}

/* ===== Drag Selection Box Styles ===== */
.drag-selection-box {
    position: fixed;
    border: 2px solid var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.1);
    border-radius: 4px;
    pointer-events: none;
    z-index: 9999;
    animation: selection-pulse 0.5s ease-in-out infinite;
}

@keyframes selection-pulse {

    0%,
    100% {
        border-color: var(--primary-color);
        background: rgba(var(--primary-color-rgb), 0.1);
    }

    50% {
        border-color: var(--primary-dark);
        background: rgba(var(--primary-color-rgb), 0.15);
    }
}

/* Gallery grid cursor in selection mode */
.gallery-grid.selection-mode {
    cursor: crosshair;
}

/* Prevent text selection during drag */
.gallery-grid.no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Dark mode support for drag selection box */
.dark-mode .drag-selection-box {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.15);
}

/* Gallery Statistics Panel */
.gallery-stats-panel {
    margin: 20px 0;
    padding: 0;
    width: 100%;
}

.gallery-stats-panel .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    width: 100%;
}

.gallery-stats-panel .stat-card.compact {
    background: rgba(255, 255, 255, 0.02);
    border: none;
    border-radius: 40px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all var(--transition-fast);
}

.gallery-stats-panel .stat-card.compact:hover {
    background: rgba(255, 255, 255, 0.05);
    transform: translateY(-1px);
}

.gallery-stats-panel .stat-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ds-accent-ink);
    font-size: 20px;
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.2);
}

.gallery-stats-panel .stat-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gallery-stats-panel .stat-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1;
}

.gallery-stats-panel .stat-label {
    font-size: 12px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Dark mode adjustments for gallery stats */
.dark-mode .gallery-stats-panel .stat-card.compact {
    background: var(--bg-secondary);
    border-color: var(--border-medium);
}

.dark-mode .gallery-stats-panel .stat-card.compact:hover {
    background: var(--bg-tertiary);
    border-color: var(--primary-color);
    box-shadow: none;
}

.dark-mode .gallery-stats-panel .stat-icon {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    box-shadow: 0 2px 10px rgba(var(--primary-color-rgb), 0.3);
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .gallery-stats-panel .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .gallery-stats-panel .stats-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .gallery-stats-panel .stat-card.compact {
        padding: 10px 12px;
    }

    .gallery-stats-panel .stat-icon {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }

    .gallery-stats-panel .stat-value {
        font-size: 14px;
    }

    .gallery-stats-panel .stat-label {
        font-size: 12px;
    }
}

/* ===== Gallery Prompt Overlay Styles ===== */
.gallery-item .prompt-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.08) 40%, rgba(0, 0, 0, 0) 100%);
    color: var(--ds-on-media);
    padding: 16px 12px 12px 12px;
    transform: translateY(100%);
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    backdrop-filter: none;
    z-index: 5;
}

.gallery-item:hover .prompt-overlay {
    transform: translateY(0);
    opacity: 1;
}

.gallery-item .prompt-text {
    font-size: 13px;
    line-height: 1.4;
    max-height: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    cursor: pointer;
    transition: color 0.2s ease;
    border-radius: 0;
    padding: 0;
    background: transparent;
    border: none;
    font-weight: 400;
    letter-spacing: 0.2px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    color: rgba(255, 255, 255, 0.95);
}

.gallery-item .prompt-text:hover {
    color: var(--ds-on-media);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.gallery-item .prompt-text:active {
    opacity: 0.9;
}

/* Empty prompt state */
.gallery-item .prompt-text:empty::before {
    content: "Prompt bilgisi mevcut değil";
    color: rgba(255, 255, 255, 0.6);
    font-style: italic;
    font-size: 12px;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .gallery-item .prompt-overlay {
        padding: 12px 8px 8px 8px;
    }

    .gallery-item .prompt-text {
        font-size: 12px;
        max-height: 45px;
        line-clamp: 2;
        -webkit-line-clamp: 2;
        padding: 6px;
    }

    .gallery-item .prompt-text:empty::before {
        font-size: 11px;
    }
}

/* Dark mode adjustments */
.dark-mode .gallery-item .prompt-overlay {
    background: linear-gradient(to top, rgba(10, 10, 10, 0.25) 0%, rgba(10, 10, 10, 0.12) 40%, rgba(10, 10, 10, 0) 100%);
}

.dark-mode .gallery-item .prompt-text {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.95);
}

.dark-mode .gallery-item .prompt-text:hover {
    color: var(--ds-ink);
}

.dark-mode .gallery-item .prompt-text:empty::before {
    color: rgba(255, 255, 255, 0.5);
}

/* Lightbox Prompt Bar (overlay on image bottom) */
.lightbox-prompt-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px 50px 16px 16px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 60%, transparent 100%);
    color: rgba(255, 255, 255, 0.95);
    max-height: 120px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 15;
    pointer-events: none;
}

.lightbox-image-wrapper:hover .lightbox-prompt-bar {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.lightbox-prompt-bar .lightbox-prompt-text {
    font-size: 0.875rem;
    line-height: 1.45;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    display: -webkit-box;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    cursor: text;
    user-select: text;
}

.lightbox-prompt-bar .lightbox-copy-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.2);
    color: var(--ds-on-media);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 0.8;
}

.lightbox-prompt-bar .lightbox-copy-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    opacity: 1;
}

.lightbox-prompt-bar::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.lightbox-prompt-bar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* ============================================
   AI MODEL SELECTOR BUTTONS (NEW - Studio v2 Compact)
   ============================================ */

/* AI Model Buttons Row */
.ai-model-buttons-row {
    display: flex;
    width: 100%;
    gap: 8px;
    margin-top: 12px;
    padding: 0;
}

.ai-model-buttons-group {
    display: flex;
    width: 100%;
    gap: 8px;
}

/* AI Model Button - Minimal Single Line */
.ai-model-btn {
    display: flex;
    flex: 1;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    background: var(--bg-secondary);
    border: 2px solid var(--border-light);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-secondary);
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.ai-model-btn i {
    font-size: 0.875rem;
    transition: all 0.25s ease;
    color: var(--text-muted);
    flex-shrink: 0;
}

.ai-model-btn span {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
}

/* Hover State */
.ai-model-btn:hover {
    border-color: var(--primary-color);
    background: var(--bg-tertiary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
}

.ai-model-btn:hover i {
    color: var(--primary-color);
}

/* Active State */
.ai-model-btn.active {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 12px rgba(var(--primary-color-rgb), 0.3);
}

.ai-model-btn.active i {
    color: var(--ds-accent-ink);
}

.ai-model-btn.active span {
    color: var(--ds-accent-ink);
    font-weight: 700;
}

/* Press Animation */
.ai-model-btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(var(--primary-color-rgb), 0.2);
}

/* Dark Mode Adjustments */
.dark-mode .ai-model-btn {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
}

.dark-mode .ai-model-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--primary-color);
}

.dark-mode .ai-model-btn.active {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    border-color: var(--primary-color);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .ai-model-buttons-row {
        gap: 6px;
        margin-top: 10px;
    }

    .ai-model-btn {
        padding: 6px 8px;
        gap: 4px;
    }

    .ai-model-btn i {
        font-size: 0.8125rem;
    }

    .ai-model-btn span {
        font-size: 0.6875rem;
    }
}

/* Extra Small Screens */
@media (max-width: 480px) {
    .ai-model-btn {
        padding: 6px 6px;
        gap: 3px;
    }

    .ai-model-btn i {
        font-size: 0.75rem;
    }

    .ai-model-btn span {
        font-size: 0.625rem;
    }
}

/* === Link Tags (Pills/Chips) === */
.link-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px 4px 10px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    font-size: 11px;
    color: var(--text-primary);
    max-width: 280px;
    transition: all 0.2s ease;
}

.link-tag:hover {
    background: var(--bg-tertiary);
    border-color: var(--primary-color);
}

.link-tag-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.link-tag-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.1);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 10px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.link-tag-remove:hover {
    background: var(--danger-color);
    color: var(--ds-on-media);
    transform: scale(1.1);
}

.dark-mode .link-tag {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .link-tag:hover {
    background: rgba(255, 255, 255, 0.08);
}

.dark-mode .link-tag-remove {
    background: rgba(255, 255, 255, 0.1);
}

#linkTagsContainer {
    min-height: 0;
}

#linkTagsContainer.expanded {
    max-height: 150px !important;
    overflow-y: auto;
}

#linkTagsWrapper:empty {
    display: none !important;
}

/* Prompt Tags (Enhanced) */
.prompt-tag {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border: 1px solid var(--border-color);
    border-radius: 9999px;
    font-size: 11px;
    color: var(--text-primary);
    max-width: 100%;
    transition: all 0.2s ease;
    margin-bottom: 8px;
}

.prompt-tag:hover {
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-color: var(--primary-color);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.1);
}

.prompt-index {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 600;
    flex-shrink: 0;
}

.prompt-tag-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.4;
}

.prompt-tag-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.prompt-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 10px;
    transition: all 0.2s ease;
    padding: 0;
}

.prompt-action-btn:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: translateY(-1px);
}

.prompt-action-btn.remove:hover {
    background: var(--danger-color);
}

#promptTagsContainer {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

#promptTagsContainer.expanded {
    /* Approximately 3 prompts visible (each ~40px height) */
    max-height: 140px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px;
}

#promptTagsContainer.expanded::-webkit-scrollbar {
    width: 6px;
}

#promptTagsContainer.expanded::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

#promptTagsContainer.expanded::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 3px;
    transition: background 0.2s ease;
}

#promptTagsContainer.expanded::-webkit-scrollbar-thumb:hover {
    background: var(--primary-dark);
}

.dark-mode .prompt-tag {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.03) 100%);
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .prompt-tag:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.05) 100%);
}

.dark-mode .prompt-action-btn {
    background: rgba(255, 255, 255, 0.05);
}

.dark-mode .prompt-action-btn:hover {
    background: var(--primary-color);
}

/* ============================================
   GELIŞMIŞ STİL SEÇENEKLERİ - YENİ TASARIM
   3 Satırlık Asimetrik Grid + Modal Browser
   ============================================ */

/* Style Shelf Container */
.style-shelf-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 0 0 18px 18px;
}

/* 4-Row Asymmetric Grid for Category Buttons - 15 Dimensions Premium Layout */
.style-shelf {
    display: grid;
    grid-template-columns: repeat(20, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 8px 10px;
    align-items: stretch;
    justify-content: stretch;
}

/* Row 1: Core Elements (5 items - text-length balanced) */
.style-category-btn[data-category="urunKategorisi"] {
    grid-column: 1 / 7;
    grid-row: 1;
}

.style-category-btn[data-category="kadraj"] {
    grid-column: 7 / 10;
    grid-row: 1;
}

.style-category-btn[data-category="aciBakis"] {
    grid-column: 10 / 13;
    grid-row: 1;
}

.style-category-btn[data-category="cekimTipi"] {
    grid-column: 13 / 18;
    grid-row: 1;
}

.style-category-btn[data-category="mekanKonum"] {
    grid-column: 18 / 21;
    grid-row: 1;
}

/* Row 2: Environment & Lighting (4 items - text-length balanced) */
.style-category-btn[data-category="mekanStili"] {
    grid-column: 1 / 6;
    grid-row: 2;
}

.style-category-btn[data-category="isikZaman"] {
    grid-column: 6 / 10;
    grid-row: 2;
}

.style-category-btn[data-category="mevsim"] {
    grid-column: 10 / 14;
    grid-row: 2;
}

.style-category-btn[data-category="isikBicimi"] {
    grid-column: 14 / 21;
    grid-row: 2;
}

/* Row 3: Surface & Mood (4 items - natural text width flow) */
.style-category-btn[data-category="zeminArkaPlan"] {
    grid-column: 1 / 5;
    grid-row: 3;
}

.style-category-btn[data-category="moodStil"] {
    grid-column: 5 / 9;
    grid-row: 3;
}

.style-category-btn[data-category="kompozisyon"] {
    grid-column: 9 / 15;
    grid-row: 3;
}

.style-category-btn[data-category="optik"] {
    grid-column: 15 / 21;
    grid-row: 3;
}

/* Row 4: Effects & Presets (2 items - aesthetic asymmetric ~40/60 ratio) */
.style-category-btn[data-category="efektAksiyon"] {
    grid-column: 1 / 9;
    grid-row: 4;
}

.style-category-btn[data-category="hazirPresetler"] {
    grid-column: 9 / 21;
    grid-row: 4;
}

.style-category-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: 20px;
    border: 1px solid var(--border-light);
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    height: 40px;
    width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    min-width: 0;
}



.style-category-btn:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.style-category-btn:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.style-category-btn.active,
.style-category-btn.has-selection {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
}

.style-category-btn.has-selection::after {
    content: '';
    position: absolute;
    top: -3px;
    right: -3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--success-color);
    border: 2px solid var(--bg-primary);
    box-shadow: 0 0 0 2px var(--primary-color);
}

/* Selection Chips Container - Horizontal Scrollable Single Row */
.selection-chips-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 10px 0;
    margin-top: 10px;
    border-top: 1px solid var(--border-light);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    /* Hide scrollbar completely */
    scrollbar-width: none;
    -ms-overflow-style: none;
    white-space: nowrap;
    /* Fade edges effect */
    mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
}

/* Hide scrollbar for Chrome, Safari, Opera */
.selection-chips-container::-webkit-scrollbar {
    display: none;
}

.selection-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    color: var(--text-primary);
    font-size: 0.75rem;
    font-weight: 600;
    border: 2px solid var(--border-light);
    transition: all 0.25s ease;
    flex-shrink: 0;
    white-space: nowrap;
}

.selection-chip:hover {
    border-color: var(--primary-color);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
}

.selection-chip .chip-remove {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.15);
    font-size: 10px;
    transition: all 0.25s ease;
}

.selection-chip .chip-remove:hover {
    background: var(--danger-color);
    color: var(--ds-on-media);
    transform: scale(1.1);
}

/* Style Browser Modal - Positioned within results-panel */
.style-browser-modal {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: var(--modal-bottom-offset);
    /* align with İşleme Başla in left column */
    background: var(--bg-elevated);
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    z-index: 100;
    animation: modalFadeIn 0.2s ease-out;
    overflow: hidden;
    border: 2px solid var(--border-light);
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.98);
    }

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

/* Modal Header - Premium Seamless (No Border) */
.style-browser-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: none;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-radius: 0;
    min-height: 56px;
}

.style-browser-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ds-on-media);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -0.02em;
}

.style-browser-title i {
    color: var(--primary-color);
    font-size: 0.9rem;
}

/* Premium Category Tabs - Seamless */
.style-browser-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
    padding: 4px;
    background: transparent;
    border-radius: 0;
}

.style-browser-tabs::-webkit-scrollbar {
    display: none;
}

.style-tab-btn {
    height: 36px;
    padding: 0 16px;
    border-radius: 18px;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}

.style-tab-btn:hover {
    color: var(--ds-on-media);
    background: rgba(255, 255, 255, 0.08);
}

.style-tab-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.4);
}

.style-browser-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    font-size: 0.875rem;
}

.style-browser-close:hover {
    background: var(--danger-color);
    color: var(--ds-on-media);
    transform: rotate(90deg);
    box-shadow: 0 4px 12px rgba(var(--ds-danger-rgb), 0.4);
}

/* Modal Toolbar - Now integrated into header */
.style-browser-toolbar {
    display: none;
    /* Hidden, search moved to header */
}

.style-search-box {
    flex: 0 0 180px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    height: 36px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
    border: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.style-search-box:focus-within {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 0 2px var(--primary-color);
}

.style-search-box i {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.75rem;
}

.style-search-box input {
    flex: 1;
    border: none;
    background: transparent;
    color: var(--ds-on-media);
    font-size: 0.8rem;
    outline: none;
    min-width: 0;
}

.style-search-box input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

/* Light mode readability for style browser */
.light-mode .style-browser-title {
    color: var(--text-primary);
}

.light-mode .style-category-btn {
    color: var(--text-secondary);
}

.light-mode .style-tab-btn {
    color: var(--text-secondary);
}

.light-mode .style-tab-btn:hover {
    background: rgba(0, 0, 0, 0.04);
    color: var(--text-primary);
}

.light-mode .style-browser-close {
    background: rgba(0, 0, 0, 0.05);
    color: var(--text-secondary);
}

.light-mode .style-search-box {
    background: var(--bg-secondary);
}

.light-mode .style-search-box:focus-within {
    background: var(--bg-tertiary);
}

.light-mode .style-search-box i {
    color: var(--text-muted);
}

.light-mode .style-search-box input {
    color: var(--text-primary);
}

.light-mode .style-search-box input::placeholder {
    color: var(--text-muted);
}

.style-filter-btn {
    display: none;
    /* Filter button hidden for now */
}

/* Modal Body */
.style-browser-body {
    flex: 1;
    overflow-y: auto;
    padding: 18px;
    background: var(--bg-elevated);
}

/* Style Cards Grid - Premium Large Thumbnails */
.style-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

/* Style Option Card - Premium Overlay Design */
.style-card {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    border: none;
    background: transparent;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    aspect-ratio: 1;
}

.style-card:hover {
    transform: scale(1.03);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.style-card.selected {
    box-shadow: 0 0 0 3px var(--primary-color), 0 12px 40px rgba(var(--primary-color-rgb), 0.3);
}

.style-card.selected::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.4);
    z-index: 10;
}

/* Card Thumbnail - Full Size with Overlay */
.style-card-thumb {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--bg-tertiary);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 16px;
}

.style-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
    transition: transform 0.4s ease;
}

.style-card:hover .style-card-thumb img {
    transform: scale(1.05);
}

.style-card-thumb .thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    color: var(--text-muted);
    font-size: 48px;
    border-radius: 16px;
}

/* Card Content - Overlay at Bottom */
.style-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 14px 14px 14px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-radius: 0 0 16px 16px;
    z-index: 5;
}

.style-card-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--ds-on-media);
    line-height: 1.3;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Hide English description in UI */
.style-card-description {
    display: none !important;
}

/* Responsive Adjustments */
@media (max-width: 1200px) {
    .style-shelf {
        grid-template-columns: 1.25fr 1fr 0.9fr;
        grid-template-areas:
            "urun urun mood"
            "mekanStili mekan mekan"
            "isik kompozisyon mevsim";
        gap: 10px 12px;
    }

    .style-category-btn {
        height: 40px;
        padding: 10px 16px;
        font-size: 12.5px;
    }

    .style-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 16px;
    }

    .style-browser-modal {
        top: 0;
        left: 0;
        right: 0;
        bottom: var(--modal-bottom-offset);
    }

    .style-browser-header {
        flex-wrap: wrap;
        gap: 8px;
    }

    .style-search-box {
        flex: 1 1 150px;
        order: 3;
        min-width: 150px;
    }

    .style-browser-tabs {
        order: 2;
        flex: 1 1 100%;
    }

    .style-browser-close {
        order: 4;
    }
}

@media (max-width: 992px) {
    .style-shelf {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "urun mood"
            "mekan mekan"
            "mekanStili isik"
            "kompozisyon mevsim";
        gap: 10px;
    }

    .style-category-btn {
        height: 38px;
        padding: 10px 14px;
    }

    .style-browser-modal {
        top: 0;
        left: 0;
        right: 0;
        bottom: var(--modal-bottom-offset);
    }

    .style-browser-header {
        padding: 10px 14px;
    }

    .style-browser-body {
        padding: 14px;
    }
}

@media (max-width: 640px) {
    .style-shelf {
        grid-template-columns: 1fr;
        grid-template-areas:
            "urun"
            "mood"
            "mekan"
            "mekanStili"
            "isik"
            "kompozisyon"
            "mevsim";
        gap: 8px;
    }

    .style-category-btn {
        height: 36px;
        font-size: 12px;
    }

    .style-browser-modal {
        top: 0;
        left: 0;
        right: 0;
        bottom: var(--modal-bottom-offset);
        border-radius: 14px;
    }

    .style-browser-header {
        border-radius: 14px 14px 0 0;
        padding: 10px 12px;
        flex-wrap: wrap;
    }

    .style-browser-title {
        flex: 1 1 100%;
        order: 1;
    }

    .style-browser-tabs {
        order: 2;
        flex: 1 1 100%;
        width: 100%;
        margin-top: 8px;
    }

    .style-search-box {
        order: 3;
        flex: 1 1 auto;
        min-width: 120px;
        margin-top: 8px;
    }

    .style-browser-close {
        order: 4;
        position: absolute;
        top: 10px;
        right: 12px;
    }

    .style-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 14px;
    }

    .style-browser-body {
        padding: 12px;
    }
}

/* Dark Mode Adjustments */
.dark-mode .style-category-btn {
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .style-category-btn:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: rgba(var(--primary-color-rgb), 0.6);
    color: rgba(var(--primary-color-rgb), 0.95);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .style-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

.dark-mode .style-browser-modal {
    background: var(--bg-elevated);
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .style-browser-header {
    background: transparent;
    border-bottom: none;
}

.dark-mode .style-browser-body {
    background: var(--bg-elevated);
}

.dark-mode .style-search-box {
    background: var(--bg-primary);
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .style-search-box:focus-within {
    border-color: rgba(var(--primary-color-rgb), 0.6);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .style-tab-btn {
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
}

.dark-mode .style-tab-btn:hover {
    border-color: rgba(var(--primary-color-rgb), 0.6);
    color: rgba(var(--primary-color-rgb), 0.95);
    background: rgba(var(--primary-color-rgb), 0.08);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.18);
}

.dark-mode .style-tab-btn.active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.dark-mode .style-browser-close {
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
}

.dark-mode .style-browser-close:hover {
    background: var(--danger-color);
    color: var(--ds-ink);
    border-color: var(--danger-color);
    box-shadow: 0 0 0 3px rgba(var(--ds-danger-rgb), 0.15);
}

/* ============================================
   END OF STİL SEÇENEKLERİ STYLES
   ============================================ */

/* ============================================
   USER DROPDOWN MENU STYLES
   ============================================ */

.user-menu {
    position: relative;
}

.user-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: 0.875rem;
}

.user-avatar:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: scale(1.05);
}

.user-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 280px;
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.05);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(0.95);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
    overflow: hidden;
}

.user-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.dropdown-header {
    padding: 16px;
    background: linear-gradient(135deg, var(--ds-accent), var(--ds-accent-press));
}

.user-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-avatar-large {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    /* On the header's accent gradient (.dropdown-header): the palette's ink, not white — a light accent
       (the dark palettes' mint) left a white icon on near-white (22 Oct). */
    color: var(--ds-accent-ink);
}

.user-details {
    display: flex;
    flex-direction: column;
}

.user-name {
    font-weight: 600;
    color: var(--ds-accent-ink);
    font-size: 1rem;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-details {
    min-width: 0;
}

.user-role {
    font-size: 0.75rem;
    color: var(--ds-accent-ink);
    background: transparent;
    padding: 2px 8px;
    border-radius: 10px;
    margin-top: 4px;
    display: inline-block;
    width: fit-content;
    border: 1px solid currentColor;
    opacity: 0.8;
}

.dropdown-divider {
    height: 1px;
    background: var(--border-color);
    margin: 0;
}

.dropdown-menu-items {
    padding: 8px;
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    background: transparent;
    color: var(--text-primary);
    font-size: 0.875rem;
    cursor: pointer;
    border-radius: 10px;
    transition: all 0.15s ease;
    text-align: left;
}

a.dropdown-item {
    text-decoration: none;
}

.dropdown-item:hover {
    background: var(--bg-secondary);
    color: var(--primary-color);
}

.dropdown-item i {
    width: 20px;
    text-align: center;
    color: var(--text-secondary);
    transition: color 0.15s ease;
}

.dropdown-item:hover i {
    color: var(--primary-color);
}

.dropdown-badge {
    margin-left: auto;
    padding: 2px 8px;
    background: var(--bg-tertiary);
    color: var(--text-secondary);
    font-size: 0.7rem;
    border-radius: 8px;
}

.dropdown-footer {
    padding: 12px 16px;
    background: var(--bg-secondary);
}

.version-info {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Dark mode adjustments */
.dark-mode .user-dropdown {
    background: var(--bg-primary);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05);
}

/* ============================================
   SETTINGS MODAL STYLES
   ============================================ */

.settings-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.settings-modal-overlay.show {
    opacity: 1;
    visibility: visible;
}

.settings-modal {
    width: 90%;
    max-width: 900px;
    max-height: 85vh;
    background: var(--bg-primary);
    border-radius: 20px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    transform: scale(0.9) translateY(20px);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.settings-modal-overlay.show .settings-modal {
    transform: scale(1) translateY(0);
}

.settings-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: var(--ds-accent-ink);
}

.settings-modal-header h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
}

.settings-modal-close {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: var(--ds-on-media);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.settings-modal-close:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: rotate(90deg);
}

.settings-modal-body {
    display: flex;
    height: calc(85vh - 80px);
    max-height: 600px;
}

.settings-sidebar {
    width: 220px;
    background: var(--bg-secondary);
    border-right: 1px solid var(--border-light);
    padding: 16px 12px;
    overflow-y: auto;
}

.settings-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.settings-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.875rem;
    cursor: pointer;
    border-radius: 10px;
    transition: all 0.15s ease;
    text-align: left;
    width: 100%;
}

.settings-nav-item:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.settings-nav-item.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.settings-nav-item i {
    width: 20px;
    text-align: center;
}

.settings-content-area {
    flex: 1;
    padding: 24px;
    overflow-y: auto;
}

.settings-panel {
    display: none;
}

.settings-panel.active {
    display: block;
    animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

.settings-panel h3 {
    margin: 0 0 10px 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
}

.settings-panel-intro {
    max-width: 760px;
    margin: 0 0 20px;
    color: var(--text-secondary);
    font-size: 0.92rem;
}

.settings-info-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: rgba(var(--primary-color-rgb), 0.1);
    border: 1px solid rgba(var(--primary-color-rgb), 0.2);
    border-radius: 12px;
    margin-bottom: 20px;
}

.settings-info-box i {
    color: var(--primary-color);
    font-size: 1.25rem;
    margin-top: 2px;
}

.settings-info-box p {
    margin: 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.settings-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

/* Image Count Selectors */
/* Image Count Selectors */
.count-selector {
    display: flex;
    align-items: center;
    /* Vertical centering for the main row */
    justify-content: space-between;
    padding: 12px 0;
    /* Removing horizontal padding to align with other elements */
    background: transparent;
    /* Remove background */
    border-radius: 16px;
    border: none;
    /* Remove border */
    margin-bottom: 5px;
    /* Reduced margin */
    transition: all 0.2s ease;
    flex-wrap: wrap;
    /* Allow wrapping for the shadow selector */
}


.settings-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: var(--bg-secondary);
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

/* A setting nothing reads is hidden in the markup (2 Oct, §0.29 2.5); the
   class's display would otherwise show it again. */
.settings-item[hidden],
.settings-group[hidden] {
    display: none !important;
}

.settings-item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.settings-item-info label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: var(--text-primary);
}

.settings-item-info p {
    margin: 0;
    font-size: 0.8rem;
    color: var(--text-muted);
}

/* Settings Toggle Switch */
.settings-toggle {
    position: relative;
    width: 48px;
    height: 26px;
}

.settings-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg-tertiary);
    border-radius: 26px;
    transition: all 0.3s ease;
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background: var(--ds-surface);
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.settings-toggle input:checked+.toggle-slider {
    background: var(--primary-color);
}

.settings-toggle input:checked+.toggle-slider:before {
    transform: translateX(22px);
}

/* Settings Select */
.settings-select {
    padding: 10px 16px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.875rem;
    min-width: 160px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.settings-select:hover {
    border-color: var(--primary-color);
}

.settings-select:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

/* A model chain: its selects in order, stacked (DEVIR-8 §4/6). */
.settings-chain {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* API Key Status */
.api-key-status {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--bg-tertiary);
    border-radius: 20px;
}

.status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--text-muted);
}

.status-indicator.loading {
    background: var(--ds-accent);
    animation: pulse 1s infinite;
}

.status-indicator.connected {
    background: var(--ds-ok);
}

.status-indicator.error {
    background: var(--ds-danger);
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.status-text {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

/* Theme Selector */
.theme-selector {
    display: flex;
    gap: 8px;
}

.theme-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    border: 2px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.theme-option:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.theme-option.active {
    border-color: var(--primary-color);
    background: rgba(var(--primary-color-rgb), 0.1);
    color: var(--primary-color);
}

.theme-option span {
    font-size: 0.75rem;
}

/* Color Selector */
.color-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 220px;
}

.color-option {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid transparent;
    background: var(--color);
    cursor: pointer;
    transition: all 0.2s ease;
}

.color-option:hover {
    transform: scale(1.15);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.color-option.active {
    border-color: var(--text-primary);
    box-shadow: 0 0 0 2px var(--bg-primary), 0 0 0 3px var(--color);
}

/* Settings Group Header */
.settings-group-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border-light);
    color: var(--primary-color);
    font-weight: 600;
    font-size: 14px;
}

.settings-group-header i {
    width: 20px;
    text-align: center;
}

/* Settings Slider */
.settings-slider-group {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 180px;
}

.settings-slider {
    flex: 1;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: var(--bg-tertiary);
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}

.settings-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: var(--primary-color);
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.settings-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.settings-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--primary-color);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

.slider-value {
    min-width: 50px;
    text-align: right;
    font-weight: 500;
    font-size: 13px;
    color: var(--text-secondary);
}

/* Settings Warning Button */
.settings-btn.warning {
    background: var(--ds-warn);
    color: var(--ds-bg);
}

.settings-btn.warning:hover {
    background: var(--ds-warn);
}

/* Account Summary */
.account-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.account-summary-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    min-width: 0;
}

.account-summary-item .label,
.settings-value {
    color: var(--text-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.account-summary-item .value {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.settings-value {
    color: var(--text-primary);
    font-weight: 700;
    text-align: right;
}

.account-action-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.account-action-row[hidden] {
    display: none;
}

.account-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.account-plan-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

.account-plan-card.highlighted {
    border-color: var(--primary-color);
    box-shadow: 0 10px 30px rgba(var(--primary-color-rgb), 0.12);
}

.account-plan-card .plan-label {
    color: var(--primary-color);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.account-plan-card strong {
    color: var(--text-primary);
    font-size: 1rem;
}

.account-plan-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.account-plan-card a {
    margin-top: auto;
    color: var(--primary-color);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
}

/* Storage Stats */
.storage-stats {
    display: flex;
    gap: 32px;
    padding: 24px;
    background: var(--bg-secondary);
    border-radius: 16px;
    margin-bottom: 24px;
}

.storage-chart {
    position: relative;
    width: 120px;
    height: 120px;
}

.storage-ring {
    transform: rotate(-90deg);
}

.storage-ring-bg {
    fill: none;
    stroke: var(--bg-tertiary);
    stroke-width: 3;
}

.storage-ring-fill {
    fill: none;
    stroke: var(--primary-color);
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.5s ease;
}

.storage-percent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
}

.storage-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.storage-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.storage-stat .label {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.storage-stat .value {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.storage-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.settings-status-badge {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid rgba(var(--ds-accent-rgb), 0.35);
    border-radius: 999px;
    color: var(--ds-accent);
    background: rgba(var(--ds-accent-rgb), 0.08);
    font-size: 12px;
    font-weight: 700;
}

.storage-ops-warning {
    margin: 14px 0 0;
    padding: 10px 12px;
    border: 1px solid rgba(var(--ds-warn-rgb), 0.35);
    border-radius: 10px;
    color: var(--ds-warn);
    background: rgba(var(--ds-warn-rgb), 0.08);
    font-size: 13px;
    line-height: 1.45;
}

/* Settings Buttons */
.settings-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.settings-btn.primary {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border: 1px solid var(--primary-color);
}

.settings-btn.primary:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
}

.settings-btn.secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.settings-btn.secondary:hover {
    background: var(--bg-tertiary);
    border-color: var(--primary-color);
}

.settings-btn.danger {
    background: rgba(var(--ds-danger-rgb), 0.1);
    color: var(--ds-danger);
    border: 1px solid rgba(var(--ds-danger-rgb), 0.2);
}

.settings-btn.danger:hover {
    background: var(--ds-danger);
    color: var(--ds-bg);
}

/* Keyboard Shortcuts */
.shortcuts-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.shortcut-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: var(--bg-secondary);
    border-radius: 10px;
}

.shortcut-desc {
    color: var(--text-primary);
    font-size: 0.9rem;
}

.shortcut-keys {
    display: flex;
    gap: 6px;
}

kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
    font-size: 0.75rem;
    color: var(--text-secondary);
    box-shadow: 0 2px 0 var(--border-color);
}

/* About Section */
.about-content {
    text-align: center;
}

.about-logo {
    margin-bottom: 24px;
}

.about-logo i {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 12px;
}

.about-logo h2 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-primary);
}

.about-logo .version {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 12px;
    background: rgba(var(--primary-color-rgb), 0.1);
    color: var(--ds-accent-text);
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.about-description {
    max-width: 500px;
    margin: 0 auto 24px;
}

.about-description p {
    color: var(--text-secondary);
    line-height: 1.6;
}

.about-features {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.feature-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--bg-secondary);
    border-radius: 20px;
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.feature-badge i {
    color: var(--primary-color);
}

.about-links {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 24px;
}

.about-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--bg-secondary);
    border-radius: 10px;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.about-link:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.about-footer {
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.about-footer p {
    margin: 0;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.about-footer .tech-stack {
    margin-top: 8px;
    color: var(--text-secondary);
}

/* Responsive Settings Modal */
@media (max-width: 768px) {
    .settings-modal {
        width: 95%;
        max-height: 90vh;
        border-radius: 16px;
    }

    .settings-modal-body {
        flex-direction: column;
        height: auto;
        max-height: calc(90vh - 80px);
    }

    .settings-sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding: 12px;
    }

    .settings-nav {
        flex-direction: row;
        overflow-x: auto;
        gap: 8px;
        padding-bottom: 8px;
    }

    .settings-nav-item {
        flex-shrink: 0;
        padding: 10px 16px;
    }

    .settings-nav-item span {
        display: none;
    }

    .settings-content-area {
        padding: 16px;
    }

    .storage-stats {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .account-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .account-plan-grid {
        grid-template-columns: 1fr;
    }

    .theme-selector {
        flex-direction: column;
    }

    .about-links {
        flex-direction: column;
    }
}

/* ============================================
   END OF USER DROPDOWN & SETTINGS STYLES
   ============================================ */

/* ============================================
   MODEL PARAMETERS PANEL STYLES
   ============================================ */

.settings-panel-description {
    color: var(--text-secondary);
    font-size: 0.875rem;
    margin-bottom: 20px;
    line-height: 1.5;
}

.model-selector-large {
    min-width: 220px;
    padding: 10px 14px !important;
    font-size: 0.95rem !important;
}

/* Model Selector with Action Button */
.model-selector-with-action {
    display: flex;
    align-items: center;
    gap: 8px;
}

.model-selector-with-action .model-selector-large {
    flex: 1;
}

.set-default-model-btn {
    width: 38px;
    height: 38px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.set-default-model-btn:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
    transform: scale(1.05);
}

.set-default-model-btn.is-default {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
}

.set-default-model-btn.is-default i {
    color: var(--ds-accent-ink);
}

.model-info-card {
    background: linear-gradient(135deg, rgba(var(--primary-color-rgb), 0.1) 0%, rgba(var(--primary-color-rgb), 0.1) 100%);
    border: 1px solid rgba(var(--primary-color-rgb), 0.2);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}

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

.model-info-header .model-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.model-info-header .model-category {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
}

.model-capabilities {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.capability-tag {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
    border: 1px solid var(--border-color);
}

.capability-tag.t2i {
    background: rgba(var(--ds-ok-rgb), 0.1);
    color: var(--ds-ok);
    border-color: rgba(var(--ds-ok-rgb), 0.3);
}

.capability-tag.i2i {
    background: rgba(var(--primary-color-rgb), 0.1);
    color: var(--ds-accent-text);
    border-color: rgba(var(--primary-color-rgb), 0.3);
}

.capability-tag.multi {
    background: rgba(var(--ds-accent-rgb), 0.1);
    color: var(--ds-accent-text);
    border-color: rgba(var(--ds-accent-rgb), 0.3);
}

#dynamicModelParams {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#dynamicModelParams .settings-item {
    animation: fadeSlideIn 0.2s ease forwards;
}

/* Model Info Toggle - Inline */
#modelInfoToggle:hover {
    opacity: 1 !important;
}

#modelInfoContent {
    animation: fadeSlideIn 0.2s ease forwards;
}

@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

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

@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.loading-placeholder {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    gap: 10px;
    padding: 30px !important;
    color: var(--text-muted);
}

.param-aspect-select {
    min-width: 180px;
}

.settings-btn.secondary {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.settings-btn.secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--primary-color);
}

/* Prompt Usage Toggle Button */
#promptUsageToggle:hover {
    opacity: 1 !important;
}

/* ============================================
   STYLE BROWSER MODAL v6.1 - MINIMAL DESIGN
   Soldaki panel ile uyumlu, sade ve temiz
   ============================================ */

/* Tab Buttons - Minimal Pills */
.style-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 32px;
    padding: 0 12px;
    border-radius: 16px;
    border: 1px solid rgba(128, 128, 128, 0.2);
    background: rgba(128, 128, 128, 0.08);
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.style-tab-btn i {
    font-size: 10px;
    opacity: 0.7;
}

.style-tab-btn span {
    font-size: 11px;
}

.style-tab-btn:hover {
    background: rgba(128, 128, 128, 0.15);
    border-color: rgba(128, 128, 128, 0.3);
    color: var(--text-primary);
}

.style-tab-btn.active {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--ds-accent-ink);
}

.style-tab-btn.active i {
    opacity: 1;
}

/* Back Button - Minimal */
.style-back-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(128, 128, 128, 0.2);
    background: rgba(128, 128, 128, 0.08);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
    font-size: 12px;
}

.style-back-btn:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
}

/* Breadcrumb */
.title-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 4px;
    color: var(--primary-color);
    font-weight: 500;
    font-size: 13px;
}

.title-breadcrumb i {
    font-size: 10px;
    opacity: 0.5;
    color: var(--text-muted);
}

/* ============================================
   CATEGORY GRID - Minimal Cards
   ============================================ */
.style-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    padding: 4px;
}

/* Category Card - Clean & Minimal */
.category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 12px;
    border-radius: 12px;
    border: 1px solid rgba(128, 128, 128, 0.15);
    background: rgba(128, 128, 128, 0.05);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    min-height: 110px;
}

.category-card:hover {
    border-color: var(--primary-color);
    background: rgba(var(--primary-rgb, 245, 158, 11), 0.08);
}

.category-card.has-selection {
    border-color: var(--primary-color);
    background: rgba(var(--primary-rgb, 245, 158, 11), 0.1);
}

/* Category Icon - Smaller, Cleaner */
.category-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    transition: transform 0.2s ease;
}

.category-card:hover .category-card-icon {
    transform: scale(1.05);
}

.category-card-icon i {
    font-size: 18px;
    color: var(--ds-accent-ink);
}

/* Category Label */
.category-card-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    text-align: center;
    margin-bottom: 2px;
    line-height: 1.3;
}

/* Category Description - Hidden by default */
.category-card-desc {
    display: none;
}

/* Selection Count Badge */
.category-card-count {
    position: absolute;
    top: 8px;
    right: 8px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Options Count */
.category-card-options {
    font-size: 10px;
    color: var(--text-muted);
    margin-top: 6px;
}

/* ============================================
   STYLE BROWSER FOOTER - Minimal
   ============================================ */
.style-browser-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-top: none;
    background: transparent;
}

.selection-summary {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Style browser footer içindeki selection-summary - her zaman şeffaf arka plan */
.style-browser-footer .selection-summary {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0;
    border: none;
    border-radius: 0;
}

.summary-count,
#selectionCount {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.footer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-clear-all {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    border-radius: 16px;
    border: 1px solid rgba(128, 128, 128, 0.2);
    background: transparent;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-clear-all:hover {
    border-color: var(--danger-color);
    color: var(--danger-color);
    background: rgba(var(--ds-danger-rgb), 0.08);
}

.btn-apply-styles {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border-radius: 16px;
    border: none;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-apply-styles:hover {
    filter: brightness(1.1);
}

/* ============================================
   STYLE CARDS - 1:1 Image Support (Default)
   ============================================ */
.style-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
}

.style-card {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    border: 1px solid rgba(128, 128, 128, 0.15);
    background: rgba(128, 128, 128, 0.05);
    overflow: hidden;
    cursor: pointer;
    transition: all 0.15s ease;
    position: relative;
}

.style-card:hover {
    border-color: var(--primary-color);
    background: rgba(var(--primary-rgb, 245, 158, 11), 0.08);
}

.style-card.selected {
    border-color: var(--primary-color);
    background: rgba(var(--primary-rgb, 245, 158, 11), 0.12);
}

.style-card.selected::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 6px;
    right: 6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
}

/* Card Thumbnail - 1:1 Aspect Ratio */
.style-card-thumb {
    width: 100%;
    aspect-ratio: 1;
    background: rgba(128, 128, 128, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.style-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.style-card-thumb .thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(128, 128, 128, 0.08);
    color: var(--text-muted);
    font-size: 24px;
}

/* Card Content */
.style-card-content {
    padding: 8px 10px;
}

.style-card-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.style-card-description {
    font-size: 10px;
    color: var(--text-muted);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 2px;
}

/* Hide difficulty and tags for cleaner look */
.style-card-difficulty,
.style-card-tags {
    display: none;
}

/* ============================================
   STYLE BROWSER MODAL - Premium Large Thumbnails
   ============================================ */
.style-browser-modal .style-cards-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

.style-browser-modal .style-card {
    border-radius: 16px;
    border: none;
    background: transparent;
    aspect-ratio: 1;
}

.style-browser-modal .style-card:hover {
    transform: scale(1.03);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    background: transparent;
}

.style-browser-modal .style-card:hover .style-card-thumb img {
    transform: scale(1.05);
}

.style-browser-modal .style-card.selected {
    box-shadow: 0 0 0 3px var(--primary-color), 0 12px 40px rgba(var(--primary-color-rgb), 0.3);
    background: transparent;
}

.style-browser-modal .style-card.selected::after {
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    font-size: 13px;
    box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.4);
    z-index: 10;
}

.style-browser-modal .style-card-thumb {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: unset;
    background: linear-gradient(135deg, var(--ds-surface-2) 0%, var(--ds-surface) 100%);
    border-radius: 16px;
}

.style-browser-modal .style-card-thumb img {
    border-radius: 16px;
    transition: transform 0.4s ease;
}

.style-browser-modal .style-card-thumb .thumb-placeholder {
    background: linear-gradient(135deg, var(--ds-surface-2) 0%, var(--ds-surface) 100%);
    color: rgba(255, 255, 255, 0.3);
    font-size: 48px;
    border-radius: 16px;
}

.style-browser-modal .style-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 14px 14px 14px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 60%, transparent 100%);
    border-radius: 0 0 16px 16px;
    z-index: 5;
}

.style-browser-modal .style-card-label {
    font-size: 13px;
    color: var(--ds-on-media);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.style-browser-modal .style-card-description {
    display: none !important;
}

/* ============================================
   DARK MODE - Minimal Adjustments
   ============================================ */
.dark-mode .category-card {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.08);
}

.dark-mode .category-card:hover {
    border-color: var(--primary-color);
    background: rgba(var(--primary-rgb, 245, 158, 11), 0.1);
}

.dark-mode .style-card {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.08);
}

.dark-mode .style-card:hover {
    border-color: var(--primary-color);
}


.dark-mode .style-browser-footer {
    border-top: none;
    background: transparent;
}

.dark-mode .btn-clear-all {
    border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode .btn-clear-all:hover {
    border-color: var(--danger-color);
}

/* ============================================
   RESPONSIVE - Minimal v6.1
   ============================================ */
@media (max-width: 768px) {
    .style-category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .style-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 14px;
    }

    .category-card {
        padding: 12px 8px;
        min-height: 90px;
    }

    .category-card-icon {
        width: 36px;
        height: 36px;
    }

    .category-card-icon i {
        font-size: 14px;
    }

    .category-card-label {
        font-size: 11px;
    }

    .style-browser-footer {
        padding: 10px 12px;
    }
}

@media (max-width: 480px) {
    .style-category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .style-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 12px;
    }

    .category-card {
        padding: 10px 6px;
        min-height: 80px;
    }

    .category-card-icon {
        width: 32px;
        height: 32px;
    }

    .category-card-icon i {
        font-size: 12px;
    }

    .category-card-options {
        display: none;
    }
}

/* ============================================
   POSTER MODE - Premium Design Style Panels
   Matches existing system design language
   ============================================ */

/* Poster Design Panel Base */
.poster-design-panel {
    margin-top: 0;
}

.poster-design-panel.hidden {
    display: none !important;
}

/* Panel Card Override for Poster Mode - Match system panels */
.poster-design-panel.panel-card {
    background: var(--bg-elevated);
    border-radius: 18px;
    border: 1px solid var(--border-light);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* Header - Same as system panels (12px 16px) */
.poster-design-panel .card-header {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-light);
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-radius: 18px 18px 0 0;
}

.poster-design-panel .card-header h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.poster-design-panel .card-header h3 i {
    color: var(--warning-color);
    font-size: 16px;
}

/* Header Actions */
.poster-design-panel .header-actions {
    margin-left: auto;
}

/* ===== Quick Design Panel ===== */
/* Content padding same as image-count-selectors (16px) */
.poster-quick-design-content {
    padding: 16px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 0 0 18px 18px;
}

.quick-design-step {
    margin-bottom: 16px;
}

.quick-design-step:last-of-type {
    margin-bottom: 8px;
}

/* Step Label - Minimal, same spacing as system */
.step-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 10px;
}

/* Hide step number circles - cleaner look */
.step-number {
    display: none;
}

/* Quick Option Buttons - Horizontal Scroll Row */
.quick-select-group {
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.quick-select-group::-webkit-scrollbar {
    display: none;
}

/* Format and Mood groups - Flex row */
#posterFormatSelect,
#posterMoodSelect {
    display: flex;
    flex-direction: row;
}

/* Quick Option - Standardized Match to Style Category Btn */
.quick-option {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    height: 40px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 20px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-secondary);
    /* or rgba(255, 255, 255, 0.85) if needed specifically */
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.quick-option:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.quick-option.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
}

.quick-option i {
    font-size: 14px;
    flex-shrink: 0;
}

.quick-option span {
    font-size: 11px;
}

/* ===== Palette Options - Horizontal Scroll Row ===== */
.palette-group {
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.palette-group::-webkit-scrollbar {
    display: none;
}

.palette-option {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    height: 40px;
    min-width: unset;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.palette-option:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.palette-option.active {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.palette-option.active .palette-preview {
    box-shadow: 0 0 0 2px white;
}

.palette-option.active>span:last-child {
    color: var(--ds-on-media);
}

/* Palette Color Preview - 3 color preview */
.palette-preview {
    display: flex;
    gap: 1px;
    width: 32px;
    height: 16px;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
}

.palette-preview span {
    flex: 1;
    min-width: 10px;
}

.palette-preview.gradient-preview {
    border-radius: 4px;
    width: 32px;
    height: 16px;
}

/* Palette option text */
.palette-option>span:last-child {
    font-size: 11px;
    text-align: center;
    color: var(--text-secondary);
}

/* Palette Catalog Button */
.palette-catalog-btn {
    background: rgba(var(--ds-warn-rgb), 0.1) !important;
    color: var(--warning-color) !important;
}

.palette-catalog-btn:hover {
    background: rgba(var(--ds-warn-rgb), 0.2) !important;
}

.palette-catalog-btn i {
    color: var(--warning-color);
}

/* ===== Palette Catalog Panel - Collapsed under the button row */
.palette-catalog {
    margin-top: 12px;
    padding: 16px;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    border-radius: 16px;
    border: 1px solid var(--border-light);
    display: none;
    animation: slideDown 0.3s ease;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

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

.catalog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 8px;
}

.catalog-header span {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
}

.catalog-close {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.15s ease;
}

.catalog-close:hover {
    background: rgba(128, 128, 128, 0.15);
    color: var(--text-primary);
}

.catalog-scroll-container {
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.catalog-scroll-container::-webkit-scrollbar {
    display: none;
}

.catalog-palette-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(128, 128, 128, 0.08);
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.catalog-palette-item:hover {
    background: rgba(128, 128, 128, 0.15);
}

.catalog-palette-item.active {
    background: var(--primary-color);
}

.catalog-palette-item.active span:last-child {
    color: var(--ds-accent-ink);
}

.catalog-palette-item .palette-preview {
    width: 32px;
    height: 16px;
}

.catalog-palette-item>span:last-child {
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* Recommendations Section - Same background as buttons */
.poster-style-recommendations {
    background: rgba(128, 128, 128, 0.08);
    border: none;
    border-radius: 14px;
    padding: 12px;
    margin-top: 12px;
}

.recommendations-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.recommendations-header i {
    color: var(--warning-color);
    font-size: 11px;
}

.recommendations-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    pointer-events: auto;
    position: relative;
    z-index: 5;
}

.recommendation-placeholder {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    background: transparent;
    font-size: 11px;
    color: var(--text-muted);
    width: 100%;
}

.recommendation-placeholder i {
    font-size: 11px;
    animation: none;
}

/* Recommended Style Chips - Same style as buttons */
.recommended-style-chip {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: rgba(128, 128, 128, 0.08);
    border: 1px solid var(--border-light);
    border-radius: 20px;
    font-size: 10px;
    font-weight: 500;
    color: var(--text-primary);
    cursor: pointer;
    transition: all 0.15s ease;
    pointer-events: auto !important;
    /* Tıklanabilirlik garantisi */
    position: relative;
    z-index: 10;
}

/* Child elements should not block clicks */
.recommended-style-chip i,
.recommended-style-chip span {
    pointer-events: none;
}

.recommended-style-chip:hover {
    background: rgba(128, 128, 128, 0.15);
    border-color: var(--primary-color);
    transform: translateY(-1px);
}

.recommended-style-chip.selected {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
}

/* ===== Pro Design Panel (Library Browser) ===== */
.poster-pro-design-content {
    padding: 16px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 0 0 18px 18px;
}

/* 3x2 Grid layout for design category buttons */
.design-style-shelf {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

/* Design Category Buttons - Transparent with border */
.design-category-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 10px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    min-width: 0;
}

.design-category-btn:hover {
    background: rgba(128, 128, 128, 0.05);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.design-category-btn.active,
.design-category-btn.has-selection {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

.design-category-btn i {
    font-size: 12px;
    flex-shrink: 0;
}

/* Special Day Button - Golden accent */
.design-category-btn.special-day-btn {
    background: rgba(var(--ds-warn-rgb), 0.1);
    color: var(--warning-color);
}

.design-category-btn.special-day-btn:hover {
    border-color: var(--warning-color);
}

.design-category-btn.special-day-btn.active {
    background: var(--warning-color);
    border-color: var(--warning-color);
    color: var(--ds-on-media);
}

/* Design Selection Display - Minimal */
.design-selection-display {
    background: rgba(128, 128, 128, 0.06);
    border-radius: 12px;
    padding: 12px;
    min-height: 50px;
    border: none;
}

.selection-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px;
    color: var(--text-muted);
    font-size: 12px;
}

.selection-placeholder i {
    font-size: 14px;
    opacity: 0.6;
}

.selected-design-styles {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Selected styles from library */
.selected-styles-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.selected-style-chip {
    padding: 6px 12px;
    background: rgba(var(--primary-color-rgb), 0.15);
    border-radius: 14px;
    font-size: 11px;
    font-weight: 500;
    color: var(--primary-color);
}

/* Design Style Chips - Pill with remove */
.design-style-chip {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    background: rgba(128, 128, 128, 0.12);
    border: none;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-primary);
}

.design-style-chip .remove-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: var(--text-muted);
    font-size: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.design-style-chip .remove-chip:hover {
    background: var(--error-color);
    color: var(--ds-on-media);
}

/* ===== Brand Brief Panel ===== */
.poster-brand-brief-content {
    padding: 16px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: 0 0 18px 18px;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;
}

.poster-brand-brief-content.collapsed {
    max-height: 0;
    padding: 0 16px;
    opacity: 0;
}

.brand-brief-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.brand-input-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.brand-input-group label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
}

.brand-input-group label i {
    font-size: 12px;
    color: var(--warning-color);
}

/* Brand Input - System style (matches main input fields) */
.brand-input {
    width: 100%;
    padding: 10px 16px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 20px;
    font-size: 13px;
    color: var(--text-primary);
    transition: all 0.2s ease;
}

.brand-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.brand-input::placeholder {
    color: var(--text-muted);
}

/* Additional Text Group - Full width textarea */
.additional-text-group {
    grid-column: span 2;
}

/* Brand Textarea - System style (matches main input fields) */
.brand-textarea {
    width: 100%;
    padding: 12px 14px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 16px;
    font-size: 13px;
    font-family: inherit;
    color: var(--text-primary);
    resize: vertical;
    min-height: 70px;
    transition: all 0.2s ease;
}

.brand-textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.brand-textarea::placeholder {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.5;
}

/* Brand Colors Group */
.brand-colors-group {
    grid-column: span 2;
}

.brand-color-inputs {
    display: flex;
    gap: 16px;
}

.color-input-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* Color Picker - Circle style */
.color-picker {
    width: 44px;
    height: 44px;
    padding: 3px;
    background: transparent;
    border: 2px solid rgba(128, 128, 128, 0.15);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
}

.color-picker:hover {
    transform: scale(1.08);
    border-color: var(--primary-color);
}

.color-picker::-webkit-color-swatch-wrapper {
    padding: 0;
}

.color-picker::-webkit-color-swatch {
    border-radius: 50%;
    border: none;
}

.color-label {
    font-size: 10px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Logo Upload - Clean rounded area */
.logo-upload-group {
    grid-column: span 2;
}

.logo-upload-area {
    position: relative;
    min-height: auto;
}

.logo-placeholder {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    background: rgba(128, 128, 128, 0.06);
    border: 2px dashed rgba(128, 128, 128, 0.2);
    border-radius: 50px;
    color: var(--text-muted);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.logo-placeholder:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: rgba(var(--primary-rgb, 0, 122, 255), 0.05);
}

.logo-placeholder i {
    font-size: 16px;
    opacity: 0.7;
}

.logo-preview {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background: rgba(128, 128, 128, 0.06);
    border: none;
    border-radius: 50px;
}

.logo-preview.hidden {
    display: none;
}

.logo-preview img {
    max-width: 100%;
    max-height: 50px;
    object-fit: contain;
}

.remove-logo-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: rgba(var(--ds-danger-rgb), 0.9);
    border: none;
    border-radius: 50%;
    color: var(--ds-bg);
    font-size: 10px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.remove-logo-btn:hover {
    background: var(--error-color);
    transform: scale(1.1);
}

/* ===== Design Text Panel ===== */
.poster-text-content {
    padding: 16px;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;
}

.poster-text-content.collapsed {
    max-height: 0;
    padding: 0 16px;
    opacity: 0;
}

.design-text-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.design-text-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.design-text-group.full-width {
    grid-column: span 2;
}

.design-text-group label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
}

.design-text-group label i {
    font-size: 12px;
    color: var(--warning-color);
}

/* Design Text Input - Pill style */
.design-text-input {
    padding: 10px 16px;
    background: rgba(128, 128, 128, 0.08);
    border: none;
    border-radius: 20px;
    font-size: 13px;
    color: var(--text-primary);
    transition: all 0.2s ease;
}

.design-text-input:focus {
    outline: none;
    background: rgba(128, 128, 128, 0.12);
    box-shadow: 0 0 0 2px rgba(var(--primary-rgb, 0, 122, 255), 0.2);
}

.design-text-input::placeholder {
    color: var(--text-muted);
}

.design-text-input.headline-input {
    font-size: 13px;
    font-weight: 600;
}

/* Design Text Textarea - Rounded */
.design-text-textarea {
    padding: 10px 16px;
    background: rgba(128, 128, 128, 0.08);
    border: none;
    border-radius: 14px;
    font-size: 13px;
    color: var(--text-primary);
    resize: vertical;
    min-height: 56px;
    transition: all 0.2s ease;
    font-family: inherit;
}

.design-text-textarea:focus {
    outline: none;
    background: rgba(128, 128, 128, 0.12);
    box-shadow: 0 0 0 2px rgba(var(--primary-rgb, 0, 122, 255), 0.2);
}

.design-text-textarea::placeholder {
    color: var(--text-muted);
}

/* ===== Collapsible Panels - Brand Brief & Design Text ===== */
/* These panels have special pill-style when collapsed, normal when expanded */

/* Collapsible Panel Container */
#posterBrandBriefPanel,
#posterTextPanel {
    transition: all 0.3s ease;
}

/* Collapsed State - Match system panel dark background */
/* Using :has() for modern browsers and .is-collapsed class as fallback */
#posterBrandBriefPanel:has(.poster-brand-brief-content.collapsed),
#posterBrandBriefPanel.is-collapsed {
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
}

/* Collapsed Header - System style */
#posterBrandBriefPanel:has(.poster-brand-brief-content.collapsed) .card-header,
#posterBrandBriefPanel.is-collapsed .card-header {
    border-radius: 18px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    padding: 12px 16px;
    min-height: auto;
    border-bottom: none;
}

/* Expanded State - Normal Panel Style like "Görsel Üretim ve Ayarlar" */
#posterBrandBriefPanel:has(.poster-brand-brief-content:not(.collapsed)),
#posterBrandBriefPanel.is-expanded {
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    background: var(--bg-elevated);
    border: 1px solid var(--border-light);
}

/* Expanded Header - Normal header style (12px 16px like system) */
#posterBrandBriefPanel:has(.poster-brand-brief-content:not(.collapsed)) .card-header,
#posterBrandBriefPanel.is-expanded .card-header {
    border-radius: 18px 18px 0 0;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-light);
}

/* Collapsible Header Base */
.card-header.collapsible {
    cursor: pointer;
    user-select: none;
    transition: all 0.3s ease;
}

.card-header.collapsible:hover {
    background: rgba(128, 128, 128, 0.06);
}

/* Collapse Icon */
.card-header .collapse-icon {
    margin-left: auto;
    font-size: 12px;
    color: var(--text-muted);
    transition: transform 0.3s ease;
}

.card-header.collapsible:not(.expanded) .collapse-icon {
    transform: rotate(-90deg);
}

.card-header.collapsible.expanded .collapse-icon {
    transform: rotate(0deg);
}

/* Optional Badge - Pill style */
.optional-badge {
    font-size: 9px;
    font-weight: 500;
    color: var(--text-muted);
    background: rgba(128, 128, 128, 0.12);
    padding: 3px 8px;
    border-radius: 10px;
    margin-left: 8px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Pro Mode Toggle Button - Circle */
.btn-icon-mini {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: rgba(128, 128, 128, 0.1);
    border: none;
    border-radius: 50%;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-icon-mini:hover {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
}

/* Storyboard V2 Grid toggle */
.btn-icon-mini.storyboard-grid-toggle.is-active {
    background: rgba(var(--ds-ok-rgb), 0.18);
    color: var(--ds-ok);
}

/* Hover - Force white icon and primary background (standard hover behavior) */
.btn-icon-mini.storyboard-grid-toggle:hover,
.btn-icon-mini.storyboard-grid-toggle:hover i,
.btn-icon-mini.storyboard-grid-toggle.is-active:hover,
.btn-icon-mini.storyboard-grid-toggle.is-active:hover i {
    background: var(--primary-color) !important;
    color: var(--ds-accent-ink) !important;
}

/* Storyboard V1 Anchor-First toggle (İlk Sahne) */
.btn-icon-mini.storyboard-anchor-toggle.is-active {
    background: rgba(var(--primary-color-rgb, 99, 102, 241), 0.15);
    color: var(--primary-color);
    border: 1px solid rgba(var(--primary-color-rgb, 99, 102, 241), 0.3);
}

.btn-icon-mini.storyboard-anchor-toggle.is-active:hover {
    background: rgba(var(--primary-color-rgb, 99, 102, 241), 0.25);
    color: var(--primary-color);
}

/* ===== Dark Mode Adjustments ===== */
.dark-mode .quick-option {
    background: rgba(255, 255, 255, 0.06);
}

.dark-mode .quick-option:hover {
    background: rgba(255, 255, 255, 0.1);
}

.dark-mode .quick-option.active {
    background: var(--primary-color);
}

.dark-mode .design-category-btn {
    background: rgba(255, 255, 255, 0.06);
}

.dark-mode .design-category-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}

.dark-mode .poster-style-recommendations,
.dark-mode .design-selection-display {
    background: rgba(255, 255, 255, 0.04);
}

.dark-mode .brand-input,
.dark-mode .design-text-input,
.dark-mode .design-text-textarea {
    background: rgba(255, 255, 255, 0.06);
}

.dark-mode .brand-input:focus,
.dark-mode .design-text-input:focus,
.dark-mode .design-text-textarea:focus {
    background: rgba(255, 255, 255, 0.1);
}

.dark-mode .color-picker {
    border-color: rgba(255, 255, 255, 0.15);
}

.dark-mode .logo-placeholder {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.15);
}

.dark-mode .logo-preview {
    background: rgba(255, 255, 255, 0.04);
}

.dark-mode .recommended-style-chip,
.dark-mode .design-style-chip {
    background: rgba(255, 255, 255, 0.08);
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .design-style-shelf {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .poster-unified-panel .brand-brief-grid {
        grid-template-columns: 1fr;
    }

    .poster-unified-panel .additional-text-group,
    .poster-unified-panel .brand-colors-group,
    .poster-unified-panel .brand-palette-group,
    .poster-unified-panel .logo-upload-group {
        grid-column: span 1;
    }

    .poster-unified-panel .design-style-shelf {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #posterFormatSelect,
    #posterMoodSelect,
    .palette-group {
        flex-wrap: wrap;
        overflow-x: hidden;
        padding-bottom: 0;
    }

    .brand-brief-grid,
    .design-text-grid {
        grid-template-columns: 1fr;
    }

    .additional-text-group,
    .brand-colors-group,
    .brand-palette-group,
    .logo-upload-group,
    .design-text-group.full-width {
        grid-column: span 1;
    }
}

@media (max-width: 480px) {

    .poster-unified-panel .design-style-shelf {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #posterFormatSelect,
    #posterMoodSelect,
    .palette-group {
        flex-wrap: wrap;
        overflow-x: hidden;
    }

    .quick-option {
        padding: 8px 4px;
    }

    .quick-option i {
        font-size: 14px;
    }

    .design-category-btn {
        padding: 10px 6px;
        font-size: 10px;
    }

    .design-category-btn i {
        font-size: 12px;
    }
}

/* ========================================== */
/* Design Style Library Modal                */
/* ========================================== */
.style-library-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.style-library-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
}

.style-library-content {
    position: relative;
    width: 90%;
    max-width: 1000px;
    max-height: 85vh;
    background: var(--bg-elevated);
    border-radius: 20px;
    border: 1px solid var(--border-light);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    animation: modalSlideIn 0.25s ease;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

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

.style-library-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-light);
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    flex-shrink: 0;
}

.library-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.library-title i {
    color: var(--warning-color);
    font-size: 18px;
}

.library-category-filter {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    flex: 1;
    margin-left: 16px;
}

.library-category-btn {
    padding: 6px 14px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
}

.library-category-btn:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.library-category-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    border-color: var(--primary-color);
}

.library-close-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(128, 128, 128, 0.08);
    border: none;
    border-radius: 50%;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
    margin-left: auto;
}

.library-close-btn:hover {
    background: rgba(128, 128, 128, 0.2);
    color: var(--text-primary);
}

.style-library-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.style-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

/* Style Card - Match Aspect Ratio Option Style */
.style-card {
    display: flex;
    flex-direction: column;
    padding: 16px;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    border-radius: 16px;
    cursor: pointer;
    transition: all var(--transition-fast);
    border: 1.5px solid var(--border-light);
    gap: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.style-card:hover {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-color: rgba(var(--primary-color-rgb), 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.style-card.selected {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border-color: var(--primary-color);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.15);
}

.style-card.selected .style-card-title,
.style-card.selected .style-card-subtitle {
    color: var(--ds-accent-ink) !important;
}

.style-card.selected .style-card-subtitle {
    opacity: 0.9;
}

.style-card.selected .style-tag {
    background: rgba(255, 255, 255, 0.2);
    color: var(--ds-accent-ink);
}

.style-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.style-card-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
}


.style-card-subtitle {
    font-size: 11px;
    color: var(--text-muted);
}

.style-card-check {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid var(--border-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: all 0.15s ease;
}

.style-card.selected .style-card-check {
    background: var(--ds-surface);
    border-color: var(--ds-on-media);
    color: var(--primary-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.style-card-palette {
    display: flex;
    gap: 4px;
    margin-top: auto;
    /* Push to bottom if content varies */
}

.style-card-palette span {
    width: 28px;
    height: 28px;
    border-radius: 6px;
}

.style-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.style-tag {
    padding: 4px 10px;
    background: rgba(128, 128, 128, 0.08);
    border-radius: 12px;
    font-size: 10px;
    color: var(--text-secondary);
}

.style-library-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-top: 1px solid var(--border-light);
    background: var(--bg-tertiary);
    flex-shrink: 0;
}

.selected-count {
    font-size: 13px;
    color: var(--text-secondary);
}

.selected-count span {
    font-weight: 600;
    color: var(--primary-color);
}

.library-actions {
    display: flex;
    gap: 10px;
}

.library-btn {
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.library-btn.secondary {
    background: rgba(128, 128, 128, 0.1);
    border: none;
    color: var(--text-secondary);
}

.library-btn.secondary:hover {
    background: rgba(128, 128, 128, 0.2);
    color: var(--text-primary);
}

.library-btn.primary {
    background: var(--primary-color);
    border: none;
    color: var(--ds-accent-ink);
}

.library-btn.primary:hover {
    filter: brightness(1.1);
}

/* ============================================
   POSTER MODE - FINAL VISUAL FIXES
   Ensure transparent backgrounds to match panel tone exactly
   ============================================ */
.quick-option,
.palette-option,
.design-category-btn,
.brand-input,
.brand-textarea {
    background: transparent !important;
    border: 1px solid var(--border-light);
}

.quick-option:hover,
.palette-option:hover,
.design-category-btn:hover {
    background: rgba(128, 128, 128, 0.05) !important;
    border-color: var(--primary-color);
}

.quick-option.active,
.palette-option.active,
.design-category-btn.active,
.design-category-btn.has-selection {
    background: var(--primary-color) !important;
    color: var(--ds-accent-ink) !important;
    border-color: var(--primary-color) !important;
}

.brand-input:focus,
.brand-textarea:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

/* ============================================
   HEADER & CATALOG FIXES
   Match 'Image Count' panel typography and spacing
   and fix Palette Catalog background mismatch
   ============================================ */

/* Fix Palette Catalog Background - Transparent to avoid tone mismatch */
.palette-catalog {
    background: transparent !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: none !important;
    padding: 12px !important;
}

/* Standardize ALL Panel Headers to match 'Image Count' style */
.input-panel .card-header h3,
.poster-design-panel .card-header h3,
.poster-brand-brief-panel .card-header h3,
.image-count-panel .card-header h3 {
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    margin: 0;
}

/* Ensure padding consistency */
.input-panel .card-header,
.poster-design-panel .card-header,
.poster-brand-brief-panel .card-header,
.image-count-panel .card-header {
    padding: 12px 16px !important;
    min-height: 48px;
}

/* Light mode: restore readable panel header colors */
body.light-mode .input-panel .card-header h3,
body.light-mode .poster-design-panel .card-header h3,
body.light-mode .poster-brand-brief-panel .card-header h3,
body.light-mode .image-count-panel .card-header h3 {
    color: var(--text-primary) !important;
}

/* ============================================
   STYLE LIBRARY MODAL FIXES
   Combine palette to pill, remove duplicate checks
   ============================================ */

/* 1. Remove Any Pseudo-Element Checkmarks to prevent duplicates */
.style-library-modal .style-card::after,
.style-library-modal .style-card::before {
    display: none !important;
    content: none !important;
}

/* 2. Refine Checkmark Style */
.style-library-modal .style-card-check {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.style-library-modal .style-card.selected .style-card-check {
    background: var(--ds-surface) !important;
    border-color: var(--ds-on-media) !important;
    color: var(--primary-color) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* 3. Palette - Unified Pill Style */
.style-library-modal .style-card-palette {
    display: flex;
    gap: 0 !important;
    border-radius: 20px;
    overflow: hidden;
    margin-top: auto;
    border: 1px solid rgba(255, 255, 255, 0.1);
    height: 20px;
    width: fit-content;
}

.style-library-modal .style-card-palette span {
    width: 24px !important;
    height: 100% !important;
    border-radius: 0 !important;
    flex: none;
}

/* ============================================
   AI OPTIMIZATION BUTTONS
   Inside inputs for Brand Brief & Colors
   ============================================ */
.input-with-action {
    position: relative;
    width: 100%;
}

.input-with-action .brand-input,
.input-with-action .brand-textarea {
    padding-right: 40px !important;
    /* Make space for button */
}

.input-action-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--warning-color);
    /* Gold/Magic color */
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    opacity: 0.6;
    z-index: 5;
}

.input-with-action .brand-textarea+.input-action-btn {
    top: 12px;
    transform: none;
}

.input-action-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    opacity: 1;
    color: var(--ds-warn);
}

.input-action-btn i {
    font-size: 14px;
}

/* Loading state for optimization */
.input-action-btn.loading i {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

/* ============================================
   BRAND COLORS - LOCK/UNLOCK & AI OPTIMIZATION
   ============================================ */
.brand-colors-group label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.brand-colors-group .color-optimize-btn {
    position: static;
    transform: none;
    margin-left: auto;
}

.brand-color-inputs {
    display: flex;
    gap: 12px;
    align-items: center;
}

.color-enable-btn {
    width: 32px;
    height: 32px;
    border: 1px solid var(--border-light);
    background: transparent;
    border-radius: 50%;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    margin-left: auto;
}

.color-enable-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--warning-color);
    border-color: var(--warning-color);
}

.color-enable-btn.unlocked {
    color: var(--success-color);
    border-color: var(--success-color);
}

.color-enable-btn.unlocked i::before {
    content: "\f3c1";
    /* fa-lock-open */
}

/* Disabled color pickers */
.color-picker:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.color-picker:not(:disabled) {
    opacity: 1;
    cursor: pointer;
}

.brand-colors-hint {
    display: block;
    font-size: 10px;
    color: var(--text-muted);
    margin-top: 8px;
    opacity: 0.7;
}

/* ============================================
   UNIFIED POSTER PANEL - TAB SYSTEM
   Separate pill tabs and content areas
   ============================================ */
.poster-unified-panel {
    margin-top: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible;
    position: relative;
    z-index: 1;
}

.poster-unified-panel .card-header {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    margin-bottom: 10px;
}

/* Tab Navigation Bar - Standalone Pill with Gradient */
.panel-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-radius: 50px;
    padding: 6px 8px;
    margin: 0;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--border-light);
    /* Tutarlılık için ince border */
}

.panel-tabs::-webkit-scrollbar {
    display: none;
}

.panel-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    background: transparent;
    border: none;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    border-radius: 50px;
}

.panel-tab i {
    font-size: 0.85rem;
    opacity: 0.7;
}

.panel-tab:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-primary);
}

.panel-tab.active {
    background: var(--warning-color);
    color: var(--ds-warn-ink);
    font-weight: 600;
}

.panel-tab.active i {
    opacity: 1;
    color: var(--ds-warn-ink);
}

/* Tab Content Area - Separate Card */
.panel-tab-content {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-radius: 16px;
    padding: 14px;
    min-height: 150px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--border-light);
    /* Tutarlılık için ince border */
    position: relative;
    z-index: 1;
}

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
    animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

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

/* Compact styling for unified panel */
.poster-unified-panel .brand-brief-grid {
    gap: 12px;
    grid-template-columns: 1fr 1fr;
}

.poster-unified-panel .additional-text-group,
.poster-unified-panel .instructions-text-group,
.poster-unified-panel .brand-colors-group,
.poster-unified-panel .brand-palette-group,
.poster-unified-panel .logo-upload-group {
    grid-column: span 2;
}

.poster-unified-panel .logo-inline-group {
    grid-column: span 1;
}

.poster-unified-panel .logo-inline-group .logo-placeholder,
.poster-unified-panel .logo-inline-group .logo-preview {
    border-radius: 20px;
    height: 40px;
    padding: 0 14px;
    border-width: 1px;
}

.poster-unified-panel .logo-inline-group .logo-placeholder {
    justify-content: center;
    border-style: dashed;
}

.poster-unified-panel .logo-inline-group .logo-placeholder i {
    font-size: 14px;
}

.poster-unified-panel .logo-inline-group .logo-placeholder span {
    font-size: 11px;
}

.poster-unified-panel .logo-inline-group .logo-preview {
    padding: 0 14px;
}

.poster-unified-panel .logo-inline-group .logo-preview img {
    max-height: 28px;
}

/* Poster expandable single-line inputs */
.poster-expandable-input {
    width: 100%;
    min-height: 32px;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1.4;
    border: 1px solid rgba(128, 128, 128, 0.2);
    border-radius: 8px;
    background: rgba(128, 128, 128, 0.06);
    color: var(--text-color, #e0e0e0);
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.poster-expandable-input:focus {
    border-color: var(--primary-color, #6366f1);
    outline: none;
}

.poster-expandable-input::placeholder {
    color: var(--text-muted, #999);
    font-size: 11px;
}

/* Pill-shaped resizable textareas for poster brand panel */
.poster-pill-textarea {
    display: block;
    width: 100%;
    min-height: 40px;
    max-height: 180px;
    padding: 8px 14px;
    font-size: 12px;
    font-family: inherit;
    line-height: 1.5;
    border: 1px solid rgba(128, 128, 128, 0.2);
    border-radius: 16px;
    background: rgba(128, 128, 128, 0.06);
    color: var(--text-color, #e0e0e0);
    resize: vertical;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
    overflow-y: auto;
}

.poster-pill-textarea:focus {
    border-color: var(--primary-color, #6366f1);
    outline: none;
}

.poster-pill-textarea::placeholder {
    color: var(--text-muted, #999);
    font-size: 11px;
}

/* Resize handle styling for pill textareas */
.poster-pill-textarea::-webkit-resizer {
    border-width: 0;
    border-bottom: 2px solid rgba(128, 128, 128, 0.25);
    border-right: 2px solid rgba(128, 128, 128, 0.25);
    border-radius: 0 0 14px 0;
}

/* Ensure action button positions correctly over textarea */
.input-with-action .poster-pill-textarea {
    padding-right: 40px;
}

.poster-unified-panel .palette-group {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
}

.poster-unified-panel .design-style-shelf {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.poster-unified-panel .design-category-btn {
    gap: 0;
    padding: 8px 8px;
    font-size: 10px;
}

.poster-unified-panel .design-category-btn span {
    font-size: 10px;
}

.poster-unified-panel .step-label {
    margin-bottom: 8px;
    font-size: 11px;
}

.poster-unified-panel .quick-option {
    height: 36px;
    padding: 0 12px;
    gap: 7px;
}

.poster-unified-panel .quick-option i {
    font-size: 13px;
}

.poster-unified-panel .quick-option span {
    font-size: 11px;
}

.poster-unified-panel .poster-style-recommendations {
    padding: 10px;
    border-radius: 12px;
    margin-top: 10px;
    margin-bottom: 12px;
    background: rgba(128, 128, 128, 0.06);
}

.poster-unified-panel .recommendations-header {
    font-size: 10px;
    margin-bottom: 6px;
}

.poster-unified-panel .recommendations-grid {
    gap: 6px;
}

.poster-unified-panel .design-style-shelf {
    margin-top: 8px;
}

.poster-unified-panel #posterPaletteSelect .palette-choice {
    display: none;
}

.poster-unified-panel #posterPaletteSelect.is-expanded .palette-choice {
    display: flex;
}

.poster-unified-panel #posterPaletteSelect .palette-choice {
    height: 40px;
    padding: 0 14px;
    background: transparent;
    border: 1px solid var(--border-light);
    border-radius: 20px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;
    white-space: nowrap;
}

.poster-unified-panel #posterPaletteSelect .palette-choice:hover {
    background: rgba(var(--primary-color-rgb), 0.08);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.15);
}

.poster-unified-panel #posterPaletteSelect .palette-choice.active {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.poster-unified-panel #posterPaletteSelect .palette-choice.active span:last-child {
    color: var(--ds-accent-ink);
}

.poster-unified-panel #posterPaletteSelect .palette-choice .palette-preview {
    width: 32px;
    height: 16px;
}

.poster-unified-panel .brand-input-group {
    margin-bottom: 0;
}

.poster-unified-panel .quick-design-step {
    margin-bottom: 12px;
}

.poster-unified-panel .quick-design-step:last-child {
    margin-bottom: 0;
}

/* ============================================
   MULTI-PAGE (MENU/CATALOG) CONTROLS
   ============================================ */
.poster-unified-panel #multiPageControls .count-selector {
    padding: 8px 0;
}

.poster-unified-panel #multiPageControls .selector-header {
    min-width: 120px;
}

.poster-unified-panel #multiPageControls .selector-label {
    white-space: nowrap;
}

.poster-unified-panel .multi-page-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 12px;
}

.poster-unified-panel .multi-page-actions .quick-option {
    width: auto;
    flex: 1;
    justify-content: center;
    padding: 0 10px;
}

.poster-unified-panel .multi-page-status {
    margin-top: 10px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.75);
}

.poster-unified-panel .multi-page-actions .quick-option span {
    font-size: 10px;
    white-space: nowrap;
}

/* Hide redundant "selected styles" strip in poster styles tab (selected state already visible in recommendations) */
.poster-unified-panel #selectionChips,
.poster-unified-panel #selectionChips_legacy,
.poster-unified-panel #designSelectionDisplay {
    display: none !important;
}

.poster-unified-panel .style-shelf-container {
    padding: 0;
}

.poster-unified-panel .style-shelf {
    gap: 6px;
}

/* ============================================
   INLINE VERSION COUNT - Minimal Design
   Inside Görsel Üretim ve Ayarlar panel
   ============================================ */
.inline-version-count {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    margin-top: 12px;
    background: transparent;
    border: 1px solid rgba(128, 128, 128, 0.2);
    border-radius: 50px;
    gap: 16px;
}

.inline-version-count .version-label {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-secondary);
    white-space: nowrap;
}

.inline-version-count .version-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    justify-content: flex-end;
}

.inline-version-count .version-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(128, 128, 128, 0.2);
    border-radius: 50%;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.inline-version-count .version-btn:hover {
    background: rgba(128, 128, 128, 0.1);
    color: var(--text-primary);
    border-color: rgba(128, 128, 128, 0.4);
}

.inline-version-count .version-slider {
    flex: 1;
    max-width: 150px;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(128, 128, 128, 0.2);
    border-radius: 2px;
    cursor: pointer;
}

.inline-version-count .version-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    background: var(--warning-color);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.inline-version-count .version-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: var(--warning-color);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

.inline-version-count .version-value {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    background: var(--warning-color);
    color: var(--ds-warn-ink);
    font-weight: 600;
    font-size: 0.9rem;
    border-radius: 50%;
}

/* =============================================================================
   FAZ 4.5: Design Token Preview
   ============================================================================= */

.design-token-preview {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 14px 16px;
    margin-top: 12px;
    font-size: 0.82rem;
    animation: dtpFadeIn 0.3s ease;
}

@keyframes dtpFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

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

.dtp-header {
    font-weight: 600;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.dtp-header i {
    color: var(--accent-color, #a855f7);
}

.dtp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
}

.dtp-token {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.dtp-token.dtp-colors {
    grid-column: span 2;
    flex-wrap: wrap;
}

.dtp-label {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 65px;
    flex-shrink: 0;
}

.dtp-value {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dtp-swatch-row {
    display: flex;
    gap: 4px;
    align-items: center;
}

.dtp-swatch {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: inline-block;
    cursor: help;
    transition: transform 0.15s;
}

.dtp-swatch:hover {
    transform: scale(1.25);
}

#designTokenPreview {
    display: none;
}

/* =============================================================================
   📱 SOCIAL MEDIA PANEL
   ============================================================================= */

.social-media-panel {
    border-radius: 12px;
    overflow: hidden;
}

.social-panel-content {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.social-section {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.social-section-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.social-section-label i {
    font-size: 0.68rem;
    opacity: 0.6;
}

/* Platform Grid */
.social-platform-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.social-platform-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 4px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    font-size: 0.65rem;
}

.social-platform-btn i {
    font-size: 1rem;
    transition: transform 0.2s ease;
}

.social-platform-btn span {
    font-weight: 500;
    font-size: 0.62rem;
}

.social-platform-btn small {
    font-size: 0.55rem;
    opacity: 0.5;
    font-weight: 400;
}

.social-platform-btn:hover {
    border-color: rgba(var(--ds-accent-rgb), 0.3);
    background: rgba(var(--ds-accent-rgb), 0.06);
    color: rgba(255, 255, 255, 0.85);
}

.social-platform-btn:hover i {
    transform: scale(1.15);
}

.social-platform-btn.active {
    border-color: rgba(var(--ds-accent-rgb), 0.5);
    background: rgba(var(--ds-accent-rgb), 0.12);
    color: var(--ds-accent);
    box-shadow: 0 0 12px rgba(var(--ds-accent-rgb), 0.15);
}

.social-platform-btn.active small {
    opacity: 0.8;
    color: var(--ds-accent);
}

/* Tone Grid */
.social-tone-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.social-tone-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    font-size: 0.65rem;
    white-space: nowrap;
}

.social-tone-btn i {
    font-size: 0.62rem;
    opacity: 0.7;
}

.social-tone-btn:hover {
    border-color: rgba(var(--ds-secondary-rgb), 0.3);
    background: rgba(var(--ds-secondary-rgb), 0.06);
    color: rgba(255, 255, 255, 0.8);
}

.social-tone-btn.active {
    border-color: rgba(var(--ds-secondary-rgb), 0.5);
    background: rgba(var(--ds-secondary-rgb), 0.12);
    color: var(--ds-secondary);
}

/* Brand & Audience Section */
.social-brand-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.social-input-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.social-input-group label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    gap: 4px;
}

.social-input-group label i {
    font-size: 0.6rem;
    opacity: 0.5;
}

.social-input-group .brand-input {
    font-size: 0.72rem;
    padding: 6px 10px;
    border-radius: 6px;
}

/* Aspect Ratio Display */
.social-aspect-display {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.social-aspect-label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.4);
}

.social-aspect-value {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--ds-accent);
}

/* Plan Button */
.social-plan-btn {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.8), rgba(var(--ds-accent-rgb), 0.8));
    color: var(--ds-on-media);
    font-weight: 600;
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
}

.social-plan-btn:hover {
    background: linear-gradient(135deg, var(--ds-accent), var(--ds-accent));
    box-shadow: 0 4px 16px rgba(var(--ds-accent-rgb), 0.3);
    transform: translateY(-1px);
}

.social-plan-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Plan Preview */
.social-plan-preview {
    padding: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.social-plan-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.social-plan-header h4 {
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.social-plan-header h4 i {
    color: var(--ds-accent);
}

.plan-dna {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1;
}

.dna-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 10px;
    background: rgba(var(--ds-accent-rgb), 0.1);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.2);
    font-size: 0.6rem;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dna-tag i {
    font-size: 0.55rem;
    color: var(--ds-accent);
    flex-shrink: 0;
}

/* Generate All Button */
.social-generate-all-btn {
    margin-left: auto;
    padding: 6px 14px;
    border: none;
    border-radius: 6px;
    background: linear-gradient(135deg, var(--ds-ok), var(--ds-ok));
    color: var(--ds-on-media);
    font-weight: 600;
    font-size: 0.72rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
    white-space: nowrap;
}

.social-generate-all-btn:hover {
    background: linear-gradient(135deg, var(--ds-ok), var(--ds-ok));
    box-shadow: 0 3px 12px rgba(var(--ds-ok-rgb), 0.3);
}

.social-generate-all-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Plan Card Grid */
.social-plan-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
}

.social-plan-card {
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.02);
    overflow: hidden;
    transition: all 0.2s ease;
}

.social-plan-card:hover {
    border-color: rgba(var(--ds-accent-rgb), 0.2);
    background: rgba(var(--ds-accent-rgb), 0.03);
}

.social-plan-card.generated {
    border-color: rgba(var(--ds-ok-rgb), 0.3);
    background: rgba(var(--ds-ok-rgb), 0.05);
}

.plan-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.plan-card-index {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(var(--ds-accent-rgb), 0.2);
    color: var(--ds-accent);
    font-size: 0.65rem;
    font-weight: 700;
}

.plan-card-type {
    font-size: 0.6rem;
    color: rgba(255, 255, 255, 0.45);
    font-weight: 500;
}

.plan-card-body {
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.plan-card-concept {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.4;
    margin: 0;
}

.plan-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.plan-meta-mood,
.plan-meta-text {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.58rem;
    color: rgba(255, 255, 255, 0.4);
}

.plan-meta-mood i,
.plan-meta-text i {
    font-size: 0.5rem;
    color: var(--ds-secondary);
}

.plan-card-caption {
    font-size: 0.6rem;
    color: rgba(255, 255, 255, 0.35);
    font-style: italic;
    line-height: 1.3;
    margin: 0;
}

.plan-card-hashtags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.plan-card-hashtags span {
    font-size: 0.55rem;
    color: var(--ds-accent);
    background: rgba(var(--ds-accent-rgb), 0.08);
    padding: 1px 5px;
    border-radius: 4px;
}

.plan-card-footer {
    padding: 6px 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.plan-card-generate-btn {
    width: 100%;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.62rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: inherit;
}

.plan-card-generate-btn:hover {
    border-color: rgba(var(--ds-accent-rgb), 0.3);
    background: rgba(var(--ds-accent-rgb), 0.1);
    color: var(--ds-accent);
}

.social-plan-card.generated .plan-card-generate-btn {
    color: var(--ds-ok);
    border-color: rgba(var(--ds-ok-rgb), 0.2);
}

/* Responsive */
@media (max-width: 768px) {
    .social-platform-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 4px;
    }

    .social-platform-btn {
        padding: 6px 2px;
    }

    .social-brand-section {
        grid-template-columns: 1fr;
    }

    .social-plan-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ═══ FAZ 5.6: CTA PRESETS ═══ */

.social-cta-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 12px;
}

.social-cta-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.social-cta-preset-btn {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.social-cta-preset-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ds-on-media);
    border-color: rgba(255, 255, 255, 0.2);
}

.social-cta-preset-btn.active {
    background: linear-gradient(135deg, rgba(var(--ds-secondary-rgb), 0.3), rgba(var(--ds-accent-rgb), 0.3));
    color: var(--ds-on-media);
    border-color: rgba(var(--ds-secondary-rgb), 0.5);
    box-shadow: 0 0 8px rgba(var(--ds-secondary-rgb), 0.2);
}

/* ═══ FAZ 5.7: MULTI-SIZE GRID ═══ */

.social-multisize-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 12px;
}

.social-multisize-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-bottom: 10px;
}

.social-multisize-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 4px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.65);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 10px;
}

.social-multisize-btn i {
    font-size: 14px;
    margin-bottom: 2px;
}

.social-multisize-btn span {
    font-weight: 500;
    font-size: 10px;
}

.social-multisize-btn small {
    font-size: 9px;
    opacity: 0.6;
}

.social-multisize-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--ds-on-media);
    border-color: rgba(255, 255, 255, 0.2);
}

.social-multisize-btn.active {
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.25), rgba(var(--ds-accent-rgb), 0.25));
    color: var(--ds-on-media);
    border-color: rgba(var(--ds-accent-rgb), 0.4);
}

/* ═══ SOCIAL ACTION BUTTONS (shared) ═══ */

.social-action-btn {
    width: 100%;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    color: var(--ds-on-media);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.25s ease;
}

.social-action-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.social-multisize-generate-btn {
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.3), rgba(var(--ds-ok-rgb), 0.3));
    border-color: rgba(var(--ds-accent-rgb), 0.3);
}

.social-multisize-generate-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.45), rgba(var(--ds-ok-rgb), 0.45));
    border-color: rgba(var(--ds-accent-rgb), 0.5);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--ds-accent-rgb), 0.2);
}

/* ═══ FAZ 5.9: A/B TEST ═══ */

.social-ab-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 12px;
}

.social-section-hint {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.45);
    margin: 4px 0 10px;
    line-height: 1.4;
}

.social-ab-generate-btn {
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.3), rgba(var(--ds-secondary-rgb), 0.3));
    border-color: rgba(var(--ds-accent-rgb), 0.3);
}

.social-ab-generate-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.45), rgba(var(--ds-secondary-rgb), 0.45));
    border-color: rgba(var(--ds-accent-rgb), 0.5);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--ds-accent-rgb), 0.2);
}

/* ═══ FAZ 5.8: MOCKUP TOGGLE ═══ */

.social-mockup-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 12px;
}

.social-mockup-toggle-btn {
    width: 100%;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.social-mockup-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ds-on-media);
}

.social-mockup-toggle-btn.active {
    background: linear-gradient(135deg, rgba(var(--ds-accent-rgb), 0.3), rgba(var(--ds-accent-rgb), 0.3));
    color: var(--ds-on-media);
    border-color: rgba(var(--ds-accent-rgb), 0.4);
}

.social-mockup-toggle-btn.active i {
    color: rgba(var(--ds-accent-rgb), 0.9);
}

/* ═══ MOCKUP FRAME RENDERING ═══ */

.social-mockup-frame {
    position: relative;
    background: var(--mockup-bg, #000);
    border-radius: var(--mockup-radius, 0);
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    max-width: 320px;
    margin: 0 auto;
}

.mockup-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.3);
}

.mockup-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ds-secondary), var(--ds-danger), var(--ds-accent), var(--ds-accent));
    flex-shrink: 0;
}

.mockup-username {
    font-size: 11px;
    font-weight: 600;
    color: var(--ds-on-media);
}

.mockup-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(255, 255, 255, 0.3);
}

.mockup-progress-bar::after {
    content: '';
    display: block;
    width: 30%;
    height: 100%;
    background: var(--ds-surface);
    border-radius: 1px;
}

.mockup-image-area img {
    width: 100%;
    height: auto;
    display: block;
}

.mockup-footer {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.3);
}

.mockup-engagement {
    display: flex;
    gap: 14px;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.85);
}

.mockup-reaction {
    font-size: 14px;
    cursor: pointer;
}

.mockup-save {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    margin-left: auto;
}

/* Gallery items with mockup active */
.gallery-item.social-mockup-active {
    border: 2px solid rgba(var(--ds-accent-rgb), 0.3);
    border-radius: var(--mockup-radius, 8px);
    overflow: hidden;
    position: relative;
}

.gallery-item.social-mockup-active::before {
    content: attr(data-mockup-platform);
    position: absolute;
    top: 6px;
    right: 6px;
    background: rgba(var(--ds-accent-rgb), 0.8);
    color: var(--ds-on-media);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 2;
    letter-spacing: 0.5px;
}

/* Responsive additions */
@media (max-width: 768px) {
    .social-multisize-grid {
        grid-template-columns: 1fr 1fr;
    }

    .social-cta-presets {
        gap: 4px;
    }

    .social-cta-preset-btn {
        font-size: 10px;
        padding: 3px 8px;
    }
}

/* ═══ FAZ 6.2: RATE LIMIT COUNTDOWN ═══ */

.rate-limit-countdown {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: rgba(var(--ds-accent-rgb), 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.4);
    border-radius: 14px;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 300px;
    z-index: 10001;
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 12px rgba(var(--ds-accent-rgb), 0.15);
    flex-wrap: wrap;
}

.rate-limit-countdown.visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.rate-limit-countdown i {
    font-size: 18px;
    color: rgba(var(--ds-accent-rgb), 0.9);
    flex-shrink: 0;
}

.rate-limit-countdown span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
}

.rate-limit-countdown strong {
    font-variant-numeric: tabular-nums;
    color: var(--ds-accent);
}

.rate-limit-countdown.ready {
    border-color: rgba(var(--ds-ok-rgb), 0.5);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 12px rgba(var(--ds-ok-rgb), 0.2);
}

.rate-limit-countdown.ready i {
    color: var(--ds-ok);
}

.rate-limit-bar {
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 2px;
    overflow: hidden;
}

.rate-limit-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--ds-accent), var(--ds-danger));
    border-radius: 2px;
    transition: width 1s linear;
}

/* ═══ FAZ 6.3: UNIFIED PROGRESS INDICATOR ═══ */

.unified-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 10002;
    pointer-events: none;
}

.unified-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--ds-accent), var(--ds-accent), var(--ds-ok));
    background-size: 200% 100%;
    animation: progressShimmer 2s linear infinite;
    border-radius: 0 2px 2px 0;
    transition: width 0.3s ease;
    box-shadow: 0 0 8px rgba(var(--ds-accent-rgb), 0.4);
}

@keyframes progressShimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.unified-progress-label {
    position: relative;
    background: rgba(var(--ds-accent-rgb), 0.9);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.3);
    border-radius: 20px;
    padding: 4px 14px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.85);
    opacity: 0;
    transform: translateY(-4px);
    transition: all 0.3s ease;
    pointer-events: none;
    white-space: nowrap;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
}

.unified-progress-label.visible {
    opacity: 1;
    transform: translateY(0);
}

.unified-progress-label .progress-pct {
    color: var(--ds-accent);
    font-weight: 600;
    margin-left: 4px;
    font-variant-numeric: tabular-nums;
}

/* ═══ FAZ 6.4: REFERENCE IMAGE METADATA ═══ */

.ref-metadata-badge {
    position: absolute;
    bottom: 4px;
    left: 4px;
    background: rgba(var(--ds-accent-rgb), 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.3);
    border-radius: 8px;
    padding: 3px 8px;
    font-size: 9px;
    color: rgba(255, 255, 255, 0.8);
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 4px;
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ref-metadata-badge i {
    color: rgba(var(--ds-accent-rgb), 0.8);
    font-size: 8px;
}

.ref-metadata-badge .ref-model {
    color: rgba(var(--ds-accent-rgb), 0.9);
    font-weight: 600;
}

.ref-metadata-badge .ref-count {
    color: rgba(var(--ds-ok-rgb), 0.9);
}

.ref-metadata-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    background: rgba(var(--ds-accent-rgb), 0.95);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(var(--ds-accent-rgb), 0.3);
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.85);
    z-index: 10;
    min-width: 200px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: all 0.2s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.ref-metadata-badge:hover .ref-metadata-tooltip {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.ref-metadata-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 0;
}

.ref-metadata-row .label {
    color: rgba(255, 255, 255, 0.5);
}

.ref-metadata-row .value {
    color: var(--ds-on-media);
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════
   CREATIVE MODE BOTTOM BAR — Edit-Style Compact Controls
   Reuses .edit-mode-input, .edit-action-bar, .edit-model-*,
   .edit-bar-btn, .edit-bar-input, .edit-send-btn-circle classes.
   ═══════════════════════════════════════════════════════════ */

/* Creative toggle container — same position as Edit toggles */
#creativeModeToggleContainer {
    display: none;
}

/* Creative bar level — compact inline toggle group */
.creative-bar-level {
    display: flex;
    align-items: center;
    gap: 2px;
    background: rgba(128, 128, 128, 0.08);
    border-radius: 8px;
    padding: 2px;
}

.creative-bar-level .edit-bar-btn {
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
    background: transparent;
    border: none;
    color: rgba(var(--ds-ink-rgb), 0.5);
    cursor: pointer;
    transition: all 0.2s ease;
}

.creative-bar-level .edit-bar-btn:hover {
    color: rgba(var(--ds-ink-rgb), 0.8);
    background: rgba(128, 128, 128, 0.1);
}

.creative-bar-level .edit-bar-btn.active {
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    box-shadow: 0 2px 6px rgba(var(--primary-color-rgb), 0.25);
}

/* Creative action bar dropdowns use parent .open class (same as Edit mode) */

/* Creative light icon in the button */
.creative-light-icon {
    font-size: 14px;
    line-height: 1;
}

/* Creative count control — compact +/- stepper */
.creative-count-control {
    display: flex;
    align-items: center;
    gap: 0;
    background: rgba(128, 128, 128, 0.08);
    border-radius: 8px;
    overflow: hidden;
}

.creative-count-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: none;
    background: transparent;
    color: rgba(var(--ds-ink-rgb), 0.5);
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 9px;
}

.creative-count-btn:hover {
    background: rgba(128, 128, 128, 0.15);
    color: rgba(var(--ds-ink-rgb), 0.9);
}

.creative-count-value {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color);
}

/* Creative angle bar — horizontal scrollable multi-select icon chips */
.creative-toggle-panel-right {
    --creative-variation-control-width: 152px;
}

.creative-angle-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.creative-angle-row .creative-toggle-panel-label-spacer {
    display: none;
}

.creative-angle-row .creative-toggle-panel-control {
    flex: 1 1 auto;
    width: 100%;
    justify-content: stretch;
    overflow: visible;
}

#creativeVariationBtn {
    width: var(--creative-variation-control-width);
    justify-content: space-between;
}

.creative-angle-bar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    max-width: 100%;
    padding: 4px;
    box-sizing: border-box;
    border-radius: 12px;
    background: rgba(128, 128, 128, 0.06);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.05);
}

.creative-angle-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 28px;
    aspect-ratio: 1 / 1;
    padding: 0;
    border-radius: 8px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    background: rgba(128, 128, 128, 0.08);
    color: rgba(var(--ds-ink-rgb), 0.55);
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 10px;
    flex-shrink: 0;
}

.creative-angle-chip i {
    font-size: 11px;
}

.creative-angle-chip .angle-icon-dutch {
    display: inline-block;
    transform: rotate(-16deg);
    transform-origin: center;
}

.creative-angle-chip:hover {
    background: rgba(128, 128, 128, 0.18);
    color: rgba(var(--ds-ink-rgb), 0.7);
    border-color: rgba(var(--ds-ink-rgb), 0.12);
}

.creative-angle-chip.selected {
    background: rgba(var(--primary-rgb, 99, 102, 241), 0.2);
    color: var(--primary-color);
    border-color: rgba(var(--primary-rgb, 99, 102, 241), 0.4);
}

.creative-angle-chip.selected:hover {
    background: rgba(var(--primary-rgb, 99, 102, 241), 0.3);
}

/* Angle count badge — shows selected angle count */
.creative-angle-count-badge {
    font-size: 8px;
    font-weight: 700;
    color: var(--primary-color);
    margin-left: 2px;
    opacity: 0.7;
}

/* Creative bottom bar prompt input — slightly wider than Edit */
#creativeModeInput .edit-input-wrapper-inner {
    flex: 1;
    min-width: 160px;
}

/* Creative bottom bar — transparent positioning wrapper only (no visual frame) */
#creativeModeInput {
    position: fixed;
    bottom: 55px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    max-width: 900px;
    min-width: 500px;
    padding: 0;
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    z-index: 100;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Kill parent .edit-mode-input ghost frame entirely */
#creativeModeInput.edit-mode-input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0;
}

/* Creative mode — center the empty state in the full gallery area */
[data-app-mode="creative"] #emptyState {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

/* Creative mode — hide sidebar via CSS (belt-and-suspenders with JS) */
[data-app-mode="creative"] .input-panel {
    display: none !important;
}

/* Creative mode — gallery takes full width when sidebar hidden */
[data-app-mode="creative"] .gallery-panel {
    flex: 1;
    max-width: 100%;
}

/* Product selector divider — hide when selector is hidden */
#creativeProductSelector[style*='display: none']+.vertical-divider {
    display: none;
}

/* Responsive */
@media (max-width: 768px) {
    #creativeModeInput {
        min-width: 300px;
        max-width: calc(100vw - 32px);
        bottom: 20px;
        padding: 0;
    }

    .creative-action-bar-v2 {
        padding: 4px 8px !important;
        height: auto !important;
        min-height: 48px;
    }

    .creative-bar-level .edit-bar-btn {
        padding: 4px 8px;
        font-size: 10px;
    }
}

/* ==========================================
   Creative Mode — Floating File Preview Strip
   ========================================== */
/* ==========================================
   Creative Mode — Collapsible File Drawer
   Sits directly above the input bar.
   Collapsed: minimal tab with label + count
   Expanded: full thumbnail strip on hover
   ========================================== */

/* ═══ Creative File Strip — Expanding Pill (matches input bar) ═══ */
.creative-file-strip {
    position: fixed;
    bottom: 120px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    /* shown via JS */
    align-items: center;
    z-index: 101;
    max-width: 85vw;
    pointer-events: auto;
}

/* ── Collapsed State: Pill tab with label + count ── */
.creative-file-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(var(--ds-surface-rgb), 0.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 28px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
    height: 40px;
    box-sizing: border-box;
}

.creative-file-tab:hover {
    background: rgba(var(--ds-surface-rgb), 0.94);
    border-color: rgba(var(--ds-ink-rgb), 0.15);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.creative-file-tab-label {
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 0.2px;
    white-space: nowrap;
}

.creative-file-tab-count {
    font-size: 10px;
    font-weight: 600;
    color: rgba(var(--ds-accent-rgb), 0.85);
    background: rgba(var(--ds-accent-rgb), 0.1);
    padding: 1px 6px;
    border-radius: 10px;
}

.creative-file-tab-arrow {
    font-size: 8px;
    color: rgba(255, 255, 255, 0.35);
    transition: transform 0.3s ease;
}

.creative-file-strip.expanded .creative-file-tab-arrow {
    transform: rotate(180deg);
}

/* ── Expanded State: Pill stretches to show thumbnails inline ── */
.creative-file-strip.expanded .creative-file-tab {
    padding: 5px 10px 5px 14px;
    border-radius: 28px;
    gap: 8px;
    height: auto;
}

/* ── Inline Thumbnails Container (hidden collapsed, shown expanded) ── */
.creative-file-inline-items {
    display: none;
    align-items: center;
    gap: 5px;
    overflow-x: auto;
    max-width: 55vw;
    scrollbar-width: none;
    padding: 2px 0;
}

.creative-file-inline-items::-webkit-scrollbar {
    display: none;
}

.creative-file-strip.expanded .creative-file-inline-items {
    display: flex;
}

/* ── Inline Actions (hidden collapsed, shown expanded) ── */
.creative-file-inline-actions {
    display: none;
    align-items: center;
    gap: 4px;
    margin-left: 4px;
    padding-left: 8px;
    border-left: 1px solid rgba(var(--ds-ink-rgb), 0.06);
}

.creative-file-strip.expanded .creative-file-inline-actions {
    display: flex;
}

/* ── Divider between label/count and thumbnails ── */
.creative-file-tab-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.08);
    display: none;
    flex-shrink: 0;
}

.creative-file-strip.expanded .creative-file-tab-divider {
    display: block;
}

/* ── File Items Container ── */
.creative-file-items {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    max-width: 60vw;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
    padding: 2px;
}

.creative-file-items::-webkit-scrollbar {
    height: 2px;
}

.creative-file-items::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 2px;
}

/* ── Individual File Item ── */
.creative-file-item {
    position: relative;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    overflow: visible;
    flex-shrink: 0;
    cursor: grab;
    border: none;
    transition: all 0.2s ease;
}

.creative-file-item:hover {
    transform: translateY(-2px);
}

.creative-file-item.dragging {
    opacity: 0.4;
}

.creative-file-item.drop-target {
    box-shadow: 0 0 0 2px var(--ds-accent);
}

.creative-file-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

/* Hover preview — larger popup */
.creative-file-item::after {
    content: '';
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) scale(0.8);
    width: 120px;
    height: 120px;
    border-radius: 8px;
    background-image: var(--preview-url);
    background-size: cover;
    background-position: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 200;
}

.creative-file-item:hover::after {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

.creative-file-item i {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* ── Remove Button ── */
.creative-file-remove {
    position: absolute;
    top: -3px;
    right: -3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.8);
    border: none;
    color: var(--ds-ink);
    font-size: 6px;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
    z-index: 5;
}

.creative-file-item:hover .creative-file-remove {
    display: flex;
}

.creative-file-remove:hover {
    background: var(--ds-danger);
}

.creative-file-index {
    position: absolute;
    bottom: 1px;
    left: 1px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(var(--ds-accent-rgb), 0.8);
    color: var(--ds-on-media);
    font-size: 7px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Actions (inline row, right of items) ── */
.creative-file-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    padding-left: 8px;
    border-left: 1px solid rgba(255, 255, 255, 0.06);
}

.creative-file-count {
    font-size: 10px;
    color: rgba(var(--ds-ink-rgb), 0.45);
    white-space: nowrap;
    font-weight: 500;
    min-width: 24px;
    text-align: center;
}

.creative-file-clear {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    color: rgba(var(--ds-danger-rgb), 0.5);
    border-radius: 6px;
    font-size: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.creative-file-clear:hover {
    background: rgba(var(--ds-danger-rgb), 0.12);
    color: var(--ds-danger);
}

/* ── Status-based borders ── */
.creative-file-item.status-generated {
    box-shadow: 0 0 0 2px rgba(var(--ds-ok-rgb), 0.5);
    order: 10;
}

.creative-file-item.status-generated::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 6px;
    border: 2px solid rgba(var(--ds-ok-rgb), 0.4);
    pointer-events: none;
    z-index: 2;
}

.creative-file-item.status-needs-regen {
    box-shadow: 0 0 0 2px rgba(var(--ds-danger-rgb), 0.45);
    order: -1;
}

.creative-file-item.status-needs-regen::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 6px;
    border: 2px solid rgba(var(--ds-danger-rgb), 0.35);
    pointer-events: none;
    z-index: 2;
}

.creative-file-item.status-pending {
    order: 0;
}

/* ── Selection checkbox ── */
.creative-file-select {
    position: absolute;
    bottom: -2px;
    left: -2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    border: none;
    color: rgba(var(--ds-ink-rgb), 0.5);
    font-size: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    z-index: 3;
    opacity: 0.5;
}

.creative-file-item:hover .creative-file-select {
    opacity: 1;
}

.creative-file-item.selected .creative-file-select {
    opacity: 1;
    color: var(--ds-ok);
    background: rgba(0, 0, 0, 0.8);
}

.creative-file-select:hover {
    color: var(--ds-ink);
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.1);
}

/* Dim unselected items slightly */
.creative-file-item:not(.selected) {
    opacity: 0.55;
}

.creative-file-item:not(.selected):hover {
    opacity: 0.85;
}

/* ── Select All button ── */
.creative-file-select-all {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: rgba(var(--ds-ink-rgb), 0.04);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    color: rgba(var(--ds-ink-rgb), 0.4);
    font-size: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.creative-file-select-all:hover {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: rgba(var(--ds-ink-rgb), 0.85);
}

.creative-file-select-all.active {
    color: var(--ds-ok);
    border-color: rgba(var(--ds-ok-rgb), 0.25);
    background: rgba(var(--ds-ok-rgb), 0.06);
}

/* ── Status info badges ── */
.creative-file-status-info {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 9px;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 6px;
    white-space: nowrap;
}

.creative-file-status-info i {
    font-size: 7px;
}

.creative-file-status-info.pending-info {
    color: rgba(var(--ds-warn-rgb), 0.8);
    background: rgba(var(--ds-warn-rgb), 0.06);
}

.creative-file-status-info.generated-info {
    color: rgba(var(--ds-ok-rgb), 0.8);
    background: rgba(var(--ds-ok-rgb), 0.06);
}

/* Reset status button */
.creative-file-reset {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: none;
    border: none;
    color: rgba(var(--ds-accent-rgb), 0.55);
    font-size: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.creative-file-reset:hover {
    background: rgba(var(--ds-accent-rgb), 0.12);
    color: var(--ds-accent);
}

/* ── Drag-over highlight ── */
.creative-file-strip.drag-over .creative-file-tab {
    border-color: rgba(var(--ds-accent-rgb), 0.4);
    background: rgba(var(--ds-accent-rgb), 0.08);
    box-shadow: 0 0 20px rgba(var(--ds-accent-rgb), 0.1);
}

@media (max-width: 768px) {
    .creative-file-strip {
        bottom: 85px;
        max-width: calc(100vw - 24px);
    }

    .creative-file-item {
        width: 26px;
        height: 26px;
    }

    .creative-file-inline-items {
        max-width: 50vw;
    }
}

/* ==========================================
   Creative Mode — Project Header Bar
   ========================================== */
.creative-project-header {
    position: fixed;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    /* shown via JS */
    align-items: center;
    gap: 12px;
    background: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 6px 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    z-index: 100;
    backdrop-filter: blur(12px);
}

.creative-project-selector {
    position: relative;
}

.creative-project-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 6px 12px;
    color: var(--ds-muted);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.creative-project-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(var(--ds-accent-rgb), 0.3);
}

.creative-project-btn i:first-child {
    color: var(--ds-accent);
    font-size: 14px;
}

.creative-project-name {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.creative-project-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    background: rgba(var(--ds-surface-rgb), 0.98);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 12px;
    padding: 6px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    z-index: 101;
    backdrop-filter: blur(12px);
}

.creative-project-selector.open .creative-project-dropdown {
    display: block;
}

.creative-project-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

.creative-project-option:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--ds-on-media);
}

.creative-project-option.active {
    background: rgba(var(--ds-accent-rgb), 0.1);
    color: var(--ds-accent);
    font-weight: 600;
}

.project-option-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-option-count {
    font-size: 10px;
    opacity: 0.5;
    white-space: nowrap;
}

.project-option-delete {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.25);
    font-size: 10px;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 4px;
    transition: all 0.15s;
}

.project-option-delete:hover {
    color: var(--ds-danger);
    background: rgba(var(--ds-danger-rgb), 0.15);
}

.creative-project-option.new-project {
    color: rgba(var(--ds-accent-rgb), 0.7);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: 2px;
    padding-top: 10px;
}

.creative-project-option.new-project:hover {
    color: var(--ds-accent);
}

.creative-project-divider {
    height: 0;
    margin: 0;
}

.creative-project-stats {
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-stat {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.45);
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.project-stat i {
    font-size: 10px;
    color: rgba(var(--ds-accent-rgb), 0.5);
}

@media (max-width: 768px) {
    .creative-project-header {
        top: 60px;
        padding: 4px 10px;
        max-width: calc(100vw - 32px);
    }

    .creative-project-name {
        max-width: 100px;
    }
}

/* ══════════════════════════════════════════════════════
   CREATIVE MODE V2 — Projects View & Workspace Redesign
   ══════════════════════════════════════════════════════ */

/* -- Projects Landing View -- */
.creative-projects-view {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 110px);
    padding: 40px 24px 120px;
    width: 100%;
    box-sizing: border-box;
    position: absolute;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    background: var(--bg-primary);
}

.creative-projects-view.has-projects {
    justify-content: flex-start;
    padding-top: 24px;
}

/* Projects Grid */
.creative-projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.creative-projects-empty-action {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
}

/* Project Card (Folder style) */
.creative-project-card {
    position: relative;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 0;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.creative-project-card:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.creative-project-card-thumb {
    width: 100%;
    height: 140px;
    background: rgba(255, 255, 255, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.creative-project-card-thumb img,
.creative-project-card-thumb video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.creative-project-card-thumb .thumb-placeholder {
    font-size: 28px;
    color: rgba(255, 255, 255, 0.12);
}

.creative-project-card-info {
    padding: 12px 14px;
}

.creative-project-card-name {
    font-size: 13px;
    font-weight: 600;
    color: rgba(var(--cs-ink), 0.85);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 4px;
}

.creative-project-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: rgba(var(--cs-ink), var(--cs-meta-alpha));
}

.creative-project-card-meta span {
    display: flex;
    align-items: center;
    gap: 3px;
}

/* Add Project Button */
.creative-add-project-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: rgba(var(--ds-ink-rgb), 0.06);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.12);
    border-radius: 50px;
    color: rgba(var(--ds-ink-rgb), 0.7);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: inherit;
    letter-spacing: 0.3px;
}

.creative-add-project-btn:hover {
    background: rgba(var(--ds-ink-rgb), 0.1);
    border-color: rgba(var(--ds-ink-rgb), 0.2);
    color: rgba(var(--ds-ink-rgb), 0.9);
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.creative-add-project-btn i {
    font-size: 11px;
    opacity: 0.7;
}

/* Centered add button container (when projects exist) */
.creative-add-project-fixed {
    position: fixed;
    bottom: 70px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
}

/* -- Batch/Merge Toggle in Creative Bar -- */
.creative-batch-toggle-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: rgba(var(--ds-ink-rgb), 0.4);
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.creative-batch-toggle-btn:hover {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: rgba(var(--ds-ink-rgb), 0.85);
}

.creative-batch-toggle-btn.active {
    background: rgba(var(--accent-color-rgb), 0.16);
    color: rgba(var(--accent-color-rgb), 0.96);
}

.creative-batch-toggle-btn.active:hover {
    background: rgba(var(--accent-color-rgb), 0.24);
    color: var(--accent-color);
}

.creative-batch-toggle-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

/* -- Sequential Toggle in Creative Bar -- */
.creative-sequential-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.creative-sequential-group .creative-batch-toggle-btn.active {
    background: rgba(var(--accent-color-rgb), 0.16);
    color: rgba(var(--accent-color-rgb), 0.96);
}

/* The result tools — download all, 2x/4x, the grid's columns, clear — act on a folder's
   pictures. The list of folders has none, so there they are not drawn; the page writes
   which of the two it shows on <body> (data-creative-folder, app-ui-model.js), and until
   it has said, they wait (§0.38). Since 3 Oct they stand in the app header (.ds-tools). */
body:not([data-creative-folder="open"]) .ds-tools {
    display: none !important;
}

/* Ink of the Creative surface's menus, dialogs and folder row (2 Oct): they were
   written for the dark panel only — white text and white tints — so on the light
   panel, the default, they read white on white. Light by default; under
   .dark-mode the values they had. */
:root {
    --cs-ink: var(--ds-ink-rgb, 28, 28, 30);   /* the palette's ink (21 Oct) */
    --cs-star: 161, 98, 7;
    --cs-danger-ink: var(--ds-danger, rgb(185, 28, 28));
    --cs-menu-shadow: 0 10px 30px rgba(0, 0, 0, 0.14);
    --cs-modal-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
    --cs-meta-alpha: 0.58;
    --cs-primary-ink: 28, 28, 30;
}

.dark-mode {
    --cs-ink: var(--ds-ink-rgb, 255, 255, 255);
    --cs-star: 250, 204, 21;
    --cs-danger-ink: var(--ds-danger, rgba(239, 68, 68, 0.8));
    --cs-menu-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    --cs-modal-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
    --cs-meta-alpha: 0.35;
    --cs-primary-ink: 255, 248, 241;
}

/* -- Workspace Nav -- */
.creative-workspace-nav {
    position: fixed;
    top: 120px;
    left: 272px;
    display: none;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
    width: fit-content;
    max-width: calc(100vw - 320px);
    z-index: 100;
}

.creative-workspace-back {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 4px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: rgba(var(--cs-ink), 0.66);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
    letter-spacing: 0.2px;
}

.main-content.expanded .creative-workspace-nav {
    left: 76px;
}

.creative-workspace-back:hover {
    color: rgba(var(--cs-ink), 0.9);
}

.creative-workspace-back i {
    font-size: 11px;
    opacity: 0.6;
}

.creative-workspace-collections {
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: min(48vw, 760px);
    overflow-x: auto;
    overflow-y: hidden;
    padding-right: 4px;
    scrollbar-width: none;
}

.creative-workspace-collections::-webkit-scrollbar {
    display: none;
}

.creative-workspace-actions {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 0 !important;
    white-space: nowrap;
}

.creative-workspace-collection-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid rgba(var(--cs-ink), 0.09);
    background: rgba(var(--cs-ink), 0.04);
    color: rgba(var(--cs-ink), 0.62);
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.18s ease;
}

.creative-workspace-collection-chip:hover {
    background: rgba(var(--cs-ink), 0.08);
    color: rgba(var(--cs-ink), 0.92);
    border-color: rgba(var(--cs-ink), 0.14);
}

.creative-workspace-collection-chip.active {
    color: rgba(var(--cs-ink), 0.98);
    border-color: rgba(var(--accent-color-rgb), 0.34);
    background: linear-gradient(180deg, rgba(var(--accent-color-rgb), 0.2), rgba(var(--accent-color-rgb), 0.08));
    box-shadow: inset 0 0 0 1px rgba(var(--accent-color-rgb), 0.15);
}

.creative-workspace-collection-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(var(--cs-ink), 0.08);
    color: rgba(var(--cs-ink), 0.58);
    font-size: 10px;
    font-weight: 600;
}

.creative-workspace-collection-chip.active .creative-workspace-collection-count {
    background: rgba(var(--accent-color-rgb), 0.18);
    color: rgb(var(--cs-ink));
}

.creative-workspace-trash {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(var(--cs-ink), 0.08);
    background: rgba(var(--cs-ink), 0.04);
    color: rgba(var(--cs-ink), 0.6);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.18s ease;
}

.creative-workspace-trash:hover {
    background: rgba(var(--cs-ink), 0.08);
    color: rgb(var(--cs-ink));
}

.creative-workspace-trash:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.creative-workspace-trash-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(var(--ds-danger-rgb), 0.16);
    color: rgba(var(--ds-danger-rgb), 0.96);
    font-size: 10px;
    font-weight: 700;
}

.creative-favorites-hub-btn {
    flex: 0 0 auto;
    display: none;
    align-items: center;
    gap: 8px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(var(--cs-ink), 0.08);
    border-radius: 999px;
    background: rgba(var(--cs-ink), 0.04);
    color: rgba(var(--cs-ink), 0.6);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.18s ease;
}

.creative-favorites-hub-btn.visible {
    display: inline-flex;
}

.creative-favorites-hub-btn:hover {
    color: rgba(var(--cs-ink), 0.95);
    background: rgba(var(--cs-ink), 0.08);
    border-color: rgba(var(--cs-ink), 0.14);
}

.creative-favorites-hub-btn.has-favorites {
    border-color: rgba(var(--ds-warn-rgb), 0.18);
    color: rgba(var(--cs-star), 0.92);
    background: rgba(var(--ds-warn-rgb), 0.08);
}

.creative-favorites-hub-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(var(--cs-ink), 0.09);
    color: rgba(var(--cs-ink), 0.82);
    font-size: 10px;
    font-weight: 700;
}

.creative-favorites-hub-btn.has-favorites .creative-favorites-hub-count {
    background: rgba(var(--ds-warn-rgb), 0.16);
    color: rgba(var(--cs-star), 0.96);
}

.creative-drag-preview {
    position: fixed;
    top: -9999px;
    left: -9999px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(var(--ds-media-glass-rgb), 0.92);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.36);
    color: var(--ds-on-media);
    pointer-events: none;
    z-index: 99999;
}

.creative-drag-preview-stack {
    position: relative;
    width: 28px;
    height: 26px;
}

.creative-drag-preview-stack span {
    position: absolute;
    inset: 0;
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(var(--accent-color-rgb), 0.24));
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.creative-drag-preview-stack span:nth-child(1) {
    transform: translate(8px, 6px);
    opacity: 0.45;
}

.creative-drag-preview-stack span:nth-child(2) {
    transform: translate(4px, 3px);
    opacity: 0.68;
}

.creative-drag-preview-stack span:nth-child(3) {
    box-shadow: 0 6px 16px rgba(var(--ds-accent-rgb), 0.22);
}

.creative-drag-preview-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(var(--accent-color-rgb), 0.22);
    color: rgba(var(--ds-ink-rgb), 0.98);
    font-size: 12px;
    font-weight: 700;
}

/* -- Consolidated Toggle Panels (+ and Stil) -- */
.creative-toggle-panel {
    position: absolute;
    bottom: calc(100% + 10px);
    background: rgba(var(--ds-surface-rgb), 0.92);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 16px;
    padding: 12px 14px;
    display: none;
    flex-direction: column;
    gap: 10px;
    min-width: 200px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    z-index: 200;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

/* ── Casting Brief Panel ── */
.casting-brief-wrapper {
    position: relative;
    flex-shrink: 0;
}

.casting-brief-toggle {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: rgba(var(--ds-ink-rgb), 0.66);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}

.casting-brief-toggle:hover {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: rgba(var(--ds-ink-rgb), 0.85);
}

.casting-brief-toggle.active {
    background: rgba(var(--accent-color-rgb), 0.16);
    color: rgba(var(--accent-color-rgb), 0.96);
}

.casting-brief-toggle.has-data {
    color: rgba(var(--accent-color-rgb), 0.76);
}

.casting-brief-toggle.has-data::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 6px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(var(--accent-color-rgb), 0.96);
    box-shadow: 0 0 0 2px rgba(22, 22, 24, 0.9);
}

.casting-brief-panel {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    width: min(420px, calc(100vw - 28px));
    background: linear-gradient(180deg, var(--ds-surface), var(--ds-surface-2));
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    border-radius: 18px;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    z-index: 250;
    pointer-events: none;
    transform: translateY(8px);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.42);
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.25s ease,
        padding 0.35s ease,
        transform 0.25s ease;
}

.casting-brief-panel.visible {
    max-height: 640px;
    opacity: 1;
    padding: 16px;
    overflow-y: auto;
    pointer-events: auto;
    transform: translateY(0);
}

.casting-brief-panel::-webkit-scrollbar {
    width: 4px;
}

.casting-brief-panel::-webkit-scrollbar-track {
    background: transparent;
}

.casting-brief-panel::-webkit-scrollbar-thumb {
    background: rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 4px;
}

.casting-brief-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.casting-brief-header-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.casting-brief-title {
    font-size: 12px;
    font-weight: 600;
    color: rgba(var(--ds-ink-rgb), 0.84);
    text-transform: uppercase;
    letter-spacing: 0.9px;
}

.casting-brief-subtitle {
    font-size: 11px;
    line-height: 1.45;
    color: rgba(var(--ds-ink-rgb), 0.66);
}

.casting-clear-btn {
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    background: rgba(var(--ds-ink-rgb), 0.04);
    color: rgba(var(--ds-ink-rgb), 0.62);
    padding: 7px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
}

.casting-clear-btn:hover {
    background: rgba(var(--ds-ink-rgb), 0.08);
    color: rgba(var(--ds-ink-rgb), 0.88);
}

.casting-brief-summary {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 12px;
    margin-bottom: 14px;
    border-radius: 14px;
    background: rgba(var(--ds-ink-rgb), 0.04);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    font-size: 11px;
    line-height: 1.5;
    color: rgba(var(--ds-ink-rgb), 0.62);
}

.casting-brief-section {
    margin-bottom: 12px;
}

.casting-brief-section:last-child {
    margin-bottom: 0;
}

.casting-preset-section {
    margin-bottom: 14px;
}

.casting-section-heading {
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: rgba(var(--ds-ink-rgb), 0.66);
}

.casting-preset-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.casting-preset-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: 72px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    background: rgba(var(--ds-ink-rgb), 0.03);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: all 0.18s ease;
    font-family: inherit;
}

.casting-preset-card:hover {
    border-color: rgba(var(--accent-color-rgb), 0.22);
    background: rgba(var(--accent-color-rgb), 0.08);
    transform: translateY(-1px);
}

.casting-preset-card.active {
    border-color: rgba(var(--accent-color-rgb), 0.34);
    background: linear-gradient(180deg, rgba(var(--accent-color-rgb), 0.16), rgba(var(--accent-color-rgb), 0.08));
    box-shadow: inset 0 0 0 1px rgba(var(--accent-color-rgb), 0.14);
}

.casting-preset-card-title {
    font-size: 12px;
    font-weight: 600;
    color: rgba(var(--ds-ink-rgb), 0.86);
}

.casting-preset-card-desc {
    font-size: 10px;
    line-height: 1.45;
    color: rgba(var(--ds-ink-rgb), 0.66);
}

.casting-section-divider {
    height: 1px;
    background: rgba(var(--ds-ink-rgb), 0.06);
    margin: 0 0 12px;
}

.casting-field {
    margin-bottom: 8px;
}

.casting-field:last-child {
    margin-bottom: 0;
}

.casting-select-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(var(--ds-ink-rgb), 0.03);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.06);
}

.casting-row-label {
    font-size: 11px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.74);
}

.casting-row-control {
    flex-shrink: 0;
    min-width: 150px;
    display: flex;
    justify-content: flex-end;
}

.casting-select {
    width: 100%;
}

.casting-select .edit-model-btn {
    width: 100%;
    min-width: 150px;
    justify-content: space-between;
    padding: 7px 12px;
    border-radius: 14px;
    border-color: rgba(var(--ds-ink-rgb), 0.08);
    background: rgba(var(--ds-ink-rgb), 0.04);
    color: rgba(var(--ds-ink-rgb), 0.82);
}

.casting-select .edit-model-btn:hover {
    border-color: rgba(var(--accent-color-rgb), 0.24);
    background: rgba(var(--accent-color-rgb), 0.08);
}

.casting-select .edit-model-name {
    max-width: 132px;
}

.casting-select-dropdown {
    min-width: 100%;
    width: max-content;
    max-width: 210px;
    border-radius: 14px;
    padding: 6px;
}

.casting-select-dropdown .edit-model-option {
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 10px;
    color: rgba(var(--ds-ink-rgb), 0.72);
}

.casting-select-dropdown .edit-model-option[style*="display: none"] {
    display: none !important;
}

.casting-advanced-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    border-radius: 14px;
    background: rgba(var(--ds-ink-rgb), 0.03);
    color: rgba(var(--ds-ink-rgb), 0.76);
    font-size: 11px;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.18s ease;
}

.casting-advanced-toggle:hover {
    border-color: rgba(var(--accent-color-rgb), 0.2);
    background: rgba(var(--accent-color-rgb), 0.06);
}

.casting-advanced-note {
    flex: 1;
    font-size: 10px;
    text-align: right;
    color: rgba(var(--ds-ink-rgb), 0.66);
}

.casting-advanced-toggle i {
    font-size: 9px;
    transition: transform 0.2s;
}

.casting-advanced-toggle.open i {
    transform: rotate(180deg);
}

.casting-advanced-fields {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.2s ease, margin-top 0.2s ease;
}

.casting-advanced-fields.visible {
    max-height: 460px;
    opacity: 1;
    margin-top: 12px;
}

.casting-chip-field {
    padding: 12px;
    border-radius: 14px;
    background: rgba(var(--ds-ink-rgb), 0.03);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.06);
}

.casting-chip-field-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.max-hint {
    font-size: 10px;
    color: rgba(var(--ds-ink-rgb), 0.55);
}

.casting-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.casting-chip {
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    background: rgba(var(--ds-ink-rgb), 0.03);
    color: rgba(var(--ds-ink-rgb), 0.66);
    font-size: 11px;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
    user-select: none;
}

.casting-chip:hover {
    background: rgba(var(--ds-ink-rgb), 0.08);
    border-color: rgba(var(--ds-ink-rgb), 0.14);
    color: rgba(var(--ds-ink-rgb), 0.86);
}

.casting-chip.selected {
    background: rgba(var(--accent-color-rgb), 0.14);
    border-color: rgba(var(--accent-color-rgb), 0.3);
    color: rgba(var(--accent-color-rgb), 0.96);
}

.casting-chip.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 640px) {
    .casting-brief-panel {
        left: -8px;
        width: min(380px, calc(100vw - 20px));
    }

    .casting-preset-grid {
        grid-template-columns: 1fr;
    }

    .casting-select-row {
        flex-direction: column;
        align-items: stretch;
    }

    .casting-row-control {
        width: 100%;
    }

    .casting-select .edit-model-btn {
        min-width: 100%;
    }

    .casting-advanced-toggle {
        flex-wrap: wrap;
    }

    .casting-advanced-note {
        width: 100%;
        text-align: left;
    }
}

.creative-toggle-panel.visible {
    display: flex;
}

/* An open pop-up list is placed position: fixed from its button (static/js/utils/popup-fit.js),
   out of the scrolling panel it opens from. A panel whose blur (or a transform that moves
   nothing) would still be the list's containing block, and so clip it, goes without it while
   the list is open; its ground is near-opaque already. */
.ds-popup-host {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;
    /* at once: a transform still transitioning to none keeps it the containing block (the
       casting brief's, 0.25s), and the list measured against it lands off its button */
    transition: none !important;
}

.creative-toggle-panel-left {
    left: 0;
}

.creative-toggle-panel-right {
    right: 0;
}

.creative-toggle-panel-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.creative-toggle-panel-label {
    font-size: 11px;
    color: rgba(var(--ds-ink-rgb), 0.62);
    font-weight: 500;
    white-space: nowrap;
    min-width: 60px;
}

.creative-toggle-panel-control {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.creative-toggle-panel-control .edit-model-selector {
    min-width: 0;
}

.creative-toggle-panel-control .edit-model-btn {
    font-size: 11px;
    padding: 4px 10px;
}

/* -- Context Menu -- */
.creative-context-menu {
    position: fixed;
    background: var(--card-bg);
    border: 1px solid rgba(var(--cs-ink), 0.1);
    border-radius: 10px;
    padding: 4px;
    min-width: 160px;
    box-shadow: var(--cs-menu-shadow);
    z-index: 10000;
    backdrop-filter: blur(16px);
    display: none;
}

.creative-context-menu.visible {
    display: block;
}

.creative-context-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 6px;
    border: none;
    background: none;
    color: rgba(var(--cs-ink), 0.7);
    font-size: 12px;
    cursor: pointer;
    width: 100%;
    text-align: left;
    transition: all 0.15s;
    font-family: inherit;
}

.creative-context-menu-item:hover {
    background: rgba(var(--cs-ink), 0.08);
    color: rgb(var(--cs-ink));
}

.creative-context-menu-item:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.creative-context-menu-item.danger {
    color: var(--cs-danger-ink);
}

.creative-context-menu-item.danger:hover {
    background: rgba(var(--ds-danger-rgb), 0.12);
    color: var(--ds-danger);
}

.creative-context-menu-item i {
    width: 14px;
    text-align: center;
    font-size: 11px;
    opacity: 0.7;
}

.creative-context-menu-divider {
    height: 1px;
    background: rgba(var(--cs-ink), 0.06);
    margin: 3px 8px;
}

/* -- Creative Generation Placeholders -- */
.creative-gen-placeholder {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 160px;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;

    /* Rich animated base with visible tonal depth */
    background: linear-gradient(135deg,
            var(--ds-accent) 0%,
            var(--ds-accent) 25%,
            var(--ds-accent) 50%,
            var(--ds-accent) 75%,
            var(--ds-accent) 100%);
    background-size: 400% 400%;
    animation: silkBaseFlow 6s ease-in-out infinite;

    /* Visible inner glow border for depth */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -1px 0 rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.04),
        inset 0 0 60px rgba(var(--ds-accent-rgb), 0.08);
}

/* Base gradient organic flow — visible tonal shift */
@keyframes silkBaseFlow {

    0%,
    100% {
        background-position: 0% 50%;
    }

    25% {
        background-position: 100% 0%;
    }

    50% {
        background-position: 100% 100%;
    }

    75% {
        background-position: 0% 100%;
    }
}

/* Primary silk wave — visible diagonal light sweep across the surface */
.creative-gen-placeholder::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg,
            transparent 0%,
            transparent 30%,
            rgba(255, 255, 255, 0.04) 38%,
            rgba(255, 255, 255, 0.08) 42%,
            rgba(255, 255, 255, 0.04) 46%,
            transparent 54%,
            transparent 100%);
    background-size: 300% 100%;
    animation: silkLightSweep 3s ease-in-out infinite;
    z-index: 1;
}

@keyframes silkLightSweep {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

/* Secondary warm/cool caustic — visible atmospheric glow */
.creative-gen-placeholder::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 50% at 20% 30%,
            rgba(var(--ds-accent-rgb), 0.12) 0%, transparent 70%),
        radial-gradient(ellipse 50% 60% at 80% 70%,
            rgba(var(--ds-accent-rgb), 0.08) 0%, transparent 70%),
        radial-gradient(ellipse 70% 40% at 50% 50%,
            rgba(255, 255, 255, 0.03) 0%, transparent 60%);
    background-size: 200% 200%;
    animation: silkGlowDrift 5s ease-in-out infinite alternate;
    z-index: 1;
    pointer-events: none;
}

@keyframes silkGlowDrift {
    0% {
        background-position: 0% 0%;
        opacity: 0.5;
    }

    50% {
        background-position: 100% 100%;
        opacity: 1;
    }

    100% {
        background-position: 50% 0%;
        opacity: 0.7;
    }
}

.creative-gen-placeholder .gen-icon {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.35);
    font-size: 12px;
    z-index: 4;
}

.creative-gen-placeholder .gen-percent {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    font-family: 'SF Mono', 'Fira Code', monospace;
    z-index: 4;
    letter-spacing: 0.5px;
}

/* Fog/blur reveal effect */
.creative-gen-placeholder .gen-fog {
    position: absolute;
    inset: 0;
    backdrop-filter: blur(calc(30px * var(--fog-amount, 1)));
    -webkit-backdrop-filter: blur(calc(30px * var(--fog-amount, 1)));
    background: rgba(25, 25, 30, calc(0.85 * var(--fog-amount, 1)));
    transition: all 0.5s ease-out;
    z-index: 3;
}

/* Completed state */
.creative-gen-placeholder.completed {
    animation: none;
}

.creative-gen-placeholder.completed::before,
.creative-gen-placeholder.completed::after {
    animation: none;
    opacity: 0;
}

.creative-gen-placeholder.completed .gen-fog {
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    background: transparent;
}

.creative-gen-placeholder.completed .gen-percent {
    color: rgba(var(--accent-color-rgb), 0.92);
}

.creative-gen-placeholder .gen-result-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.6s ease-out;
    z-index: 0;
}

.creative-gen-placeholder.completed .gen-result-img {
    opacity: 1;
}

.creative-gen-placeholder.completed .gen-icon {
    opacity: 0;
    transition: opacity 0.3s;
}

/* Failed state — red thin border */
.creative-gen-placeholder.failed {
    animation: none;
    border: 1.5px solid rgba(var(--ds-danger-rgb), 0.6);
    transition: opacity 0.4s ease;
}

.creative-gen-placeholder.failed::before,
.creative-gen-placeholder.failed::after {
    animation: none;
    opacity: 0;
}

.creative-gen-placeholder.failed .gen-icon {
    color: rgba(var(--ds-danger-rgb), 0.7);
    background: rgba(var(--ds-danger-rgb), 0.12);
}

.creative-gen-placeholder.failed .gen-percent {
    color: rgba(var(--ds-danger-rgb), 0.7);
    font-size: 11px;
}

/* -- Selection Toolbar -- */
.creative-selection-toolbar {
    display: none;
    position: fixed;
    bottom: 120px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    align-items: center;
    gap: 10px;
    background: var(--card-bg);
    border: 1px solid rgba(var(--cs-ink), 0.1);
    border-radius: 999px;
    padding: 8px 10px 8px 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    z-index: 101;
    backdrop-filter: blur(16px);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.creative-selection-toolbar.visible {
    display: flex;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.creative-undo-toast {
    position: fixed;
    bottom: 178px;
    left: 50%;
    transform: translateX(-50%) translateY(16px);
    display: none;
    align-items: center;
    gap: 10px;
    background: var(--card-bg);
    border: 1px solid rgba(var(--cs-ink), 0.1);
    border-radius: 14px;
    padding: 8px 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(16px);
    z-index: 102;
    opacity: 0;
    transition: all 0.22s ease;
}

.creative-undo-toast.visible {
    display: flex;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.creative-undo-message {
    font-size: 12px;
    color: rgba(var(--cs-ink), 0.74);
    white-space: nowrap;
}

.creative-undo-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid rgba(var(--accent-color-rgb), 0.28);
    border-radius: 9px;
    background: rgba(var(--accent-color-rgb), 0.14);
    color: rgba(var(--cs-primary-ink), 0.95);
    font-size: 11px;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.18s ease;
}

.creative-undo-action:hover {
    background: rgba(var(--accent-color-rgb), 0.24);
    color: rgb(var(--cs-ink));
}

.creative-selection-count {
    font-size: 12px;
    color: rgba(var(--cs-ink), 0.6);
    font-weight: 500;
}

.creative-selection-action {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(var(--cs-ink), 0.1);
    background: rgba(var(--cs-ink), 0.05);
    color: rgba(var(--cs-ink), 0.7);
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
}

.creative-selection-action:hover {
    background: rgba(var(--cs-ink), 0.1);
    color: rgb(var(--cs-ink));
}

.creative-selection-action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.creative-selection-action.primary {
    background: rgba(var(--accent-color-rgb), 0.15);
    border-color: rgba(var(--accent-color-rgb), 0.3);
    color: rgba(var(--cs-primary-ink), 0.92);
}

.creative-selection-action.primary:hover {
    background: rgba(var(--accent-color-rgb), 0.24);
}

.creative-selection-action.danger {
    color: var(--cs-danger-ink);
    border-color: rgba(var(--ds-danger-rgb), 0.2);
}

.creative-selection-action.danger:hover {
    background: rgba(var(--ds-danger-rgb), 0.12);
    color: var(--ds-danger);
}

.creative-selection-action i {
    font-size: 10px;
}

/* -- Collection Cards -- */
.creative-collections-section {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.creative-collections-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.creative-collections-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    flex-wrap: wrap;
}

.creative-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.68);
    font-size: 11px;
    cursor: pointer;
    transition: all 0.18s ease;
}

.creative-breadcrumb-item:hover {
    background: rgba(255, 255, 255, 0.09);
    color: var(--ds-on-media);
}

.creative-breadcrumb-item.current {
    color: rgba(255, 255, 255, 0.92);
    border-color: rgba(var(--accent-color-rgb), 0.24);
    background: rgba(var(--accent-color-rgb), 0.14);
}

.creative-breadcrumb-separator {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.26);
}

.creative-collections-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(var(--ds-ink-rgb), 0.7);
    font-size: 11px;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.18s ease;
}

.creative-collections-action:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--ds-on-media);
}

.creative-collections-action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.creative-collections-action-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 9px;
    background: rgba(var(--ds-danger-rgb), 0.15);
    color: rgba(var(--ds-danger-rgb), 0.95);
    font-size: 10px;
    font-weight: 600;
}

.creative-collections-header {
    font-size: 12px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.6);
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.creative-collections-grid {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.creative-collection-card {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

.creative-collection-card:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--ds-on-media);
}

.creative-collection-card.drag-over {
    border-color: rgba(var(--accent-color-rgb), 0.65);
    box-shadow: 0 0 0 1px rgba(var(--accent-color-rgb), 0.22);
}

.creative-collection-card i {
    font-size: 11px;
    opacity: 0.5;
}

.creative-collection-count {
    font-size: 10px;
    opacity: 0.5;
    margin-left: 4px;
}

/* -- New bottom bar layout for Creative V2 -- */
/* Expandable pill: image row expands on hover above input controls */
.creative-action-bar-v2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100%;
    background: rgba(var(--ds-surface-rgb), 0.94) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1) !important;
    border-radius: 28px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
    padding: 6px 12px !important;
    height: auto !important;
    min-height: 56px;
    transition: box-shadow 0.3s ease;
}

.creative-action-bar-v2:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.creative-action-bar-v2.drag-active {
    border-color: rgba(var(--accent-color-rgb), 0.55) !important;
    box-shadow: 0 0 0 1px rgba(var(--accent-color-rgb), 0.2), 0 10px 32px rgba(0, 0, 0, 0.35) !important;
}

/* Input controls row — horizontal row inside the v2 bar */
.creative-input-controls-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: 44px;
    flex-shrink: 0;
}

/* Images row — hidden by default, expands on hover */
.creative-images-row {
    display: flex;
    align-items: center;
    gap: 5px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0 2px;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.25s ease,
        padding 0.3s ease,
        margin 0.3s ease;
    margin-bottom: 0;
}

/* Override inline-items/actions display inside images row */
.creative-images-row .creative-file-inline-items,
.creative-images-row .creative-file-inline-actions {
    display: flex;
}

/* Show images on hover when images exist */
.creative-action-bar-v2:hover .creative-images-row.has-images,
.creative-images-row.force-show {
    max-height: 46px;
    opacity: 1;
    padding: 4px 2px 6px 2px;
    border-bottom: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    margin-bottom: 4px;
}

.creative-bar-plus-toggle,
.creative-bar-style-toggle {
    position: relative;
    flex-shrink: 0;
}

.creative-bar-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: transparent;
    /* .62, not .4: at .4 the bar's controls read about 2.2:1 on the light palettes' surfaces —
       under the 3:1 a control needs (22 Oct contrast sweep). */
    color: rgba(var(--ds-ink-rgb), 0.62);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
}

.creative-bar-toggle-btn:hover {
    background: rgba(var(--ds-ink-rgb), 0.1);
    color: rgba(var(--ds-ink-rgb), 0.85);
}

.creative-bar-toggle-btn.active {
    background: rgba(var(--accent-color-rgb), 0.16);
    color: rgba(var(--accent-color-rgb), 0.96);
}

/* Gallery image selection overlay */
.gallery-item.selectable .select-overlay {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s;
    z-index: 5;
}

.gallery-item.selectable .select-overlay:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(0, 0, 0, 0.5);
}

.gallery-item.selectable.selected .select-overlay {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.gallery-item.selectable.selected .select-overlay::after {
    content: '✓';
    color: var(--ds-accent-ink);
    font-size: 12px;
    font-weight: 700;
}

.gallery-item.selectable.selected {
    box-shadow: 0 0 0 2px var(--primary-color);
}

/* Creative Gallery workspace */
.gallery-creative-projects-grid {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    margin: 0;
    align-self: start;
}

.gallery-creative-header,
.gallery-creative-collections {
    display: block;
}

.gallery-creative-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 6px 2px 2px;
    flex-wrap: wrap;
}

.gallery-creative-breadcrumb {
    flex: 1;
}

.gallery-creative-topbar-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gallery-item[data-creative-image-id] {
    cursor: grab;
}

.gallery-item[data-creative-image-id].dragging {
    opacity: 0.45;
    transform: scale(0.98);
}

.gallery-item[data-creative-image-id].drag-over {
    box-shadow: 0 0 0 2px rgba(var(--accent-color-rgb), 0.4);
    transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
    .creative-projects-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 10px;
    }

    .creative-project-card-thumb {
        height: 100px;
    }

    .creative-workspace-nav {
        top: 96px;
        left: 14px;
        max-width: calc(100vw - 28px);
        gap: 8px;
    }

    .creative-workspace-back {
        padding: 5px 10px;
        font-size: 11px;
    }

    .creative-workspace-collection-chip {
        height: 28px;
        padding: 0 10px;
        font-size: 11px;
    }

    .creative-workspace-actions {
        gap: 6px;
    }

    .creative-workspace-trash {
        height: 28px;
        padding: 0 9px;
    }

    .creative-favorites-hub-btn {
        height: 28px;
        padding: 0 9px;
    }

    .creative-toggle-panel {
        min-width: 180px;
    }

    .creative-add-project-fixed {
        bottom: 60px;
    }

    .gallery-creative-topbar {
        align-items: flex-start;
    }

    .gallery-creative-breadcrumb {
        width: 100%;
        order: 3;
    }
}

/* Creative mode emptyState — managed by JavaScript, no CSS override needed.
   Previously had display:none !important which broke layout for new/empty projects
   and prevented placeholder positioning from working correctly. */

/* ═══════════════════════════════════════════════
   CREATIVE CUSTOM MODAL — Replaces native prompt/confirm
   ═══════════════════════════════════════════════ */

.creative-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(6px);
    z-index: 20000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.creative-modal-overlay.visible {
    opacity: 1;
    pointer-events: auto;
}

.creative-modal {
    background: var(--card-bg);
    border: 1px solid rgba(var(--cs-ink), 0.1);
    border-radius: 18px;
    padding: 24px 28px;
    min-width: min(320px, calc(100vw - 32px));
    max-width: min(440px, calc(100vw - 32px));
    box-sizing: border-box;
    box-shadow: var(--cs-modal-shadow);
    backdrop-filter: blur(20px);
    transform: translateY(12px) scale(0.97);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.creative-modal-overlay.visible .creative-modal {
    transform: translateY(0) scale(1);
}

.creative-modal-title {
    font-size: 15px;
    font-weight: 600;
    color: rgb(var(--cs-ink));
    margin-bottom: 16px;
}

.creative-modal-input {
    width: 100%;
    padding: 10px 14px;
    background: rgba(var(--cs-ink), 0.05);
    border: 1px solid rgba(var(--cs-ink), 0.1);
    border-radius: 10px;
    color: rgb(var(--cs-ink));
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
    margin-bottom: 16px;
}

.creative-modal-input:focus {
    border-color: rgba(var(--accent-color-rgb), 0.5);
}

.creative-modal-message {
    color: rgba(var(--cs-ink), 0.7);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* A plain-text question keeps its own line breaks (the upscale question is four lines). */
.creative-modal-message.is-plain {
    white-space: pre-line;
}

.creative-modal-textarea {
    resize: vertical;
    min-height: 96px;
    line-height: 1.5;
}

.creative-modal-options {
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
}

.creative-modal-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(var(--cs-ink), 0.04);
    border: 1px solid rgba(var(--cs-ink), 0.08);
    color: rgba(var(--cs-ink), 0.84);
    font-family: inherit;
    cursor: pointer;
    transition: all 0.18s ease;
    text-align: left;
}

.creative-modal-option:hover {
    background: rgba(var(--cs-ink), 0.08);
    border-color: rgba(var(--cs-ink), 0.14);
}

.creative-modal-option.color-tag-option {
    position: relative;
    padding-left: 42px;
}

.creative-modal-option.color-tag-option::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 16px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.96);
    box-shadow: 0 0 0 4px rgba(var(--creative-tag-rgb, 255, 255, 255), 0.12);
    transform: translateY(-50%);
}

.creative-modal-option.primary {
    border-color: rgba(var(--accent-color-rgb), 0.26);
    background: rgba(var(--accent-color-rgb), 0.12);
}

.creative-modal-option.danger {
    border-color: rgba(var(--ds-danger-rgb), 0.22);
    background: rgba(var(--ds-danger-rgb), 0.08);
}

.creative-modal-option-title {
    font-size: 13px;
    font-weight: 600;
}

.creative-modal-option-description {
    font-size: 11px;
    line-height: 1.45;
    color: rgba(var(--cs-ink), 0.58);
}

.creative-favorites-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px;
    background: rgba(var(--ds-media-glass-rgb), 0.82);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    opacity: 0;
    transition: opacity 0.18s ease;
    z-index: 10025;
}

.creative-favorites-overlay.visible {
    opacity: 1;
}

.creative-favorites-panel {
    width: min(1280px, calc(100vw - 40px));
    max-height: calc(100vh - 42px);
    display: flex;
    flex-direction: column;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(20, 20, 24, 0.98), rgba(12, 12, 15, 0.98));
    box-shadow: 0 36px 84px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

.creative-favorites-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.creative-favorites-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.96);
    font-size: 18px;
    font-weight: 600;
}

.creative-favorites-title i {
    color: rgba(var(--ds-warn-rgb), 0.96);
}

.creative-favorites-subtitle {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.52);
    font-size: 13px;
}

.creative-favorites-close {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.86);
    cursor: pointer;
    transition: all 0.18s ease;
}

.creative-favorites-close:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ds-on-media);
}

.creative-favorites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    padding: 18px 22px 22px;
    overflow: auto;
}

.creative-favorites-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
    cursor: pointer;
    text-align: left;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.creative-favorites-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--accent-color-rgb), 0.22);
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.24);
}

.creative-favorites-thumb-wrap {
    position: relative;
    aspect-ratio: 4 / 5;
    background: rgba(var(--ds-media-glass-rgb), 0.9);
}

.creative-favorites-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.creative-favorites-thumb-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(var(--ds-media-glass-rgb), 0.72);
    color: rgba(var(--ds-warn-rgb), 0.98);
    border: 1px solid rgba(var(--ds-warn-rgb), 0.18);
    box-shadow: 0 10px 22px rgba(var(--ds-accent-rgb), 0.18);
}

.creative-favorites-card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 14px 16px;
}

.creative-favorites-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.creative-favorites-project {
    color: rgba(255, 255, 255, 0.94);
    font-size: 13px;
    font-weight: 600;
    min-width: 0;
}

.creative-favorites-model {
    color: rgba(255, 255, 255, 0.52);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.creative-favorites-prompt {
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.creative-favorites-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.creative-favorites-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(var(--accent-color-rgb), 0.12);
    color: rgba(var(--ds-ink-rgb), 0.88);
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.creative-favorites-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    gap: 12px;
    color: rgba(255, 255, 255, 0.6);
    text-align: center;
}

.creative-favorites-empty-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(var(--ds-warn-rgb), 0.9);
    font-size: 20px;
}

.creative-favorites-empty-title {
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    font-weight: 600;
}

.creative-favorites-empty-text {
    max-width: 360px;
    color: rgba(255, 255, 255, 0.52);
    font-size: 13px;
    line-height: 1.6;
}

.creative-compare-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(var(--ds-media-glass-rgb), 0.8);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 10030;
}

.creative-compare-overlay.visible {
    opacity: 1;
}

.creative-compare-shell {
    width: min(1480px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(20, 20, 24, 0.98), rgba(11, 11, 14, 0.98));
    box-shadow: 0 34px 80px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

.creative-compare-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.creative-compare-title-block {
    min-width: 0;
}

.creative-compare-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.96);
    font-size: 18px;
    font-weight: 600;
}

.creative-compare-title i {
    color: var(--accent-color);
}

.creative-compare-subtitle {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.54);
    font-size: 13px;
}

.creative-compare-close {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.86);
    cursor: pointer;
    transition: all 0.18s ease;
}

.creative-compare-close:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ds-on-media);
}

.creative-compare-grid {
    flex: 1;
    display: grid;
    gap: 18px;
    padding: 18px 22px 24px;
    overflow: auto;
}

.creative-compare-grid.creative-compare-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.creative-compare-grid.creative-compare-count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.creative-compare-grid.creative-compare-count-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.creative-compare-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.creative-compare-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.creative-compare-card-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.creative-compare-card-flags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.creative-compare-flag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    font-weight: 600;
}

.creative-compare-flag.favorite {
    color: rgba(var(--ds-warn-rgb), 0.98);
}

.creative-compare-flag.color-tag {
    color: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.98);
    background: rgba(var(--creative-tag-rgb, 255, 255, 255), 0.14);
}

.creative-compare-image-frame {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(var(--ds-media-glass-rgb), 0.9);
    aspect-ratio: 4 / 5;
}

.creative-compare-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.creative-compare-card-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 14px;
}

.creative-compare-model {
    color: rgba(255, 255, 255, 0.92);
    font-size: 13px;
    font-weight: 600;
}

.creative-compare-prompt {
    color: rgba(255, 255, 255, 0.56);
    font-size: 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.creative-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.creative-modal-btn {
    padding: 8px 18px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    transition: all 0.15s;
}

.creative-modal-btn-cancel {
    background: rgba(var(--cs-ink), 0.06);
    color: rgba(var(--cs-ink), 0.6);
    border: 1px solid rgba(var(--cs-ink), 0.08);
}

.creative-modal-btn-cancel:hover {
    background: rgba(var(--cs-ink), 0.1);
    color: rgb(var(--cs-ink));
}

.creative-modal-btn-primary {
    background: rgba(var(--accent-color-rgb), 0.9);
    /* The ink the vurgu colour is read in (Ayarlar picks dark or white by its
       luminance): white on the orange was 2:1. */
    color: var(--accent-contrast, #fff);
}

.creative-modal-btn-primary:hover {
    background: rgba(var(--accent-color-rgb), 1);
}

.creative-modal-btn-danger {
    background: rgba(var(--ds-danger-rgb), 0.8);
    color: var(--ds-bg);
}

.creative-modal-btn-danger:hover {
    background: var(--ds-danger);
}

/* ═══════════════════════════════════════════════
   CREATIVE MODE — FULL-PAGE LAYOUT OVERRIDES
   ═══════════════════════════════════════════════ */

/* Force generation layout to single-column when in Creative mode */
[data-app-mode="creative"] .generation-layout {
    grid-template-columns: 1fr !important;
    gap: 0;
}

[data-app-mode="creative"] {
    --creative-collections-height: 0px;
    --creative-carousel-available-height: 560px;
}

/* Results panel in creative mode — allow scrollable content */
[data-app-mode="creative"] .results-panel {
    overflow: visible;
}

/* Results viewer fills all available space */
[data-app-mode="creative"] .results-viewer {
    width: 100%;
    flex: 1;
    min-height: 0;
    max-height: calc(100vh - 160px);
    padding: 0;
    overflow-y: auto;
    justify-content: flex-start;
    align-items: stretch;
}

/* Grid view fills full width — content starts from top */
[data-app-mode="creative"] .grid-view {
    width: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 100px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Grid container optimized for full-width Creative mode */
[data-app-mode="creative"] .grid-container {
    width: 100%;
    gap: 14px;
    padding: 8px 8px 120px 8px;
    align-content: flex-start;
    min-height: auto;
}

/* Creative Grid Column Overrides — wider space, larger images */
[data-app-mode="creative"] .grid-container .grid-item {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

[data-app-mode="creative"] .grid-container[data-columns="2"] .grid-item {
    flex: 0 0 auto;
    max-width: none;
}

[data-app-mode="creative"] .grid-container[data-columns="3"] .grid-item {
    flex: 0 0 auto;
    max-width: none;
}

[data-app-mode="creative"] .grid-container[data-columns="4"] .grid-item {
    flex: 0 0 auto;
    max-width: none;
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .grid-item {
    flex: 0 0 auto;
    max-width: none;
}

[data-app-mode="creative"] .grid-container .grid-item img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

[data-app-mode="creative"] .grid-container .creative-gen-placeholder {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    height: var(--creative-grid-target-height, auto);
}

/* ── Creative Carousel Full-Screen ── */
[data-app-mode="creative"] .carousel-view {
    width: 100%;
    height: max(320px, var(--creative-carousel-available-height));
    min-height: max(320px, var(--creative-carousel-available-height));
    max-height: max(320px, var(--creative-carousel-available-height));
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    overflow: visible;
    padding: 12px 0 20px 0;
}

[data-app-mode="creative"] .carousel-container {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    padding: 0 60px;
    gap: 16px;
    align-items: center;
    justify-content: center;
}

[data-app-mode="creative"] .carousel-item {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-width: 120px;
    max-height: 100%;
}

[data-app-mode="creative"] .carousel-container:has(.carousel-item:only-child) .carousel-item {
    max-width: none;
    max-height: 100%;
}

[data-app-mode="creative"] .carousel-container.single-image {
    height: max(320px, var(--creative-carousel-available-height)) !important;
}

[data-app-mode="creative"] .carousel-container.double-images {
    height: max(320px, var(--creative-carousel-available-height)) !important;
    max-height: max(320px, var(--creative-carousel-available-height)) !important;
}

[data-app-mode="creative"] .carousel-container.double-images .carousel-item,
[data-app-mode="creative"] .carousel-container.single-image .carousel-item {
    width: auto !important;
    max-width: none !important;
    max-height: 100% !important;
}

[data-app-mode="creative"] .carousel-item.creative-placeholder-item {
    cursor: default;
}

[data-app-mode="creative"] .carousel-item.creative-placeholder-item .creative-gen-placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
}

[data-app-mode="creative"] .carousel-frame {
    width: 100%;
    height: 100%;
    max-height: 100%;
}

[data-app-mode="creative"] .carousel-frame>img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Carousel nav arrows — larger, more visible */
[data-app-mode="creative"] .carousel-nav {
    width: 44px;
    height: 44px;
    font-size: 18px;
    z-index: 140;
}

[data-app-mode="creative"] .carousel-prev {
    left: 14px;
}

[data-app-mode="creative"] .carousel-next {
    right: 14px;
}

/* ── Creative Grid Item Hover Actions ── */
[data-app-mode="creative"] .grid-item .image-actions,
[data-app-mode="creative"] .carousel-item .image-actions {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    display: flex;
    gap: 6px;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 5;
    pointer-events: none;
}

[data-app-mode="creative"] .grid-item:hover .image-actions,
[data-app-mode="creative"] .carousel-item:hover .image-actions {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

/* Action buttons within image cards */
[data-app-mode="creative"] .image-actions .img-action-btn {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    transition: background 0.2s, transform 0.15s;
}

[data-app-mode="creative"] .image-actions .img-action-btn:hover {
    background: rgba(0, 0, 0, 0.75);
    transform: scale(1.1);
}

[data-app-mode="creative"] .image-actions .img-action-btn.delete-btn:hover {
    background: rgba(var(--ds-danger-rgb), 0.7);
}

/* Scale action buttons based on grid column count */
[data-app-mode="creative"] .grid-container[data-columns="2"] .image-actions .img-action-btn {
    width: 36px;
    height: 36px;
    font-size: 14px;
    border-radius: 10px;
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .image-actions .img-action-btn {
    width: 26px;
    height: 26px;
    font-size: 10px;
    border-radius: 6px;
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .image-actions {
    gap: 3px;
    bottom: 4px;
}

/* ── Image number badge — optimize for Creative ── */
[data-app-mode="creative"] .grid-item .image-number {
    position: absolute;
    top: 6px;
    left: 6px;
    padding: 2px 7px;
    font-size: 0.7rem;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.5);
    color: rgba(255, 255, 255, 0.7);
    z-index: 3;
}

/* Model badge — optimize for Creative */
[data-app-mode="creative"] .grid-item .model-badge,
[data-app-mode="creative"] .carousel-item .model-badge {
    font-size: 0.65rem;
    padding: 2px 6px;
    max-width: 80%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .grid-item .model-badge {
    font-size: 0.55rem;
    padding: 1px 4px;
}

/* ── Creative Project Image Reorder Visual ── */
[data-app-mode="creative"] .grid-item.dragging,
[data-app-mode="creative"] .carousel-item.dragging {
    opacity: 0.5;
    transform: scale(0.95);
}

[data-app-mode="creative"] .grid-item.drag-over,
[data-app-mode="creative"] .carousel-item.drag-over {
    opacity: 1;
    filter: none;
    outline: 2px dashed rgba(var(--accent-color-rgb), 0.62);
    outline-offset: -2px;
}

[data-app-mode="creative"] .grid-container.creative-selection-active .grid-item:not(.creative-selected):not(.dragging),
[data-app-mode="creative"] .carousel-container.creative-selection-active .carousel-item:not(.creative-selected):not(.dragging) {
    opacity: 0.42;
    filter: saturate(0.55) brightness(0.72);
    transition: opacity 0.18s ease, filter 0.18s ease, transform 0.18s ease;
}

[data-app-mode="creative"] .grid-item.creative-selected {
    outline: 2px solid rgba(var(--accent-color-rgb), 0.96);
    outline-offset: -2px;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-color-rgb), 0.24);
}

[data-app-mode="creative"] .carousel-item.creative-selected {
    z-index: 14;
}

[data-app-mode="creative"] .carousel-item.creative-selected .carousel-frame {
    outline: 2px solid rgba(var(--accent-color-rgb), 0.96);
    outline-offset: -2px;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-color-rgb), 0.24);
}

[data-app-mode="creative"] .grid-item.creative-selected::after,
[data-app-mode="creative"] .carousel-item.creative-selected .carousel-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(var(--accent-color-rgb), 0.14), rgba(var(--ds-accent-rgb), 0));
    pointer-events: none;
}

[data-app-mode="creative"] .grid-item,
[data-app-mode="creative"] .carousel-item {
    cursor: pointer;
}

[data-app-mode="creative"] .grid-item.creative-selected::before,
[data-app-mode="creative"] .carousel-item.creative-selected .carousel-frame::before {
    content: '\2713';
    position: absolute;
    z-index: 18;
    top: 10px;
    right: 10px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 2px solid var(--accent-contrast, #fff);
    border-radius: 50%;
    background: var(--primary-color);
    color: var(--accent-contrast, #fff);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

@media (max-width: 760px) {
    .creative-selection-toolbar {
        right: 12px;
        bottom: 92px;
        left: 12px;
        max-width: none;
        transform: translateY(20px);
        /* From the left: centred, the start of a bar wider than the screen could not be scrolled to. */
        justify-content: flex-start;
        overflow-x: auto;
    }

    .creative-selection-toolbar.visible {
        transform: translateY(0);
    }

    /* The bar scrolls sideways: a pill keeps its one line ("1 görseli Agent'a gönder"
       broke into three and made the bar 96 px tall). */
    .creative-selection-count,
    .creative-selection-action {
        flex-shrink: 0;
        white-space: nowrap;
    }
}

/* A mouse selects with Cmd/Shift+click, the menu and a drag, and acts from the
   right-click menu, which holds every action the bar had (the owner's note 1, F2);
   the bar stays for a touch screen, which has no right click. */
@media (hover: hover) and (pointer: fine) {
    .creative-selection-toolbar.visible {
        display: none;
    }
}

/* ── Creative Generation Placeholder — adapt to grid ── */
[data-app-mode="creative"] .creative-gen-placeholder {
    flex: 0 0 calc(33.333% - 10px);
    max-width: calc(33.333% - 10px);
}

[data-app-mode="creative"] .grid-container[data-columns="2"] .creative-gen-placeholder {
    flex: 0 0 calc(50% - 7px);
    max-width: calc(50% - 7px);
}

[data-app-mode="creative"] .grid-container[data-columns="4"] .creative-gen-placeholder {
    flex: 0 0 calc(25% - 11px);
    max-width: calc(25% - 11px);
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .creative-gen-placeholder {
    flex: 0 0 calc(16.666% - 12px);
    max-width: calc(16.666% - 12px);
}

[data-app-mode="creative"] .grid-container[data-columns="4"] .grid-item-overlay {
    padding: 10px;
    gap: 5px;
}

[data-app-mode="creative"] .grid-container[data-columns="4"] .grid-item-overlay .btn-icon {
    width: 28px;
    height: 28px;
}

[data-app-mode="creative"] .grid-container[data-columns="4"] .grid-item-overlay .btn-icon i,
[data-app-mode="creative"] .grid-container[data-columns="4"] .grid-item-overlay .upscale-btn .badge-scale {
    font-size: 0.72rem;
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .grid-item-overlay {
    padding: 8px 8px 10px;
    gap: 4px;
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .grid-item-overlay .btn-icon {
    width: 24px;
    height: 24px;
    box-shadow: 0 2px 6px rgba(var(--ds-accent-rgb), 0.12);
}

[data-app-mode="creative"] .grid-container[data-columns="6"] .grid-item-overlay .btn-icon i,
[data-app-mode="creative"] .grid-container[data-columns="6"] .grid-item-overlay .upscale-btn .badge-scale {
    font-size: 0.64rem;
}

@media (max-width: 1220px) {
    .creative-compare-grid.creative-compare-count-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .creative-compare-overlay {
        padding: 16px;
    }

    .creative-compare-shell {
        width: min(100vw - 20px, 100%);
        max-height: calc(100vh - 20px);
    }

    .creative-favorites-overlay {
        padding: 14px;
    }

    .creative-favorites-panel {
        width: min(100vw - 18px, 100%);
        max-height: calc(100vh - 18px);
    }

    .creative-compare-grid.creative-compare-count-2,
    .creative-compare-grid.creative-compare-count-3,
    .creative-compare-grid.creative-compare-count-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .creative-favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 14px;
    }
}

@media (max-width: 640px) {
    .creative-compare-header {
        padding: 16px 16px 12px;
    }

    .creative-compare-grid {
        padding: 14px 14px 18px;
        gap: 14px;
    }

    .creative-compare-grid.creative-compare-count-2,
    .creative-compare-grid.creative-compare-count-3,
    .creative-compare-grid.creative-compare-count-4 {
        grid-template-columns: minmax(0, 1fr);
    }

    .creative-favorites-header {
        padding: 16px 16px 12px;
    }

    .creative-favorites-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
    }
}

/* =============================================
   STORYBOARD FOLDER GALLERY VIEW
   ============================================= */

/* Folder card in gallery grid */
.sb-folder-card {
    cursor: pointer;
}

.sb-folder-card .result-image.sb-folder-preview {
    position: relative;
    overflow: hidden;
    border-radius: inherit;
}

/* Carousel image */
.sb-carousel-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease, opacity 0.25s ease;
}

.sb-folder-card:hover .sb-carousel-img {
    transform: scale(1.03);
}

/* Premium badge pill - top left */
.sb-badge-pill {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: linear-gradient(135deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.45) 100%);
    backdrop-filter: blur(12px) saturate(1.5);
    -webkit-backdrop-filter: blur(12px) saturate(1.5);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 500;
    color: rgba(255,255,255,0.88);
    letter-spacing: 0.2px;
    white-space: nowrap;
    pointer-events: none;
}

.sb-badge-pill i {
    color: var(--primary-color);
    font-size: 10px;
}

.sb-badge-sep {
    color: rgba(255,255,255,0.25);
    font-size: 8px;
}

/* Frame indicator (appears on scroll/dot click) */
.sb-frame-indicator {
    flex-shrink: 0;
    background: rgba(255,255,255,0.1);
    padding: 2px 8px;
    border-radius: 8px;
    pointer-events: none;
    animation: sbIndicatorFadeIn 0.15s ease;
}

.sb-frame-indicator-label {
    font-size: 10px;
    font-weight: 500;
    color: rgba(255,255,255,0.7);
    white-space: nowrap;
}

@keyframes sbIndicatorFadeIn {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
}

/* Dots navigation */
.sb-dots-nav {
    position: absolute;
    bottom: 44px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(10px);
    border-radius: 14px;
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.2s ease;
    pointer-events: none;
}

/* The bar is also where the wheel steps through the frames (27 Sep): a
   slightly larger target, and a cursor that says so. */
.sb-folder-card .sb-dots-nav { padding: 6px 10px; cursor: ew-resize; }

.sb-folder-card:hover .sb-dots-nav {
    opacity: 1;
    pointer-events: auto;
}

.sb-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.sb-dot:hover {
    background: rgba(var(--ds-media-glass-rgb), 0.6);
    transform: scale(1.3);
}

.sb-dot.active {
    background: var(--primary-color);
    width: 14px;
    border-radius: 4px;
    box-shadow: 0 0 6px rgba(var(--primary-color-rgb, 255, 165, 0), 0.4);
}

.sb-dot-more {
    font-size: 9px;
    color: rgba(255,255,255,0.5);
    white-space: nowrap;
    margin-left: 2px;
}

/* Folder info at bottom */
.sb-folder-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 20px 12px 8px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
}

.sb-folder-name {
    font-size: 11.5px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    min-width: 0;
    flex: 1;
}

/* Storyboard folder view (inside folder) */
.sb-folder-header {
    margin-bottom: 8px;
}

.sb-folder-title {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
}

.sb-folder-title span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sb-folder-count {
    flex-shrink: 0;
    background: var(--primary-color);
    color: var(--ds-accent-ink);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}

/* Frame label inside frame cards */
.sb-frame-label {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    background: rgba(0, 0, 0, 0.6);
    color: var(--ds-on-media);
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 500;
    backdrop-filter: blur(4px);
}

/* Drag-drop for storyboard frames */
.sb-frame-item {
    cursor: grab;
    transition: all 0.2s ease;
}

.sb-frame-item.dragging {
    opacity: 0.45;
    transform: scale(0.96);
}

.sb-frame-item.drag-over {
    box-shadow: 0 0 0 2px var(--primary-color);
    transform: translateY(-2px);
}

/* Human decision gate for the main and single approved poster-repair takes. */
.agent-poster-takes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0;
}

.agent-poster-take {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 10px;
    align-items: center;
    padding: 8px;
    color: inherit;
    text-align: left;
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.14));
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.035);
    cursor: pointer;
}

.agent-poster-take img {
    width: 64px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.18);
}

.agent-poster-take span,
.agent-poster-take small {
    display: block;
}

.agent-poster-take small {
    margin-top: 4px;
    opacity: 0.72;
}

.agent-poster-take:not(:disabled):hover {
    border-color: var(--accent-color, #8b7cff);
    background: rgba(var(--ds-accent-rgb), 0.09);
}

.agent-poster-take.failed {
    opacity: 0.55;
    cursor: not-allowed;
}

.agent-poster-reject {
    color: var(--danger-color, #ff6b6b);
}

@media (max-width: 620px) {
    .agent-poster-takes {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U1) — PLAN-TEK-URETIM-PANELI §4.2
   The mode icon and the reference button in Creative's bar; both open
   Creative's own menu. Only rendered with the switch on.
   ========================================== */
.unified-mode-btn,
.unified-reference-btn {
    flex-shrink: 0;
}

.unified-mode-btn {
    color: rgba(var(--accent-color-rgb), 0.85);
}

.unified-mode-btn:hover {
    color: rgba(var(--accent-color-rgb), 1);
}

/* The mode's name beside its icon (M6, 22 Oct): the send does what it says — a pill, not the
   34px circle; on a phone smaller, never wider than its room. */
/* (#creativeModeInput #unifiedModeBtn: over the bar's 30px phone and docked sizes for its buttons) */
.creative-bar-toggle-btn.unified-mode-btn,
body[data-unified-panel="on"] #creativeModeInput #unifiedModeBtn.unified-mode-btn {
    width: auto;
    min-width: 30px;
    gap: 5px;
    padding: 0 10px;
    border-radius: 999px;
}

.unified-mode-label {
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 96px;
}

@media (max-width: 480px) {
    .creative-bar-toggle-btn.unified-mode-btn,
    body[data-unified-panel="on"] #creativeModeInput #unifiedModeBtn.unified-mode-btn {
        gap: 4px;
        padding: 0 7px;
    }

    .unified-mode-label {
        font-size: 11px;
        max-width: 64px;
    }
}

/* A control moved into a labelled row of the bar names itself already ("Seri: [Seri]",
   "Birleştir: [Birleştir]", "Versiyon: Versiyon", "Seed: [Seed]"): the row's label says it once,
   the control keeps its icon (and its title). */
.unified-control #sequentialModeToggle > span,
.unified-control #batchToggle > span,
.unified-control #inlineVersionCount > .version-label,
.unified-control #seedButtonContent > span {
    display: none;
}

/* The send being started (M2): disabled, its arrow a spinner until the job is accepted. */
#creativeSendBtn.is-sending {
    cursor: progress;
    opacity: 0.7;
}

.creative-context-menu-item.active {
    color: rgb(var(--cs-ink));
}

.creative-context-menu-item.active::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 10px;
    margin-left: auto;
    opacity: 0.8;
}

/* The prompt keeps the width it had before the two buttons came in (230px). */
@media (min-width: 769px) {
    body[data-unified-panel="on"] #creativeModeInput {
        min-width: 584px;
    }
}

/* On a phone the bar did not fit even before (the send button sat 54px past a
   375px screen); with the switch on the shell's bar is tightened to fit. */
@media (max-width: 480px) {
    body[data-unified-panel="on"] #creativeModeInput .creative-action-bar-v2 {
        padding: 4px 6px !important;
    }

    body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row {
        gap: 2px;
    }

    body[data-unified-panel="on"] #creativeModeInput .creative-bar-toggle-btn,
    body[data-unified-panel="on"] #creativeModeInput .casting-brief-toggle,
    body[data-unified-panel="on"] #creativeModeInput .creative-batch-toggle-btn {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }

    body[data-unified-panel="on"] #creativeModeInput .edit-send-btn-circle {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }

    body[data-unified-panel="on"] #creativeModeInput .edit-input-wrapper-inner {
        min-width: 64px;
    }
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U1b) — PLAN-TEK-URETIM-PANELI §4.4
   The brand bar above the folders and a brand's own page, in Creative's own
   chips, inputs and quiet type — no new box. Only rendered with the switch on.
   ========================================== */
:root {
    /* The brand layer's ink (1 Oct): it was white everywhere, written for the
       dark panel, so on the light one the page read white on white. Since 21 Oct the
       palette's own ink, light or dark. */
    --ubp-ink: var(--ds-ink-rgb, 28, 28, 30);
}

.dark-mode {
    --ubp-ink: var(--ds-ink-rgb, 255, 255, 255);
}

body[data-unified-panel="on"] .creative-projects-view {
    justify-content: flex-start;
    padding-top: 24px;
    overflow-y: auto;
}

.unified-brand-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto 20px;
    flex: 0 0 auto;
}

.unified-brand-track {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 2px 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.unified-brand-track::-webkit-scrollbar {
    display: none;
}

.unified-brand-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 32px;
    padding: 0 13px;
    border-radius: 999px;
    border: 1px solid rgba(var(--ubp-ink), 0.09);
    background: rgba(var(--ubp-ink), 0.04);
    color: rgba(var(--ubp-ink), 0.62);
    font-size: 12px;
    font-family: inherit;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.18s ease;
}

.unified-brand-chip:hover {
    background: rgba(var(--ubp-ink), 0.08);
    border-color: rgba(var(--ubp-ink), 0.14);
    color: rgba(var(--ubp-ink), 0.92);
}

.unified-brand-chip.active {
    color: rgba(var(--ubp-ink), 0.98);
    border-color: rgba(var(--accent-color-rgb), 0.34);
    background: linear-gradient(180deg, rgba(var(--accent-color-rgb), 0.2), rgba(var(--accent-color-rgb), 0.08));
    box-shadow: inset 0 0 0 1px rgba(var(--accent-color-rgb), 0.15);
}

.unified-brand-name {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.unified-brand-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(var(--ubp-ink), 0.18);
    flex: 0 0 auto;
}

.unified-brand-mark {
    font-size: 10px;
    opacity: 0.6;
}

.unified-brand-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(var(--ubp-ink), 0.08);
    color: rgba(var(--ubp-ink), 0.74);
    font-size: 10px;
    font-weight: 600;
}

.unified-brand-chip.active .unified-brand-count {
    background: rgba(var(--accent-color-rgb), 0.18);
    color: rgba(var(--ds-ink-rgb), 0.96);
}

.unified-brand-add {
    border-style: dashed;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.68);
}

.unified-brand-add i {
    font-size: 10px;
}

.unified-brand-settings {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 32px;
    padding: 0 6px;
    border: none;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.55);
    font-size: 12px;
    font-family: inherit;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.18s ease;
}

.unified-brand-settings:hover {
    color: rgba(var(--ubp-ink), 0.95);
}

/* "Silinenler (N)": the far right of the chip row, pinned while the chips scroll. */
.unified-brand-trash {
    margin-left: auto;
    flex: 0 0 auto;
}

/* Desktop folder list: the bar is the row's centre column, so the button sits on the row's far right edge. */
@media (min-width: 769px) {
    body:not([data-creative-folder="open"]) #generation-tab > .content-header.ds-page-row {
        position: relative;
    }

    body:not([data-creative-folder="open"]) #generation-tab > .ds-page-row .unified-brand-trash {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 0;
    }
}

.unified-brand-trash i {
    font-size: 11px;
}

@media (max-width: 480px) {
    .unified-brand-trash {
        padding: 0 10px;
        gap: 5px;
    }

    .unified-brand-trash [data-creative-trash-label] {
        display: none;
    }
}

/* ── Silinenler panel: a side sheet in the dialogs' family ───────────────── */
.creative-trash-overlay {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: flex;
    justify-content: flex-end;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.creative-trash-overlay.visible {
    opacity: 1;
}

.creative-trash-panel {
    display: flex;
    flex-direction: column;
    width: min(440px, 100vw);
    height: 100%;
    max-height: 100dvh;
    box-sizing: border-box;
    background: var(--card-bg);
    border-left: 1px solid rgba(var(--cs-ink), 0.1);
    box-shadow: var(--cs-modal-shadow);
    color: rgb(var(--cs-ink));
    transform: translateX(24px);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.creative-trash-overlay.visible .creative-trash-panel {
    transform: translateX(0);
}

.creative-trash-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 20px 14px;
    border-bottom: 1px solid rgba(var(--cs-ink), 0.08);
}

.creative-trash-head h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
}

.creative-trash-head p {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(var(--cs-ink), 0.55);
}

.creative-trash-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(var(--cs-ink), 0.08);
    color: rgba(var(--cs-ink), 0.74);
    font-size: 11px;
    font-weight: 600;
}

.creative-trash-close {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(var(--cs-ink), 0.08);
    background: rgba(var(--cs-ink), 0.05);
    color: rgba(var(--cs-ink), 0.6);
    cursor: pointer;
}

.creative-trash-close:hover {
    background: rgba(var(--cs-ink), 0.1);
    color: rgb(var(--cs-ink));
}

.creative-trash-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 8px 12px 20px;
}

.creative-trash-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.creative-trash-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 8px;
    border-radius: 12px;
}

.creative-trash-row:hover {
    background: rgba(var(--cs-ink), 0.04);
}

.creative-trash-thumb {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(var(--cs-ink), 0.06);
    color: rgba(var(--cs-ink), 0.4);
    font-size: 16px;
}

.creative-trash-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.creative-trash-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.creative-trash-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 500;
}

.creative-trash-meta {
    font-size: 11px;
    line-height: 1.4;
    color: rgba(var(--cs-ink), 0.5);
}

.creative-trash-restore,
.creative-trash-purge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid rgba(var(--cs-ink), 0.1);
    background: rgba(var(--cs-ink), 0.05);
    color: rgb(var(--cs-ink));
    font: inherit;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.15s;
}

.creative-trash-restore:hover {
    background: rgba(var(--accent-color-rgb), 0.9);
    border-color: transparent;
    color: var(--accent-contrast, #fff);
}

.creative-trash-restore:disabled,
.creative-trash-purge:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.creative-trash-row.has-content {
    cursor: pointer;
}

.creative-trash-delete {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    border: 1px solid rgba(var(--ds-danger-rgb), 0.3);
    background: rgba(var(--ds-danger-rgb), 0.06);
    color: rgb(var(--ds-danger-rgb));
    font-size: 12px;
    cursor: pointer;
    transition: all 0.15s;
}

.creative-trash-delete:hover:not(:disabled) {
    background: rgba(var(--ds-danger-rgb), 0.16);
}

.creative-trash-delete:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Preview of a deleted folder: a simple grid over the panel. */
.creative-trash-preview-overlay {
    position: fixed;
    inset: 0;
    z-index: 20001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(0, 0, 0, 0.5);
}

.creative-trash-preview {
    display: flex;
    flex-direction: column;
    width: min(720px, 100%);
    max-height: min(80vh, 100%);
    border-radius: 16px;
    border: 1px solid rgba(var(--cs-ink), 0.1);
    background: var(--card-bg);
    box-shadow: var(--cs-modal-shadow);
    color: rgb(var(--cs-ink));
    overflow: hidden;
}

.creative-trash-preview-head,
.creative-trash-preview-foot {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
}

.creative-trash-preview-foot {
    justify-content: flex-end;
    border-top: 1px solid rgba(var(--cs-ink), 0.08);
}

.creative-trash-preview-head h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.creative-trash-preview-grid {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 8px;
    padding: 4px 16px 16px;
}

.creative-trash-preview-cell {
    position: relative;
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(var(--cs-ink), 0.06);
}

.creative-trash-preview-cell img,
.creative-trash-preview-cell video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.creative-trash-preview-cell i {
    position: absolute;
    right: 6px;
    bottom: 6px;
    font-size: 11px;
    color: var(--ds-on-media);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

.creative-trash-empty-group {
    margin-top: 10px;
    border-top: 1px solid rgba(var(--cs-ink), 0.08);
    padding-top: 6px;
}

.creative-trash-empty-group > summary {
    padding: 8px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(var(--cs-ink), 0.62);
    cursor: pointer;
}

.creative-trash-purge {
    margin: 8px 8px 0;
    color: rgb(var(--ds-danger-rgb));
    border-color: rgba(var(--ds-danger-rgb), 0.35);
    background: rgba(var(--ds-danger-rgb), 0.08);
}

.creative-trash-purge:hover:not(:disabled) {
    background: rgba(var(--ds-danger-rgb), 0.16);
}

.creative-trash-none {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 56px 24px;
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
    color: rgba(var(--cs-ink), 0.55);
}

.creative-trash-none i {
    font-size: 26px;
    color: rgba(var(--cs-ink), 0.3);
}

.creative-trash-none strong {
    font-size: 14px;
    color: rgb(var(--cs-ink));
}

@media (max-width: 480px) {
    .creative-trash-panel {
        width: 100vw;
        border-left: none;
    }
}

.unified-brand-settings i {
    font-size: 11px;
}

body[data-unified-panel="on"] .creative-projects-empty-action {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-top: 56px;
}

.unified-empty-note {
    margin: 0;
    font-size: 13px;
    color: rgba(var(--ubp-ink), 0.4);
}

/* The brand's page: one quiet column, a label and its control per line. */
.unified-brand-page {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 96px;
    color-scheme: light;
}

.dark-mode .unified-brand-page {
    color-scheme: dark;
}

.unified-brand-page[hidden],
body[data-unified-panel="on"] .creative-projects-grid[hidden] {
    display: none;
}

.ubp-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.ubp-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 0;
    border: none;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.68);
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
}

.ubp-back:hover {
    color: rgba(var(--ubp-ink), 0.92);
}

.ubp-back i {
    font-size: 11px;
    opacity: 0.6;
}

.ubp-actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ubp-status {
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ubp-save {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 32px;
    padding: 0 16px;
    border: none;
    border-radius: 999px;
    background: rgba(var(--accent-color-rgb), 0.9);
    color: var(--ds-on-media);
    font-size: 12px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.15s ease;
}

.ubp-save:hover {
    background: rgba(var(--accent-color-rgb), 1);
}

.ubp-save:disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.ubp-save i {
    font-size: 10px;
}

.ubp-title {
    width: 100%;
    max-width: 766px;
    box-sizing: border-box;
    padding: 4px 0;
    border: none;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: rgb(var(--ubp-ink));
    font-size: 28px;
    font-weight: 600;
    font-family: inherit;
    letter-spacing: -0.01em;
    outline: none;
    transition: border-color 0.2s ease;
}

.ubp-title:hover {
    border-bottom-color: rgba(var(--ubp-ink), 0.08);
}

.ubp-title:focus {
    border-bottom-color: rgba(var(--accent-color-rgb), 0.5);
}

.ubp-kind {
    margin: 6px 0 22px;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-notes p {
    margin: 0 0 6px;
    font-size: 12px;
    color: rgba(var(--ds-accent-rgb), 0.85);
}

.ubp-rows {
    display: flex;
    flex-direction: column;
}

.ubp-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 600px);
    gap: 16px;
    align-items: start;
    padding: 10px 0;
    border-top: 1px solid rgba(var(--ubp-ink), 0.05);
}

.ubp-rows > .ubp-row:first-child {
    border-top: none;
}

.ubp-label {
    padding-top: 9px;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.68);
}

.ubp-control {
    min-width: 0;
}

.ubp-input {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 10px;
    background: rgba(var(--ubp-ink), 0.04);
    color: rgba(var(--ubp-ink), 0.9);
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s ease;
}

.ubp-input:focus {
    border-color: rgba(var(--accent-color-rgb), 0.5);
}

.ubp-input::placeholder {
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-input:disabled {
    opacity: 0.4;
}

.ubp-text {
    min-height: 38px;
    line-height: 1.45;
    resize: vertical;
}

.ubp-mini {
    width: auto;
    padding: 5px 8px;
    font-size: 12px;
}

.ubp-inline {
    width: 200px;
    max-width: 100%;
}

.ubp-section {
    margin: 30px 0 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-swatches,
.ubp-chips,
.ubp-logos,
.ubp-share,
.ubp-inline-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ubp-swatch,
.ubp-logo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 4px 4px 4px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 999px;
    background: rgba(var(--ubp-ink), 0.03);
}

.ubp-logo {
    border-radius: 12px;
}

/* A brand's props (owner, 7 Oct): a picture, a name and a tone each. */
.ubp-props {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
    margin: 10px 0;
}

/* A picture of one's own, added as a product for this run (8 Oct). */
.ujp-own {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 10px 0;
    padding: 10px;
    border: 1px dashed rgba(var(--ubp-ink), 0.18);
    border-radius: 12px;
}

.ujp-own .ubp-input {
    flex: 1 1 160px;
    min-width: 0;
}

/* 'Brif ver' (8 Oct): suggested changes, each ticked or not. */
.ubp-intake-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    margin: 8px 0;
}

.ubp-intake-list {
    display: grid;
    gap: 6px;
    margin: 8px 0 10px;
}

.ubp-intake-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 8px 10px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 10px;
}

.ubp-intake-item span {
    display: grid;
    gap: 3px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ubp-intake-item s,
.ubp-intake-item small {
    opacity: 0.6;
}

/* Style references grouped by direction, then category (8 Oct). */
.ubp-refset.is-passive > summary b {
    opacity: 0.55;
    text-decoration: line-through;
}

.ubp-refset-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: flex-end;
    margin: 4px 0 8px;
}

.ubp-refset-tools .ujp-field {
    min-width: 180px;
    flex: 1 1 180px;
}

.ubp-refset-tools .ujp-wide {
    flex-basis: 100%;
}

.ubp-refadd {
    margin: 12px 0;
    padding: 8px 10px;
    border: 1px dashed rgba(var(--ubp-ink), 0.18);
    border-radius: 12px;
}

.ubp-refset {
    margin: 10px 0;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 12px;
    padding: 4px 10px;
}

.ubp-refset > summary {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    align-items: baseline;
    padding: 8px 0;
    cursor: pointer;
}

.ubp-refset > summary span,
.ubp-refcat span {
    opacity: 0.6;
    font-size: 12px;
}

.ubp-refcat {
    margin: 8px 0 0;
    font-size: 13px;
    font-weight: 600;
}

.ubp-prop {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 6px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 12px;
    background: rgba(var(--ubp-ink), 0.03);
}

.ubp-prop img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(var(--ubp-ink), 0.04);
}

.ubp-prop .ubp-x {
    position: absolute;
    top: 10px;
    right: 10px;
}

.ubp-props .ubp-add {
    min-height: 120px;
    justify-content: center;
}

.ubp-swatch-chip {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(var(--ubp-ink), 0.15);
    cursor: pointer;
}

.ubp-swatch-chip input[type="color"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.ubp-hex {
    width: 70px;
    border: none;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.8);
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    outline: none;
}

.ubp-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.62);
    font-size: 11px;
    cursor: pointer;
}

.ubp-x:hover {
    background: rgba(var(--ubp-ink), 0.08);
    color: rgb(var(--ubp-ink));
}

.ubp-add {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    border: 1px dashed rgba(var(--ubp-ink), 0.14);
    border-radius: 999px;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.68);
    font-size: 12px;
    font-family: inherit;
    cursor: pointer;
}

.ubp-add:hover {
    border-color: rgba(var(--ubp-ink), 0.28);
    color: rgb(var(--ubp-ink));
}

.ubp-add i {
    font-size: 10px;
}

.ubp-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 30px;
    padding: 0 4px 0 12px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 999px;
    background: rgba(var(--ubp-ink), 0.04);
    color: rgba(var(--ubp-ink), 0.85);
    font-size: 13px;
}

.ubp-logo img {
    width: 44px;
    height: 30px;
    box-sizing: border-box;
    padding: 3px;
    border-radius: 7px;
    background: var(--ds-accent);
    object-fit: contain;
}

.ubp-logo.is-dark img {
    background: var(--ds-surface);
}

.ubp-quiet {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border: none;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.68);
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}

.ubp-quiet:hover {
    color: rgb(var(--ubp-ink));
}

.ubp-hint {
    margin: 6px 0;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 8px;
}

.ubp-person {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto minmax(140px, 1.3fr);
    gap: 12px;
    align-items: center;
}

/* A universe's character: the row that opens the form, then the profile's
   main-character switch and relation. */
.ubp-person > .ubp-item {
    width: calc(100% + 8px);
    margin: 0 0 0 -8px;
}

.ubp-person img,
.ubp-avatar {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    background: rgba(var(--ubp-ink), 0.06);
}

.ubp-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(var(--ubp-ink), 0.62);
    font-size: 13px;
}

.ubp-place .ubp-avatar,
.ubp-logo .ubp-avatar {
    flex: 0 0 auto;
    width: 44px;
    height: 30px;
    border-radius: 7px;
}

.ubp-person-name {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ubp-person-name strong {
    overflow: hidden;
    color: rgba(var(--ubp-ink), 0.9);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ubp-person-name small {
    overflow: hidden;
    color: rgba(var(--ubp-ink), 0.62);
    font-size: 11px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ubp-toggle {
    height: 28px;
    padding: 0 12px;
    border: 1px solid rgba(var(--ubp-ink), 0.1);
    border-radius: 999px;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.68);
    font-size: 12px;
    font-family: inherit;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.18s ease;
}

.ubp-toggle:hover {
    color: rgba(var(--ubp-ink), 0.9);
    border-color: rgba(var(--ubp-ink), 0.18);
}

.ubp-toggle.active {
    color: rgba(var(--ubp-ink), 0.98);
    border-color: rgba(var(--accent-color-rgb), 0.34);
    background: linear-gradient(180deg, rgba(var(--accent-color-rgb), 0.2), rgba(var(--accent-color-rgb), 0.08));
}

.ubp-place {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ubp-place img {
    flex: 0 0 auto;
    width: 48px;
    height: 36px;
    border-radius: 7px;
    object-fit: cover;
}

.ubp-place .ubp-input:first-of-type {
    flex: 1 1 32%;
}

.ubp-place .ubp-input:last-of-type {
    flex: 2 1 60%;
}

.ubp-sub {
    margin: 14px 0 6px;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.68);
}

.ubp-sub em {
    margin-left: 6px;
    font-style: normal;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-canon {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0 4px 12px;
    border-left: 2px solid rgba(var(--ubp-ink), 0.1);
}

.ubp-canon p {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: rgba(var(--ubp-ink), 0.8);
}

/* Edited in place (H2): the line reads as text; focused, it shows it is a field. */
.ubp-canon p[contenteditable] {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 4px;
    outline: none;
    cursor: text;
}

.ubp-canon p[contenteditable]:focus {
    box-shadow: 0 0 0 1px rgba(var(--accent-color-rgb), 0.5);
    background: rgba(var(--ubp-ink), 0.04);
}

.ubp-canon-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
}

.ubp-link {
    padding: 2px 4px;
    border: none;
    background: transparent;
    color: rgba(var(--accent-color-rgb), 0.9);
    font-size: 12px;
    font-family: inherit;
    cursor: pointer;
}

.ubp-link:hover {
    color: rgba(var(--accent-color-rgb), 1);
}

/* A product or a character (4b): a row that opens its own form in place, the
   form the page's own label + control rows behind a quiet accent line. */
.ubp-item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    width: calc(100% + 16px);
    max-width: 782px;
    margin: 0 -8px;
    padding: 6px 8px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: inherit;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease;
}

.ubp-item:hover {
    background: rgba(var(--ubp-ink), 0.04);
}

.ubp-item img {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    background: rgba(var(--ubp-ink), 0.06);
}

.ubp-item-pen {
    font-size: 11px;
    color: rgba(var(--ubp-ink), 0.62);
    transition: color 0.15s ease;
}

.ubp-item:hover .ubp-item-pen,
.ubp-item:focus-visible .ubp-item-pen {
    color: rgba(var(--ubp-ink), 0.7);
}

.ubp-editor {
    max-width: 766px;
    box-sizing: border-box;
    margin: 2px 0 10px;
    padding: 2px 0 4px 14px;
    border-left: 2px solid rgba(var(--accent-color-rgb), 0.45);
}

.ubp-editor .ubp-row {
    grid-template-columns: 134px minmax(0, 600px);
}

.ubp-label em {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    font-style: normal;
    color: rgba(var(--ubp-ink), 0.62);
}

/* A brand's memory (F5.2): the add button and its count on one line, the picture
   large enough in its form to judge the digest by. */
.ubp-memory-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.ubp-memory-preview {
    display: block;
    max-width: min(260px, 100%);
    max-height: 190px;
    border-radius: 10px;
    object-fit: contain;
    background: rgba(var(--ubp-ink), 0.05);
}

/* Saved jobs (F5.5): a package template is listed, not edited here; a job's needs
   are a count and a kind per row. */
.ubp-item-static {
    cursor: default;
}

.ubp-item-static:hover {
    background: transparent;
}

.ubp-job-needs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ubp-job-need {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ubp-job-need input[type="number"] {
    width: 64px;
}

.ubp-job-need select {
    width: auto;
    min-width: 120px;
}

/* The dossier (F5.3): read-only, folded until asked for. */
.ubp-dossier {
    max-width: 782px;
    margin: 4px 0 8px;
    font-size: 12.5px;
    color: rgba(var(--ubp-ink), 0.75);
}

.ubp-dossier > summary {
    cursor: pointer;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.68);
}

.ubp-dossier-head {
    margin: 12px 0 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-dossier-list {
    margin: 0;
    padding-left: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ubp-photos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ubp-photo {
    position: relative;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(var(--ubp-ink), 0.05);
}

.ubp-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ubp-photo-open {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: zoom-in;
}

/* The photo viewer (components/photo-viewer.js), over the gallery's lightbox */
.ds-photo-viewer .edit-lightbox-thumb {
    padding: 0;
    background: none;
}

.ds-photo-viewer .edit-lightbox-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.ds-photo-viewer .ds-photo-thumb-star {
    position: absolute;
    top: 2px;
    right: 2px;
    font-size: 9px;
    color: var(--ds-on-media);
    text-shadow: 0 0 3px rgba(var(--ds-media-glass-rgb), 0.9);
}

.ds-photo-viewer .ds-photo-main {
    width: auto;
    padding: 0 14px;
    gap: 6px;
    border-radius: 999px;
    font-size: 13px;
}

.ds-photo-viewer .ds-photo-main.is-main {
    cursor: default;
    opacity: 0.85;
}

.ds-photo-viewer .lightbox-image-wrapper > img {
    display: block;
    max-width: 86vw;
    max-height: 78vh;
    object-fit: contain;
}

.ubp-photo .ubp-avatar {
    width: 100%;
    height: 100%;
    border-radius: 0;
}

.ubp-photo .ubp-x {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 20px;
    height: 20px;
    background: rgba(0, 0, 0, 0.55);
    color: rgba(255, 255, 255, 0.85);
    font-size: 10px;
}

.ubp-photo .ubp-x:hover {
    background: rgba(0, 0, 0, 0.78);
}

.ubp-editor-foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    padding: 10px 0 2px;
}

.ubp-editor-foot .ubp-status {
    min-width: 0;
    white-space: normal;
    text-align: right;
}

.ubp-editor-foot .ubp-status:empty {
    display: none;
}

.ubp-editor-foot .ubp-danger {
    margin-right: auto;
}

.ubp-link.ubp-danger {
    color: rgba(var(--ds-danger-rgb), 0.8);
}

.ubp-link.ubp-danger:hover {
    color: var(--ds-danger);
}

.ubp-add:disabled,
.ubp-add:disabled:hover {
    opacity: 0.35;
    border-color: rgba(var(--ubp-ink), 0.14);
    color: rgba(var(--ubp-ink), 0.68);
    cursor: default;
}

.ubp-note {
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
}

/* The universe wizard (H1): the brief, then the draft behind the canon's quiet line. */
.ubp-wizard {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 4px 0 14px;
    padding-left: 12px;
    border-left: 2px solid rgba(var(--accent-color-rgb), 0.35);
}

.ubp-place .ubp-board {
    flex: 0 0 auto;
    white-space: nowrap;
}

.ubp-wizard-row .ubp-check {
    flex: 0 0 auto;
    padding-top: 0;
}

.ubp-wizard-row .ubp-toggle {
    flex: 0 0 auto;
    cursor: default;
}

.ubp-wizard-photo {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ubp-wizard-photo img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: cover;
}

.ubp-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-top: 7px;
    font-size: 13px;
    color: rgba(var(--ubp-ink), 0.8);
    cursor: pointer;
}

.ubp-check input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: rgb(var(--accent-color-rgb));
}

.ubp-sheet {
    display: block;
    width: 100%;
    max-width: 360px;
    margin-bottom: 8px;
    border-radius: 10px;
    background: rgba(var(--ubp-ink), 0.04);
}

.ubp-editor > .ubp-hint {
    margin: 4px 0 2px;
}

@media (max-width: 640px) {
    .unified-brand-bar {
        gap: 6px;
        margin-bottom: 14px;
    }

    .unified-brand-chip {
        height: 30px;
        padding: 0 11px;
    }

    .unified-brand-name {
        max-width: 120px;
    }

    .unified-brand-settings span {
        display: none;
    }

    .ubp-title {
        font-size: 22px;
    }

    .ubp-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .ubp-wizard-row {
        flex-wrap: wrap;
    }

    .ubp-wizard-row .ubp-input {
        flex: 1 1 100%;
    }

    .ubp-label {
        padding-top: 0;
    }

    .ubp-person {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ubp-person .ubp-input {
        grid-column: 1 / -1;
    }

    .ubp-place {
        flex-wrap: wrap;
    }

    .ubp-place .ubp-input:first-of-type {
        flex: 1 1 calc(100% - 40px);
    }

    .ubp-place .ubp-x {
        order: 2;
    }

    .ubp-place .ubp-input:last-of-type {
        flex: 1 1 100%;
        order: 3;
    }

    .ubp-canon {
        flex-direction: column;
        gap: 6px;
    }

    .ubp-editor {
        padding-left: 12px;
    }

    .ubp-editor .ubp-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .ubp-editor-foot {
        flex-wrap: wrap;
        gap: 10px 14px;
    }

    .ubp-editor-foot .ubp-status {
        flex: 1 1 100%;
        order: -1;
        text-align: left;
    }
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U2) — PLAN-TEK-URETIM-PANELI §4.2
   A mode chosen on the bar's icon brings its own controls, moved from its own
   panel: the common ones into the + menu, the rest into Araçlar, in Creative's
   rows and type. Creative's own controls for the same things step aside.
   ========================================== */
#creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) #creativePlusPanel > .creative-toggle-panel-row,
#creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) .casting-brief-wrapper,
#creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) .creative-bar-style-toggle:not(.unified-tools),
#creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) #creativeSequentialContainer,
#creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) #creativeBatchToggle {
    display: none !important;
}

.unified-plus-slot[hidden],
.unified-tools[hidden] {
    display: none !important;
}

.unified-plus-slot {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* A control its model does not offer takes its row with it. */
.unified-control-row:has(> .unified-control > [style*="display: none"]),
.unified-control-row:has(> .unified-control > [style*="display:none"]) {
    display: none;
}

.unified-control {
    align-items: center;
    min-width: 0;
}

/* In the + menu a control is as wide as it is, at the row's right: filling
   the row (Creative's own controls do), Birleştir's button sat at its left. */
#unifiedPlusSlot .unified-control {
    flex: 0 1 auto;
    margin-left: auto;
}

/* The moved controls in Creative's type: small pills, quiet borders. */
#unifiedPlusSlot .compact-select-toggle,
#unifiedToolsPanel .compact-select-toggle,
#unifiedToolsPanel .model-usage-button,
#unifiedPlusSlot .compact-toggle-button {
    height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 999px;
    background: rgba(var(--ds-ink-rgb), 0.04);
    color: rgba(var(--ds-ink-rgb), 0.85);
    font-size: 11px;
    box-shadow: none;
}

#unifiedPlusSlot .compact-select-toggle #modelSelectActiveLabel {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* A mode's own menus open upward from the bar and scroll when long — or down,
   when that side has more room before the page's header (_fitUnifiedMenu). */
#unifiedPlusSlot .compact-select-menu,
#unifiedToolsPanel .compact-select-menu:not(#uploadMenuPopover),
#unifiedToolsPanel .model-options-menu {
    top: auto;
    left: auto;
    right: 0;
    bottom: calc(100% + 6px);
    max-height: min(56vh, 460px);
    overflow-y: auto;
}

/* Each select is its own layer (z-index: 10); stacked in rows, the later ones
   would lie over a menu opening down onto them. The open one goes on top. */
#unifiedPlusSlot .compact-select:has(.compact-select-menu.open) {
    z-index: 20;
}

#unifiedPlusSlot .seed-container,
#unifiedPlusSlot .seed-embedded-input {
    margin: 0;
}

/* Araçlar: a mode's tools in one quiet column, scrolling when taller than the
   room under the page's header, which would cover its top rows. Its one menu,
   Karakter's, then opens down, inside the column. */
.unified-tools-panel {
    width: 340px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 260px);
    max-height: calc(100dvh - 260px);
    overflow-y: auto;
    box-sizing: border-box;
}

#unifiedToolsPanel .model-options-menu {
    top: calc(100% + 6px);
    bottom: auto;
}

#unifiedToolsPanel .studio-mode-counts {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* İstem and Ekle: the switches shown as they are, not behind their icon. */
#unifiedToolsPanel #promptToolsToggle,
#unifiedToolsPanel #uploadMenuToggle,
#unifiedToolsPanel #uploadRefBtn,
#unifiedToolsPanel #peopleBtn {
    display: none !important;
}

#unifiedToolsPanel .prompt-tools-menu,
#unifiedToolsPanel #uploadMenuPopover {
    position: static;
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    max-width: none;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    /* Shown in place they are flex items, whose z-index still stacks: left
       as a popup's, it would lay the row over Karakter's open menu. */
    z-index: auto;
}

#unifiedToolsPanel .prompt-tool-item,
#unifiedToolsPanel #uploadMenuPopover .upload-menu-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    padding: 4px 10px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 999px;
    background: transparent;
    color: rgba(var(--ds-ink-rgb), 0.75);
    font-size: 11px;
}

#unifiedToolsPanel .prompt-tool-item.active,
#unifiedToolsPanel #uploadMenuPopover .upload-menu-item.active,
#unifiedToolsPanel #uploadMenuPopover .upload-menu-item.has-reference {
    border-color: rgba(var(--accent-color-rgb), 0.4);
    background: rgba(var(--accent-color-rgb), 0.14);
    color: var(--ds-ink);
}

#unifiedToolsPanel #linkInputContainer,
#unifiedToolsPanel #promptInputContainer {
    margin: 0 !important;
}

/* The style library's shelf, sized for the menu. */
#unifiedToolsPanel .advanced-styles-card {
    margin: 0;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    border-radius: 0;
    background: none;
    box-shadow: none;
    animation: none;
}

#unifiedToolsPanel .advanced-styles-card .card-header {
    padding: 0 0 8px;
    border: 0;
    background: none;
}

#unifiedToolsPanel .advanced-styles-card .card-header h3 {
    font-size: 11px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.45);
}

#unifiedToolsPanel .style-shelf-container {
    padding: 0;
    background: none;
}

#unifiedToolsPanel .style-shelf {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 6px;
}

#unifiedToolsPanel .style-category-btn {
    grid-column: auto !important;
    grid-row: auto !important;
    height: 28px;
    padding: 0 8px;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
}

#unifiedToolsPanel #uploadMenu,
#unifiedToolsPanel .prompt-tools-wrapper {
    display: flex;
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
}

/* On a phone Araçlar spans the bar rather than hanging from its button, and so
   does a mode's + menu, whose rows are wider than Creative's own; a row whose
   control has no room beside its name puts it under the name. */
@media (max-width: 640px) {
    body[data-unified-panel="on"] #creativeModeInput .unified-tools,
    #creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) .creative-bar-plus-toggle {
        position: static;
    }

    body[data-unified-panel="on"] #creativeModeInput .unified-tools-panel,
    #creativeModeInput[data-unified-mode]:not([data-unified-mode="creative"]) #creativePlusPanel {
        left: 0;
        right: 0;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    #unifiedPlusSlot .unified-control-row {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    #unifiedPlusSlot .unified-control {
        max-width: 100%;
    }

    /* The model guide hangs from its toggle at the menu's right: at its own
       320px it ran off the screen's left edge. */
    #unifiedPlusSlot .model-info-content {
        width: min(320px, calc(100vw - 96px));
    }
}

/* Studio's model guide ("Nasıl kullanılır?") under its model, opening as its menus do. */
#unifiedPlusSlot > .model-info-inline {
    align-self: flex-end;
    margin-top: -4px;
}

#unifiedPlusSlot .model-info-content {
    top: auto;
    bottom: calc(100% + 8px);
    right: 0;
    max-height: 50vh;
    overflow-y: auto;
    background: rgba(var(--ds-surface-rgb), 0.96);
    border-color: rgba(var(--ds-ink-rgb), 0.08);
    color: rgba(var(--ds-ink-rgb), 0.78);
    z-index: 300;
}

/* Afiş: its Versiyon in a row of the + menu (the row says "Versiyon"), and its
   Marka / Stiller / Gelişmiş panel in a wider Araçlar. */
#unifiedPlusSlot #inlineVersionCount {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

#unifiedPlusSlot #inlineVersionCount .version-label {
    display: none;
}

#creativeModeInput[data-unified-mode="poster"] .unified-tools-panel {
    width: 440px;
}

#unifiedToolsPanel #posterUnifiedPanel {
    margin: 0;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    border-radius: 0;
    background: none;
    box-shadow: none;
}

#unifiedToolsPanel #posterUnifiedPanel .card-header {
    padding: 0 0 8px;
    border: 0;
    background: none;
}

/* On a phone its three tabs fit the column: their words, without the icons. */
@media (max-width: 640px) {
    #unifiedToolsPanel #posterUnifiedPanel .panel-tab {
        padding: 8px 10px;
    }

    #unifiedToolsPanel #posterUnifiedPanel .panel-tab i {
        display: none;
    }
}

/* The reference menu with the brand in use (5b): its products and characters
   under a quiet group name, each with its picture; a long list scrolls. */
body[data-unified-panel="on"] #creativeContextMenu[data-target-type="reference"] {
    max-width: min(320px, calc(100vw - 32px));
    max-height: min(60vh, 440px);
    overflow-y: auto;
}

body[data-unified-panel="on"] #creativeContextMenu .creative-context-menu-heading {
    padding: 6px 12px 2px;
    font-size: 10px;
    font-weight: 500;
    color: rgba(var(--cs-ink), 0.4);
}

body[data-unified-panel="on"] #creativeContextMenu .creative-context-menu-thumb {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border-radius: 5px;
    object-fit: cover;
    background: rgba(var(--cs-ink), 0.06);
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U3) — PLAN-TEK-URETIM-PANELI §4.2
   Storyboard on the bar's icon, one mode with Social Studio: its wizard in
   Araçlar in the menu's quiet type, without its brief input — the bar's
   prompt is the brief; its AI buttons stay — and its page's style
   categories, the ones its page offers (storyboard.css, "STORYBOARD MODE -
   STYLE CUSTOMIZATION"), in Araçlar and in the style library alike.
   ========================================== */
#creativeModeInput[data-unified-mode="storyboard"] .unified-tools-panel {
    width: 440px;
}

#unifiedToolsPanel #storyboardWizard {
    margin: 0;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid rgba(var(--ds-ink-rgb), 0.06);
    border-radius: 0;
    background: none;
    box-shadow: none;
    animation: none;
}

#unifiedToolsPanel #storyboardWizard .card-header {
    padding: 0 0 8px;
    border: 0;
    background: none;
}

#unifiedToolsPanel #storyboardWizard .card-header h3 {
    font-size: 11px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.45);
}

#unifiedToolsPanel #storyboardWizard .storyboard-wizard-content {
    gap: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
}

#unifiedToolsPanel #briefWrapper,
#unifiedToolsPanel #storyboardBriefExpanded {
    display: none !important;
}

body[data-unified-mode="storyboard"] .style-category-btn[data-category="urunKategorisi"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="kadraj"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="aciBakis"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="cekimTipi"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="zeminArkaPlan"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="kompozisyon"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="mevsim"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="optik"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="efektAksiyon"],
body[data-unified-mode="storyboard"] .style-category-btn[data-category="hazirPresetler"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="urunKategorisi"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="kadraj"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="aciBakis"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="cekimTipi"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="zeminArkaPlan"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="kompozisyon"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="mevsim"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="optik"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="efektAksiyon"],
body[data-unified-mode="storyboard"] .style-tab-btn[data-category="hazirPresetler"],
body[data-unified-mode="storyboard"] .category-card[data-category="urunKategorisi"],
body[data-unified-mode="storyboard"] .category-card[data-category="kadraj"],
body[data-unified-mode="storyboard"] .category-card[data-category="aciBakis"],
body[data-unified-mode="storyboard"] .category-card[data-category="cekimTipi"],
body[data-unified-mode="storyboard"] .category-card[data-category="zeminArkaPlan"],
body[data-unified-mode="storyboard"] .category-card[data-category="kompozisyon"],
body[data-unified-mode="storyboard"] .category-card[data-category="mevsim"],
body[data-unified-mode="storyboard"] .category-card[data-category="optik"],
body[data-unified-mode="storyboard"] .category-card[data-category="efektAksiyon"],
body[data-unified-mode="storyboard"] .category-card[data-category="hazirPresetler"] {
    display: none !important;
}

/* The contact sheet takes the canvas while a storyboard runs, and again from
   its subfolder's menu — but not the bar: its page's rule hides everything
   beside it in the results panel. It ends above the bar. */
body[data-unified-mode] .results-panel.sb-viewer-active > #creativeModeInput:not(.hidden) {
    display: flex !important;
}

body[data-unified-mode] .results-panel.sb-viewer-active > #storyboardViewer {
    margin-bottom: 128px;
}

/* On a phone Araçlar is the bar's width: the wizard's two- and three-up rows
   (sector and scenario; quality, look and detail) stack, each at full width. */
@media (max-width: 640px) {
    #unifiedToolsPanel #storyboardWizard [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #unifiedToolsPanel #storyboardWizard .toggle-dropdown-btn {
        min-width: 0;
    }
}

/* The social media pack's formats, in the ratio's place (E1). */
.unified-social-format-text {
    font-size: 12px;
    color: var(--text-secondary, #a1a1aa);
    white-space: nowrap;
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U4) — PLAN-TEK-URETIM-PANELI §4.2
   Edit on the bar's icon: the picture it edits beside the reference button,
   once there is one; its model in the + menu, in Creative's own row; its
   tools — Perspektif & Açı, Genişlet, Maske, Akıllı Edit — in Araçlar, quiet
   round buttons at their rows' right. A tool its model does not offer (its
   own `hidden`) takes its row with it.
   ========================================== */
.unified-bar-slot {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.unified-bar-slot[hidden],
#unifiedBarSlot:not(:has(.has-image)) {
    display: none !important;
}

#unifiedBarSlot .edit-selected-thumb {
    width: 30px;
    height: 30px;
    border-width: 1px;
    border-radius: 8px;
}

/* On a phone the picture is smaller, leaving the prompt its room. */
@media (max-width: 640px) {
    #unifiedBarSlot .edit-selected-thumb {
        width: 26px;
        height: 26px;
        margin: 0 2px;
    }
}

.unified-control-row:has(> .unified-control > .hidden) {
    display: none;
}

#creativeModeInput[data-unified-mode="edit"] .unified-tools-panel {
    width: 260px;
}

/* Edit edits the one picture beside the reference button: the folder's inputs,
   which the other modes send, step aside while it is chosen. */
#creativeModeInput[data-unified-mode="edit"] .creative-images-row {
    display: none !important;
}

#unifiedToolsPanel .standalone-perspective,
#unifiedToolsPanel .edit-bar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 50%;
    background: rgba(var(--ds-ink-rgb), 0.04);
    color: rgba(var(--ds-ink-rgb), 0.75);
    box-shadow: none;
    transform: none;
}

#unifiedToolsPanel .standalone-perspective i,
#unifiedToolsPanel .edit-bar-btn i {
    font-size: 12px;
}

#unifiedToolsPanel .edit-bar-btn.active {
    border-color: rgba(var(--accent-color-rgb), 0.4);
    background: rgba(var(--accent-color-rgb), 0.14);
    color: var(--ds-ink);
}

/* Creative's own model list scrolls inside the height _fitUnifiedMenu leaves it (F3.5). */
body[data-unified-panel="on"] #creativeModelDropdown {
    overflow-y: auto;
    min-width: 210px;
}

/* One line a model: wrapped names made the list twice as tall as it is (10 Oct). */
body[data-unified-panel="on"] #creativeModelDropdown .edit-model-option {
    white-space: nowrap;
}

/* Edit's model list at its row's right, opening where the menu has room
   (_fitUnifiedMenu) and scrolling when long. */
#unifiedPlusSlot .edit-model-dropdown {
    left: auto;
    right: 0;
    min-width: 190px;
    max-height: min(56vh, 460px);
    overflow-y: auto;
}

/* Upscale on the bar's icon: the Image Upscale tab's model cards as a quiet
   list in the + menu (icon and name), its scales as pills, its face detection
   a switch in the menu's type. */
#unifiedPlusSlot .model-selection-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: auto;
    margin: 0;
}

#unifiedPlusSlot .model-selection-grid .model-card {
    display: flex;
    flex: none;
    align-items: center;
    gap: 8px;
    height: 28px;
    padding: 0 12px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    transform: none;
    text-align: left;
}

#unifiedPlusSlot .model-selection-grid .model-card::before {
    display: none;
}

#unifiedPlusSlot .model-selection-grid .model-card.active,
#unifiedPlusSlot .scale-options .scale-btn.active {
    border-color: rgba(var(--accent-color-rgb), 0.4);
    background: rgba(var(--accent-color-rgb), 0.14);
    box-shadow: none;
}

#unifiedPlusSlot .model-selection-grid .model-icon {
    width: auto;
    height: auto;
    margin: 0;
    background: none;
}

#unifiedPlusSlot .model-selection-grid .model-icon i {
    font-size: 11px;
}

#unifiedPlusSlot .model-selection-grid .model-info h4 {
    margin: 0;
    font-size: 11px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.85);
    white-space: nowrap;
}

#unifiedPlusSlot .model-selection-grid .model-info p,
#unifiedPlusSlot .scale-options .scale-size {
    display: none;
}

#unifiedPlusSlot .scale-options {
    display: flex;
    gap: 6px;
    margin: 0;
}

#unifiedPlusSlot .scale-options .scale-btn {
    height: 26px;
    padding: 0 12px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    transform: none;
}

#unifiedPlusSlot .scale-options .scale-value {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    color: rgba(var(--ds-ink-rgb), 0.85);
}

#unifiedPlusSlot > .enhancement-toggle {
    gap: 8px;
    padding: 2px 0;
    background: none;
    font-size: 11px;
    color: rgba(var(--ds-ink-rgb), 0.6);
}

#unifiedPlusSlot > .enhancement-toggle .toggle-label i {
    display: none;
}

#unifiedPlusSlot > .enhancement-toggle .toggle-label,
#unifiedPlusSlot > .enhancement-toggle .toggle-label span {
    font-size: 11px;
    font-weight: 500;
    color: rgba(var(--ds-ink-rgb), 0.75);
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U5) — PLAN-TEK-URETIM-PANELI §4.2
   Video on the bar's icon: the Video Studio's models as a quiet list in the +
   menu; its form in Araçlar in one column — frames, references, output
   settings and the Video Yönetmeni, without its preview stage and its brief
   box (the bar's prompt is the brief); above the bar, a card for what it says
   before it spends: its confirmation, an error. A video filed in a folder
   plays on its card.
   ========================================== */
.unified-above-slot {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% + 10px);
    display: flex;
    flex-direction: column;
    gap: 8px;
    /* No z-index: the bar after it (its backdrop-filter makes it a layer of
       its own) paints over it, so an open + menu or Araçlar covers a waiting
       card instead of the card taking the menu's clicks. */
}

.unified-above-slot[hidden] {
    display: none !important;
}

#unifiedAboveSlot .vs-confirm,
#unifiedAboveSlot .vs-form-error {
    margin: 0;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    border-radius: 16px;
    background: rgba(var(--ds-surface-rgb), 0.96);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    color: rgba(var(--ds-ink-rgb), 0.85);
}

#unifiedAboveSlot .vs-confirm {
    padding: 14px 16px;
}

#unifiedAboveSlot .vs-form-error {
    padding: 10px 14px;
    border-color: rgba(var(--ds-danger-rgb), 0.35);
    color: var(--ds-danger);
}

#unifiedAboveSlot .vs-confirm h4 {
    color: var(--ds-ink);
}

#unifiedAboveSlot .vs-confirm-prompt {
    max-height: 72px;
}

#unifiedAboveSlot .vs-confirm-actions .btn-primary,
#unifiedAboveSlot .vs-confirm-actions .vs-opt-btn {
    height: 30px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 12px;
}

#creativeModeInput[data-unified-mode="video"] .creative-images-row {
    display: none !important;
}

#creativeModeInput[data-unified-mode="video"] .unified-tools-panel {
    width: 440px;
}

/* The video form and its model list follow the palette like the rest of the bar (18 Oct 2026);
   they were pinned to the old dark theme's line colours when the bar was dark in both themes. */

/* The form is as tall as its content and the panel scrolls: the studio
   window's rule (flex 1 1 auto, min-height 0, padding) shrank it to the room
   left in the panel, so 1,230px of fields hung out of a 590px box and the cost
   line sat on them. Its cards span the panel, as wide as one another. */
#unifiedToolsPanel #vsFormArea {
    display: block;
    flex: none;
    min-height: auto;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
}

#unifiedToolsPanel #vsFormArea .vs-workspace {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    max-width: none;
    margin: 0;
}

#unifiedToolsPanel #vsFormArea .vs-creative-column,
#unifiedToolsPanel #vsFormArea .vs-inspector {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

#unifiedToolsPanel #vsFormArea #vsStage,
#unifiedToolsPanel #vsFormArea .vs-prompt-heading,
#unifiedToolsPanel #vsFormArea #vsPrompt {
    display: none !important;
}

#unifiedToolsPanel #vsFormArea .vs-inspector {
    position: static;
}

/* In the flow, after the last field; once the panel scrolls it stays at its
   foot, on a ground of its own, so it never lies on a field. */
#unifiedToolsPanel #vsCostEstimate {
    position: sticky;
    bottom: -12px; /* the panel's own bottom padding: the strip reaches its edge */
    z-index: 1;
    flex: none;
    margin: 0 -14px -12px;
    padding: 9px 16px 11px;
    border-top: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    background: var(--ds-surface);
    font-size: 11px;
    color: rgba(var(--ds-ink-rgb), 0.6);
}

#unifiedPlusSlot #vsModelPicker {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: none;
}

#unifiedPlusSlot #vsModelPicker .vs-model-picker-label {
    flex: none;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

#unifiedPlusSlot #vsModelPicker .vs-model-track {
    flex-direction: column;
    max-height: min(46vh, 340px);
    overflow-x: hidden;
    overflow-y: auto;
}

#unifiedPlusSlot #vsModelPicker .vs-model-card {
    min-width: 0;
    min-height: 34px;
    padding: 6px 10px;
}

body[data-unified-panel="on"] .grid-item video.result-video,
body[data-unified-panel="on"] .carousel-item video.result-video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 12px;
    background: var(--bg-secondary);
}

/* ==========================================
   Single production panel (UNIFIED_PANEL, U6) — PLAN-TEK-URETIM-PANELI §5.1
   The Agent as a switch in the bar: on, the mode icon rests, the + menu holds its
   model fields, Araçlar its art director and package, and over the bar sit the
   choices made for the job (chips) and the plan with its approval (one card). The
   chat is a drawer at the right of the folder. The workspace's own nodes are
   moved in, so they keep the classes the Agent styled them with.
   ========================================== */
.unified-agent-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.12);
    border-radius: 999px;
    background: transparent;
    color: rgba(var(--ds-ink-rgb), 0.7);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}

.unified-agent-btn[hidden] {
    display: none;
}

/* A button, not a switch (F3, the owner's note 7): the wand and the word; on a
   phone the wand alone. Off it is outlined, on it is filled with the accent. */
.unified-agent-btn > i {
    font-size: 12px;
}

@media (max-width: 480px) {
    .unified-agent-btn {
        width: 30px;
        padding: 0;
        justify-content: center;
    }

    .unified-agent-btn .unified-agent-label {
        display: none;
    }
}

.unified-agent-btn:hover {
    color: var(--ds-ink);
    border-color: rgba(var(--ds-ink-rgb), 0.24);
}

.unified-agent-btn.active {
    color: var(--accent-contrast, #fff);
    border-color: rgb(var(--accent-color-rgb));
    background: rgb(var(--accent-color-rgb));
}

.unified-agent-btn.active:hover {
    filter: brightness(1.08);
}

.unified-mode-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

/* The chat's toggle sits in the folder's header row, only with the Agent on. */
body:not([data-unified-agent="on"]) .unified-agent-chat-toggle {
    display: none;
}

.unified-agent-chat-toggle.active {
    color: rgb(var(--cs-ink));
    border-color: rgba(var(--accent-color-rgb), 0.55);
}

/* ── the choices made for the job, above the bar ── */
#unifiedAboveSlot #agentContextChips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 2px;
}

#unifiedAboveSlot #agentContextChips[hidden] {
    display: none;
}

#unifiedAboveSlot .agent-context-chip {
    border: 1px solid rgba(var(--ds-ink-rgb), 0.1);
    background: rgba(var(--ds-surface-rgb), 0.94);
    color: rgba(var(--ds-ink-rgb), 0.85);
}

#unifiedAboveSlot .agent-context-chip-open {
    color: inherit;
}

#unifiedAboveSlot .agent-context-chip-clear,
#unifiedAboveSlot .agent-context-chip-lock {
    color: rgba(255, 255, 255, 0.55);
}

/* ── the plan and its approval: one card ── */
.unified-agent-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    border-radius: 16px;
    background: rgba(var(--ds-surface-rgb), 0.96);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    color: rgba(var(--ds-ink-rgb), 0.88);
    max-height: min(68vh, 600px);
    overflow: hidden;
}

.unified-agent-card[hidden] {
    display: none;
}

.unified-agent-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.unified-agent-card-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(var(--accent-color-rgb), 0.16);
    color: rgb(var(--accent-color-rgb));
    font-size: 12px;
}

.unified-agent-card[data-state="planning"] .unified-agent-card-mark i {
    animation: unified-agent-pulse 1.2s ease-in-out infinite;
}

.unified-agent-card[data-state="failed"] .unified-agent-card-mark,
.unified-agent-card[data-state="needs_attention"] .unified-agent-card-mark {
    background: rgba(var(--ds-accent-rgb), 0.16);
    color: var(--ds-accent);
}

@keyframes unified-agent-pulse {
    0%, 100% { opacity: 0.35; }
    50% { opacity: 1; }
}

.unified-agent-card-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.unified-agent-card-text strong {
    overflow: hidden;
    color: var(--ds-ink);
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.unified-agent-card-text small {
    color: rgba(var(--ds-ink-rgb), 0.6);
    font-size: 11.5px;
    line-height: 1.35;
}

.unified-agent-card-detail-btn,
.unified-agent-card-close {
    flex-shrink: 0;
    height: 26px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(var(--ds-ink-rgb), 0.07);
    color: rgba(var(--ds-ink-rgb), 0.75);
    font-size: 11.5px;
    cursor: pointer;
}

.unified-agent-card-close {
    width: 26px;
    padding: 0;
}

.unified-agent-card-detail-btn[hidden],
.unified-agent-card-close[hidden] {
    display: none;
}

.unified-agent-card-detail-btn:hover,
.unified-agent-card-close:hover {
    background: rgba(var(--ds-ink-rgb), 0.12);
    color: var(--ds-ink);
}

.unified-agent-card-bar {
    height: 3px;
    border-radius: 2px;
    background: rgba(var(--ds-ink-rgb), 0.1);
    overflow: hidden;
}

.unified-agent-card-bar[hidden] {
    display: none;
}

.unified-agent-card-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: rgb(var(--accent-color-rgb));
    transition: width 0.6s ease;
}

/* The run's footer, moved in: the budget field, the approve and stop buttons, in a row. */
.unified-agent-card-actions .agent-run-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

.unified-agent-card-actions .agent-run-footer[hidden] {
    display: none;
}

.unified-agent-card-actions .agent-budget-approval {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 8px;
    min-width: 160px;
    margin: 0;
}

.unified-agent-card-actions .agent-budget-approval label {
    font-size: 11.5px;
    color: rgba(var(--ds-ink-rgb), 0.6);
    white-space: nowrap;
}

.unified-agent-card-actions .agent-budget-input {
    max-width: 130px;
}

.unified-agent-card-actions .agent-approve,
.unified-agent-card-actions .agent-cancel-run {
    width: auto;
    min-height: 0;
    height: 32px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 12.5px;
}

/* The run's body, moved in: steps, repair, delivery — unchanged, on the card's own ground. */
.unified-agent-card-detail {
    overflow-y: auto;
    max-height: min(46vh, 420px);
    padding-top: 10px;
    border-top: 1px solid rgba(var(--ds-ink-rgb), 0.06);
}

.unified-agent-card-detail[hidden] {
    display: none;
}

.unified-agent-card-detail .agent-run-body {
    height: auto;
    overflow: visible;
    padding: 0;
}

/* ── The run's strip, inside the bar (22 Oct, the owner: "a second area the size of a
   second input opened above the input") ──
   The Agent's run is one slim row on the bar's top edge, above the attached pictures
   and the text: a mark, the plan's title over what it makes and costs, "Ayrıntı", and
   the approval (budget, approve, give up) or the stop at its end. The row's hairline
   is the run's progress. "Ayrıntı" unfolds the run's body under the row, inside the
   same bar — the bar's foot is fixed, so it grows upward — capped and scrolling
   inside, never over the whole folder. The generic `.unified-agent-card` above stays
   the floating card the memory switch uses; these rules are the Agent's strip only. */
#unifiedAgentCard {
    position: relative;
    gap: 0;
    max-height: none;
    margin: 0 0 6px;
    padding: 0 0 6px;
    border: 0;
    border-bottom: 1px solid rgba(var(--ds-ink-rgb), 0.08);
    border-radius: 0;
    background: none;
    box-shadow: none;
    overflow: visible;
    animation: unified-agent-strip-in 0.22s ease both;
}

#unifiedAgentCard[hidden] {
    display: none;
}

@keyframes unified-agent-strip-in {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: none; }
}

#unifiedAgentCard .unified-agent-card-head {
    flex-wrap: wrap;
    gap: 6px 8px;
    min-height: 34px;
    padding: 0 2px;
}

/* The chat's icon sits in the bar's top-right corner, which is now the strip's row. */
body[data-creative-folder="open"] #unifiedAgentCard .unified-agent-card-head {
    padding-right: 30px;
}

#unifiedAgentCard .unified-agent-card-mark {
    position: relative;
    width: 24px;
    height: 24px;
    background: rgba(var(--ds-accent-rgb), 0.14);
    color: var(--ds-accent);
    font-size: 10.5px;
}

/* Running: a turning ring around the mark — the strip says "working" without a word. */
#unifiedAgentCard[data-state="approved"] .unified-agent-card-mark::after,
#unifiedAgentCard[data-state="queued"] .unified-agent-card-mark::after,
#unifiedAgentCard[data-state="running"] .unified-agent-card-mark::after,
#unifiedAgentCard[data-state="planning"] .unified-agent-card-mark::after {
    content: '';
    position: absolute;
    inset: -2px;
    border: 2px solid transparent;
    border-top-color: var(--ds-accent);
    border-radius: 50%;
    animation: unified-agent-spin 0.9s linear infinite;
}

@keyframes unified-agent-spin {
    to { transform: rotate(360deg); }
}

#unifiedAgentCard[data-state="failed"] .unified-agent-card-mark,
#unifiedAgentCard[data-state="needs_attention"] .unified-agent-card-mark {
    background: rgba(var(--ds-warn-rgb), 0.16);
    color: var(--ds-warn);
}

#unifiedAgentCard[data-state="awaiting_approval"] .unified-agent-card-mark,
#unifiedAgentCard[data-state="needs_clarification"] .unified-agent-card-mark {
    background: var(--ds-accent);
    color: var(--ds-accent-ink);
}

#unifiedAgentCard .unified-agent-card-text {
    flex: 1 1 120px;
    gap: 1px;
}

#unifiedAgentCard .unified-agent-card-text strong {
    font-size: 12.5px;
    line-height: 1.3;
}

#unifiedAgentCard .unified-agent-card-text small {
    overflow: hidden;
    color: rgba(var(--ds-ink-rgb), 0.62);
    font-size: 11px;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* A question or an error is read whole: two lines, not one. */
#unifiedAgentCard[data-state="needs_clarification"] .unified-agent-card-text small,
#unifiedAgentCard[data-state="needs_attention"] .unified-agent-card-text small,
#unifiedAgentCard[data-state="failed"] .unified-agent-card-text small {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
}

#unifiedAgentCard .unified-agent-card-detail-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 26px;
    padding: 0 10px;
    background: rgba(var(--ds-ink-rgb), 0.06);
    font-size: 11.5px;
    font-weight: 500;
}

#unifiedAgentCard .unified-agent-card-detail-btn[hidden] {
    display: none;
}

#unifiedAgentCard .unified-agent-card-detail-btn i {
    font-size: 9px;
    transition: transform 0.22s ease;
}

#unifiedAgentCard .unified-agent-card-detail-btn[aria-expanded="true"] i {
    transform: rotate(180deg);
}

#unifiedAgentCard .unified-agent-card-detail-btn:focus-visible,
#unifiedAgentCard .unified-agent-card-close:focus-visible,
#unifiedAgentCard .agent-approve:focus-visible,
#unifiedAgentCard .agent-cancel-run:focus-visible {
    outline: 2px solid var(--ds-accent);
    outline-offset: 2px;
}

/* The approval or the stop, at the row's end; on a narrow bar it takes a row of its own. */
#unifiedAgentCard .unified-agent-card-actions {
    display: flex;
    flex: 0 0 auto;
    margin-left: auto;
}

#unifiedAgentCard .unified-agent-card-actions:not(:has(.agent-run-footer:not([hidden]))) {
    display: none;
}

#unifiedAgentCard .agent-run-footer {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

#unifiedAgentCard .agent-budget-approval {
    flex: 0 0 auto;
    gap: 6px;
    min-width: 0;
}

#unifiedAgentCard .agent-budget-approval[hidden] {
    display: none;
}

#unifiedAgentCard .agent-budget-approval label {
    color: rgba(var(--ds-ink-rgb), 0.55);
    font-size: 11px;
    font-weight: 500;
}

#unifiedAgentCard .agent-budget-input {
    width: 84px;
    max-width: none;
    height: 28px;
    padding: 0 8px;
    border-color: rgba(var(--ds-ink-rgb), 0.12);
    background: rgba(var(--ds-ink-rgb), 0.04);
}

#unifiedAgentCard .agent-budget-input:focus-within {
    border-color: var(--ds-accent);
}

#unifiedAgentCard .agent-budget-input input {
    color: var(--ds-ink);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

#unifiedAgentCard .agent-approve,
#unifiedAgentCard .agent-cancel-run {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    min-height: 0;
    height: 30px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 12px;
    white-space: nowrap;
}

#unifiedAgentCard .agent-approve {
    border-color: var(--ds-accent);
    background: var(--ds-accent);
    color: var(--ds-accent-ink);
    font-weight: 600;
}

#unifiedAgentCard .agent-approve:hover:not(:disabled) {
    border-color: var(--ds-accent-hover);
    background: var(--ds-accent-hover);
    filter: none;
}

#unifiedAgentCard .agent-approve i {
    font-size: 9.5px;
}

#unifiedAgentCard .agent-approve[hidden],
#unifiedAgentCard .agent-cancel-run[hidden] {
    display: none;
}

/* Giving up or stopping is the quiet one; it asks before it acts (cancelRun). */
#unifiedAgentCard .agent-cancel-run {
    padding: 0 10px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.12);
    background: none;
    color: rgba(var(--ds-ink-rgb), 0.7);
    font-weight: 500;
}

#unifiedAgentCard .agent-cancel-run:hover {
    border-color: rgba(var(--ds-danger-rgb), 0.45);
    background: rgba(var(--ds-danger-rgb), 0.08);
    color: var(--ds-danger);
}

#unifiedAgentCard .agent-cancel-run i {
    font-size: 9px;
}

/* Docked under the chat (380 px) the field's name goes (the field keeps it as its
   aria-label and the strip's title says what is approved) and the stop is its icon, so
   the approval fits one row and the stop stays on the title's. */
#creativeModeInput.is-docked #unifiedAgentCard .agent-budget-approval label {
    display: none;
}

/* ...and the field says what it is inside itself. */
#creativeModeInput.is-docked #unifiedAgentCard .agent-budget-input {
    width: 108px;
}

#creativeModeInput.is-docked #unifiedAgentCard .agent-budget-input::before {
    content: 'Tavan';
    flex: 0 0 auto;
    color: rgba(var(--ds-ink-rgb), 0.5);
    font-size: 10.5px;
}

/* Docked under the chat (380 px) the stop is its icon, so it stays on the title's row. */
#creativeModeInput.is-docked #unifiedAgentCard .agent-cancel-run:has(i) {
    width: 30px;
    padding: 0;
    justify-content: center;
}

#creativeModeInput.is-docked #unifiedAgentCard .agent-cancel-run i + span {
    display: none;
}

/* The row's hairline is the run's progress. */
#unifiedAgentCard .unified-agent-card-bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    border-radius: 2px;
    background: transparent;
}

#unifiedAgentCard .unified-agent-card-bar[hidden] {
    display: none;
}

#unifiedAgentCard .unified-agent-card-bar span {
    background: var(--ds-accent);
}

/* The detail unfolds by its grid row (0fr → 1fr: a height animation without a fixed
   height); it is capped and scrolls inside. Folded, it is inert (set by the script). */
#unifiedAgentCard .unified-agent-card-fold {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}

#unifiedAgentCard .unified-agent-card-fold[data-open="true"] {
    grid-template-rows: 1fr;
}

#unifiedAgentCard .unified-agent-card-detail {
    min-height: 0;
    /* --uac-detail-room: the room under the page's header (_sizeUnifiedAgentDetail). */
    max-height: min(46vh, 440px, var(--uac-detail-room, 46vh));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-top: 0;
    border-top: 0;
    scrollbar-width: thin;
}

#unifiedAgentCard .unified-agent-card-fold[data-open="false"] .unified-agent-card-detail {
    overflow: hidden;
}

#unifiedAgentCard .unified-agent-card-detail .agent-run-body {
    padding: 10px 2px 4px;
}

@media (prefers-reduced-motion: reduce) {
    #unifiedAgentCard,
    #unifiedAgentCard .unified-agent-card-fold,
    #unifiedAgentCard .unified-agent-card-detail-btn i {
        animation: none;
        transition: none;
    }

    #unifiedAgentCard .unified-agent-card-mark::after {
        animation-duration: 2.4s;
    }
}

/* The Agent's panels in the bar follow the palette like the bar itself (18 Oct 2026); they were
   pinned to the old dark theme's values when the bar was dark in both themes (§0.36). */

/* The choices above the bar (Seedance 2.0 ×) lie where an open + menu or Araçlar opens:
   the panel covered them to the middle of a chip. They wait out of sight while a panel
   is open — what they say is in the panel — and come back when it closes. */
#creativeModeInput:has(#creativePlusPanel.visible, #unifiedToolsPanel.visible) #unifiedAboveSlot #agentContextChips {
    visibility: hidden;
}

/* ── the model, in the + menu ── */
#unifiedPlusSlot #agentModelBody {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
}

#unifiedPlusSlot #agentModelBody .agent-model-divider,
#unifiedPlusSlot #agentModelMediaFoot .agent-model-note {
    display: none;
}

#unifiedPlusSlot #agentModelMediaFoot {
    padding: 0;
    border: 0;
    background: none;
}

/* A field is a row of Creative's own kind: its name on the left, its choice on the right. */
#unifiedPlusSlot .agent-model-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
}

#unifiedPlusSlot .agent-model-group h4 {
    margin: 2px 0 0;
    color: rgba(var(--ds-ink-rgb), 0.55);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#unifiedPlusSlot .agent-field-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#unifiedPlusSlot .agent-field {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
}

#unifiedPlusSlot .agent-field[hidden] {
    display: none;
}

#unifiedPlusSlot .agent-field > span {
    flex: none;
    color: rgba(var(--ds-ink-rgb), 0.7);
    font-size: 12px;
}

#unifiedPlusSlot .agent-field > span em {
    display: none;
}

#unifiedPlusSlot .agent-field select {
    flex: none;
    width: 150px;
    min-width: 0;
}

#unifiedPlusSlot .agent-switch-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    padding: 0;
}

/* ── art director and package, in Araçlar, each under its name ── */
.unified-tool-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 4px 0 10px;
}

.unified-tool-section + .unified-tool-section {
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.unified-tool-section > h4 {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#creativeModeInput[data-unified-mode="agent"] .unified-tools-panel {
    width: 440px;
}

#unifiedToolsPanel .unified-tool-section .agent-sheet {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0;
}

#unifiedToolsPanel .unified-tool-section .agent-sheet-side,
#unifiedToolsPanel .unified-tool-section .agent-sheet-main {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
}

/* ── the run in the folder's canvas: Creative's own placeholder, named ──
   (it carries `completed` to be left alone by the generations' code, and is drawn
   here as a placeholder still at work) */
.creative-gen-placeholder.unified-agent-job.completed {
    animation: silkBaseFlow 6s ease-in-out infinite;
}

.creative-gen-placeholder.unified-agent-job.completed::before {
    animation: silkLightSweep 3s ease-in-out infinite;
    opacity: 1;
}

.creative-gen-placeholder.unified-agent-job.completed::after {
    animation: silkGlowDrift 5s ease-in-out infinite alternate;
    opacity: 1;
}

.creative-gen-placeholder.unified-agent-job.completed .gen-fog {
    backdrop-filter: blur(calc(30px * var(--fog-amount, 1)));
    -webkit-backdrop-filter: blur(calc(30px * var(--fog-amount, 1)));
    background: rgba(25, 25, 30, calc(0.85 * var(--fog-amount, 1)));
}

.creative-gen-placeholder.unified-agent-job.completed .gen-percent {
    color: rgba(255, 255, 255, 0.7);
}

.creative-gen-placeholder.unified-agent-job .gen-label {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 4;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── the chat: a drawer at the right of the folder ── */
:root {
    /* The drawer's ink and ground (1 Oct): it was dark on every theme while the
       chat inside it follows the theme, so on the light panel — the default —
       its title and messages read dark on dark. */
    --uac-ink: 28, 28, 30;
    --uac-ground: rgba(255, 255, 255, 0.98);
    --uac-pop-ground: rgba(255, 255, 255, 0.99);
    --uac-shadow: 0 18px 48px rgba(0, 0, 0, 0.12);
    --uac-pop-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
}

.dark-mode {
    --uac-ink: 255, 255, 255;
    --uac-ground: rgba(20, 20, 22, 0.97);
    --uac-pop-ground: rgba(24, 24, 27, 0.99);
    --uac-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
    --uac-pop-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
}

.unified-agent-chat {
    position: fixed;
    top: 156px;
    right: 12px;
    bottom: 12px;
    z-index: 90;
    display: flex;
    flex-direction: column;
    width: 380px;
    max-width: calc(100vw - 24px);
    border: 1px solid rgba(var(--uac-ink), 0.08);
    border-radius: 18px;
    background: var(--uac-ground);
    box-shadow: var(--uac-shadow);
    color: var(--text-primary);
    font-family: "Space Grotesk", system-ui, sans-serif;
    overflow: hidden;
}

.unified-agent-chat[hidden] {
    display: none;
}

.unified-agent-chat-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 10px 10px 16px;
    border-bottom: 1px solid rgba(var(--uac-ink), 0.06);
}

.unified-agent-chat-title {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.unified-agent-chat-title #agentConversationTitle {
    margin: 0;
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.unified-agent-chat-tools {
    display: flex;
    gap: 2px;
}

.unified-agent-chat-tools button {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(var(--uac-ink), 0.6);
    cursor: pointer;
}

.unified-agent-chat-tools button:hover {
    background: rgba(var(--uac-ink), 0.08);
    color: rgb(var(--uac-ink));
}

.unified-agent-chat-body {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
}

.unified-agent-chat-body > #agentChat {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
}

.unified-agent-chat-body > #agentHistoryPopover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    max-height: 70%;
    overflow-y: auto;
    border-radius: 0 0 14px 14px;
    background: var(--uac-pop-ground);
    box-shadow: var(--uac-pop-shadow);
}

.unified-agent-chat-body > #agentHistoryPopover[hidden] {
    display: none;
}

/* The folder's sessions only: the drawer is the folder's chat. */
.unified-agent-chat-body .agent-history-tabs {
    display: none;
}

/* The chat's expand icon (F3, the owner's note 7): on the bar's top-right corner,
   only with the Agent on and a folder open. */
.unified-agent-chat-expand {
    position: absolute;
    top: -9px;
    right: 22px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.16);
    border-radius: 999px;
    background: rgba(var(--ds-surface-rgb), 0.96);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    color: rgba(var(--ds-ink-rgb), 0.78);
    font-size: 9px;
    cursor: pointer;
}

.unified-agent-chat-expand:hover {
    color: var(--ds-ink);
    border-color: rgba(var(--accent-color-rgb), 0.6);
}

.unified-agent-chat-expand[aria-expanded="true"] {
    color: rgb(var(--accent-color-rgb));
}

body:not([data-unified-agent="on"]) .unified-agent-chat-expand,
body:not([data-creative-folder="open"]) .unified-agent-chat-expand {
    display: none;
}

@media (max-width: 480px) {
    .unified-agent-chat-expand {
        top: -11px;
        width: 24px;
        height: 24px;
        font-size: 10px;
    }
}

/* With the chat open as a column at the right the bar docks under it, at its
   width, in the compact layout a phone gives it — by the class the chat sets
   (`.is-docked`), not a media query; the canvas leaves the column free. */
body.unified-agent-chat-docked .results-panel {
    padding-right: 396px;
}

/* Its right edge, width and bottom are put on the chat's column by
   _dockUnifiedAgentBar (the two are laid out in different containers); it does
   not slide there, so what is measured is where it is. */
body[data-unified-panel="on"] #creativeModeInput.is-docked {
    left: auto;
    right: 12px;
    bottom: 12px;
    transform: none;
    width: 380px;
    min-width: 0;
    max-width: calc(100vw - 24px);
    transition: none;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-action-bar-v2 {
    padding: 4px 6px !important;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-input-controls-row {
    gap: 2px;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-bar-toggle-btn,
body[data-unified-panel="on"] #creativeModeInput.is-docked .casting-brief-toggle,
body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-batch-toggle-btn {
    width: 30px;
    height: 30px;
    font-size: 13px;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .edit-send-btn-circle {
    width: 36px;
    height: 36px;
    min-width: 36px;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .edit-input-wrapper-inner {
    min-width: 64px;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-agent-btn {
    width: 30px;
    padding: 0;
    justify-content: center;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-agent-label {
    display: none;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-tools,
#creativeModeInput.is-docked[data-unified-mode]:not([data-unified-mode="creative"]) .creative-bar-plus-toggle {
    position: static;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-tools-panel,
#creativeModeInput.is-docked[data-unified-mode]:not([data-unified-mode="creative"]) #creativePlusPanel {
    left: 0;
    right: 0;
    width: auto;
    min-width: 0;
    max-width: none;
}

/* ── The composer (F3.6, the owner's note of 3 Oct) ──────────────────────────
   Two rows, as in the owner's example: what is written on top, full width; the
   controls under it — mode, +, picture and Agent at the left, the tools and send
   at the right (the DOM order is kept; `order` places them). The attached pictures
   stay on show above the text: they opened on hover and spilled over what stands
   above the bar. The chat's icon sits inside the top-right corner. */
body[data-unified-panel="on"] #creativeModeInput .creative-action-bar-v2 {
    padding: 8px 10px 8px 12px !important;
    border-radius: 22px !important;
}

body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row {
    flex-wrap: wrap;
    height: auto;
    row-gap: 2px;
    column-gap: 6px;
}

body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > * {
    order: 6;
}

body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > .edit-input-wrapper-inner {
    order: 0;
    flex: 1 0 100%;
    min-width: 0;
    padding: 0 30px 0 4px;
}

body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row .edit-bar-input {
    height: 38px;
}

body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > #unifiedModeBtn { order: 1; }
body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > .creative-bar-plus-toggle { order: 2; }
body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > #unifiedReferenceBtn,
body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > #unifiedBarSlot { order: 3; }
body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > #unifiedAgentBtn { order: 4; }

/* The gap between the two groups. */
body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row::after {
    content: '';
    order: 5;
    flex: 1 1 0;
}

body[data-unified-panel="on"] #creativeModeInput .creative-images-row.has-images {
    max-height: 46px;
    opacity: 1;
    padding: 2px 30px 6px 2px;
    margin-bottom: 4px;
    border-bottom: 1px solid rgba(var(--ds-ink-rgb), 0.06);
}

/* Many pictures scroll inside their row: the bar keeps its width and the chat's
   icon its corner. */
body[data-unified-panel="on"] #creativeModeInput .creative-images-row .creative-file-inline-items {
    flex: 0 1 auto;
    min-width: 0;
    max-width: none;
    overflow-x: auto;
    scrollbar-width: none;
    /* room for each picture's status mark, which sits on its lower-left corner */
    padding: 2px 2px 3px 5px;
}

body[data-unified-panel="on"] #creativeModeInput .creative-images-row .creative-file-inline-items::-webkit-scrollbar {
    display: none;
}

body[data-unified-panel="on"] #creativeModeInput .creative-images-row .creative-file-inline-actions {
    flex-shrink: 0;
}

body[data-unified-panel="on"] #creativeModeInput .unified-agent-chat-expand {
    top: 15px;
    right: 14px;
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    color: rgba(var(--ds-ink-rgb), 0.5);
    font-size: 11px;
}

body[data-unified-panel="on"] #creativeModeInput .unified-agent-chat-expand:hover {
    background: rgba(var(--ds-ink-rgb), 0.08);
    color: var(--ds-ink);
}

body[data-unified-panel="on"] #creativeModeInput .unified-agent-chat-expand[aria-expanded="true"] {
    color: rgb(var(--accent-color-rgb));
}

/* The taller bar leaves the last row of the folder clear of it. */
body[data-unified-panel="on"] .grid-view {
    padding-bottom: 150px;
}

/* Docked, the bar is the foot of the chat column (the owner: "sohbetli inputu
   birleştir, bütün olsun"): one panel — the chat, what stands above the bar, the
   bar — on the chat's ground and in its ink, in both themes. */
body.unified-agent-chat-docked .unified-agent-chat {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-above-slot {
    bottom: 100%;
    padding: 6px 10px;
    border-left: 1px solid rgba(var(--uac-ink), 0.08);
    border-right: 1px solid rgba(var(--uac-ink), 0.08);
    background: var(--uac-ground);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-action-bar-v2 {
    border: 1px solid rgba(var(--uac-ink), 0.08) !important;
    border-top-color: rgba(var(--uac-ink), 0.06) !important;
    border-radius: 0 0 18px 18px !important;
    background: var(--uac-ground) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-bar-toggle-btn,
body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-batch-toggle-btn,
body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-agent-chat-expand {
    color: rgba(var(--uac-ink), 0.5);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-bar-toggle-btn:hover,
body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-batch-toggle-btn:hover,
body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-agent-chat-expand:hover {
    background: rgba(var(--uac-ink), 0.08);
    color: rgba(var(--uac-ink), 0.9);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-bar-toggle-btn.active,
body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-agent-chat-expand[aria-expanded="true"] {
    color: rgb(var(--accent-color-rgb));
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .edit-bar-input {
    color: rgba(var(--uac-ink), 0.92);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .edit-bar-input::placeholder {
    color: rgba(var(--uac-ink), 0.4);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-agent-btn:not(.active) {
    border-color: rgba(var(--uac-ink), 0.14);
    color: rgba(var(--uac-ink), 0.7);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-images-row.has-images {
    border-bottom-color: rgba(var(--uac-ink), 0.06);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-file-count {
    color: rgba(var(--uac-ink), 0.5);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-file-inline-actions {
    border-left-color: rgba(var(--uac-ink), 0.08);
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .creative-file-select-all:not(.active) {
    border-color: rgba(var(--uac-ink), 0.12);
    color: rgba(var(--uac-ink), 0.5);
}

/* Running or queued, the run's budget is settled: the card shows what it has spent, not a field. */
.unified-agent-card[data-state="approved"] .agent-budget-approval,
.unified-agent-card[data-state="queued"] .agent-budget-approval,
.unified-agent-card[data-state="running"] .agent-budget-approval {
    display: none;
}

/* ── "Mevcut içeriklerden üret" (F5.4) ── the switch beside the Agent's button, and
   its card over the bar (the Agent card's look: dark in both themes). */
body[data-unified-panel="on"] .unified-memory-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(var(--ds-ink-rgb), 0.12);
    border-radius: 999px;
    background: transparent;
    color: rgba(var(--ds-ink-rgb), 0.7);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}

body[data-unified-panel="on"] .unified-memory-toggle[hidden] {
    display: none;
}

body[data-unified-panel="on"] .unified-memory-toggle:hover {
    border-color: rgba(var(--ds-ink-rgb), 0.24);
    color: var(--ds-ink);
}

body[data-unified-panel="on"] .unified-memory-toggle.active {
    border-color: rgba(var(--accent-color-rgb), 0.7);
    background: rgba(var(--accent-color-rgb), 0.12);
    color: rgb(var(--accent-color-rgb));
}

body[data-unified-panel="on"] .unified-memory-toggle[aria-disabled="true"] {
    opacity: 0.45;
    cursor: default;
}

body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > #unifiedMemoryToggle { order: 4; }

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-memory-toggle {
    width: 30px;
    padding: 0;
    justify-content: center;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-memory-label {
    display: none;
}

body[data-unified-panel="on"] #creativeModeInput.is-docked .unified-memory-toggle:not(.active) {
    border-color: rgba(var(--uac-ink), 0.14);
    color: rgba(var(--uac-ink), 0.7);
}

@media (max-width: 480px) {
    body[data-unified-panel="on"] .unified-memory-toggle {
        width: 30px;
        padding: 0;
        justify-content: center;
    }

    body[data-unified-panel="on"] .unified-memory-label {
        display: none;
    }
}

body[data-unified-panel="on"] .unified-memory-card .unified-memory-close {
    margin-left: auto;
    color: rgba(255, 255, 255, 0.5);
}

body[data-unified-panel="on"] .unified-memory-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body[data-unified-panel="on"] .unified-memory-list li {
    padding: 2px 0 2px 14px;
    position: relative;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.82);
}

body[data-unified-panel="on"] .unified-memory-list li::before {
    content: '·';
    position: absolute;
    left: 4px;
}

body[data-unified-panel="on"] .unified-memory-brief li {
    display: flex;
    gap: 8px;
    padding: 2px 0;
    font-size: 12.5px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.86);
}

body[data-unified-panel="on"] .unified-memory-brief li > span {
    flex: 0 0 72px;
    color: rgba(255, 255, 255, 0.45);
}

body[data-unified-panel="on"] .unified-memory-picks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body[data-unified-panel="on"] .unified-memory-pick {
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.7);
}

body[data-unified-panel="on"] .unified-memory-pick img {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
}

body[data-unified-panel="on"] .unified-memory-note {
    margin: 0;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
}

body[data-unified-panel="on"] .unified-memory-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body[data-unified-panel="on"] .unified-memory-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    cursor: pointer;
}

body[data-unified-panel="on"] .unified-memory-action:hover {
    border-color: rgba(var(--accent-color-rgb), 0.6);
    color: var(--ds-on-media);
}

@media (max-width: 768px) {
    .unified-agent-chat {
        top: 132px;
        right: 8px;
        left: 8px;
        bottom: 96px;
        width: auto;
        max-width: none;
    }
}

/* ── Ayarlar → Bütçe (P2, TASARIM-NAKIT-HARCAMA §5) ─────────────────────────
   The dollar ledger on one screen: period, the big number, 30 days, the
   breakdown, the jobs. The settings panel's own look, nothing boxed. */
.budget-periods,
.budget-breakdown-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 16px;
}

.budget-period {
    height: 30px;
    padding: 0 14px;
    border: 1px solid var(--border-light);
    border-radius: 999px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.82rem;
    cursor: pointer;
}

.budget-period.active {
    border-color: var(--text-primary);
    color: var(--text-primary);
    font-weight: 600;
}

.budget-headline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 14px;
    margin: 0 0 4px;
}

.budget-amount {
    color: var(--text-primary);
    font-size: 2.2rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
}

.budget-secondary,
.budget-note {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.budget-note {
    min-height: 1em;
    margin: 0 0 14px;
}

.budget-chart {
    margin: 0 0 22px;
}

.budget-chart svg {
    display: block;
    width: 100%;
    height: 120px;
}

.budget-chart-axis {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 0.72rem;
}

.budget-groups {
    display: grid;
    gap: 4px;
    margin: 0 0 22px;
}

.budget-group {
    display: grid;
    grid-template-columns: minmax(90px, 1.1fr) minmax(60px, 2fr) auto;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--text-primary);
    font-size: 0.85rem;
    text-align: left;
    cursor: pointer;
}

.budget-group:hover,
.budget-group.active {
    background: var(--bg-secondary);
}

.budget-group-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.budget-group-bar {
    height: 6px;
    border-radius: 3px;
    background: var(--bg-tertiary);
    overflow: hidden;
}

.budget-group-bar i {
    display: block;
    height: 100%;
    border-radius: 3px;
}

.budget-group-value {
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.budget-table-wrap {
    max-height: 340px;
    margin: 0 0 18px;
    overflow: auto;
}

.budget-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.budget-table th {
    position: sticky;
    top: 0;
    padding: 6px 8px;
    background: var(--bg-elevated);
    color: var(--text-muted);
    font-weight: 500;
    text-align: left;
}

.budget-table td {
    padding: 7px 8px;
    border-top: 1px solid var(--border-light);
    color: var(--text-primary);
    vertical-align: top;
}

.budget-table .num {
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.budget-table td small {
    display: block;
    color: var(--text-muted);
}

.budget-table a {
    color: var(--accent-color);
}

.budget-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 6px;
    border-radius: 50%;
    vertical-align: middle;
}

.budget-accuracy {
    color: var(--text-muted);
    font-size: 0.74rem;
}

.budget-accuracy-exact {
    color: var(--text-secondary);
}

.budget-empty {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* The wallet and the caps (P3): one line each, their forms open in place. */
.budget-strip {
    display: grid;
    gap: 10px;
    margin: 0 0 20px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--border-light);
}

.budget-strip-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
}

.budget-strip-label {
    min-width: 54px;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.budget-strip-value {
    color: var(--text-primary);
    font-size: 1.15rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.budget-strip-sub {
    color: var(--text-muted);
    font-size: 0.8rem;
}

.budget-strip-line .budget-period {
    margin-left: auto;
}

.budget-cap {
    color: var(--text-secondary);
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.budget-cap.warn {
    color: var(--accent-color);
}

.budget-cap.over {
    color: var(--ds-danger);
}

.budget-form {
    display: grid;
    gap: 8px;
    padding: 4px 0 4px 66px;
}

.budget-form[hidden],
.budget-strip[hidden] {
    display: none;
}

.budget-form-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.budget-form-row > label:first-child {
    min-width: 64px;
}

.budget-form-row input[type="number"],
.budget-form-row input[type="text"] {
    height: 30px;
    padding: 0 10px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    background: transparent;
    color: var(--text-primary);
    font-size: 0.85rem;
}

.budget-form-row input[type="number"] {
    width: 96px;
}

.budget-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.budget-moves {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.78rem;
    color: var(--text-muted);
}

.budget-moves li {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 10px;
}

.budget-moves .num {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
    .budget-amount {
        font-size: 1.8rem;
    }

    .budget-form {
        padding-left: 0;
    }

    .budget-table th:nth-child(3),
    .budget-table td:nth-child(3),
    .budget-table th:nth-child(4),
    .budget-table td:nth-child(4) {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   3 Oct polish (owner): a calmer top, Flow-like folders, no frames
   ─ the top is two rows at most: the app header (with the result tools, the
     theme switch and the profile) and the page's own row (the title, then the
     folder's way back, sub-folders, trash and favourites — or the brand bar);
   ─ folders are pictures with their name under them, four to a row, 4:3, no
     card around them; the words light up under the pointer;
   ─ pictures drop their frames and shadows; their corners keep the roundness
     they had (owner, 4 Oct: the smaller radius is undone).
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
    --ds-media-radius: 12px;
}

/* ── the app header ─────────────────────────────────────────────────────── */

.header .version-badge {
    display: none;
}

.header .header-controls {
    gap: 10px;
}

/* The processing button takes no room until there is processing to show. */
.header .processing-modal-toggle:not(.active) {
    display: none;
}

/* Light and dark, both shown, the one in use lit. */
.theme-toggle.ds-theme-switch {
    width: auto;
    height: 32px;
    padding: 3px;
    gap: 2px;
    border-radius: 999px;
    background: rgba(var(--cs-ink), 0.06);
}

.theme-toggle.ds-theme-switch:hover {
    background: rgba(var(--cs-ink), 0.1);
}

.ds-theme-switch > span {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 12px;
    color: rgba(var(--cs-ink), 0.42);
    transition: background 0.18s ease, color 0.18s ease;
}

body:not(.dark-mode) .ds-theme-switch .ds-theme-light,
body.dark-mode .ds-theme-switch .ds-theme-dark {
    background: var(--bg-primary);
    color: rgb(var(--cs-ink));
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

/* The result tools, in the header on a wide window (moved there by
   _placeGenerationTools), in the page row on a phone. Only in an open folder of
   the production page. */
.ds-tools {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

body:has(#generation-tab:not(.active)) .ds-tools {
    display: none !important;
}

.ds-tools .btn-icon,
.ds-tools .btn-icon.upscale-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 50%;
    box-shadow: none;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.ds-tools .btn-icon:hover,
.ds-tools .btn-icon.upscale-btn:hover {
    background: rgba(var(--cs-ink), 0.08);
    color: rgb(var(--cs-ink));
    transform: none;
}

.ds-tools .btn-icon i {
    font-size: 0.82rem;
}

.ds-tools .btn-icon .badge-scale {
    font-size: 0.74rem;
    font-weight: 700;
}

.ds-tools .divider-vertical {
    width: 1px;
    height: 16px;
    margin: 0 4px;
    background: rgba(var(--cs-ink), 0.14);
}

.header .ds-tools {
    margin-right: 2px;
}

/* ── the page's row ─────────────────────────────────────────────────────── */

#generation-tab > .content-header.ds-page-row {
    min-height: 44px;
    margin: 0 0 10px;
    padding: 0;
    gap: 18px;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

#generation-tab > .ds-page-row h1 {
    font-size: 1.12rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    flex: 0 0 auto;
}

#generation-tab > .ds-page-row .creative-workspace-nav {
    position: static;
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    z-index: auto;
}

#generation-tab > .ds-page-row .creative-workspace-actions {
    margin-left: auto !important;
}

#generation-tab > .ds-page-row .unified-brand-bar {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    margin: 0;
}

/* The chosen chip's count in the page's ink: a fixed near-white vanished on the light panel. */
.unified-brand-chip.active .unified-brand-count {
    color: rgb(var(--ubp-ink));
}

/* The brand bar is the folder list's, the way back the open folder's. */
body[data-creative-folder="open"] .ds-page-row .unified-brand-bar,
#generation-tab:has(#creativeProjectsView.hidden) .ds-page-row .unified-brand-bar {
    display: none;
}

/* The folder list starts right under the row. */
#generation-tab > .creative-projects-view {
    top: 54px;
}

body[data-unified-panel="on"] #generation-tab > .creative-projects-view,
#generation-tab > .creative-projects-view.has-projects {
    padding-top: 6px;
}

/* In a folder the pictures start right under the row too. */
body[data-creative-folder="open"] #generation-tab #gridView {
    padding-top: 0;
}

/* ── the folders ────────────────────────────────────────────────────────── */

.creative-projects-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px 20px;
    max-width: 1320px;
}

.creative-project-card,
.creative-project-card:hover {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    transform: none;
    overflow: visible;
}

.creative-project-card-thumb {
    position: relative;
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: var(--ds-media-radius);
    background: rgba(var(--cs-ink), 0.05);
    overflow: hidden;
}

.creative-project-card-thumb img,
.creative-project-card-thumb video {
    transition: transform 0.45s cubic-bezier(0.2, 0, 0, 1);
}

.creative-project-card:hover .creative-project-card-thumb img,
.creative-project-card:hover .creative-project-card-thumb video {
    transform: scale(1.025);
}

.creative-project-card-thumb .thumb-placeholder {
    color: rgba(var(--cs-ink), 0.14);
}

/* The brand or universe a folder is filed under, on "Tümü". */
.creative-project-card-tag {
    position: absolute;
    top: 8px;
    right: 8px;
    max-width: calc(100% - 16px);
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(12, 12, 14, 0.58);
    color: var(--ds-on-media);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: none;
}

.creative-project-card-info {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    padding: 8px 10px;
    border-radius: var(--ds-media-radius);
    transition: background 0.18s ease;
}

.creative-project-card:hover .creative-project-card-info,
.creative-project-card:focus-within .creative-project-card-info {
    background: rgba(var(--cs-ink), 0.06);
}

.creative-project-card-text {
    flex: 1 1 auto;
    min-width: 0;
}

.creative-project-card-name {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 3px;
}

.creative-project-card-tools {
    display: flex;
    gap: 2px;
    flex: 0 0 auto;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.creative-project-card:hover .creative-project-card-tools,
.creative-project-card:focus-within .creative-project-card-tools {
    opacity: 1;
}

.creative-project-card-tools button {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: rgba(var(--cs-ink), 0.6);
    font-size: 11px;
    cursor: pointer;
}

.creative-project-card-tools button:hover {
    background: rgba(var(--cs-ink), 0.1);
    color: rgb(var(--cs-ink));
}

.creative-project-card-tools button[data-card-action="delete"]:hover {
    color: var(--cs-danger-ink);
}

.creative-project-card-tools [data-card-action="menu"] {
    display: none;
}

.creative-project-card-meta {
    white-space: nowrap;
    overflow: hidden;
}

/* A touch screen has no hover: one "⋯" in view opens the folder's whole menu. */
@media (hover: none) {
    .creative-project-card-tools {
        opacity: 1;
    }

    .creative-project-card-tools [data-card-action="rename"],
    .creative-project-card-tools [data-card-action="delete"] {
        display: none;
    }

    .creative-project-card-tools [data-card-action="menu"] {
        display: inline-flex;
    }
}

/* ── pictures: no frame, a small radius ─────────────────────────────────── */

#gridContainer .grid-item,
.gallery-item {
    border: none;
    box-shadow: none;
}

/* ── narrower windows ───────────────────────────────────────────────────── */

@media (max-width: 1100px) {
    .creative-projects-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    #generation-tab > .content-header.ds-page-row {
        gap: 10px;
        min-height: 40px;
        margin-bottom: 8px;
    }

    /* In a folder the row is the way back, its counts and the tools; the title
       is on the folder list. */
    body[data-creative-folder="open"] #generation-tab > .ds-page-row h1,
    #generation-tab > .ds-page-row .creative-workspace-back span {
        display: none;
    }

    #generation-tab > .ds-page-row h1 {
        font-size: 1rem;
    }

    /* On a phone the header holds the tools in an open folder, a little smaller, in
       place of the logo; the page's row keeps the way back, the sub-folders (they
       scroll) and the two counts. */
    body[data-creative-folder="open"]:has(#generation-tab.active) .header .logo {
        display: none;
    }

    .header .header-controls {
        gap: 6px;
    }

    .header .ds-tools {
        gap: 0;
        margin-right: 0;
    }

    .header .ds-tools .divider-vertical {
        display: none;
    }

    .header .ds-tools .btn-icon,
    .header .ds-tools .btn-icon.upscale-btn {
        width: 28px;
        height: 28px;
        flex: 0 0 auto;
    }

    .header .ds-tools .grid-selector {
        gap: 1px;
        padding: 2px;
        flex: 0 0 auto;
    }

    .header .ds-tools .grid-option {
        width: 24px;
        height: 24px;
    }

    .theme-toggle.ds-theme-switch {
        height: 30px;
        padding: 2px;
    }

    .ds-theme-switch > span {
        width: 24px;
        height: 24px;
        font-size: 11px;
    }

    #generation-tab > .ds-page-row .creative-workspace-nav {
        gap: 6px;
    }

    #generation-tab > .ds-page-row .creative-workspace-collections {
        flex: 1 1 auto;
        min-width: 0;
        max-width: none;
    }

    #generation-tab > .ds-page-row .creative-workspace-actions {
        flex-shrink: 0;
        gap: 4px;
    }

    #generation-tab > .ds-page-row .creative-workspace-trash,
    #generation-tab > .ds-page-row .creative-favorites-hub-btn {
        height: 28px;
        padding: 0 8px;
        gap: 4px;
    }

    #generation-tab > .creative-projects-view {
        top: 48px;
    }

    .creative-projects-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 12px;
    }

    .creative-project-card-thumb {
        height: auto;
    }

    .creative-project-card-info {
        padding: 6px 6px;
    }

    .creative-project-card-name {
        font-size: 13px;
    }
}

/* ── 4 Oct (owner): the new-folder button, the brand in the new-folder dialog,
   the brand bar over the folders' middle, a name edited where it stands ── */

/* "Yeni proje": larger, frosted — the folders show through it, and it reads on any
   picture behind it (Google Flow's own). */
.creative-add-project-fixed .creative-add-project-btn {
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-width: 176px;
    min-height: 104px;
    padding: 18px 26px;
    border-radius: 22px;
    background: rgba(var(--ds-surface-rgb), 0.94);
    border: 1px solid rgba(var(--ds-ink-rgb), 0.16);
    color: rgba(var(--ds-ink-rgb), 0.94);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.1px;
    backdrop-filter: blur(22px) saturate(1.4);
    -webkit-backdrop-filter: blur(22px) saturate(1.4);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.38);
}

.creative-add-project-fixed .creative-add-project-btn i {
    font-size: 20px;
    opacity: 0.9;
}

.creative-add-project-fixed .creative-add-project-btn:hover {
    background: rgba(var(--ds-surface-rgb), 0.94);
    border-color: rgba(var(--ds-ink-rgb), 0.24);
    color: var(--ds-ink);
    transform: translateY(-2px);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42);
}

body:not(.dark-mode) .creative-add-project-fixed .creative-add-project-btn {
    background: rgba(var(--ds-surface-rgb), 0.94);
    border-color: rgba(28, 28, 30, 0.1);
    color: rgba(28, 28, 30, 0.9);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.16);
}

body:not(.dark-mode) .creative-add-project-fixed .creative-add-project-btn:hover {
    background: rgba(var(--ds-surface-rgb), 0.94);
    color: var(--ds-ink);
}

/* The brand or universe, picked in the new-folder dialog. */
.creative-modal-options.is-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: -4px 0 20px;
}

.creative-modal-chips-label {
    flex: 0 0 100%;
    margin-bottom: 2px;
    font-size: 12px;
    color: rgba(var(--cs-ink), 0.6);
}

.creative-modal-chip {
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(var(--cs-ink), 0.12);
    background: rgba(var(--cs-ink), 0.04);
    color: rgba(var(--cs-ink), 0.72);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.creative-modal-chip:hover {
    background: rgba(var(--cs-ink), 0.08);
    color: rgb(var(--cs-ink));
}

.creative-modal-chip.active {
    border-color: rgba(var(--accent-color-rgb), 0.55);
    background: rgba(var(--accent-color-rgb), 0.16);
    color: rgb(var(--cs-ink));
}

/* The brand bar stands over the folders' middle, clear of the title. */
@media (min-width: 769px) {
    body:not([data-creative-folder="open"]) #generation-tab > .content-header.ds-page-row {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
    }

    body:not([data-creative-folder="open"]) #generation-tab > .ds-page-row > h1 {
        justify-self: start;
    }

    body:not([data-creative-folder="open"]) #generation-tab > .ds-page-row .unified-brand-bar {
        grid-column: 2;
        max-width: min(820px, 62vw);
        justify-content: center;
    }

    body:not([data-creative-folder="open"]) #generation-tab > .ds-page-row .unified-brand-track {
        flex: 0 1 auto;
    }
}

/* A folder's name, edited where it stands. */
.creative-project-card-name-input {
    width: 100%;
    margin: -3px 0 -3px -6px;
    padding: 2px 6px;
    border: 1px solid rgba(var(--accent-color-rgb), 0.55);
    border-radius: 6px;
    background: rgba(var(--cs-ink), 0.06);
    color: rgb(var(--cs-ink));
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    outline: none;
}

.creative-project-card.is-renaming .creative-project-card-tools {
    display: none;
}

@media (max-width: 768px) {
    .creative-add-project-fixed .creative-add-project-btn {
        min-width: 140px;
        min-height: 84px;
        padding: 14px 20px;
        border-radius: 18px;
        font-size: 14px;
    }
}

/* Centred under the folders, not the window: the sidebar takes 260 px (60 folded). */
@media (min-width: 769px) {
    .creative-add-project-fixed {
        left: calc(50% + 130px);
    }

    body:has(.main-content.expanded) .creative-add-project-fixed {
        left: calc(50% + 30px);
    }
}

/* Products from a link (owner, 5 Oct 2026): the review list. */
.ubp-add-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ubp-import {
    margin: 4px 0 14px;
    padding: 14px 16px 12px;
    border: 1px solid rgba(var(--ubp-ink), 0.1);
    border-radius: 14px;
    background: rgba(var(--ubp-ink), 0.03);
}

.ubp-import-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ubp-import-head strong {
    display: block;
    font-size: 14px;
    color: rgb(var(--ubp-ink));
}

.ubp-import-head small {
    display: block;
    max-width: 640px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-import-progress,
.ubp-import-error {
    margin: 10px 0 0;
    font-size: 12.5px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-import-error {
    color: var(--ds-danger);
}

.ubp-import-group {
    margin-top: 12px;
}

.ubp-import-cat {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(var(--ubp-ink), 0.8);
    cursor: pointer;
}

.ubp-import-cat small {
    font-weight: 400;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-import-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 8px;
}

.ubp-import-item {
    display: grid;
    grid-template-columns: auto 44px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 10px;
    background: rgba(var(--ubp-ink), 0.02);
    cursor: pointer;
    opacity: 0.55;
}

.ubp-import-item.is-on {
    opacity: 1;
    border-color: rgba(var(--ubp-ink), 0.16);
}

.ubp-import-item img {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    background: var(--ds-surface);
}

.ubp-import-item strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12.5px;
    font-weight: 500;
    color: rgb(var(--ubp-ink));
}

.ubp-import-item small {
    font-size: 11px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-import-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    margin-top: 14px;
}

.ubp-import-foot .ubp-status {
    flex: 1 1 auto;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.68);
}

@media (max-width: 640px) {
    .ubp-import-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
   The brand's page as a dashboard (owner, 5 Oct: "tam sayfa, profesyonel dashboard,
   genel stilimizin ve renklerimizin dışına çıkmadan"). The folders' width, a section
   menu on the left — a row of tabs on a phone — and each section in its own cards.
   ========================================== */
.unified-brand-page {
    max-width: 1320px;
}

.ubp-dash {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin-top: 8px;
}

.ubp-nav {
    position: sticky;
    top: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ubp-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.6);
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.ubp-nav-item i {
    width: 16px;
    font-size: 12px;
    opacity: 0.7;
    text-align: center;
}

.ubp-nav-item span {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ubp-nav-item small {
    font-size: 11px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-nav-item:hover {
    background: rgba(var(--ubp-ink), 0.04);
    color: rgba(var(--ubp-ink), 0.9);
}

.ubp-nav-item.is-active {
    background: rgba(var(--accent-color-rgb), 0.12);
    color: rgba(var(--ubp-ink), 0.95);
}

.ubp-nav-item.is-active i {
    color: rgba(var(--accent-color-rgb), 1);
    opacity: 1;
}

.ubp-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.ubp-card {
    padding: 18px 20px;
    border: 1px solid rgba(var(--ubp-ink), 0.07);
    border-radius: 16px;
    background: rgba(var(--ubp-ink), 0.02);
}

.ubp-card > .ubp-section:first-child,
.ubp-card > .ubp-hint:first-child {
    margin-top: 0;
}

.ubp-card-title {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(var(--ubp-ink), 0.8);
}

.ubp-card-danger .ubp-hint {
    margin: 0 0 10px;
}

.ubp-card .ubp-item,
.ubp-card .ubp-editor {
    max-width: none;
}

.ubp-card .ubp-item {
    width: 100%;
    margin: 0;
}

/* Products, category by category (owner, 5 Oct night). */
.ubp-filter {
    position: relative;
    max-width: 360px;
    margin-bottom: 14px;
}

.ubp-filter i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-filter .ubp-input {
    padding-left: 32px;
}

.ubp-cats {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ubp-cat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(var(--ubp-ink), 0.06);
}

.ubp-cat-fold {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    padding: 4px 0;
    border: none;
    background: transparent;
    color: rgba(var(--ubp-ink), 0.9);
    font-family: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}

.ubp-cat-fold i {
    font-size: 10px;
    color: rgba(var(--ubp-ink), 0.62);
    transition: transform 0.15s ease;
}

.ubp-cat-fold small {
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ubp-cat.is-folded .ubp-cat-fold i {
    transform: rotate(-90deg);
}

.ubp-cat.is-folded .ubp-cat-grid {
    display: none;
}

.ubp-cat-head .ubp-mini {
    flex: none;
    max-width: 170px;
}

.ubp-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 2px 12px;
    padding: 6px 0 10px;
}

.ubp-cat-grid > .ubp-editor {
    grid-column: 1 / -1;
}

.ubp-photo {
    position: relative;
}

.ubp-photo-main,
.ubp-photo-first {
    position: absolute;
    left: 4px;
    bottom: 4px;
}

.ubp-photo-first {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(var(--accent-color-rgb), 0.9);
    color: var(--ds-on-media);
    font-size: 9px;
}

/* Job packages and batches (_unified_jobs.js). */
.ujp-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 12px;
    margin: 12px 0;
}

.ujp-cards > .ujp-editor,
.ujp-cards > .ujp-produce {
    grid-column: 1 / -1;
}

.ujp-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid rgba(var(--ubp-ink), 0.08);
    border-radius: 14px;
    background: rgba(var(--ubp-ink), 0.02);
    color: inherit;
    font-family: inherit;
    text-align: left;
}

button.ujp-card {
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

button.ujp-card:hover {
    border-color: rgba(var(--accent-color-rgb), 0.4);
    background: rgba(var(--ubp-ink), 0.04);
}

.ujp-card-head,
.ujp-editor-head,
.ujp-batch-head {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ujp-card-head strong,
.ujp-batch-head strong {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 600;
    color: rgba(var(--ubp-ink), 0.92);
    overflow: hidden;
    text-overflow: ellipsis;
}

.ujp-tag,
.ujp-state,
.ujp-run {
    flex: none;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(var(--ubp-ink), 0.06);
    color: rgba(var(--ubp-ink), 0.6);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.ujp-state-running,
.ujp-run-running,
.ujp-run-approved,
.ujp-run-queued {
    background: rgba(var(--accent-color-rgb), 0.14);
    color: rgba(var(--accent-color-rgb), 1);
}

.ujp-state-done,
.ujp-run-completed {
    background: rgba(var(--ds-ok-rgb), 0.14);
    color: var(--ds-ok);
}

.ujp-state-paused,
.ujp-run-needs_attention {
    background: rgba(var(--ds-accent-rgb), 0.16);
    color: var(--ds-accent);
}

.ujp-run-failed {
    background: rgba(var(--ds-danger-rgb), 0.12);
    color: var(--ds-danger);
}

.ujp-card-frames {
    margin: 0;
    font-size: 13px;
    color: rgba(var(--ubp-ink), 0.75);
    line-height: 1.45;
}

.ujp-card-note {
    margin: 0;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
    line-height: 1.45;
}

.ujp-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 6px;
}

.ujp-editor,
.ujp-produce {
    max-width: none;
    padding: 14px 0 6px 16px;
}

.ujp-editor-head {
    margin-bottom: 10px;
}

.ujp-editor-head strong {
    flex: 1;
    font-size: 14px;
}

.ujp-name {
    flex: 1;
    max-width: 420px;
    font-size: 14px;
    font-weight: 600;
}

.ujp-slots {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

.ujp-slot {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border: 1px solid rgba(var(--ubp-ink), 0.07);
    border-radius: 12px;
    background: rgba(var(--ubp-ink), 0.02);
}

.ujp-slot-num {
    padding-top: 22px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(var(--accent-color-rgb), 1);
    font-variant-numeric: tabular-nums;
}

.ujp-slot-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    min-width: 0;
}

.ujp-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 150px;
    min-width: 0;
}

.ujp-field > span {
    font-size: 11px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ujp-narrow {
    flex: 0 1 110px;
}

.ujp-wide {
    flex: 1 1 260px;
}

.ujp-slot-dealt {
    flex: 1 1 100%;
    margin: 2px 0 0;
    font-size: 11.5px;
    line-height: 1.5;
    color: rgba(var(--ubp-ink), 0.68);
}

.ujp-slot-move {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 18px;
}

.ujp-produce-tools,
.ujp-start {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 10px;
}

.ujp-start .ujp-card-note {
    flex: 1 1 100%;
}

.ujp-cats {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 420px;
    overflow-y: auto;
    padding-right: 4px;
}

.ujp-cat summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 4px;
    border-bottom: 1px solid rgba(var(--ubp-ink), 0.06);
    cursor: pointer;
    list-style: none;
}

.ujp-cat summary::-webkit-details-marker {
    display: none;
}

.ujp-cat summary small {
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.62);
}

.ujp-cat-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(var(--ubp-ink), 0.88);
}

.ujp-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 2px 10px;
    padding: 6px 4px 10px 26px;
}

.ujp-product {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    border-radius: 8px;
    font-size: 12.5px;
    color: rgba(var(--ubp-ink), 0.7);
    cursor: pointer;
}

.ujp-product span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ujp-product em {
    font-style: normal;
    font-size: 11px;
    color: var(--ds-accent);
}

.ujp-product.is-on {
    background: rgba(var(--accent-color-rgb), 0.08);
    color: rgba(var(--ubp-ink), 0.92);
}

.ujp-quote {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 12px 0 0;
    font-size: 13px;
    color: rgba(var(--ubp-ink), 0.75);
}

.ujp-quote strong {
    color: rgba(var(--ubp-ink), 0.95);
}

.ujp-quote span {
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.68);
}

.ujp-warn,
.ujp-quote .ujp-warn {
    color: var(--ds-warn);
}

.ujp-batch-head {
    margin-bottom: 8px;
}

.ujp-batch-head .ubp-back {
    flex: none;
}

.ujp-batch-message {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--ds-accent);
}

.ujp-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin: 4px 0 14px;
    font-size: 12.5px;
    color: rgba(var(--ubp-ink), 0.68);
}

.ujp-stats strong {
    color: rgba(var(--ubp-ink), 0.92);
    font-variant-numeric: tabular-nums;
}

.ujp-table-wrap {
    overflow-x: auto;
}

.ujp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.ujp-table th {
    padding: 6px 8px;
    border-bottom: 1px solid rgba(var(--ubp-ink), 0.08);
    color: rgba(var(--ubp-ink), 0.62);
    font-weight: 500;
    text-align: left;
}

.ujp-table td {
    padding: 7px 8px;
    border-bottom: 1px solid rgba(var(--ubp-ink), 0.04);
    color: rgba(var(--ubp-ink), 0.85);
    vertical-align: top;
}

.ujp-table td small {
    display: block;
    margin-top: 3px;
}

.ujp-muted {
    color: rgba(var(--ubp-ink), 0.68) !important;
}

.ujp-num {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .ubp-dash {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ubp-nav {
        position: static;
        flex-direction: row;
        gap: 4px;
        margin: 0 -16px;
        padding: 0 16px 4px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .ubp-nav::-webkit-scrollbar {
        display: none;
    }

    .ubp-nav-item {
        flex: none;
        width: auto;
        padding: 8px 12px;
        border-radius: 999px;
    }

    .ubp-card {
        padding: 14px;
        border-radius: 14px;
    }

    .ubp-cat-head {
        flex-wrap: wrap;
    }

    .ubp-cat-grid,
    .ujp-cards,
    .ujp-products {
        grid-template-columns: minmax(0, 1fr);
    }

    .ujp-slot {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ujp-slot-num {
        display: none;
    }

    .ujp-editor,
    .ujp-produce {
        padding-left: 10px;
    }

    .ujp-narrow {
        flex: 1 1 100px;
    }
}

/* A product's photograph, read (owner, 6 Oct). */
.ubp-read-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(var(--accent-color-rgb), 0.07);
    font-size: 12.5px;
    color: rgba(var(--ubp-ink), 0.75);
}

.ubp-read-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.68);
}

.ubp-read-note em {
    flex: 1 1 100%;
    font-style: normal;
    color: var(--ds-accent);
}

.ubp-read-swatch {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 4px;
    border: 1px solid rgba(var(--ubp-ink), 0.15);
}

.ubp-cat-tools {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ubp-cat-delete {
    width: 28px;
    height: 28px;
    font-size: 12px;
}

.ubp-cat-delete:hover {
    color: var(--ds-danger);
}

.ubp-mini-btn {
    height: 28px;
    padding: 0 10px;
    font-size: 12px;
}

.ujp-check {
    flex: 1 1 100%;
    font-size: 12px;
}

/* Photographs to change (owner, 6 Oct). */
.ubp-weak {
    margin: 0 0 14px;
    padding: 6px 12px 4px;
    border: 1px solid rgba(var(--ds-accent-rgb), 0.35);
    border-radius: 12px;
    background: rgba(var(--ds-accent-rgb), 0.06);
}

.ubp-weak .ubp-hint {
    margin: 4px 0 6px;
}

.ubp-weak.is-folded .ubp-cat-grid,
.ubp-weak.is-folded .ubp-hint {
    display: none;
}

.ubp-weak.is-folded .ubp-cat-fold i {
    transform: rotate(-90deg);
}

.ubp-cat-fold {
    flex: 1 1 auto;
}

.ubp-cat-fold strong {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ubp-cat-fold small {
    white-space: nowrap;
}

/* 'Agent önersin' — suggested packages (owner, 6 Oct; TASARIM-IS-PAKETI §14.1) */
.ujp-suggestions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 4px 0 16px;
    padding: 14px;
    border-radius: 14px;
    border: 1px dashed rgba(var(--accent-color-rgb), 0.45);
    background: rgba(var(--accent-color-rgb), 0.04);
}

.ujp-suggestions-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ujp-suggestions-head strong {
    font-size: 14px;
    font-weight: 600;
    color: rgba(var(--ubp-ink), 0.92);
}

.ujp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ujp-chip {
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(var(--ubp-ink), 0.06);
    color: rgba(var(--ubp-ink), 0.7);
    font-size: 11px;
    line-height: 1.4;
}

.ujp-cost {
    margin-left: 6px;
    font-size: 11px;
    opacity: 0.6;
}

/* OpenAI Batch option on the produce panel (owner, 6 Oct) */
.ujp-batch-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(var(--ubp-ink), 0.7);
    cursor: pointer;
}

.ujp-batch-option input {
    margin-top: 2px;
    flex: none;
}

/* A universe's topics on the produce panel (owner, 7 Oct; TASARIM §14.3) */
.ujp-topics {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 4px 0 8px;
    font-size: 12px;
    color: rgba(var(--ubp-ink), 0.7);
}

/* A product's pictures from every job, picked selected or rejected (10 Oct). */
.ubp-outputs { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(var(--ubp-ink), 0.08); }
.ubp-outputs-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.ubp-outputs-head h4 { margin: 0; font-size: 14px; font-weight: 600; color: rgba(var(--ubp-ink), 0.92); }
.ubp-outputs-head h4 small { margin-left: 6px; font-weight: 400; color: rgba(var(--ubp-ink), 0.68); }
.ubp-outputs-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.ubp-otab { height: 28px; padding: 0 11px; border: 1px solid rgba(var(--ubp-ink), 0.1); border-radius: 999px;
    background: transparent; color: rgba(var(--ubp-ink), 0.75); font-size: 12px; cursor: pointer; }
.ubp-otab span { margin-left: 3px; color: rgba(var(--ubp-ink), 0.62); }
.ubp-otab.is-on { background: rgba(var(--accent-color-rgb), 0.14); border-color: rgba(var(--accent-color-rgb), 0.45);
    color: rgba(var(--ubp-ink), 0.95); }
.ubp-outputs-note { margin: 10px 0 0; font-size: 12px; color: rgba(var(--ubp-ink), 0.6); }
.ubp-outputs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-top: 12px; }
.ubp-output { margin: 0; border: 1px solid rgba(var(--ubp-ink), 0.08); border-radius: 12px; overflow: hidden;
    background: rgba(var(--ubp-ink), 0.03); }
.ubp-output a { display: block; aspect-ratio: 1 / 1; background: rgba(var(--ubp-ink), 0.06); }
.ubp-output img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ubp-output.is-rejected img { opacity: 0.38; filter: grayscale(0.6); }
.ubp-output.is-selected { border-color: rgba(var(--ds-ok-rgb), 0.75); box-shadow: 0 0 0 1px rgba(var(--ds-ok-rgb), 0.55); }
.ubp-output figcaption { display: flex; flex-direction: column; gap: 1px; padding: 7px 9px 2px; min-width: 0; }
.ubp-output figcaption strong { font-size: 12px; font-weight: 600; color: rgba(var(--ubp-ink), 0.9);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ubp-output figcaption small { font-size: 11px; color: rgba(var(--ubp-ink), 0.68); }
.ubp-output-picks { display: flex; gap: 6px; padding: 6px 9px 9px; }
.ubp-pick { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 5px; height: 28px;
    border: 1px solid rgba(var(--ubp-ink), 0.12); border-radius: 8px; background: transparent;
    color: rgba(var(--ubp-ink), 0.8); font-size: 12px; cursor: pointer; }
.ubp-pick.is-on { background: rgba(var(--ds-ok-rgb), 0.16); border-color: rgba(var(--ds-ok-rgb), 0.7); color: rgba(var(--ubp-ink), 0.95); }
.ubp-pick-out.is-on { background: rgba(var(--ds-danger-rgb), 0.14); border-color: rgba(var(--ds-danger-rgb), 0.65); }
.ubp-pick:disabled { opacity: 0.5; cursor: progress; }
@media (max-width: 600px) {
    .ubp-outputs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .ubp-pick span { display: none; }
    .ubp-output figcaption strong { white-space: normal; overflow-wrap: anywhere; font-size: 11px; }
}

/* The reference menu's search over a brand's products (10 Oct), held at the top while the list scrolls. */
body[data-unified-panel="on"] #creativeContextMenu .creative-context-menu-search {
    position: sticky; top: 0; z-index: 1; display: block; width: calc(100% - 12px); margin: 4px 6px 6px;
    height: 32px; padding: 0 10px; border: 1px solid rgba(var(--cs-ink), 0.14); border-radius: 8px;
    background: rgba(var(--cs-ink), 0.05); color: rgba(var(--cs-ink), 0.92); font-size: 13px; outline: none;
}
body[data-unified-panel="on"] #creativeContextMenu .creative-context-menu-search:focus {
    border-color: rgba(var(--accent-color-rgb), 0.6);
}
#creativeContextMenu [hidden] { display: none !important; }
@media (max-width: 600px) {
    /* On a phone the brand's product list takes the screen's width, not the button's leftover. */
    body[data-unified-panel="on"] #creativeContextMenu[data-target-type="reference"] {
        left: 16px !important; right: 16px; width: auto; max-width: none;
    }
}
.ubp-output { position: relative; }
.ubp-output-issue { position: absolute; top: 8px; left: 8px; display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 8px; border-radius: 999px; background: rgba(var(--ds-accent-rgb), 0.92); color: var(--ds-on-media); font-size: 11px; font-weight: 600; }
.ubp-output-issue-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 2px; color: rgba(var(--ds-accent-rgb), 0.95) !important; }
.ujp-quote .ujp-note { display: block; margin-top: 4px; font-size: 12px; color: rgba(var(--ds-ok-rgb), 0.95); }

/* ── One button for download/share and one for 2x/4x (18 Oct 2026) ── */
.result-action-group { position: relative; display: inline-flex; }
.result-group-menu {
    position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%) translateY(4px);
    display: flex; gap: 6px; padding: 6px; border-radius: 12px; white-space: nowrap; z-index: 30;
    background: rgba(var(--ds-surface-rgb), 0.94); border: 1px solid rgba(var(--ds-ink-rgb), 0.12);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
    opacity: 0; pointer-events: none; transition: opacity 0.15s ease, transform 0.15s ease;
}
/* the gap between the button and its menu does not close it */
.result-group-menu::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 10px; }
.result-action-group.is-open .result-group-menu { opacity: 1; pointer-events: auto; transform: translateX(-50%); }
@media (hover: hover) {
    .result-action-group:hover .result-group-menu { opacity: 1; pointer-events: auto; transform: translateX(-50%); }
}
.result-action-group.is-open > .result-group-trigger,
.result-action-group:hover > .result-group-trigger { background: rgba(255, 255, 255, 0.18) !important; }

/* Account panel: storage against its quota (18 Oct 2026) */
.account-storage-bar { display: block; height: 5px; border-radius: 5px; background: rgba(127,127,127,.22); overflow: hidden; margin-top: 8px; }
.account-storage-bar[hidden] { display: none; }
.account-storage-bar i { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--primary-color, #d8be94); transition: width .6s ease; }
.account-storage-bar.is-near i { background: var(--ds-accent); }
.account-storage-bar.is-full i { background: var(--ds-danger); }
.account-storage-note { display: block; margin-top: 6px; font-size: 12px; opacity: .65; }

.creative-trash-purge-top {
    margin: 0 0 0 auto;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(var(--ds-danger-rgb), 0.45);
    border-radius: 999px;
    cursor: pointer;
}

.creative-trash-empty-tag {
    margin-left: 8px;
    padding: 1px 7px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 999px;
    color: rgba(var(--cs-ink), 0.6);
    background: rgba(var(--cs-ink), 0.08);
}

/* mobile chrome (25 Oct): the page's title moves up beside the menu on a phone */
.header .ds-header-title { display: none; }

@media (max-width: 768px) {
    body:has(#generation-tab.active):not([data-creative-folder="open"]) .header .ds-header-title {
        display: block;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: -0.01em;
        white-space: nowrap;
        color: var(--text-primary);
        margin-left: 2px;
    }

    /* the row's own h1 gives its width to the chips */
    #generation-tab > .ds-page-row h1 {
        display: none;
    }
}

@media (max-width: 768px) {
    /* the price estimate gets a small line of its own under the controls; send stays where it was */
    body[data-unified-panel="on"] #creativeModeInput .creative-input-controls-row > #sendEstimate {
        order: 7;
        flex: 0 0 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 4px;
        text-align: right;
        align-self: auto;
    }

    body[data-unified-panel="on"] #creativeModeInput #sendEstimate .send-estimate-extra {
        display: inline;
    }
}
/* end mobile chrome (25 Oct) */

/* keyboard inset (25 Oct): with the phone's keyboard up the bar rides on it, not under it
   (utils/keyboard-inset.js publishes the keyboard's height). */
@media (max-width: 992px) {
    html.ds-keyboard-open #creativeModeInput {
        bottom: calc(6px + var(--ds-keyboard-inset, 0px)) !important;
    }
}

/* touch screens (25 Oct): a tap is a tap — no grey flash, no 300 ms wait for a double-tap zoom. */
@media (hover: none) and (pointer: coarse) {
    html {
        -webkit-tap-highlight-color: transparent;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    button, a, [role="button"], summary, label, select, input, textarea {
        touch-action: manipulation;
    }

    /* The bar and the viewer's bar sit on a near-opaque ground: their background blur bought nothing
       you could see and was redrawn on every frame of a scroll or a pinch under them (25 Oct). */
    .creative-action-bar-v2,
    .fullscreen-modal .fullscreen-actions {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .creative-action-bar-v2 {
        background: rgba(var(--ds-surface-rgb), 0.98) !important;
    }

    /* the bar's own buttons: 36px to the finger (they were 30) */
    #creativeModeInput .creative-input-controls-row button:not(.edit-send-btn-circle),
    #creativeModeInput .creative-action-bar-v2 > button:not(.edit-send-btn-circle) {
        min-height: 36px;
        min-width: 36px;
    }
}

/* iOS Safari only (the one that zooms into a focused field under 16px; -webkit-touch-callout is
   its own property): every field at 16px on a touch screen there. */
@supports (-webkit-touch-callout: none) {
    @media (hover: none) and (pointer: coarse) {
        input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
        textarea,
        select {
            font-size: 16px !important;
        }
    }
}

/* The Agent's expand button sits in the prompt's top-right corner: the text and its placeholder
   stop before it (25 Oct: they ran under it). */
body[data-unified-panel="on"][data-unified-agent="on"][data-creative-folder="open"] #creativeModeInput #creativePromptInput {
    padding-right: 30px;
}

/* The header's progress chip (25 Oct): its percent in the ink that reads on the accent; on a phone
   the chip alone — spinner and percent — stands in for the queue button and the theme switch while
   work runs, so the header stays on the screen (it ran 110px past it). */
.unified-progress-label {
    color: var(--ds-accent-ink);
}

.unified-progress-label .progress-pct {
    color: var(--ds-accent-ink);
    opacity: 0.8;
}

@media (max-width: 480px) {
    .header .header-controls:has(.unified-progress-label.visible) .ds-theme-switch,
    .header .header-controls:has(.unified-progress-label.visible) .processing-modal-toggle {
        display: none;
    }

    .unified-progress-label {
        padding: 4px 10px;
        min-height: 32px;
        pointer-events: auto;
        cursor: pointer;
    }

    .unified-progress-label .unified-progress-word {
        display: none;
    }

    .unified-progress-label .progress-pct {
        margin-left: 2px;
    }
}

/* A picture being made, in a narrow card: its words wrap between words, never inside one
   (25 Oct: "Hazı-rlanı-yor"). */
.ds-develop .ds-develop-caption b {
    max-width: 100%;
    overflow-wrap: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ds-develop .ds-develop-caption {
    flex-wrap: wrap;
    column-gap: 6px;
    row-gap: 0;
}
