﻿/* OnyaTV CMS v3.5 - Production CSS */

/* Import Modern Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* Android Material Design Icon System */
/* Remove all Lucide-related elements */
[data-lucide], .lucide {
    display: none !important;
}

/* Material Design Icons using Unicode */
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    margin-right: 8px;
    color: inherit;
}

/* Fallback CSS Icons using Unicode symbols */
.icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    text-align: center;
    line-height: 20px;
    font-size: 16px;
}

/* Fallback for Material Icons if they don't load */
.material-icons:not([class*="material-icons"]) {
    font-family: 'Arial', sans-serif;
}

/* Ensure Material Icons display properly */
.material-icons {
    font-family: 'Material Icons' !important;
    font-weight: normal !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    word-wrap: normal !important;
    white-space: nowrap !important;
    direction: ltr !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Fallback icon system */
.icon-fallback {
    display: none;
    font-size: 18px;
    margin-right: 8px;
}

/* Show fallback if Material Icons don't load */
.material-icons:not([style*="font-family: 'Material Icons'"]) + .icon-fallback,
.material-icons[style*="font-family: Arial"] + .icon-fallback {
    display: inline-block;
}

/* Hide Material Icons if they show as text */
.material-icons:not([style*="font-family: 'Material Icons'"]) {
    display: none;
}

/* Force fallback icons to show */
.nav-item .material-icons {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    font-size: 20px;
}

.nav-item .nav-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    font-size: 18px;
    display: inline-block;
    text-align: center;
    line-height: 20px;
}

.nav-item .icon-fallback {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    font-size: 18px;
    display: inline-block;
}

/* Dashboard Icons - Material Design */
.icon-dashboard::before { content: '📊'; font-size: 18px; }
.icon-content::before { content: '📁'; font-size: 18px; }
.icon-upload::before { content: '⬆️'; font-size: 18px; }
.icon-monetization::before { content: '💰'; font-size: 18px; }
.icon-analytics::before { content: '📈'; font-size: 18px; }
.icon-storage::before { content: '💾'; font-size: 18px; }
.icon-health::before { content: 'â¤ï¸'; font-size: 18px; }
.icon-settings::before { content: '⚙️'; font-size: 18px; }

/* Action Icons - Material Design */
.icon-delete::before { content: '🗑️'; font-size: 16px; }
.icon-refresh::before { content: '📁„'; font-size: 16px; }
.icon-search::before { content: '📁'; font-size: 16px; }
.icon-folder::before { content: '📁‚'; font-size: 16px; }
.icon-file::before { content: '📁„'; font-size: 16px; }
.icon-video::before { content: '🎥'; font-size: 16px; }
.icon-thumb::before { content: '🖼️'; font-size: 16px; }
.icon-play::before { content: '▶️'; font-size: 16px; }
.icon-pause::before { content: 'â¸ï¸'; font-size: 16px; }

/* Status Icons - Material Design */
.icon-connected::before { content: '🟢'; font-size: 14px; }
.icon-disconnected::before { content: '📁´'; font-size: 14px; }
.icon-loading::before { content: 'â³'; font-size: 14px; }
.icon-warning::before { content: '⚠️'; font-size: 14px; }
.icon-error::before { content: 'âŒ'; font-size: 14px; }
.icon-success::before { content: '✅'; font-size: 14px; }

/* Button Icons - Use actual icons */
.btn-delete::before { content: '🗑️'; margin-right: 8px; }
.btn-refresh::before { content: '📁„'; margin-right: 8px; }
.btn-upload::before { content: '⬆️'; margin-right: 8px; }
.btn-download::before { content: 'â¬‡ï¸'; margin-right: 8px; }
.btn-search::before { content: '📁'; margin-right: 8px; }

/* Navigation Icons - Clean display without debug prefixes */

/* File Type Icons - Use actual icons */
.file-video::before { content: '🎥'; margin-right: 8px; }
.file-image::before { content: '🖼️'; margin-right: 8px; }
.file-folder::before { content: '📁'; margin-right: 8px; }
.file-document::before { content: '📁„'; margin-right: 8px; }

/* Status indicators - Use actual icons */
.status-indicator.connected::before { content: '🟢'; }
.status-indicator.disconnected::before { content: '📁´'; }

/* Data Icon System - Use actual icons */
[data-icon="folder"]::before { content: '📁'; }
[data-icon="video"]::before { content: '🎥'; }
[data-icon="upload"]::before { content: '⬆️'; }
[data-icon="arrow"]::before { content: '→'; }
[data-icon="image"]::before { content: '🖼️'; }
[data-icon="list"]::before { content: '📋'; }
[data-icon="close"]::before { content: '✕'; }
[data-icon="check"]::before { content: '✓'; }
[data-icon="success"]::before { content: '✅'; }

/* Force replace corrupted characters with CSS */
* {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Replace specific corrupted character patterns */
*:contains("Ã¢Â³") { content: "[LOADING]" !important; }
*:contains("BÎ«-") { content: "[DELETE]" !important; }
*:contains("BYS") { content: "[REFRESH]" !important; }
*:contains("Ã–Î«") { content: "[FOLDER]" !important; }
*:contains("Ã¢Å¡Ã¯,") { content: "[WARNING]" !important; }

/* Toast Notification System */
.toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 400px;
    pointer-events: none;
}

.toast {
    background: var(--bg-secondary);
    border: 1px solid var(--border-primary);
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    transform: translateX(100%);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: auto;
    position: relative;
    overflow: hidden;
}

.toast-show {
    transform: translateX(0);
    opacity: 1;
}

.toast-hide {
    transform: translateX(100%);
    opacity: 0;
}

.toast-content {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.toast-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.toast-message {
    flex: 1;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.toast-action {
    background: var(--primary);
    color: var(--bg-primary);
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-left: 8px;
}

.toast-action:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
}

.toast-close {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 18px;
    cursor: pointer;
    padding: 4px;
    margin-left: 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.toast-close:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--primary);
    border-radius: 0 0 12px 12px;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform linear;
}

/* Toast Types */
.toast-success {
    border-left: 4px solid var(--success);
}

.toast-success .toast-progress {
    background: var(--success);
}

.toast-error {
    border-left: 4px solid var(--accent);
}

.toast-error .toast-progress {
    background: var(--accent);
}

.toast-warning {
    border-left: 4px solid #FFA500;
}

.toast-warning .toast-progress {
    background: #FFA500;
}

.toast-info {
    border-left: 4px solid var(--primary);
}

.toast-loading {
    border-left: 4px solid var(--primary);
}

.toast-loading .toast-progress {
    background: var(--primary);
    animation: loading-pulse 2s ease-in-out infinite;
}

@keyframes loading-pulse {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

/* Retry Button Styles */
.retry-button {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: var(--bg-primary);
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(0, 229, 209, 0.3);
}

.retry-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 229, 209, 0.4);
}

.retry-button:active {
    transform: translateY(0);
}

.retry-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.retry-button .spinner {
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Countdown Styles */
.countdown-display {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    color: var(--primary);
}

.countdown-number {
    background: var(--primary);
    color: var(--bg-primary);
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 12px;
    font-weight: 700;
    min-width: 20px;
    text-align: center;
}

/* Storage Loading Overlay */
.storage-loading-overlay {
    position: absolute;
    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: 1000;
    border-radius: 8px;
    backdrop-filter: blur(2px);
}

.storage-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--text-primary);
}

.storage-loading i {
    animation: spin 1s linear infinite;
    font-size: 24px;
    color: var(--primary);
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* CSS Variables - OnyaTV Brand Palette */
:root {
    /* Brand Colors */
    --primary: #00E5D1;
    --primary-hover: #00D4B8;
    --accent: #FF3151;
    --accent-hover: #FF1A3A;
    --success: #00FF99;
    --success-hover: #00E68A;
    
    /* Background Colors */
    --background: #06080F;
    --background-deep: #0E121A;
    --surface: #10151F;
    --surface-hover: #151A25;
    
    /* Text Colors */
    --text-primary: #F2F2F2;
    --text-secondary: #8A8F9D;
    --text-muted: #6B7280;
    
    /* Border & Effects */
    --border: rgba(0, 229, 209, 0.2);
    --border-hover: rgba(0, 229, 209, 0.4);
    --border-radius: 12px;
    
    /* Shadows & Glows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    
    /* Teal Glows */
    --glow-teal: 0 0 20px rgba(0, 229, 209, 0.3);
    --glow-teal-soft: 0 0 10px rgba(0, 229, 209, 0.2);
    --glow-teal-strong: 0 0 30px rgba(0, 229, 209, 0.4);
    
    /* Red Glows */
    --glow-red: 0 0 20px rgba(255, 49, 81, 0.3);
    --glow-red-soft: 0 0 10px rgba(255, 49, 81, 0.2);
    
    /* Success Glows */
    --glow-success: 0 0 20px rgba(0, 255, 153, 0.3);
    --glow-success-soft: 0 0 10px rgba(0, 255, 153, 0.2);
    
    /* Glassmorphism */
    --backdrop-blur: blur(12px);
    --glass-bg: rgba(16, 21, 31, 0.7);
    --glass-border: rgba(0, 229, 209, 0.15);
    
    /* Legacy compatibility */
    --secondary: var(--text-secondary);
    --danger: var(--accent);
    --warning: #FFB800;
    
    /* Additional brand overrides */
    --primary-gradient: linear-gradient(135deg, #00E5D1, #00D4B8);
    --accent-gradient: linear-gradient(135deg, #FF3151, #FF1A3A);
    --success-gradient: linear-gradient(135deg, #00FF99, #00E68A);
    
    /* Vertical OTT Content Variables */
    --vertical-aspect-ratio: 0.5625;
    --vertical-width: 200px;
    --vertical-height: calc(var(--vertical-width) / var(--vertical-aspect-ratio));
    --safe-zone-top: 10%;
    --safe-zone-bottom: 15%;
}

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

html, body {
    margin: 0;
    padding: 0;
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--background);
    color: var(--text-primary);
    line-height: 1.6;
}

/* Layout */
#app {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
    min-height: 100vh;
    background: var(--background);
    margin: 0;
    padding: 0;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.flex {
    display: flex;
}

.grid {
    display: grid;
}

.hidden {
    display: none !important;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.inline-flex {
    display: inline-flex;
}

/* Flexbox */
.items-center {
    align-items: center;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.justify-end {
    justify-content: flex-end;
}

.flex-1 {
    flex: 1 1 0%;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.flex-col {
    flex-direction: column;
}

.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }

/* Grid */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Spacing */
.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }

.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }

.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }

.m-1 { margin: 0.25rem; }
.m-2 { margin: 0.5rem; }
.m-3 { margin: 0.75rem; }
.m-4 { margin: 1rem; }
.m-6 { margin: 1.5rem; }
.m-8 { margin: 2rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }

.ml-2 { margin-left: 0.5rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-3 { margin-right: 0.75rem; }

.mx-auto { margin-left: auto; margin-right: auto; }

/* Sizing */
.w-3 { width: 0.75rem; }
.w-4 { width: 1rem; }
.w-6 { width: 1.5rem; }
.w-8 { width: 2rem; }
.w-10 { width: 2.5rem; }
.w-12 { width: 3rem; }
.w-16 { width: 4rem; }
.w-20 { width: 5rem; }
.w-32 { width: 8rem; }
.w-full { width: 100%; }
.w-48 { width: 12rem; }

.h-3 { height: 0.75rem; }
.h-4 { height: 1rem; }
.h-6 { height: 1.5rem; }
.h-8 { height: 2rem; }
.h-10 { height: 2.5rem; }
.h-12 { height: 3rem; }
.h-16 { height: 4rem; }
.h-20 { height: 5rem; }
.h-32 { height: 8rem; }
.h-48 { height: 12rem; }
.h-full { height: 100%; }

.min-w-0 { min-width: 0px; }
.max-w-2xl { max-width: 42rem; }
.max-w-6xl { max-width: 72rem; }

.max-h-96 { max-height: 24rem; }
.max-h-80 { max-height: 20rem; }
.max-h-64 { max-height: 16rem; }

/* Typography */
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }

.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Colors */
.text-white { color: #ffffff; }
.text-gray-300 { color: #d1d5db; }
.text-gray-400 { color: #9ca3af; }
.text-gray-500 { color: #6b7280; }
.text-blue-400 { color: #00E5D1; }
.text-green-400 { color: #4ade80; }
.text-purple-400 { color: #00E5D1; }
.text-yellow-400 { color: #facc15; }
.text-orange-400 { color: #fb923c; }
.text-red-400 { color: #f87171; }

.bg-gray-700 { background-color: #374151; }
.bg-gray-800 { background-color: #1f2937; }
.bg-gray-900 { background-color: #111827; }
.bg-blue-500 { background-color: #00E5D1; }
.bg-blue-600 { background-color: #00D4B8; }
.bg-green-500 { background-color: #10b981; }
.bg-green-600 { background-color: #059669; }
.bg-purple-500 { background-color: #00E5D1; }
.bg-purple-600 { background-color: #00D4B8; }
.bg-yellow-500 { background-color: #eab308; }
.bg-orange-500 { background-color: #f97316; }
.bg-red-500 { background-color: #ef4444; }
.bg-red-600 { background-color: #dc2626; }

/* Gradients */
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-blue-500 { --tw-gradient-from: #00E5D1; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 229, 209, 0)); }
.to-blue-600 { --tw-gradient-to: #00D4B8; }
.from-blue-400 { --tw-gradient-from: #00E5D1; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 229, 209, 0)); }
.to-blue-400 { --tw-gradient-to: #00E5D1; }
.from-green-500 { --tw-gradient-from: #10b981; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(16, 185, 129, 0)); }
.to-green-600 { --tw-gradient-to: #059669; }
.from-purple-500 { --tw-gradient-from: #00E5D1; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 229, 209, 0)); }
.to-purple-600 { --tw-gradient-to: #00D4B8; }
.from-yellow-500 { --tw-gradient-from: #eab308; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(234, 179, 8, 0)); }
.to-orange-500 { --tw-gradient-to: #f97316; }
.from-orange-500 { --tw-gradient-from: #f97316; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(249, 115, 22, 0)); }
.to-red-500 { --tw-gradient-to: #ef4444; }
.from-gray-500 { --tw-gradient-from: #6b7280; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(107, 114, 128, 0)); }
.to-gray-600 { --tw-gradient-to: #4b5563; }
.from-64748b { --tw-gradient-from: #64748b; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(100, 116, 139, 0)); }
.to-475569 { --tw-gradient-to: #475569; }

/* Borders */
.border { border-width: 1px; }
.border-2 { border-width: 2px; }
.border-t { border-top-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-gray-700 { border-color: #374151; }
.border-gray-800 { border-color: #1f2937; }
.border-blue-500 { border-color: #00E5D1; }
.border-green-500 { border-color: #10b981; }
.border-red-500 { border-color: #ef4444; }

.rounded { border-radius: 0.25rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-full { border-radius: 9999px; }
.rounded-t { border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; }

/* Shadows */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow { box-shadow: var(--shadow); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-xl { box-shadow: var(--shadow-xl); }

/* Positioning */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.top-0 { top: 0; }
.right-0 { right: 0; }
.bottom-0 { bottom: 0; }
.left-0 { left: 0; }
.z-50 { z-index: 50; }

/* Overflow */
.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.overflow-x-auto { overflow-x: auto; }

/* Object Fit */
.object-cover { object-fit: cover; }
.object-contain { object-fit: contain; }

/* Cursor */
.cursor-pointer { cursor: pointer; }

/* Transitions */
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.duration-300 { transition-duration: 300ms; }

/* Hover States */
.hover\:bg-gray-700:hover { background-color: #374151; }
.hover\:bg-gray-800:hover { background-color: #1f2937; }
.hover\:text-white:hover { color: #ffffff; }
.hover\:text-gray-300:hover { color: #d1d5db; }
.hover\:text-red-300:hover { color: #fca5a5; }
.hover\:transform:hover { transform: translateY(-2px); }

/* Focus States */
.focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }
.focus\:ring-2:focus { box-shadow: 0 0 0 2px var(--primary); }

/* Disabled States */
.disabled\:opacity-50:disabled { opacity: 0.5; }
.disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }

/* Modern Components */
.modern-card {
    background: var(--glass-bg);
    backdrop-filter: var(--backdrop-blur);
    -webkit-backdrop-filter: var(--backdrop-blur);
    border: 1px solid var(--glass-border);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    transition: all 0.3s ease;
}

.modern-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-xl);
}

/* Metric Cards with Teal Branding */
.metric-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    transition: all 0.3s ease;
    position: relative;
    backdrop-filter: var(--backdrop-blur);
    -webkit-backdrop-filter: var(--backdrop-blur);
}

.metric-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(0,229,209,0.3), rgba(0,229,209,0.1));
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.metric-card:hover {
    transform: translateY(-2px);
    border-color: var(--border-hover);
    box-shadow: 0 0 20px rgba(0,229,209,0.3);
}

.metric-icon {
    color: var(--primary);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.metric-content h3 {
    color: var(--text-primary);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.metric-content p {
    color: var(--text-secondary);
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.metric-trend {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.metric-trend.trend-up {
    color: var(--success);
}

.metric-trend.trend-down {
    color: var(--accent);
}

.metric-trend.trend-neutral {
    color: var(--text-secondary);
}

.metric-trend i {
    font-size: 0.875rem;
}


/* Upload Wizard Styles */
.step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    opacity: 0.5;
    transition: all 0.3s ease;
}

.step-indicator.active {
    opacity: 1;
}

.step-indicator.completed {
    opacity: 1;
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #64748b, #475569);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.step-indicator.active .step-number {
    background: linear-gradient(135deg, #00E5D1, #00D4B8);
}

.step-indicator.completed .step-number {
    background: linear-gradient(135deg, #10b981, #059669);
}

.step-label {
    font-size: 12px;
    font-weight: 500;
    color: #9ca3af;
    text-align: center;
}

.step-indicator.active .step-label {
    color: #ffffff;
}

.step-line {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, #64748b, #475569);
    margin: 0 10px;
}

.step-content {
    display: none;
    animation: fadeIn 0.3s ease-in-out;
}

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

/* Compact upload section styling */
#upload-section .step-content {
    padding: 1rem;
    max-height: 80vh;
    overflow-y: auto;
}

#upload-section h3 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

#upload-section h4 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
}

/* Prevent zoom scaling issues */
.upload-area-thumbnail-compact {
    transform: scale(1);
    transform-origin: center;
}

/* Ensure consistent sizing regardless of zoom */
@media screen and (max-zoom: 1.5) {
    .upload-area-thumbnail-compact {
        width: 150px !important;
        height: 200px !important;
        max-width: 150px !important;
        max-height: 200px !important;
    }
}

/* Thumbnail Display Styles */
.thumbnail-display-container {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    max-width: 100%;
}

.thumbnail-image-section {
    position: relative;
    flex-shrink: 0;
}

.thumbnail-image {
    width: 120px;
    height: 160px;
    object-fit: cover;
    border-radius: var(--border-radius);
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.thumbnail-overlay {
    position: absolute;
    top: 4px;
    right: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.thumbnail-image-section:hover .thumbnail-overlay {
    opacity: 1;
}

.thumbnail-metadata {
    flex: 1;
    min-width: 0;
}

.metadata-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.metadata-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.metadata-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 500;
}

.metadata-value {
    font-size: 0.75rem;
    color: var(--text-primary);
    text-align: right;
    max-width: 60%;
    word-break: break-word;
}

.status-ready {
    color: #10b981 !important;
    font-weight: 500;
}

/* Monetization Workflow Guidance Styles */
.monetization-workflow-guidance {
    background: var(--glass-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    margin: 1rem 0;
}

.guidance-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.current-stage-badge {
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 0.5rem;
    padding: 0.25rem 0.75rem;
}

.guidance-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
}

.timing-recommendation,
.app-flow-impact,
.next-actions {
    background: rgba(30, 41, 59, 0.3);
    border-radius: 0.5rem;
    padding: 1rem;
}

.can-set-indicator {
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
}

.can-set-indicator.can-set {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #10b981;
}

.can-set-indicator.cannot-set {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #f59e0b;
}

.inheritance-notice {
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 0.5rem;
    padding: 0.75rem;
    margin-top: 0.75rem;
}

/* Responsive guidance */
@media (max-width: 768px) {
    .guidance-content {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .guidance-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* Series Verification Window Styles */
.verification-container {
    background: var(--glass-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 1.5rem;
}

.verification-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.verification-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    align-items: start;
}

.verification-status {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.verification-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 1rem;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #00E5D1, #00FF99);
    border-radius: 4px;
    transition: width 0.3s ease;
    width: 0%;
}

.verification-status .status-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: rgba(30, 41, 59, 0.3);
    border-radius: 0.5rem;
    border-left: 3px solid #00E5D1;
}

.verification-status .status-label {
    font-size: 0.875rem;
    color: var(--text-muted);
    font-weight: 500;
}

.verification-status .status-value {
    font-size: 0.875rem;
    color: var(--text-primary);
    font-weight: 600;
}

/* Responsive verification */
@media (max-width: 768px) {
    .verification-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* Compact File List Styles */
.compact-file-container {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.5rem;
    background: rgba(30, 41, 59, 0.3);
}

.compact-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background-color 0.2s ease;
}

.compact-file-item:last-child {
    border-bottom: none;
}

.compact-file-item:hover {
    background: rgba(255, 255, 255, 0.05);
}

.compact-file-info {
    display: flex;
    align-items: center;
    space-x: 0.75rem;
    flex: 1;
    min-width: 0;
}

.compact-file-name {
    font-size: 0.75rem;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.compact-file-size {
    font-size: 0.6875rem;
    color: var(--text-muted);
    margin-left: 0.5rem;
}

.compact-file-status {
    font-size: 0.6875rem;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-weight: 500;
}

.compact-file-status.waiting {
    color: #9ca3af;
    background: rgba(156, 163, 175, 0.1);
}

.compact-file-status.uploading {
    color: #00E5D1;
    background: rgba(59, 130, 246, 0.1);
}

.compact-file-status.completed {
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.compact-file-status.failed {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

/* Upload Stats */
.upload-stats {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* File List Toggle */
#show-all-files {
    background: rgba(0, 229, 209, 0.1) !important;
    color: #00E5D1 !important;
    border: 1px solid rgba(0, 229, 209, 0.3) !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 0.25rem !important;
    font-size: 0.75rem !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

#show-all-files:hover {
    background: rgba(59, 130, 246, 0.2) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.5) !important;
}

/* Smart Upload Window Styles */
.smart-upload-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: calc(100vh - 200px);
    max-height: 600px;
}

.upload-type-section {
    flex-shrink: 0;
}

.upload-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.upload-type-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem;
    background: rgba(30, 41, 59, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.5rem;
    color: var(--text-primary);
    transition: all 0.2s ease;
    cursor: pointer;
}

.upload-type-btn:hover {
    background: rgba(59, 130, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.3);
}

.upload-type-btn.active {
    background: rgba(59, 130, 246, 0.2);
    border-color: rgba(59, 130, 246, 0.5);
}

.file-upload-section {
    flex-shrink: 0;
}

.upload-area-compact {
    background: rgba(30, 41, 59, 0.3);
    border: 2px dashed rgba(255, 255, 255, 0.2);
    border-radius: 0.5rem;
    padding: 1.5rem;
    text-align: center;
    transition: all 0.2s ease;
}

.upload-area-compact:hover {
    border-color: rgba(59, 130, 246, 0.5);
    background: rgba(59, 130, 246, 0.05);
}

.smart-file-window {
    flex: 1;
    display: none; /* Initially hidden */
    flex-direction: column;
    background: rgba(30, 41, 59, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.5rem;
    overflow: hidden;
}

.file-window-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.file-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
}

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

.file-actions {
    display: flex;
    gap: 0.5rem;
}

.expand-btn, .collapse-btn {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.75rem;
    background: rgba(59, 130, 246, 0.1);
    color: #00E5D1;
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 0.25rem;
    font-size: 0.75rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.expand-btn:hover, .collapse-btn:hover {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.5);
}

.compact-file-list {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
}

.file-summary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: rgba(15, 23, 42, 0.3);
    border-radius: 0.375rem;
}

.summary-item .label {
    font-size: 0.875rem;
    color: var(--text-muted);
}

.summary-item .value {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
}

.file-preview {
    margin-top: 1rem;
}

.preview-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.preview-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    background: rgba(15, 23, 42, 0.3);
    border-radius: 0.375rem;
    font-size: 0.75rem;
}

.preview-item .file-name {
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.preview-item .file-info {
    color: var(--text-muted);
    font-size: 0.6875rem;
}

.expanded-file-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    overflow: hidden;
}

.file-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    gap: 1rem;
}

.file-search {
    position: relative;
    flex: 1;
    max-width: 300px;
}

.search-input {
    width: 100%;
    padding: 0.5rem 2.5rem 0.5rem 0.75rem;
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.375rem;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.search-icon {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
}

.file-filters {
    display: flex;
    gap: 0.5rem;
}

.filter-select {
    padding: 0.5rem 0.75rem;
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.375rem;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.full-file-list {
    flex: 1;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.375rem;
    background: rgba(15, 23, 42, 0.2);
}

.file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background-color 0.2s ease;
}

.file-item:last-child {
    border-bottom: none;
}

.file-item:hover {
    background: rgba(255, 255, 255, 0.05);
}

.file-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}

.file-icon {
    color: #ef4444;
    flex-shrink: 0;
}

.file-details {
    flex: 1;
    min-width: 0;
}

.file-name {
    font-size: 0.875rem;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

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

.file-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.file-status {
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.file-status.ready {
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.file-status.analyzing {
    color: #00E5D1;
    background: rgba(59, 130, 246, 0.1);
}

.file-status.error {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.remove-btn {
    padding: 0.25rem;
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.remove-btn:hover {
    background: rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.5);
}

.file-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.page-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: rgba(59, 130, 246, 0.1);
    color: #00E5D1;
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.page-btn:hover {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.5);
}

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

.page-info {
    font-size: 0.875rem;
    color: var(--text-muted);
}

.fixed-next-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Upload Area Styles */
.upload-area-large {
    border: 2px dashed #64748b;
    border-radius: var(--border-radius);
    padding: 60px 40px;
    text-align: center;
    background: rgba(100, 116, 139, 0.05);
    transition: all 0.3s ease;
    cursor: pointer;
}

.upload-area-large:hover {
    border-color: #00E5D1;
    background: rgba(59, 130, 246, 0.05);
}

.upload-area-large.dragover {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.upload-area-thumbnail {
    border: 2px dashed #64748b;
    border-radius: var(--border-radius);
    padding: 40px 20px;
    text-align: center;
    background: rgba(100, 116, 139, 0.05);
    transition: all 0.3s ease;
    cursor: pointer;
    aspect-ratio: 9/16;
    display: flex;
    align-items: center;
    justify-content: center;
}

.upload-area-thumbnail-compact {
    border: 2px dashed #64748b;
    border-radius: var(--border-radius);
    padding: 10px 8px;
    text-align: center;
    background: rgba(100, 116, 139, 0.05);
    transition: all 0.3s ease;
    cursor: pointer;
    aspect-ratio: 9/16;
    width: 150px;
    height: 200px;
    max-width: 150px;
    max-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.upload-area-thumbnail:hover {
    border-color: #00E5D1;
    background: rgba(59, 130, 246, 0.05);
}

.upload-area-thumbnail.dragover {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.thumbnail-preview-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 10px;
}

.thumbnail-preview-container i {
    width: 16px !important;
    height: 16px !important;
}

.thumbnail-preview-container p {
    margin: 2px 0;
    font-size: 9px;
    line-height: 1.2;
}

.thumbnail-preview-container button {
    font-size: 9px;
    padding: 4px 6px;
    margin-top: 4px;
}

/* Upload Queue Styles */
.upload-queue-item {
    background: var(--glass-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: between;
    gap: 16px;
}

.upload-progress {
    flex: 1;
    height: 8px;
    background: rgba(100, 116, 139, 0.3);
    border-radius: 4px;
    overflow: hidden;
}

.upload-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #00E5D1, #00D4B8);
    transition: width 0.3s ease;
}

.upload-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.status-uploading {
    color: #00E5D1;
}

.status-completed {
    color: #10b981;
}

/* Status Colors with Brand Palette */
.status-error {
    color: var(--accent);
    background: rgba(255, 49, 81, 0.1);
    border: 1px solid rgba(255, 49, 81, 0.2);
    box-shadow: var(--glow-red-soft);
}

.status-success {
    color: var(--success);
    background: rgba(0, 255, 153, 0.1);
    border: 1px solid rgba(0, 255, 153, 0.2);
    box-shadow: var(--glow-success-soft);
}

.status-warning {
    color: var(--warning);
    background: rgba(255, 184, 0, 0.1);
    border: 1px solid rgba(255, 184, 0, 0.2);
}

.status-info {
    color: var(--primary);
    background: rgba(0, 229, 209, 0.1);
    border: 1px solid rgba(0, 229, 209, 0.2);
    box-shadow: var(--glow-teal-soft);
}

/* Pipeline Status Styling */
.pipeline-item.failed {
    border-left: 4px solid var(--accent);
    background: rgba(255, 49, 81, 0.05);
}

.pipeline-item.failed .pipeline-icon {
    color: var(--accent);
}

.pipeline-item.success {
    border-left: 4px solid var(--success);
    background: rgba(0, 255, 153, 0.05);
}

.pipeline-item.success .pipeline-icon {
    color: var(--success);
}

.pipeline-item.processing {
    border-left: 4px solid var(--primary);
    background: rgba(0, 229, 209, 0.05);
}

.pipeline-item.processing .pipeline-icon {
    color: var(--primary);
}

/* Buttons - Teal Branding */
.modern-button {
    background: #00E5D1;
    color: var(--background);
    border: 1px solid #00E5D1;
    border-radius: var(--border-radius);
    padding: 12px 24px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    overflow: hidden;
}

.modern-button:hover {
    background: #00D4B8;
    border-color: #00D4B8;
    box-shadow: 0 0 6px rgba(0,229,209,0.8);
    transform: translateY(-2px);
}

.modern-button:active {
    transform: translateY(0);
}

.modern-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Button Variants */
.btn-primary {
    background: #00E5D1;
    color: var(--background);
    border-color: #00E5D1;
}

.btn-primary:hover {
    background: #00D4B8;
    border-color: #00D4B8;
    box-shadow: 0 0 6px rgba(0,229,209,0.8);
}

.btn-secondary {
    background: transparent;
    color: var(--text-primary);
    border-color: var(--border);
}

.btn-secondary:hover {
    background: var(--surface-hover);
    border-color: #00E5D1;
    color: #00E5D1;
}

.btn-danger {
    background: #FF3151;
    color: white;
    border-color: #FF3151;
}

.btn-danger:hover {
    background: #FF1A3A;
    box-shadow: var(--glow-red);
}

.btn-success {
    background: #00FF99;
    color: var(--background);
    border-color: #00FF99;
}

.btn-success:hover {
    background: #00E68A;
    box-shadow: var(--glow-success-soft);
}

.modern-button.btn-sm {
    padding: 8px 16px;
    font-size: 12px;
}

/* Input Fields */
.modern-input {
    background: rgba(30, 41, 59, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 12px 16px;
    color: var(--text-primary);
    font-size: 14px;
    transition: all 0.3s ease;
    width: 100%;
}

.modern-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

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

/* Fix white dropdown styling */
select.modern-input {
    background: rgba(30, 41, 59, 0.8) !important;
    color: var(--text-primary) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

select.modern-input option {
    background: rgba(30, 41, 59, 0.9) !important;
    color: var(--text-primary) !important;
    border: none !important;
}

/* Dark theme for all select elements */
select {
    background: rgba(30, 41, 59, 0.8) !important;
    color: var(--text-primary) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

select option {
    background: rgba(30, 41, 59, 0.9) !important;
    color: var(--text-primary) !important;
}

/* Modals */
.modern-modal {
    background: var(--glass-bg);
    backdrop-filter: var(--backdrop-blur);
    -webkit-backdrop-filter: var(--backdrop-blur);
    border: 1px solid var(--glass-border);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-xl);
}

/* Scrollbars */
.modern-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.5) transparent;
}

.modern-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.modern-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.modern-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.5);
    border-radius: 3px;
}

.modern-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.7);
}

/* Episode Items */
.episode-item {
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 16px;
    transition: all 0.3s ease;
}

.episode-item:hover {
    background: rgba(30, 41, 59, 0.7);
    transform: translateY(-1px);
}

/* Metadata Grid */
.metadata-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.metadata-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.metadata-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.metadata-value {
    font-weight: 600;
    color: var(--text-primary);
}

/* Thumbnail Containers */
.thumbnail-container {
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

.thumbnail-placeholder {
    background: rgba(30, 41, 59, 0.8);
    border: 2px dashed rgba(255, 255, 255, 0.2);
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Section Headers */
.section-header {
    font-size: 2rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 1rem;
}

.section-subheader {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

/* Badges */
.bg-green-100 { background-color: #dcfce7; }
.bg-green-800 { color: #166534; }
.bg-yellow-100 { background-color: #fef3c7; }
.bg-yellow-800 { color: #92400e; }
.bg-purple-100 { background-color: rgba(0, 229, 209, 0.1); }
.bg-purple-800 { color: #00E5D1; }
.bg-blue-100 { background-color: rgba(0, 229, 209, 0.1); }
.bg-blue-800 { color: #00E5D1; }
.bg-gray-100 { background-color: #f3f4f6; }
.bg-gray-800 { color: #1f2937; }
.bg-red-100 { background-color: #fee2e2; }
.bg-red-800 { color: #991b1b; }

/* Animations */
.animate-spin {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Responsive Design */
@media (max-width: 768px) {
    .step-indicator {
        gap: 4px;
    }
    
    .step-number {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
    
    .step-label {
        font-size: 10px;
    }
    
    .step-line {
        width: 40px;
    }
    
    .upload-area-large {
        padding: 40px 20px;
    }
    
    .grid-cols-2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .grid-cols-3 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-cols-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
    .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .lg\:col-span-1 { grid-column: span 1 / span 1; }
    .lg\:col-span-2 { grid-column: span 2 / span 2; }
}

/* Layout Components */
.sidebar {
    width: 280px;
    background: var(--surface);
    border-right: 1px solid var(--border);
    height: 100vh;
    overflow-y: auto;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 40;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    backdrop-filter: var(--backdrop-blur);
    -webkit-backdrop-filter: var(--backdrop-blur);
}

.sidebar.collapsed {
    width: 80px;
}

.sidebar.collapsed .nav-item span {
    display: none;
}

.sidebar.collapsed .nav-item {
    justify-content: center;
    padding: 12px;
}

.sidebar.collapsed .text-xs {
    display: none;
}

.sidebar.collapsed h1,
.sidebar.collapsed p {
    display: none;
}

.main-content {
    flex: 1;
    margin-left: 280px;
    height: auto;
    min-height: 100vh;
    background: var(--background);
    transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 2rem;
    position: relative;
}

.main-content::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(0, 229, 209, 0.03) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(255, 49, 81, 0.03) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

.main-content.expanded {
    margin-left: 80px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 0 25px 25px 0;
    margin-right: 20px;
    position: relative;
    overflow: hidden;
    border: 1px solid transparent;
}

.nav-item:hover {
    background: rgba(0, 229, 209, 0.1);
    color: #ffffff;
    border-left-color: #00E5D1;
}

.nav-item.active {
    background: rgba(0, 229, 209, 0.15);
    color: #ffffff;
    border-left-color: #00E5D1;
}

.nav-item.active:hover {
    background: rgba(0, 229, 209, 0.2);
    color: #ffffff;
    border-left-color: #00E5D1;
}

/* Removed sliding animation pseudo-element */

.nav-item i {
    /* Removed transition to prevent text sliding */
}

.nav-item:hover i {
    color: var(--accent);
}

.nav-item.active i {
    color: var(--background);
}

.section {
    display: none;
    padding: 2rem;
}

.section.active {
    display: block;
}

.content-section {
    display: none;
}

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

/* Status Indicators */
.status-online {
    color: #10b981;
}

.status-offline {
    color: #ef4444;
}

.status-syncing {
    color: #f59e0b;
}

/* Loading States */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #00E5D1;
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Utility Classes */
.space-y-3 > * + * { margin-top: 0.75rem; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }

.min-h-screen { min-height: 100vh; }
.h-screen { height: 100vh; }

.aspect-ratio-9-16 { aspect-ratio: 9/16; }

.backdrop-blur-sm { backdrop-filter: blur(4px); }

.bg-opacity-60 { background-color: rgba(0, 0, 0, 0.6); }
.bg-opacity-20 { background-color: rgba(0, 0, 0, 0.2); }

.text-opacity-80 { opacity: 0.8; }

/* Custom Components */
.card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    box-shadow: var(--shadow-md);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--border-radius);
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    text-decoration: none;
}

.btn-primary {
    background: linear-gradient(135deg, #00E5D1, #00D4B8);
    color: white;
}

.btn-secondary {
    background: rgba(100, 116, 139, 0.2);
    color: var(--text-primary);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-success {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
}

.btn-sm {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
}

.btn-xs {
    padding: 0.25rem 0.5rem;
    font-size: 0.6875rem;
}

.input-field {
    background: rgba(30, 41, 59, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 0.75rem 1rem;
    color: var(--text-primary);
    font-size: 0.875rem;
    width: 100%;
    transition: all 0.3s ease;
}

.input-field:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.select-field {
    background: rgba(30, 41, 59, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 0.75rem 1rem;
    color: var(--text-primary);
    font-size: 0.875rem;
    width: 100%;
    cursor: pointer;
}

.textarea-field {
    background: rgba(30, 41, 59, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 0.75rem 1rem;
    color: var(--text-primary);
    font-size: 0.875rem;
    width: 100%;
    resize: vertical;
    min-height: 100px;
}

.upload-area {
    border: 2px dashed var(--border);
    border-radius: var(--border-radius);
    padding: 2rem;
    text-align: center;
    background: var(--surface);
    transition: all 0.3s ease;
    cursor: pointer;
    backdrop-filter: var(--backdrop-blur);
    -webkit-backdrop-filter: var(--backdrop-blur);
    position: relative;
    overflow: hidden;
}

.upload-area:hover {
    border-color: var(--primary);
    background: var(--surface-hover);
    box-shadow: var(--glow-teal-soft);
}

.upload-area.dragover {
    border-color: var(--success);
    background: rgba(0, 255, 153, 0.1);
    box-shadow: var(--glow-success-soft);
}

.upload-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 229, 209, 0.1), transparent);
    transition: left 0.5s;
}

.upload-area:hover::before {
    left: 100%;
}

.upload-area i {
    color: var(--primary);
    font-size: 2rem;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.upload-area:hover i {
    color: var(--primary-hover);
    transform: scale(1.1);
}

.upload-area h3 {
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.upload-area p {
    color: var(--text-secondary);
}

/* ========================================
   VERTICAL OTT CONTENT STYLES (9:16)
   ======================================== */

/* Vertical Content Cards */
.vertical-content-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(var(--vertical-width), 1fr));
    gap: 1.5rem;
    padding: 1rem 0;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 200px !important;
}

.vertical-content-card {
    width: 200px;
    height: 355px; /* 9:16 aspect ratio */
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: block;
    visibility: visible;
    opacity: 1;
    z-index: 10;
    margin: 10px;
    min-height: 355px;
}

.vertical-content-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
    border-color: #667eea;
}

/* Status badges */
.status-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 20;
    cursor: help;
    transition: all 0.2s ease;
}

/* Custom tooltip styling to match theme */
.status-badge[title]:hover::after,
.monetization-badge[title]:hover::after,
.episode-count-badge[title]:hover::after {
    content: attr(title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #1f2937;
    color: #f9fafb;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    border: 1px solid #374151;
}

.status-badge[title]:hover::before,
.monetization-badge[title]:hover::before,
.episode-count-badge[title]:hover::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    border: 5px solid transparent;
    border-top-color: #1f2937;
    z-index: 1000;
}

.status-badge:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.status-badge.published {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: white;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.3);
}

.status-badge.draft {
    background: linear-gradient(135deg, #f97316, #ea580c);
    color: white;
    box-shadow: 0 2px 8px rgba(249, 115, 22, 0.3);
}

/* Monetization badge */
.monetization-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 20;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
    cursor: help;
    transition: all 0.2s ease;
}

.monetization-badge:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}

/* Episode count badge */
.episode-count-badge {
    position: absolute;
    bottom: 8px;
    right: 8px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    color: white;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3);
    z-index: 20;
    cursor: help;
    transition: all 0.2s ease;
}

.episode-count-badge:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

/* Tab container for edit modal */
.tab-container {
    display: flex;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 1rem;
}

.tab-button {
    padding: 1rem 1.5rem;
    border: none;
    background: none;
    cursor: pointer;
    font-weight: 600;
    color: #64748b;
    border-bottom: 3px solid transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 0.95rem;
    position: relative;
}

.tab-button.active {
    color: #667eea;
    border-bottom-color: #667eea;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
}

.tab-button:hover {
    color: #667eea;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    transform: translateY(-1px);
}

.tab-content {
    display: none;
}

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

/* Modal enhancements */
.modal.large {
    max-width: 1200px;
    width: 95vw;
    max-height: 90vh;
}

.modal-content.modal-tabs {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
}

.modal-header {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.98) 100%);
    padding: 2rem 2rem 1.5rem 2rem;
    border-bottom: 2px solid #e2e8f0;
    backdrop-filter: blur(10px);
}

.modal-header h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    background: linear-gradient(135deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.tab-container {
    background: #fff;
    padding: 0 2rem;
    display: flex;
    gap: 1rem;
    border-bottom: 2px solid #e5e7eb;
}

.tab-button {
    padding: 1rem 1.5rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
    background: none;
    border: none;
    font-size: 0.9rem;
}

.tab-button:hover {
    color: #667eea;
    background: rgba(102, 126, 234, 0.05);
}

.tab-button.active {
    color: #667eea;
    border-bottom-color: #667eea;
    background: rgba(102, 126, 234, 0.1);
}

.tab-content {
    background: #fff;
    padding: 2rem;
    min-height: 400px;
}

/* Episode List Styling */
.episode-edit-item {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 12px;
    margin-bottom: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 2px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.episode-edit-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.episode-edit-item:hover {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.15);
    border-color: #667eea;
}

.episode-edit-item:hover::before {
    transform: scaleX(1);
}

.episode-thumbnail {
    width: 90px;
    height: 120px;
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 2.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.episode-thumbnail:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.episode-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.episode-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

.episode-number {
    font-weight: 700;
    color: #667eea;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    background: linear-gradient(135deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.episode-title {
    font-weight: 700;
    color: #1e293b;
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

.episode-duration {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 600;
    background: #f1f5f9;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    display: inline-block;
    width: fit-content;
}

.episode-actions {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.btn-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 18px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}

.btn-icon:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.btn-icon.delete {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2);
}

.btn-icon.delete:hover {
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
}

.btn-play-episode {
    background: #10b981;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-play-episode:hover {
    background: #059669;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(16, 185, 129, 0.3);
}

/* Video Player Styles */
.video-player-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}

.video-player-container video {
    width: 100%;
    height: auto;
    max-height: 400px;
    background: #000;
}

.video-info {
    padding: 1rem;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    border-radius: 0 0 8px 8px;
}

.video-info h5 {
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.video-info p {
    margin: 0;
    color: #d1d5db;
    font-size: 0.9rem;
}

/* Thumbnail Upload Styles */
.thumbnail-upload-zone {
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    background: #f9fafb;
}

.thumbnail-upload-zone:hover {
    border-color: #667eea;
    background: rgba(102, 126, 234, 0.05);
}

.thumbnail-upload-zone.dragover {
    border-color: #667eea;
    background: rgba(102, 126, 234, 0.1);
}

.thumbnail-preview {
    width: 200px;
    height: 300px;
    border-radius: 8px;
    overflow: hidden;
    margin: 1rem auto;
    border: 2px solid #e5e7eb;
}

.thumbnail-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail-info {
    text-align: center;
    color: #6b7280;
    font-size: 0.875rem;
    margin-top: 0.5rem;
}

/* Form Improvements */
.modal-tabs .form-group {
    margin-bottom: 1.5rem;
}

.modal-tabs .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.modal-tabs label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #374151;
    font-size: 0.9rem;
}

.modal-tabs input,
.modal-tabs textarea,
.modal-tabs select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    background: #fff;
}

.modal-tabs input:focus,
.modal-tabs textarea:focus,
.modal-tabs select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

.modal-tabs textarea {
    resize: vertical;
    min-height: 100px;
}

.character-count {
    font-size: 0.75rem;
    color: #6b7280;
    text-align: right;
    margin-top: 0.25rem;
}

/* Progress Bar Styles */
.upload-progress {
    margin-top: 1rem;
    padding: 1rem;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.progress-bar {
    width: 100%;
    height: 8px;
    background: #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #667eea, #764ba2);
    border-radius: 4px;
    transition: width 0.3s ease;
    width: 0%;
}

.progress-text {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
    text-align: center;
}

/* Video Header Styles */
.video-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px 8px 0 0;
    margin-bottom: 0;
}

.video-header h4 {
    margin: 0;
    color: #1f2937;
    font-size: 1.1rem;
    font-weight: 600;
}

.video-header .btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

/* Upload Hint Styles */
.upload-hint {
    font-size: 0.75rem;
    color: #9ca3af;
    margin-top: 0.5rem;
}

/* No Episodes/Error States */
.no-episodes, .error-episodes {
    text-align: center;
    padding: 2rem;
    color: #6b7280;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px dashed #d1d5db;
}

.error-episodes {
    color: #ef4444;
    background: #fef2f2;
    border-color: #fecaca;
}

.modal-tabs .form-group {
    margin-bottom: 1rem;
}

.modal-tabs label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: #374151;
}

.modal-tabs input,
.modal-tabs textarea,
.modal-tabs select {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.875rem;
}

.modal-tabs input:focus,
.modal-tabs textarea:focus,
.modal-tabs select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Coming soon badge */
.coming-soon-badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
    margin-left: 0.5rem;
}

/* Episodes list in preview */
.episodes-section {
    margin: 1rem 0;
}

.episodes-section h5 {
    margin-bottom: 0.5rem;
    color: #374151;
    font-weight: 600;
}

.episodes-list {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #f9fafb;
}

.episode-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    border-bottom: 1px solid #e5e7eb;
}

.episode-item:last-child {
    border-bottom: none;
}

.episode-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.episode-number {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
}

.episode-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.3;
    margin-top: 2px;
}

.episode-duration {
    font-size: 0.75rem;
    color: #6b7280;
}

.episode-status {
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.episode-status.published {
    background: #d1fae5;
    color: #065f46;
}

.episode-status.draft {
    background: #fef3c7;
    color: #92400e;
}

.loading-episodes,
.no-episodes,
.error-episodes {
    padding: 1rem;
    text-align: center;
    color: #6b7280;
    font-style: italic;
}

/* Episode edit items */
.episode-edit-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 0.5rem;
    background: #f9fafb;
}

.episode-edit-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}

.episode-edit-actions {
    display: flex;
    gap: 0.5rem;
}

.episodes-management {
    margin-top: 1rem;
}

.episodes-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.episodes-header h4 {
    margin: 0;
    color: #374151;
}

/* Thumbnail management */
.thumbnail-management {
    margin-top: 1rem;
}

.current-thumbnail {
    margin-bottom: 1rem;
    text-align: center;
}

.no-thumbnail-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    color: #6b7280;
}

.no-thumbnail-placeholder i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.upload-thumbnail {
    text-align: center;
}

/* Monetization placeholder */
.monetization-placeholder {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.placeholder-content {
    text-align: center;
    color: #6b7280;
}

.placeholder-content h4 {
    color: #374151;
    margin-bottom: 1rem;
}

.placeholder-content ul {
    text-align: left;
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.placeholder-content li {
    margin-bottom: 0.5rem;
}

.coming-soon-notice {
    margin-top: 1.5rem;
}

/* Episode view items */
.episode-view-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 0.5rem;
    background: #f9fafb;
}

.episode-view-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}

.episode-view-status {
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.episode-view-status.published {
    background: #d1fae5;
    color: #065f46;
}

.episode-view-status.draft {
    background: #fef3c7;
    color: #92400e;
}

/* Enhanced content cards */
.vertical-content-card .content-actions {
    display: flex;
    gap: 0.25rem;
    margin-top: 0.5rem;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.vertical-content-card:hover .content-actions {
    opacity: 1;
}

.vertical-content-card .btn {
    padding: 0.375rem;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vertical-content-card .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.vertical-content-card .btn-sm {
    font-size: 0.75rem;
    min-width: 28px;
    height: 28px;
}

.vertical-content-card .content-title {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0.5rem 0;
    line-height: 1.2;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.vertical-content-card .content-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

.vertical-content-card .content-meta span {
    font-size: 0.75rem;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.vertical-content-card .content-meta i {
    width: 12px;
    height: 12px;
}

/* Thumbnail images */
.vertical-content-card img {
    transition: opacity 0.3s ease;
    opacity: 1;
}

/* Enhanced no-thumbnail state */
.vertical-content-card .no-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #9ca3af;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
}

.vertical-content-card .no-thumbnail i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.vertical-content-card .no-thumbnail span {
    font-size: 0.75rem;
    font-weight: 500;
}

/* Play overlay enhancement */
.vertical-content-card .play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.vertical-content-card:hover .play-overlay {
    opacity: 1;
}

.vertical-content-card .play-overlay i {
    color: white;
    font-size: 1.25rem;
    margin-left: 2px; /* Slight offset for play icon */
}

/* Search and Filter Styles */
.content-filters {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

.content-filters input,
.content-filters select {
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.875rem;
    background: white;
    transition: border-color 0.2s ease;
}

.content-filters input:focus,
.content-filters select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.content-filters input {
    min-width: 200px;
}

.content-filters select {
    min-width: 120px;
}

.content-filters .btn.active {
    background: #667eea;
    color: white;
    border-color: #667eea;
}

/* Empty state for filtered results */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    text-align: center;
    color: #6b7280;
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #9ca3af;
}

.empty-state h3 {
    margin-bottom: 0.5rem;
    color: #374151;
}

.empty-state p {
    margin-bottom: 1.5rem;
    color: #6b7280;
}

.vertical-content-card .video-thumbnail {
    width: 100%;
    height: 70%;
    position: relative;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2rem;
    overflow: hidden;
}

.vertical-content-card .video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vertical-content-card .no-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.7);
}

.vertical-content-card .no-thumbnail i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.vertical-content-card .no-thumbnail span {
    font-size: 0.8rem;
}

.vertical-content-card .play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    color: white;
}

.vertical-content-card:hover .play-overlay {
    opacity: 1;
}

.vertical-content-card .content-status {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.vertical-content-card .content-status.published {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.vertical-content-card .content-status.draft {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.3);
}

.vertical-content-card .content-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
    padding: 1rem;
    color: white;
    height: 30%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.vertical-content-card .content-title {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.vertical-content-card .content-meta {
    font-size: 0.75rem;
    opacity: 0.8;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.vertical-content-card .content-meta span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.vertical-content-card .content-actions {
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.vertical-content-card:hover .content-actions {
    opacity: 1;
}

.vertical-content-card .content-actions .btn {
    padding: 4px 8px;
    font-size: 0.7rem;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
}

/* Content List View */
.episode-list-vertical {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0;
}

.content-list-item {
    background: var(--surface);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
}

.content-list-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}

.content-list-item .content-thumbnail {
    width: 120px;
    height: 160px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.content-list-item .content-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-list-item .no-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.7);
}

.content-list-item .content-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.content-list-item .content-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.content-list-item .content-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
}

.content-list-item .content-status {
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 0.75rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.content-list-item .content-status.published {
    background: rgba(34, 197, 94, 0.1);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.content-list-item .content-status.draft {
    background: rgba(251, 191, 36, 0.1);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.2);
}

.content-list-item .content-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.content-list-item .content-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.content-list-item .meta-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.content-list-item .content-stats {
    display: flex;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.content-list-item .stat-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.content-list-item .content-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.content-list-item .content-actions .btn {
    padding: 8px 12px;
    font-size: 0.875rem;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.content-list-item .content-actions .btn:hover {
    transform: translateY(-1px);
}

/* Empty States */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    color: var(--text-secondary);
}

.empty-state i {
    font-size: 4rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.empty-state h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.empty-state p {
    margin-bottom: 2rem;
    max-width: 400px;
}

.empty-state .btn {
    padding: 12px 24px;
    font-size: 1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.empty-state .btn:hover {
    transform: translateY(-2px);
}

/* Error States */
.error-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    color: var(--text-secondary);
}

.error-state i {
    font-size: 4rem;
    margin-bottom: 1rem;
    color: #ef4444;
    opacity: 0.7;
}

.error-state h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.error-state p {
    margin-bottom: 2rem;
    max-width: 400px;
}

.error-state .btn {
    padding: 12px 24px;
    font-size: 1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.error-state .btn:hover {
    transform: translateY(-2px);
}

/* Content Filters */
.content-filters {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.content-filters input,
.content-filters select {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: var(--text-primary);
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.content-filters input:focus,
.content-filters select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.1);
}

.content-filters input {
    min-width: 200px;
}

.content-filters select {
    min-width: 120px;
}

/* Toast Notifications */
.toast {
    position: fixed;
    top: 20px;
    right: 20px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1rem 1.5rem;
    box-shadow: var(--shadow-lg);
    z-index: 10000;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 300px;
    animation: slideInRight 0.3s ease;
}

.toast-success {
    border-left: 4px solid #22c55e;
}

.toast-error {
    border-left: 4px solid #ef4444;
}

.toast-info {
    border-left: 4px solid #3b82f6;
}

.toast-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-primary);
}

.toast-content i {
    font-size: 1.25rem;
}

.toast-success .toast-content i {
    color: #22c55e;
}

.toast-error .toast-content i {
    color: #ef4444;
}

.toast-info .toast-content i {
    color: #3b82f6;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Modal Enhancements */
.modal-content.large {
    max-width: 800px;
    width: 90vw;
}

.content-detail-view {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}

.detail-thumbnail {
    width: 200px;
    height: 300px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.detail-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detail-thumbnail .no-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.7);
}

.detail-info {
    flex: 1;
}

.detail-info h2 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 1rem 0;
    line-height: 1.2;
}

.detail-description {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.detail-meta {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.meta-section h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 1rem 0;
}

.meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.meta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

.meta-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.meta-value {
    font-weight: 600;
    color: var(--text-primary);
}

.meta-value.status-published {
    color: #22c55e;
}

.meta-value.status-draft {
    color: #fbbf24;
}

/* Preview Pane Enhancements */
.preview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.preview-header h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.preview-info h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.75rem 0;
}

/* Enhanced preview title section */
.preview-title-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 12px;
    background: linear-gradient(135deg, #374151, #4b5563);
    border-radius: 8px;
    border: 1px solid #4b5563;
}

.preview-title {
    margin: 0;
    color: #f9fafb;
    font-size: 1.1rem;
    font-weight: 600;
    flex: 1;
}

.preview-status-badge {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.preview-status-badge.status-published {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: white;
}

.preview-status-badge.status-draft {
    background: linear-gradient(135deg, #f97316, #ea580c);
    color: white;
}

.preview-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.preview-meta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
}

.meta-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.meta-value {
    font-weight: 600;
    color: var(--text-primary);
}

.meta-value.status-published {
    color: #22c55e;
}

.meta-value.status-draft {
    color: #fbbf24;
}

.preview-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.no-video {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
}

.no-video i {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.no-video p {
    font-size: 1rem;
    margin: 0;
}

/* Video Preview Pane */
.video-preview-pane {
    position: fixed;
    top: 0;
    right: 0;
    width: 400px;
    height: 100vh;
    background: var(--surface);
    border-left: 1px solid var(--border);
    padding: 2rem;
    overflow-y: auto;
    z-index: 1000;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    display: none; /* Hide by default */
}

.video-preview-pane.active {
    display: block !important; /* Force show when active */
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
}

.smartphone-mockup {
    width: 200px;
    height: 400px;
    background: #000;
    border-radius: 25px;
    padding: 20px;
    margin: 0 auto 2rem;
    position: relative;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}

.smartphone-screen {
    width: 100%;
    height: 100%;
    background: #000;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

.smartphone-screen video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.safe-zone-guidelines {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.safe-zone-top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--safe-zone-top);
    border-bottom: 2px dashed rgba(255, 255, 255, 0.3);
}

.safe-zone-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--safe-zone-bottom);
    border-top: 2px dashed rgba(255, 255, 255, 0.3);
}

.safe-zone-label {
    position: absolute;
    right: 5px;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
    background: rgba(0, 0, 0, 0.5);
    padding: 2px 6px;
    border-radius: 3px;
}

.safe-zone-top .safe-zone-label {
    top: 5px;
}

.safe-zone-bottom .safe-zone-label {
    bottom: 5px;
}

/* Upload Content Enhancements */
.vertical-upload {
    aspect-ratio: 9/16;
    max-width: 200px;
    height: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--border);
    border-radius: var(--border-radius);
    background: var(--surface);
    transition: all 0.3s ease;
}

.vertical-upload:hover {
    border-color: var(--primary);
    background: rgba(59, 130, 246, 0.1);
}

.vertical-upload.dragover {
    border-color: var(--accent);
    background: rgba(16, 185, 129, 0.1);
}

.vertical-upload-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius);
}

.crop-tool-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius);
}

.crop-tool {
    background: var(--surface);
    padding: 1rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--border);
}

.crop-preview {
    width: 150px;
    height: 267px; /* 9:16 aspect ratio */
    border: 2px solid var(--primary);
    border-radius: 8px;
    overflow: hidden;
    margin: 0 auto 1rem;
    position: relative;
}

.crop-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Vertical Analytics Cards */
.vertical-analytics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.vertical-analytics-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    text-align: center;
}

.vertical-analytics-card .metric-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.vertical-analytics-card .metric-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.vertical-analytics-card .metric-description {
    font-size: 0.8rem;
    color: var(--text-muted);
}

/* Episode List - Vertical Cards */
.episode-list-vertical {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.episode-card-vertical {
    display: flex;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: all 0.3s ease;
}

.episode-card-vertical:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-md);
}

.episode-thumbnail-vertical {
    width: 120px;
    height: 213px; /* 9:16 aspect ratio */
    object-fit: cover;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
}

.episode-info-vertical {
    flex: 1;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.episode-title-vertical {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.episode-description-vertical {
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    line-height: 1.4;
}

.episode-meta-vertical {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.episode-actions-vertical {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 2000;
    justify-content: center;
    align-items: center;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: var(--surface);
    border-radius: var(--border-radius);
    padding: 2rem;
    max-width: 90vw;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.modal-body {
    margin-bottom: 1.5rem;
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}

/* Layout Fixes */
.section-header {
    margin-bottom: 2rem;
    padding: 0;
}

.upload-area {
    min-height: 200px;
    height: auto;
}

.vertical-content-grid {
    min-height: auto;
    height: auto;
}

.episode-list-vertical {
    min-height: auto;
    height: auto;
}

/* Remove any unwanted spacing */
.content-section:empty {
    display: none;
}

/* Ensure proper background coverage */
#app {
    background: var(--background);
}

/* Responsive Design */
@media (max-width: 768px) {
    .vertical-content-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 1rem;
    }
    
    .vertical-content-card {
        width: 150px;
        height: 267px;
    }
    
    .video-preview-pane {
        width: 100%;
        transform: translateY(100%);
    }
    
    .video-preview-pane.active {
        transform: translateY(0);
    }
    
    .smartphone-mockup {
        width: 150px;
        height: 300px;
    }
    
    .main-content {
        margin-left: 0;
        padding: 1rem;
    }
}

/* Print Styles */
@media print {
    .sidebar,
    .nav-item,
    .btn,
    .upload-area {
        display: none !important;
    }
    
    .main-content {
        margin-left: 0;
    }
    
    .section {
        display: block !important;
    }
}

/* Upload Progress Modal Styles */
.upload-progress-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.upload-progress-content {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 20px;
    padding: 30px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    color: white;
}

.upload-progress-content h3 {
    margin: 0 0 20px 0;
    font-size: 24px;
    color: #4CAF50;
    font-weight: 600;
}

.upload-info {
    margin-bottom: 25px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.file-name {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #ffffff;
    word-break: break-all;
}

.file-size {
    font-size: 14px;
    color: #b0b0b0;
}

.progress-container {
    margin-bottom: 25px;
}

.progress-bar {
    width: 100%;
    height: 12px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #4CAF50 0%, #45a049 100%);
    width: 0%;
    transition: width 0.3s ease;
    border-radius: 6px;
    position: relative;
}

.progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
    animation: progress-shine 2s infinite;
}

@keyframes progress-shine {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.progress-text {
    font-size: 16px;
    font-weight: 600;
    color: #4CAF50;
}

.upload-details {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
    margin-bottom: 25px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.upload-details > div {
    font-size: 12px;
    color: #b0b0b0;
    text-align: center;
}

.upload-details > div:first-child {
    color: #FF9800;
}

.upload-details > div:nth-child(2) {
    color: #2196F3;
}

.upload-details > div:last-child {
    color: #9C27B0;
}

.cancel-upload-btn {
    background: linear-gradient(135deg, #f44336 0%, #d32f2f 100%);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3);
}

.cancel-upload-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(244, 67, 54, 0.4);
    background: linear-gradient(135deg, #d32f2f 0%, #b71c1c 100%);
}

.cancel-upload-btn:active {
    transform: translateY(0);
}

/* Responsive upload modal */
@media (max-width: 768px) {
    .upload-progress-content {
        padding: 20px;
        margin: 20px;
    }
    
    .upload-details {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .upload-details > div {
        font-size: 11px;
    }
}

/* Metadata Extraction Modal Styles */
.extraction-progress-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10001;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.extraction-progress-content {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 20px;
    padding: 30px;
    max-width: 600px;
    width: 90%;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    color: white;
}

.extraction-progress-content h3 {
    margin: 0 0 20px 0;
    font-size: 24px;
    color: #FF9800;
    font-weight: 600;
}

.extraction-info {
    margin-bottom: 25px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.extraction-status {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #ffffff;
}

.extraction-status.info {
    color: #2196F3;
}

.extraction-status.success {
    color: #4CAF50;
}

.extraction-status.error {
    color: #f44336;
}

.extraction-details {
    font-size: 14px;
    color: #b0b0b0;
}

.extraction-steps {
    margin: 25px 0;
    text-align: left;
}

.extraction-steps .step {
    padding: 10px 15px;
    margin: 5px 0;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #b0b0b0;
    transition: all 0.3s ease;
}

.extraction-steps .step.active {
    background: rgba(33, 150, 243, 0.2);
    border-color: #2196F3;
    color: #2196F3;
}

.extraction-steps .step.completed {
    background: rgba(76, 175, 80, 0.2);
    border-color: #4CAF50;
    color: #4CAF50;
}

.cancel-extraction-btn {
    background: linear-gradient(135deg, #f44336 0%, #d32f2f 100%);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3);
    margin-top: 20px;
}

.cancel-extraction-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(244, 67, 54, 0.4);
}

/* Metadata Results Modal Styles */
.metadata-results-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10002;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.metadata-results-content {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 20px;
    padding: 30px;
    max-width: 800px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
}

.metadata-results-content h3 {
    margin: 0 0 20px 0;
    font-size: 24px;
    color: #4CAF50;
    font-weight: 600;
    text-align: center;
}

.metadata-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 30px;
}

.metadata-item {
    background: rgba(255, 255, 255, 0.05);
    padding: 15px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.metadata-item label {
    display: block;
    font-size: 12px;
    color: #b0b0b0;
    margin-bottom: 5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.metadata-value {
    font-size: 16px;
    color: #ffffff;
    font-weight: 600;
}

.thumbnail-section {
    margin: 30px 0;
}

.thumbnail-section h4 {
    margin: 0 0 20px 0;
    font-size: 18px;
    color: #FF9800;
    font-weight: 600;
}

.thumbnail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.thumbnail-item {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 10px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
}

.thumbnail-item:hover {
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.thumbnail-item.selected {
    border-color: #4CAF50;
    background: rgba(76, 175, 80, 0.1);
}

.thumbnail-item img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
}

.select-thumbnail-btn {
    width: 100%;
    background: #2196F3;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.select-thumbnail-btn:hover {
    background: #1976D2;
}

.thumbnail-item.selected .select-thumbnail-btn {
    background: #4CAF50;
}

.thumbnail-item.selected .select-thumbnail-btn:hover {
    background: #45a049;
}

.metadata-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
}

/* Manual Override Modal Styles */
.manual-override-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10003;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.manual-override-content {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 20px;
    padding: 30px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
}

.manual-override-content h3 {
    margin: 0 0 20px 0;
    font-size: 24px;
    color: #FF9800;
    font-weight: 600;
    text-align: center;
}

.error-message {
    background: rgba(244, 67, 54, 0.2);
    border: 1px solid #f44336;
    color: #f44336;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-weight: 600;
}

.override-form {
    margin: 20px 0;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 14px;
    color: #b0b0b0;
    margin-bottom: 8px;
    font-weight: 600;
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: white;
    font-size: 14px;
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.form-group input::placeholder {
    color: #666;
}

.override-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
}

/* Button Styles */
.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.btn-primary {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
}

.btn-secondary {
    background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3);
}

.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(33, 150, 243, 0.4);
}

.btn-danger {
    background: linear-gradient(135deg, #f44336 0%, #d32f2f 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3);
}

.btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(244, 67, 54, 0.4);
}

/* Responsive Design */
@media (max-width: 768px) {
    .extraction-progress-content,
    .metadata-results-content,
    .manual-override-content {
        padding: 20px;
        margin: 20px;
    }
    
    .metadata-grid {
        grid-template-columns: 1fr;
    }
    
    .thumbnail-grid {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    }
    
    .metadata-actions,
    .override-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .btn {
        width: 100%;
        max-width: 200px;
    }
}

/* Upload Wizard Styles */
.upload-wizard-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.upload-wizard-modal.show {
    opacity: 1;
    transform: scale(1);
}

.upload-wizard-content {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    border-radius: 15px;
    padding: 0;
    max-width: 900px;
    width: 95%;
    max-height: 90vh;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
    border: 1px solid #2a2a2a;
    color: #ffffff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wizard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px;
    border-bottom: 1px solid #2a2a2a;
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
}

.wizard-header h2 {
    margin: 0;
    font-size: 24px;
    color: #00E5D1;
    font-weight: 600;
    background: linear-gradient(135deg, #00E5D1, #00D4B8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.close-wizard-btn {
    background: none;
    border: none;
    color: #b0b0b0;
    font-size: 28px;
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.close-wizard-btn:hover {
    background: rgba(0, 229, 209, 0.2);
    color: #00E5D1;
    transform: scale(1.1);
}

.close-wizard-btn:active {
    transform: scale(0.95);
}

.close-wizard-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(0, 229, 209, 0.1);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
}

.close-wizard-btn:hover::before {
    width: 100%;
    height: 100%;
}

.wizard-progress {
    padding: 20px 30px;
    background: rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #2a2a2a;
}

.progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #00E5D1 0%, #00D4B8 100%);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.progress-text {
    text-align: center;
    font-size: 14px;
    color: #9ca3af;
    font-weight: 600;
}

.wizard-steps {
    display: flex;
    justify-content: space-between;
    padding: 20px 30px;
    background: rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #2a2a2a;
}

.step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
}

.step-indicator:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 15px;
    left: 60%;
    width: 80%;
    height: 2px;
    background: rgba(255, 255, 255, 0.1);
    z-index: 1;
}

.step-indicator.completed:not(:last-child)::after {
    background: #00E5D1;
}

.step-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #b0b0b0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.step-indicator.active .step-number {
    background: linear-gradient(135deg, #00E5D1, #00D4B8);
    color: white;
}

.step-indicator.completed .step-number {
    background: #00E5D1;
    color: white;
}

.step-title {
    font-size: 12px;
    color: #b0b0b0;
    text-align: center;
    font-weight: 500;
}

.step-indicator.active .step-title {
    color: #2196F3;
}

.step-indicator.completed .step-title {
    color: #4CAF50;
}

.wizard-body {
    flex: 1;
    padding: 30px;
    overflow-y: auto;
}

.wizard-step {
    min-height: 400px;
}

.wizard-step h3 {
    margin: 0 0 10px 0;
    font-size: 22px;
    color: #ffffff;
    font-weight: 600;
}

.wizard-step p {
    margin: 0 0 30px 0;
    color: #b0b0b0;
    font-size: 14px;
}

.wizard-footer {
    padding: 25px 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
}

.wizard-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

/* Upload Area Styles */
.upload-area {
    border: 2px dashed #2a2a2a;
    border-radius: 15px;
    padding: 40px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.upload-area:hover,
.upload-area.dragover {
    border-color: #00E5D1;
    background: rgba(0, 229, 209, 0.1);
}

.upload-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.upload-icon {
    font-size: 48px;
    color: #00E5D1;
}

.upload-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.upload-text strong {
    font-size: 18px;
    color: #ffffff;
}

.upload-text span {
    font-size: 14px;
    color: #b0b0b0;
}

.upload-formats {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
}

/* Upload Progress Styles */
.upload-progress {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.progress-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.file-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.file-name {
    font-weight: 600;
    color: #ffffff;
}

.file-size {
    font-size: 12px;
    color: #b0b0b0;
}

.progress-controls {
    display: flex;
    gap: 10px;
}

.progress-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    font-size: 12px;
    color: #b0b0b0;
}

/* Upload Result Styles */
.upload-result {
    background: rgba(76, 175, 80, 0.1);
    border: 1px solid #4CAF50;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.result-success {
    display: flex;
    align-items: center;
    gap: 15px;
}

.success-icon {
    font-size: 24px;
}

.success-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.success-text strong {
    color: #4CAF50;
    font-weight: 600;
}

.upload-url {
    font-size: 12px;
    color: #b0b0b0;
    word-break: break-all;
}

/* Metadata Styles */
.metadata-progress {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.progress-icon {
    font-size: 24px;
    margin-bottom: 10px;
}

.metadata-results {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.metadata-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.metadata-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.metadata-item label {
    font-size: 12px;
    color: #b0b0b0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.metadata-item input,
.metadata-item select {
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    color: white;
    font-size: 14px;
}

.metadata-item input:focus,
.metadata-item select:focus {
    outline: none;
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.thumbnail-section {
    margin-top: 20px;
}

.thumbnail-section h4 {
    margin: 0 0 15px 0;
    font-size: 16px;
    color: #FF9800;
    font-weight: 600;
}

.thumbnail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 15px;
}

.thumbnail-item {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    padding: 10px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
}

.thumbnail-item:hover {
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.thumbnail-item.selected {
    border-color: #4CAF50;
    background: rgba(76, 175, 80, 0.1);
}

.thumbnail-item img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 8px;
}

.select-thumbnail-btn {
    width: 100%;
    background: #2196F3;
    color: white;
    border: none;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.thumbnail-item.selected .select-thumbnail-btn {
    background: #4CAF50;
}

/* Manual Override Styles */
.manual-override {
    background: rgba(255, 152, 0, 0.1);
    border: 1px solid #FF9800;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.override-header h4 {
    margin: 0 0 10px 0;
    color: #FF9800;
    font-weight: 600;
}

.override-form {
    margin-top: 15px;
}

/* Details Form Styles */
.details-form {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    padding: 20px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 14px;
    color: #b0b0b0;
    margin-bottom: 8px;
    font-weight: 600;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: white;
    font-size: 14px;
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 100px;
}

.form-group small {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #666;
}

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

/* Monetization Styles */
.monetization-form {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    padding: 20px;
}

.monetization-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 10px;
}

.option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.option-card:hover {
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.option-card input[type="radio"] {
    display: none;
}

.option-card input[type="radio"]:checked + .option-content {
    color: #2196F3;
}

.option-card input[type="radio"]:checked {
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.option-icon {
    font-size: 24px;
}

.option-title {
    font-weight: 600;
    font-size: 16px;
}

.option-description {
    font-size: 12px;
    color: #b0b0b0;
}

/* Review Styles */
.review-content {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.review-section {
    margin-bottom: 25px;
}

.review-section:last-child {
    margin-bottom: 0;
}

.review-section h4 {
    margin: 0 0 15px 0;
    font-size: 16px;
    color: #FF9800;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 8px;
}

.review-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.review-item:last-child {
    border-bottom: none;
}

.review-item label {
    font-weight: 600;
    color: #b0b0b0;
    min-width: 120px;
}

.review-item span {
    color: #ffffff;
    text-align: right;
    flex: 1;
}

.status-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.status-badge.completed {
    background: rgba(76, 175, 80, 0.2);
    color: #4CAF50;
}

.status-badge.uploading {
    background: rgba(33, 150, 243, 0.2);
    color: #2196F3;
}

.review-thumbnail {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
}

/* Publish Options */
.publish-options {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    padding: 20px;
}

.publish-options h4 {
    margin: 0 0 15px 0;
    font-size: 16px;
    color: #FF9800;
    font-weight: 600;
}

.publish-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.publish-option {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.publish-option:hover {
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

.publish-option input[type="radio"] {
    display: none;
}

.publish-option input[type="radio"]:checked + .option-content {
    color: #2196F3;
}

.publish-option input[type="radio"]:checked {
    border-color: #2196F3;
    background: rgba(33, 150, 243, 0.1);
}

/* Button Styles */
.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    min-width: 120px;
}

.btn-primary {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
}

.btn-secondary {
    background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3);
}

.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(33, 150, 243, 0.4);
}

.btn-outline {
    background: transparent;
    color: #b0b0b0;
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.btn-outline:hover {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border-color: rgba(255, 255, 255, 0.3);
}

.btn-danger {
    background: linear-gradient(135deg, #f44336 0%, #d32f2f 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3);
}

.btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(244, 67, 54, 0.4);
}

.btn-sm {
    padding: 8px 16px;
    font-size: 12px;
    min-width: 80px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .upload-wizard-content {
        width: 98%;
        margin: 10px;
        max-height: 95vh;
    }
    
    .wizard-header,
    .wizard-progress,
    .wizard-steps,
    .wizard-body,
    .wizard-footer {
        padding: 15px 20px;
    }
    
    .wizard-steps {
        flex-direction: column;
        gap: 15px;
    }
    
    .step-indicator {
        flex-direction: row;
        justify-content: flex-start;
        gap: 15px;
    }
    
    .step-indicator:not(:last-child)::after {
        display: none;
    }
    
    .metadata-grid {
        grid-template-columns: 1fr;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .monetization-options,
    .publish-actions {
        grid-template-columns: 1fr;
    }
    
    .wizard-actions {
        flex-direction: column;
        gap: 10px;
    }
    
    .btn {
        width: 100%;
    }
}

/* Upload Wizard Button Styles - Matching Main Theme */
.upload-wizard-modal .btn-primary {
    background: linear-gradient(135deg, #00E5D1 0%, #00D4B8 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(0, 229, 209, 0.3);
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.upload-wizard-modal .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 229, 209, 0.4);
    background: linear-gradient(135deg, #00D4B8 0%, #00B8A3 100%);
}

.upload-wizard-modal .btn-secondary {
    background: rgba(100, 116, 139, 0.2);
    color: #9ca3af;
    border: 1px solid #2a2a2a;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.upload-wizard-modal .btn-secondary:hover {
    background: rgba(0, 229, 209, 0.1);
    color: #00E5D1;
    border-color: #00E5D1;
}

/* Integrated Upload Wizard Styles */
.upload-wizard-integrated {
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    border: 1px solid #2a2a2a;
    border-radius: 15px;
    padding: 0;
    margin-top: 2rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.upload-wizard-integrated-content {
    display: flex;
    flex-direction: column;
    min-height: 600px;
}

.upload-wizard-integrated .wizard-progress {
    padding: 20px 30px;
    background: rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #2a2a2a;
}

.upload-wizard-integrated .wizard-steps {
    display: flex;
    justify-content: space-between;
    padding: 20px 30px;
    background: rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #2a2a2a;
}

.upload-wizard-integrated .wizard-body {
    flex: 1;
    padding: 30px;
    background: rgba(0, 0, 0, 0.05);
}

.upload-wizard-integrated .wizard-footer {
    padding: 25px 30px;
    border-top: 1px solid #2a2a2a;
    background: rgba(0, 0, 0, 0.1);
}

.upload-wizard-integrated .wizard-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.upload-wizard-integrated .wizard-step-info {
    color: #9ca3af;
    font-size: 14px;
    font-weight: 500;
}

/* Responsive integrated wizard */
@media (max-width: 768px) {
    .upload-wizard-integrated .wizard-steps {
        flex-direction: column;
        gap: 15px;
    }
    
    .upload-wizard-integrated .step-indicator {
        flex-direction: row;
        justify-content: flex-start;
        gap: 15px;
    }
    
    .upload-wizard-integrated .wizard-actions {
        flex-direction: column;
        gap: 10px;
    }
    
    .upload-wizard-integrated .btn {
        width: 100%;
    }
}

/* Dual-Mode Upload Wizard Styles */
.mode-selection {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 2rem 0;
}

.mode-option {
    display: flex;
    align-items: center;
    padding: 20px;
    border: 2px solid #2a2a2a;
    border-radius: 12px;
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.mode-option:hover {
    border-color: #00E5D1;
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 229, 209, 0.2);
}

.mode-option.selected {
    border-color: #00E5D1;
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    box-shadow: 0 0 20px rgba(0, 229, 209, 0.3);
}

.mode-icon {
    font-size: 2rem;
    color: #00E5D1;
    margin-right: 20px;
    min-width: 60px;
    text-align: center;
}

.mode-content {
    flex: 1;
}

.mode-content h4 {
    color: #ffffff;
    margin: 0 0 8px 0;
    font-size: 1.2rem;
    font-weight: 600;
}

.mode-content p {
    color: #9ca3af;
    margin: 0 0 12px 0;
    font-size: 0.95rem;
}

.mode-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mode-content li {
    color: #9ca3af;
    font-size: 0.9rem;
    margin: 4px 0;
    padding-left: 16px;
    position: relative;
}

.mode-content li::before {
    content: "✓";
    color: #00E5D1;
    font-weight: bold;
    position: absolute;
    left: 0;
}

.mode-radio {
    margin-left: 20px;
}

.mode-radio input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: #00E5D1;
}

/* Folder Selection Styles */
.folder-selection {
    margin: 2rem 0;
}

.folder-picker {
    border: 2px dashed #2a2a2a;
    border-radius: 12px;
    padding: 3rem 2rem;
    text-align: center;
    background: rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    cursor: pointer;
}

.folder-picker:hover {
    border-color: #00E5D1;
    background: rgba(0, 229, 209, 0.05);
}

.folder-icon {
    font-size: 3rem;
    color: #00E5D1;
    margin-bottom: 1rem;
}

.folder-picker h4 {
    color: #ffffff;
    margin: 0 0 8px 0;
    font-size: 1.3rem;
}

.folder-picker p {
    color: #9ca3af;
    margin: 0 0 1.5rem 0;
}

.detected-files {
    margin-top: 2rem;
    padding: 1.5rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    border: 1px solid #2a2a2a;
}

.detected-files h4 {
    color: #ffffff;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

.file-list {
    max-height: 300px;
    overflow-y: auto;
    margin-bottom: 1rem;
}

.file-item {
    display: flex;
    align-items: center;
    padding: 12px;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    margin-bottom: 8px;
    background: rgba(0, 0, 0, 0.1);
}

.file-item.valid {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.file-item.invalid {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.file-info {
    flex: 1;
    margin-left: 12px;
}

.file-name {
    color: #ffffff;
    font-weight: 500;
    margin: 0 0 4px 0;
}

.file-details {
    color: #9ca3af;
    font-size: 0.9rem;
    margin: 0;
}

.file-status {
    margin-left: 12px;
    font-size: 1.2rem;
}

.file-status.valid {
    color: #10b981;
}

.file-status.invalid {
    color: #ef4444;
}

.file-summary {
    padding: 1rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.summary-stats {
    display: flex;
    justify-content: space-between;
    color: #9ca3af;
    font-size: 0.9rem;
}

/* Series Form Styles */
.series-form {
    margin: 2rem 0;
}

.form-section {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    border: 1px solid #2a2a2a;
}

.form-section h4 {
    color: #ffffff;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}

.form-group {
    margin-bottom: 1rem;
}

.form-group label {
    display: block;
    color: #ffffff;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.9rem;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    color: #ffffff;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #00E5D1;
    box-shadow: 0 0 0 3px rgba(0, 229, 209, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 80px;
}

.form-group small {
    display: block;
    color: #9ca3af;
    font-size: 0.8rem;
    margin-top: 4px;
}

/* Thumbnail Upload Styles */
.thumbnail-upload {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.thumbnail-preview {
    width: 120px;
    height: 200px;
    border: 2px dashed #2a2a2a;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.1);
    color: #9ca3af;
    text-align: center;
    transition: all 0.3s ease;
}

.thumbnail-preview:hover {
    border-color: #00E5D1;
    background: rgba(0, 229, 209, 0.05);
}

.thumbnail-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.thumbnail-preview i {
    font-size: 2rem;
    margin-bottom: 8px;
}

.thumbnail-preview p {
    margin: 0;
    font-size: 0.8rem;
}

/* Episode Upload Styles */
.episode-upload-form {
    margin: 2rem 0;
}

.series-info {
    margin: 1rem 0;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.series-preview {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.series-preview img {
    width: 60px;
    height: 100px;
    object-fit: cover;
    border-radius: 6px;
}

.series-details h5 {
    color: #ffffff;
    margin: 0 0 4px 0;
    font-size: 1rem;
}

.series-details p {
    color: #9ca3af;
    margin: 0 0 4px 0;
    font-size: 0.9rem;
}

.episode-count {
    color: #00E5D1;
    font-size: 0.8rem;
    font-weight: 500;
}

.upload-area {
    border: 2px dashed #2a2a2a;
    border-radius: 12px;
    padding: 3rem 2rem;
    text-align: center;
    background: rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    cursor: pointer;
}

.upload-area:hover {
    border-color: #00E5D1;
    background: rgba(0, 229, 209, 0.05);
}

.upload-area.dragover {
    border-color: #00E5D1;
    background: rgba(0, 229, 209, 0.1);
    transform: scale(1.02);
}

.upload-icon {
    font-size: 3rem;
    color: #00E5D1;
    margin-bottom: 1rem;
}

.upload-area h4 {
    color: #ffffff;
    margin: 0 0 8px 0;
    font-size: 1.3rem;
}

.upload-area p {
    color: #9ca3af;
    margin: 0 0 1.5rem 0;
}

.video-preview {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.video-preview video {
    width: 100%;
    max-width: 300px;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.video-info h5 {
    color: #ffffff;
    margin: 0 0 4px 0;
    font-size: 1rem;
}

.video-info p {
    color: #9ca3af;
    margin: 0 0 8px 0;
    font-size: 0.9rem;
}

.aspect-ratio-check {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
}

.aspect-ratio-check.valid {
    background: rgba(16, 185, 129, 0.2);
    color: #10b981;
    border: 1px solid #10b981;
}

.aspect-ratio-check.invalid {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    border: 1px solid #ef4444;
}

/* Thumbnail Options */
.thumbnail-options {
    margin-top: 1rem;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    cursor: pointer;
    margin-bottom: 1rem;
}

.checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #00E5D1;
}

.episode-thumbnail-upload {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

/* Inherited Info Styles */
.inherited-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.info-item label {
    color: #9ca3af;
    font-size: 0.8rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-item span {
    color: #ffffff;
    font-size: 0.9rem;
}

.override-fields {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

/* Upload Progress Styles */
.upload-process {
    margin: 2rem 0;
}

.bulk-upload-progress,
.single-upload-progress {
    padding: 1.5rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    border: 1px solid #2a2a2a;
}

.episode-progress {
    margin-bottom: 1rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.episode-progress h5 {
    color: #ffffff;
    margin: 0 0 8px 0;
    font-size: 1rem;
}

.progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 8px;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #00E5D1 0%, #00D4B8 100%);
    transition: width 0.3s ease;
}

.progress-info {
    display: flex;
    justify-content: space-between;
    color: #9ca3af;
    font-size: 0.9rem;
}

.overall-progress {
    margin-top: 1.5rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.overall-progress h4 {
    color: #ffffff;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

/* Completion Summary Styles */
.completion-summary {
    margin: 2rem 0;
    padding: 2rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    border: 1px solid #2a2a2a;
}

.summary-content {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.summary-thumbnail {
    width: 80px;
    height: 140px;
    object-fit: cover;
    border-radius: 8px;
}

.summary-details h4 {
    color: #ffffff;
    margin: 0 0 8px 0;
    font-size: 1.3rem;
}

.summary-details p {
    color: #9ca3af;
    margin: 0 0 8px 0;
    font-size: 0.95rem;
}

.summary-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.stat-item {
    text-align: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.stat-value {
    color: #00E5D1;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.stat-label {
    color: #9ca3af;
    font-size: 0.9rem;
    margin: 0;
}

/* Next Steps Styles */
.next-steps {
    margin-top: 2rem;
}

.next-steps h4 {
    color: #ffffff;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

.action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.action-buttons .btn {
    flex: 1;
    min-width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .mode-option {
        flex-direction: column;
        text-align: center;
    }
    
    .mode-icon {
        margin-right: 0;
        margin-bottom: 1rem;
    }
    
    .form-grid {
        grid-template-columns: 1fr;
    }
    
    .series-preview {
        flex-direction: column;
        text-align: center;
    }
    
    .summary-content {
        flex-direction: column;
        text-align: center;
    }
    
    .action-buttons {
        flex-direction: column;
    }
    
    .action-buttons .btn {
        min-width: auto;
    }
}

/* Metadata Confirmation Styles */
.metadata-confirmation {
    margin: 2rem 0;
}

.metadata-section {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    border: 1px solid #2a2a2a;
}

.metadata-section h4 {
    color: #ffffff;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.metadata-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.metadata-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.metadata-item label {
    color: #9ca3af;
    font-size: 0.9rem;
    font-weight: 500;
}

.metadata-item span {
    color: #ffffff;
    font-size: 0.95rem;
}

.episodes-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.episode-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.episode-info h5 {
    color: #ffffff;
    margin: 0 0 4px 0;
    font-size: 1rem;
}

.episode-info p {
    color: #9ca3af;
    margin: 0;
    font-size: 0.9rem;
}

.episode-status {
    margin-left: 1rem;
}

.status-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.status-badge.success {
    background: rgba(16, 185, 129, 0.2);
    color: #10b981;
    border: 1px solid #10b981;
}

.id-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.id-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    border: 1px solid #2a2a2a;
}

.id-item label {
    color: #9ca3af;
    font-size: 0.9rem;
    font-weight: 500;
}

.id-value {
    color: #00E5D1;
    font-size: 0.85rem;
    font-family: monospace;
    background: rgba(0, 229, 209, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

.video-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    border: 1px solid #2a2a2a;
}

.video-details h5 {
    color: #ffffff;
    margin: 0 0 4px 0;
    font-size: 1rem;
}

.video-details p {
    color: #9ca3af;
    margin: 0;
    font-size: 0.9rem;
}

/* Fixed Button Alignment */
.step-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 0;
    border-top: 1px solid #2a2a2a;
    margin-top: 2rem;
}

.step-actions .btn {
    min-width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.step-actions .step-info {
    color: #9ca3af;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Responsive button alignment */
@media (max-width: 768px) {
    .step-actions {
        flex-direction: column;
        gap: 1rem;
    }
    
    .step-actions .btn {
        width: 100%;
        min-width: auto;
    }
    
    .metadata-grid {
        grid-template-columns: 1fr;
    }
    
    .episode-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .episode-status {
        margin-left: 0;
    }
    
    .id-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    
    .video-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}

/* Storage Page Styles */
.storage-section {
    margin-bottom: 2rem;
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    padding: 1.5rem;
}

.section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 1.5rem;
}

.section-title i {
    width: 20px;
    height: 20px;
    color: #00E5D1;
}

.section-title.danger {
    color: #ef4444;
}

.section-title.danger i {
    color: #ef4444;
}

.section-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}

.last-updated {
    color: #6b7280;
    font-size: 0.875rem;
}

/* Sync Validation Styles */
.sync-validation-section {
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.sync-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.sync-item {
    background: rgba(59, 130, 246, 0.05);
    border: 1px solid rgba(59, 130, 246, 0.1);
    border-radius: 8px;
    padding: 1.5rem;
}

.sync-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.sync-header h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
}

.sync-status {
    font-size: 1.25rem;
    font-weight: 700;
}

.sync-status.warning {
    color: #f59e0b;
}

.sync-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sync-detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(59, 130, 246, 0.1);
}

.sync-detail:last-child {
    border-bottom: none;
}

.sync-detail .label {
    color: #6b7280;
    font-size: 0.875rem;
}

.sync-detail .value {
    color: #ffffff;
    font-weight: 600;
}

/* Storage Breakdown Styles */
.storage-breakdown-section {
    background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.breakdown-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.breakdown-item {
    background: rgba(59, 130, 246, 0.05);
    border: 1px solid rgba(59, 130, 246, 0.1);
    border-radius: 8px;
    padding: 1rem;
}

.breakdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.breakdown-header h4 {
    font-size: 0.875rem;
    font-weight: 600;
    color: #ffffff;
}

.breakdown-header .size {
    color: #00E5D1;
    font-weight: 600;
    font-size: 0.75rem;
}

.breakdown-bar {
    width: 100%;
    height: 6px;
    background: rgba(59, 130, 246, 0.1);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 0.25rem;
}

.breakdown-fill {
    height: 100%;
    background: linear-gradient(135deg, #00E5D1, #00D4B8);
    border-radius: 3px;
    transition: width 0.3s ease;
}

.percentage {
    color: #6b7280;
    font-size: 0.75rem;
    text-align: right;
}

.total-storage {
    background: rgba(59, 130, 246, 0.05);
    border: 1px solid rgba(59, 130, 246, 0.1);
    border-radius: 8px;
    padding: 1rem;
}

.total-storage-bar {
    width: 100%;
    height: 8px;
    background: rgba(59, 130, 246, 0.1);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.75rem;
}

.total-storage-fill {
    height: 100%;
    background: linear-gradient(135deg, #00E5D1, #00D4B8);
    border-radius: 6px;
    transition: width 0.3s ease;
}

.total-storage-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
}

.total-size {
    color: #00E5D1;
}

/* Danger Zone Styles */
.danger-zone-section {
    background: linear-gradient(135deg, #2a1a1a, #3a2a2a);
    border: 1px solid #ef4444;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.danger-zone-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.danger-warning {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 8px;
    padding: 1rem;
}

.danger-warning i {
    width: 24px;
    height: 24px;
    color: #ef4444;
    flex-shrink: 0;
}

.danger-warning p {
    color: #ef4444;
    font-weight: 500;
    margin: 0;
}

.danger-actions {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.confirmation-input {
    flex: 1;
    padding: 0.75rem 1rem;
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    color: #ffffff;
    font-size: 0.875rem;
}

.confirmation-input:focus {
    outline: none;
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.confirmation-input::placeholder {
    color: #6b7280;
}

#delete-all-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

#delete-all-btn:disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Delete Confirmation Modal */
.delete-confirmation-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 1rem;
}

.delete-confirmation-content {
    background: #1a1a1a;
    border: 1px solid #ef4444;
    border-radius: 12px;
    padding: 2rem;
    max-width: 500px;
    width: 100%;
    text-align: center;
}

.delete-confirmation-content h3 {
    color: #ef4444;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.delete-confirmation-content p {
    color: #6b7280;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.delete-confirmation-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

/* Loading States */
.storage-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: #6b7280;
}

.storage-loading i {
    width: 24px;
    height: 24px;
    margin-right: 0.5rem;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}


/* Storage Page Responsive */
@media (max-width: 768px) {
    .sync-grid {
        grid-template-columns: 1fr;
    }
    
    .breakdown-grid {
        grid-template-columns: 1fr;
    }
    
    .danger-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .confirmation-input {
        margin-bottom: 1rem;
    }
    
}

/* Storage Connection Test Styles */
.status-indicator {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 500;
}

.status-indicator.connected {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.status-indicator.testing {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.3);
    animation: pulse 1.5s infinite;
}

.status-indicator.disconnected {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
/ *   E n h a n c e d   M o d a l   S t y l i n g   * / 
 
 . m o d a l - t a b s   . f o r m - g r o u p   { 
 
         m a r g i n - b o t t o m :   1 . 7 5 r e m ; 
 
 } 
 
 
 
 . m o d a l - t a b s   . f o r m - r o w   { 
 
         d i s p l a y :   g r i d ; 
 
         g r i d - t e m p l a t e - c o l u m n s :   1 f r   1 f r ; 
 
         g a p :   1 . 5 r e m ; 
 
         m a r g i n - b o t t o m :   1 . 5 r e m ; 
 
 } 
 
 
 
 . m o d a l - t a b s   l a b e l   { 
 
         d i s p l a y :   b l o c k ; 
 
         m a r g i n - b o t t o m :   0 . 7 5 r e m ; 
 
         f o n t - w e i g h t :   7 0 0 ; 
 
         c o l o r :   # 1 e 2 9 3 b ; 
 
         f o n t - s i z e :   0 . 9 5 r e m ; 
 
         t e x t - t r a n s f o r m :   u p p e r c a s e ; 
 
         l e t t e r - s p a c i n g :   0 . 5 p x ; 
 
 } 
 
 
 
 . m o d a l - t a b s   i n p u t , 
 
 . m o d a l - t a b s   t e x t a r e a , 
 
 . m o d a l - t a b s   s e l e c t   { 
 
         w i d t h :   1 0 0 % ; 
 
         p a d d i n g :   1 r e m ; 
 
         b o r d e r :   2 p x   s o l i d   # e 2 e 8 f 0 ; 
 
         b o r d e r - r a d i u s :   1 2 p x ; 
 
         f o n t - s i z e :   0 . 9 5 r e m ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   c u b i c - b e z i e r ( 0 . 4 ,   0 ,   0 . 2 ,   1 ) ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f f f f f f   0 % ,   # f 8 f a f c   1 0 0 % ) ; 
 
         b o x - s h a d o w :   0   2 p x   4 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 0 5 ) ; 
 
 } 
 
 
 
 . m o d a l - t a b s   i n p u t : f o c u s , 
 
 . m o d a l - t a b s   t e x t a r e a : f o c u s , 
 
 . m o d a l - t a b s   s e l e c t : f o c u s   { 
 
         o u t l i n e :   n o n e ; 
 
         b o r d e r - c o l o r :   # 6 6 7 e e a ; 
 
         b o x - s h a d o w :   0   0   0   4 p x   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 1 ) ,   0   4 p x   1 2 p x   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 1 5 ) ; 
 
         t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 
 } 
 
 
 
 . c h a r a c t e r - c o u n t   { 
 
         f o n t - s i z e :   0 . 8 r e m ; 
 
         c o l o r :   # 6 4 7 4 8 b ; 
 
         t e x t - a l i g n :   r i g h t ; 
 
         m a r g i n - t o p :   0 . 5 r e m ; 
 
         f o n t - w e i g h t :   5 0 0 ; 
 
 } 
 
 
 
 / *   E n h a n c e d   E p i s o d e   C a r d s   * / 
 
 . e p i s o d e - e d i t - i t e m   { 
 
         d i s p l a y :   f l e x ; 
 
         a l i g n - i t e m s :   c e n t e r ; 
 
         g a p :   1 . 2 5 r e m ; 
 
         p a d d i n g :   1 . 2 5 r e m ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f 8 f a f c   0 % ,   # f 1 f 5 f 9   1 0 0 % ) ; 
 
         b o r d e r - r a d i u s :   1 2 p x ; 
 
         m a r g i n - b o t t o m :   1 r e m ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   c u b i c - b e z i e r ( 0 . 4 ,   0 ,   0 . 2 ,   1 ) ; 
 
         c u r s o r :   p o i n t e r ; 
 
         b o r d e r :   2 p x   s o l i d   # e 2 e 8 f 0 ; 
 
         p o s i t i o n :   r e l a t i v e ; 
 
         o v e r f l o w :   h i d d e n ; 
 
 } 
 
 
 
 . e p i s o d e - e d i t - i t e m : : b e f o r e   { 
 
         c o n t e n t :   ' ' ; 
 
         p o s i t i o n :   a b s o l u t e ; 
 
         t o p :   0 ; 
 
         l e f t :   0 ; 
 
         r i g h t :   0 ; 
 
         h e i g h t :   3 p x ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 9 0 d e g ,   # 6 6 7 e e a ,   # 7 6 4 b a 2 ) ; 
 
         t r a n s f o r m :   s c a l e X ( 0 ) ; 
 
         t r a n s i t i o n :   t r a n s f o r m   0 . 3 s   e a s e ; 
 
 } 
 
 
 
 . e p i s o d e - e d i t - i t e m : h o v e r   { 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f f f f f f   0 % ,   # f 8 f a f c   1 0 0 % ) ; 
 
         t r a n s f o r m :   t r a n s l a t e Y ( - 3 p x ) ; 
 
         b o x - s h a d o w :   0   8 p x   2 5 p x   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 1 5 ) ; 
 
         b o r d e r - c o l o r :   # 6 6 7 e e a ; 
 
 } 
 
 
 
 . e p i s o d e - e d i t - i t e m : h o v e r : : b e f o r e   { 
 
         t r a n s f o r m :   s c a l e X ( 1 ) ; 
 
 } 
 
 
 
 . e p i s o d e - t h u m b n a i l   { 
 
         w i d t h :   9 0 p x ; 
 
         h e i g h t :   1 2 0 p x ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # e 2 e 8 f 0   0 % ,   # c b d 5 e 1   1 0 0 % ) ; 
 
         b o r d e r - r a d i u s :   1 0 p x ; 
 
         o v e r f l o w :   h i d d e n ; 
 
         p o s i t i o n :   r e l a t i v e ; 
 
         d i s p l a y :   f l e x ; 
 
         a l i g n - i t e m s :   c e n t e r ; 
 
         j u s t i f y - c o n t e n t :   c e n t e r ; 
 
         c o l o r :   # 6 4 7 4 8 b ; 
 
         f o n t - s i z e :   2 . 5 r e m ; 
 
         b o x - s h a d o w :   0   4 p x   1 2 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 1 ) ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e ; 
 
 } 
 
 
 
 . e p i s o d e - t h u m b n a i l : h o v e r   { 
 
         t r a n s f o r m :   s c a l e ( 1 . 0 5 ) ; 
 
         b o x - s h a d o w :   0   6 p x   2 0 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 1 5 ) ; 
 
 } 
 
 
 
 . e p i s o d e - i n f o   { 
 
         f l e x :   1 ; 
 
         d i s p l a y :   f l e x ; 
 
         f l e x - d i r e c t i o n :   c o l u m n ; 
 
         g a p :   0 . 7 5 r e m ; 
 
         p a d d i n g :   0 . 5 r e m   0 ; 
 
 } 
 
 
 
 . e p i s o d e - n u m b e r   { 
 
         f o n t - w e i g h t :   7 0 0 ; 
 
         c o l o r :   # 6 6 7 e e a ; 
 
         f o n t - s i z e :   0 . 9 r e m ; 
 
         t e x t - t r a n s f o r m :   u p p e r c a s e ; 
 
         l e t t e r - s p a c i n g :   0 . 8 p x ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 6 6 7 e e a ,   # 7 6 4 b a 2 ) ; 
 
         - w e b k i t - b a c k g r o u n d - c l i p :   t e x t ; 
 
         - w e b k i t - t e x t - f i l l - c o l o r :   t r a n s p a r e n t ; 
 
         b a c k g r o u n d - c l i p :   t e x t ; 
 
 } 
 
 
 
 . e p i s o d e - t i t l e   { 
 
         f o n t - w e i g h t :   7 0 0 ; 
 
         c o l o r :   # 1 e 2 9 3 b ; 
 
         f o n t - s i z e :   1 . 2 5 r e m ; 
 
         l i n e - h e i g h t :   1 . 3 ; 
 
         m a r g i n - b o t t o m :   0 . 2 5 r e m ; 
 
 } 
 
 
 
 . e p i s o d e - d u r a t i o n   { 
 
         c o l o r :   # 6 4 7 4 8 b ; 
 
         f o n t - s i z e :   0 . 9 r e m ; 
 
         f o n t - w e i g h t :   6 0 0 ; 
 
         b a c k g r o u n d :   # f 1 f 5 f 9 ; 
 
         p a d d i n g :   0 . 2 5 r e m   0 . 7 5 r e m ; 
 
         b o r d e r - r a d i u s :   2 0 p x ; 
 
         d i s p l a y :   i n l i n e - b l o c k ; 
 
         w i d t h :   f i t - c o n t e n t ; 
 
 } 
 
 
 
 . e p i s o d e - a c t i o n s   { 
 
         d i s p l a y :   f l e x ; 
 
         g a p :   0 . 7 5 r e m ; 
 
         a l i g n - i t e m s :   c e n t e r ; 
 
 } 
 
 
 
 . b t n - i c o n   { 
 
         w i d t h :   4 0 p x ; 
 
         h e i g h t :   4 0 p x ; 
 
         b o r d e r - r a d i u s :   5 0 % ; 
 
         d i s p l a y :   f l e x ; 
 
         a l i g n - i t e m s :   c e n t e r ; 
 
         j u s t i f y - c o n t e n t :   c e n t e r ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 6 6 7 e e a   0 % ,   # 7 6 4 b a 2   1 0 0 % ) ; 
 
         c o l o r :   w h i t e ; 
 
         b o r d e r :   n o n e ; 
 
         c u r s o r :   p o i n t e r ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   c u b i c - b e z i e r ( 0 . 4 ,   0 ,   0 . 2 ,   1 ) ; 
 
         f o n t - s i z e :   1 8 p x ; 
 
         b o x - s h a d o w :   0   2 p x   8 p x   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 2 ) ; 
 
 } 
 
 
 
 . b t n - i c o n : h o v e r   { 
 
         t r a n s f o r m :   s c a l e ( 1 . 1 ) ; 
 
         b o x - s h a d o w :   0   6 p x   2 0 p x   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 4 ) ; 
 
 } 
 
 
 
 . b t n - i c o n . d e l e t e   { 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # e f 4 4 4 4   0 % ,   # d c 2 6 2 6   1 0 0 % ) ; 
 
         b o x - s h a d o w :   0   2 p x   8 p x   r g b a ( 2 3 9 ,   6 8 ,   6 8 ,   0 . 2 ) ; 
 
 } 
 
 
 
 . b t n - i c o n . d e l e t e : h o v e r   { 
 
         b o x - s h a d o w :   0   6 p x   2 0 p x   r g b a ( 2 3 9 ,   6 8 ,   6 8 ,   0 . 4 ) ; 
 
 } 
 
 
 
 / *   E n h a n c e d   M o d a l   H e a d e r   * / 
 
 . m o d a l - h e a d e r   { 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 9 8 )   0 % ,   r g b a ( 2 4 8 ,   2 5 0 ,   2 5 2 ,   0 . 9 8 )   1 0 0 % ) ; 
 
         p a d d i n g :   2 r e m   2 r e m   1 . 5 r e m   2 r e m ; 
 
         b o r d e r - b o t t o m :   2 p x   s o l i d   # e 2 e 8 f 0 ; 
 
         b a c k d r o p - f i l t e r :   b l u r ( 1 0 p x ) ; 
 
 } 
 
 
 
 . m o d a l - h e a d e r   h 3   { 
 
         f o n t - s i z e :   1 . 5 r e m ; 
 
         f o n t - w e i g h t :   7 0 0 ; 
 
         c o l o r :   # 1 e 2 9 3 b ; 
 
         m a r g i n :   0 ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 6 6 7 e e a ,   # 7 6 4 b a 2 ) ; 
 
         - w e b k i t - b a c k g r o u n d - c l i p :   t e x t ; 
 
         - w e b k i t - t e x t - f i l l - c o l o r :   t r a n s p a r e n t ; 
 
         b a c k g r o u n d - c l i p :   t e x t ; 
 
 } 
 
 
 
 / *   E n h a n c e d   T a b   S t y l i n g   * / 
 
 . t a b - b u t t o n   { 
 
         p a d d i n g :   1 r e m   1 . 5 r e m ; 
 
         b o r d e r :   n o n e ; 
 
         b a c k g r o u n d :   n o n e ; 
 
         c u r s o r :   p o i n t e r ; 
 
         f o n t - w e i g h t :   6 0 0 ; 
 
         c o l o r :   # 6 4 7 4 8 b ; 
 
         b o r d e r - b o t t o m :   3 p x   s o l i d   t r a n s p a r e n t ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   c u b i c - b e z i e r ( 0 . 4 ,   0 ,   0 . 2 ,   1 ) ; 
 
         f o n t - s i z e :   0 . 9 5 r e m ; 
 
         p o s i t i o n :   r e l a t i v e ; 
 
 } 
 
 
 
 . t a b - b u t t o n . a c t i v e   { 
 
         c o l o r :   # 6 6 7 e e a ; 
 
         b o r d e r - b o t t o m - c o l o r :   # 6 6 7 e e a ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 0 8 )   0 % ,   r g b a ( 1 1 8 ,   7 5 ,   1 6 2 ,   0 . 0 8 )   1 0 0 % ) ; 
 
 } 
 
 
 
 . t a b - b u t t o n : h o v e r   { 
 
         c o l o r :   # 6 6 7 e e a ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 0 5 )   0 % ,   r g b a ( 1 1 8 ,   7 5 ,   1 6 2 ,   0 . 0 5 )   1 0 0 % ) ; 
 
         t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 
 } 
 
 
 
 / *   E n h a n c e d   T h u m b n a i l   S t y l i n g   * / 
 
 . t h u m b n a i l - p r e v i e w   { 
 
         p o s i t i o n :   r e l a t i v e ; 
 
         b o r d e r - r a d i u s :   1 2 p x ; 
 
         o v e r f l o w :   h i d d e n ; 
 
         b o x - s h a d o w :   0   4 p x   1 2 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 1 ) ; 
 
         m a r g i n - b o t t o m :   1 r e m ; 
 
 } 
 
 
 
 . t h u m b n a i l - p r e v i e w   i m g   { 
 
         w i d t h :   1 0 0 % ; 
 
         h e i g h t :   2 0 0 p x ; 
 
         o b j e c t - f i t :   c o v e r ; 
 
         b o r d e r - r a d i u s :   1 2 p x ; 
 
 } 
 
 
 
 . t h u m b n a i l - i n f o   { 
 
         p o s i t i o n :   a b s o l u t e ; 
 
         b o t t o m :   0 ; 
 
         l e f t :   0 ; 
 
         r i g h t :   0 ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( t r a n s p a r e n t ,   r g b a ( 0 ,   0 ,   0 ,   0 . 8 ) ) ; 
 
         c o l o r :   w h i t e ; 
 
         p a d d i n g :   1 r e m ; 
 
         t e x t - a l i g n :   c e n t e r ; 
 
 } 
 
 
 
 . n o - t h u m b n a i l - p l a c e h o l d e r   { 
 
         t e x t - a l i g n :   c e n t e r ; 
 
         p a d d i n g :   3 r e m   2 r e m ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f 8 f a f c   0 % ,   # f 1 f 5 f 9   1 0 0 % ) ; 
 
         b o r d e r :   2 p x   d a s h e d   # c b d 5 e 1 ; 
 
         b o r d e r - r a d i u s :   1 2 p x ; 
 
         m a r g i n - b o t t o m :   1 r e m ; 
 
 } 
 
 
 
 . n o - t h u m b n a i l - p l a c e h o l d e r   p   { 
 
         m a r g i n - t o p :   1 r e m ; 
 
         c o l o r :   # 6 4 7 4 8 b ; 
 
         f o n t - w e i g h t :   5 0 0 ; 
 
 } 
 
 
 
 / *   E n h a n c e d   U p l o a d   Z o n e   * / 
 
 . t h u m b n a i l - u p l o a d - z o n e   { 
 
         b o r d e r :   2 p x   d a s h e d   # c b d 5 e 1 ; 
 
         b o r d e r - r a d i u s :   1 2 p x ; 
 
         p a d d i n g :   2 r e m ; 
 
         t e x t - a l i g n :   c e n t e r ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f 8 f a f c   0 % ,   # f 1 f 5 f 9   1 0 0 % ) ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e ; 
 
         c u r s o r :   p o i n t e r ; 
 
 } 
 
 
 
 . t h u m b n a i l - u p l o a d - z o n e : h o v e r , 
 
 . t h u m b n a i l - u p l o a d - z o n e . d r a g o v e r   { 
 
         b o r d e r - c o l o r :   # 6 6 7 e e a ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 0 5 )   0 % ,   r g b a ( 1 1 8 ,   7 5 ,   1 6 2 ,   0 . 0 5 )   1 0 0 % ) ; 
 
         t r a n s f o r m :   t r a n s l a t e Y ( - 2 p x ) ; 
 
         b o x - s h a d o w :   0   4 p x   1 2 p x   r g b a ( 1 0 2 ,   1 2 6 ,   2 3 4 ,   0 . 1 5 ) ; 
 
 } 
 
 
 
 . u p l o a d - h i n t   { 
 
         f o n t - s i z e :   0 . 8 5 r e m ; 
 
         c o l o r :   # 6 4 7 4 8 b ; 
 
         m a r g i n - t o p :   0 . 5 r e m ; 
 
 } 
 
 
 
 / *   V i d e o   P l a y e r   S t y l e s   * / 
 
 . v i d e o - p l a y e r - c o n t a i n e r   { 
 
         w i d t h :   1 0 0 % ; 
 
         h e i g h t :   1 0 0 % ; 
 
         d i s p l a y :   f l e x ; 
 
         f l e x - d i r e c t i o n :   c o l u m n ; 
 
 } 
 
 
 
 . v i d e o - p l a y e r - c o n t a i n e r   v i d e o   { 
 
         w i d t h :   1 0 0 % ; 
 
         h e i g h t :   a u t o ; 
 
         b o r d e r - r a d i u s :   8 p x ; 
 
         b a c k g r o u n d :   # 0 0 0 ; 
 
 } 
 
 
 
 . v i d e o - i n f o   { 
 
         p a d d i n g :   1 r e m ; 
 
         b a c k g r o u n d :   r g b a ( 0 ,   0 ,   0 ,   0 . 8 ) ; 
 
         c o l o r :   w h i t e ; 
 
         b o r d e r - r a d i u s :   0   0   8 p x   8 p x ; 
 
 } 
 
 
 
 . v i d e o - h e a d e r   { 
 
         d i s p l a y :   f l e x ; 
 
         j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
 
         a l i g n - i t e m s :   c e n t e r ; 
 
         m a r g i n - b o t t o m :   1 r e m ; 
 
         p a d d i n g :   1 r e m ; 
 
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 6 6 7 e e a   0 % ,   # 7 6 4 b a 2   1 0 0 % ) ; 
 
         c o l o r :   w h i t e ; 
 
         b o r d e r - r a d i u s :   8 p x   8 p x   0   0 ; 
 
 } 
 
 
 
 . v i d e o - h e a d e r   h 4   { 
 
         m a r g i n :   0 ; 
 
         f o n t - s i z e :   1 . 2 5 r e m ; 
 
         f o n t - w e i g h t :   7 0 0 ; 
 
 } 
 
 
 
 . v i d e o - h e a d e r   b u t t o n   { 
 
         b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 2 ) ; 
 
         b o r d e r :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 3 ) ; 
 
         c o l o r :   w h i t e ; 
 
         p a d d i n g :   0 . 5 r e m   1 r e m ; 
 
         b o r d e r - r a d i u s :   6 p x ; 
 
         c u r s o r :   p o i n t e r ; 
 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e ; 
 
 } 
 
 
 
 . v i d e o - h e a d e r   b u t t o n : h o v e r   { 
 
         b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 3 ) ; 
 
         t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 
 } 
 
 