/**
 * VerificationBanner Styles
 */

.vime-verification-banner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    animation: slideDown 0.3s ease-out;
}

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

.vime-verification-banner__icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0;
}

.vime-verification-banner__content {
    flex: 1;
    min-width: 0;
}

.vime-verification-banner__content h4 {
    margin: 0 0 0.25rem 0;
    font-size: 0.938rem;
    font-weight: 600;
    line-height: 1.3;
}

.vime-verification-banner__content p {
    margin: 0;
    font-size: 0.813rem;
    opacity: 0.85;
    line-height: 1.4;
}

.vime-verification-banner__action {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.625rem 1rem;
    border-radius: 8px;
    font-size: 0.813rem;
    font-weight: 600;
    -webkit-text-decoration: none;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.vime-verification-banner__action svg {
    transition: transform 0.2s ease;
}

.vime-verification-banner__action:hover svg {
    transform: translateX(2px);
}

/* Progress bar */
.vime-verification-banner__progress {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.625rem;
}

.vime-verification-banner__progress-bar {
    flex: 1;
    height: 6px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
    overflow: hidden;
    max-width: 200px;
}

.vime-verification-banner__progress-fill {
    height: 100%;
    background: #C8FF00;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.vime-verification-banner__progress-text {
    font-size: 0.75rem;
    font-weight: 500;
    opacity: 0.8;
}

/* Warning variant (not started / in progress) */
.vime-verification-banner--warning {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(217, 119, 6, 0.1) 100%);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #fff;
}

.vime-verification-banner--warning .vime-verification-banner__icon {
    background: rgba(245, 158, 11, 0.2);
    color: #f59e0b;
}

.vime-verification-banner--warning .vime-verification-banner__action {
    background: #f59e0b;
    color: #0D0D0D;
}

.vime-verification-banner--warning .vime-verification-banner__action:hover {
    background: #d97706;
}

/* Filled variant (ready to submit) */
.vime-verification-banner--filled {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.15) 0%, rgba(22, 163, 74, 0.1) 100%);
    border: 1px solid rgba(34, 197, 94, 0.3);
    color: #fff;
}

.vime-verification-banner--filled .vime-verification-banner__icon {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
}

.vime-verification-banner--filled .vime-verification-banner__action--primary {
    background: #C8FF00;
    color: #0D0D0D;
}

.vime-verification-banner--filled .vime-verification-banner__action--primary:hover {
    background: #b8ef00;
}

/* Pending variant */
.vime-verification-banner--pending {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(37, 99, 235, 0.1) 100%);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: #fff;
}

.vime-verification-banner--pending .vime-verification-banner__icon {
    background: rgba(59, 130, 246, 0.2);
    color: #3b82f6;
}

/* Rejected variant */
.vime-verification-banner--rejected {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.1) 100%);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #fff;
}

.vime-verification-banner--rejected .vime-verification-banner__icon {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.vime-verification-banner--rejected .vime-verification-banner__action {
    background: #ef4444;
    color: #fff;
}

.vime-verification-banner--rejected .vime-verification-banner__action:hover {
    background: #dc2626;
}

/* Responsive */
@media (max-width: 768px) {
    .vime-verification-banner {
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 1rem;
    }

    .vime-verification-banner__icon {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }

    .vime-verification-banner__content {
        flex: 1 1 calc(100% - 52px);
    }

    .vime-verification-banner__content h4 {
        font-size: 0.875rem;
    }

    .vime-verification-banner__content p {
        font-size: 0.75rem;
    }

    .vime-verification-banner__action {
        width: 100%;
        justify-content: center;
        padding: 0.75rem 1rem;
        margin-top: 0.25rem;
    }

    .vime-verification-banner__progress-bar {
        max-width: none;
    }
}

@media (max-width: 480px) {
    .vime-verification-banner {
        border-radius: 10px;
    }

    .vime-verification-banner__icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }

    .vime-verification-banner__icon svg {
        width: 16px;
        height: 16px;
    }
}

/**
 * Dashboard Layout Styles - Trocaê
 */

/* Layout */
.vime-layout {
    display: flex;
    min-height: 100vh;
    background: #0D0D0D !important;
}

.vime-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin-left: var(--vime-sidebar-width, 280px);
    transition: margin-left 0.3s ease;
    background: #0D0D0D;
}

.vime-content {
    flex: 1;
    padding: var(--vime-spacing-lg, 24px);
    padding-top: 0;
    max-width: 1200px;
    width: 100%;
    background: #0D0D0D;
}

/* Header */
.vime-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 var(--vime-spacing-lg);
    background: var(--vime-color-surface);
    border-bottom: 1px solid var(--vime-color-border);
    position: sticky;
    top: 0;
    z-index: 10;
}

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

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

.vime-header-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--vime-color-text);
    margin: 0;
}

.vime-menu-btn {
    display: none;
    padding: var(--vime-spacing-sm);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--vime-color-text);
    border-radius: var(--vime-border-radius);
}

.vime-menu-btn:hover {
    background: var(--vime-color-background);
}

.vime-icon-btn {
    position: relative;
    padding: var(--vime-spacing-sm);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--vime-color-text-secondary);
    border-radius: var(--vime-border-radius);
    transition: all 0.2s;
}

.vime-icon-btn:hover {
    background: var(--vime-color-background);
    color: var(--vime-color-text);
}

.vime-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 10px;
    font-weight: 600;
    color: white;
    background: var(--vime-color-danger);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* User dropdown */
.vime-dropdown {
    position: relative;
}

.vime-user-btn {
    display: flex;
    align-items: center;
    gap: var(--vime-spacing-sm);
    padding: var(--vime-spacing-xs) var(--vime-spacing-sm);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: var(--vime-border-radius);
}

.vime-user-btn:hover {
    background: var(--vime-color-background);
}

.vime-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.vime-user-name {
    font-weight: 500;
    color: var(--vime-color-text);
}

.vime-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: var(--vime-spacing-xs);
    min-width: 200px;
    background: var(--vime-color-surface);
    border: 1px solid var(--vime-color-border);
    border-radius: var(--vime-border-radius);
    box-shadow: var(--vime-shadow-lg);
    z-index: 50;
}

.vime-dropdown-header {
    padding: var(--vime-spacing-md);
    border-bottom: 1px solid var(--vime-color-border);
}

.vime-dropdown-header strong {
    display: block;
    color: var(--vime-color-text);
}

.vime-dropdown-header span {
    font-size: 0.875rem;
    color: var(--vime-color-text-secondary);
}

.vime-dropdown-divider {
    height: 1px;
    background: var(--vime-color-border);
}

.vime-dropdown-item {
    display: flex;
    align-items: center;
    gap: var(--vime-spacing-sm);
    width: 100%;
    padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    color: var(--vime-color-text);
    -webkit-text-decoration: none;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.vime-dropdown-item:hover {
    background: var(--vime-color-background);
}

/* Sidebar - Trocaê Design */
.vime-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--vime-sidebar-width, 280px);
    height: 100vh;
    background: transparent;
    display: flex;
    flex-direction: column;
    z-index: 20;
    transition: transform 0.3s ease;
    padding: 24px 20px;
}

.vime-sidebar-close {
    display: none;
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    color: #B3B3B3;
}

/* Profile Section */
.vime-sidebar-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 24px;
    margin-bottom: 8px;
}

.vime-profile-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.vime-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-avatar-placeholder {
    width: 100%;
    height: 100%;
    background: #2A2A2A;
    border: 2px solid #3A3A3A;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B3B3B3;
    font-size: 18px;
    font-weight: 600;
}

.vime-profile-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.vime-profile-name {
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-profile-email {
    color: #B3B3B3;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Navigation */
.vime-nav {
    flex: 1;
    overflow-y: auto;
}

.vime-nav-section {
    margin-bottom: 24px;
}

.vime-nav-section-title {
    display: block;
    color: #B3B3B3;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0 12px;
    margin-bottom: 12px;
}

.vime-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    color: #FFFFFF !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    border-radius: 8px;
    transition: all 0.2s ease;
    font-family: 'Manrope', sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

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

.vime-nav-item.is-active {
    color: #C8FF00 !important;
    background: transparent;
}

.vime-nav-item.is-active .vime-nav-icon {
    filter: brightness(0) saturate(100%) invert(89%) sepia(46%) saturate(1000%) hue-rotate(20deg) brightness(104%) contrast(104%);
}

/* Nav Icons */
.vime-nav-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
    transition: filter 0.2s ease;
}

/* Legacy styles for compatibility */
.vime-sidebar-header {
    display: none;
}

.vime-logo {
    display: flex;
    align-items: center;
}

.vime-logo img {
    max-height: 32px;
    width: auto;
}

.vime-logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: #C8FF00;
}

.vime-close-btn {
    display: none;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    color: #B3B3B3;
}

.vime-sidebar-footer {
    padding: 16px 12px;
    border-top: 1px solid #2A2A2A;
    margin-top: auto;
}

.vime-logout-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px;
    background: none;
    border: none;
    border-radius: 8px;
    color: #B3B3B3;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-logout-btn:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #EF4444;
}

.vime-logout-btn svg {
    flex-shrink: 0;
}

.vime-back-link {
    color: #B3B3B3;
    -webkit-text-decoration: none;
    text-decoration: none;
    font-size: 14px;
}

.vime-back-link:hover {
    color: #C8FF00;
}

/* Mobile Navigation */
.vime-mobile-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: #0D0D0D !important;
    border-top: 1px solid #2A2A2A !important;
    z-index: 999999 !important; /* Above Elementor headers */
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5) !important;
}

.vime-mobile-nav-item {
    flex: 1;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    color: #808080 !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px 4px !important;
    transition: color 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}

.vime-mobile-nav-item:hover {
    color: #FFFFFF !important;
    background: transparent !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
}

.vime-mobile-nav-item:focus {
    color: #FFFFFF !important;
    background: transparent !important;
    outline: none !important;
}

.vime-mobile-nav-item:active {
    color: #C8FF00 !important;
    background: transparent !important;
}

.vime-mobile-nav-item.is-active {
    color: #C8FF00 !important;
    background: transparent !important;
}

.vime-mobile-nav-item.is-active:hover,
.vime-mobile-nav-item.is-active:focus {
    color: #C8FF00 !important;
}

.vime-mobile-nav-item svg {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    stroke-width: 1.5 !important;
}

.vime-mobile-nav-item span {
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.vime-mobile-menu-btn {
    color: #FFFFFF !important;
}

.vime-mobile-menu-btn:hover {
    color: #C8FF00 !important;
}

.vime-mobile-menu-btn.is-active {
    color: #C8FF00 !important;
    background: rgba(200, 255, 0, 0.1) !important;
    border-radius: 8px !important;
}

/* Overlay */
.vime-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7) !important;
    z-index: 9999998 !important; /* Just below sidebar when open */
    backdrop-filter: blur(4px);
}

/* Embedded Mode - For use within Elementor/Page Builders */
.vime-dashboard-embedded .vime-layout {
    position: relative;
    min-height: auto;
    background: transparent !important;
}

.vime-dashboard-embedded .vime-sidebar {
    position: absolute;
    height: 100%;
}

.vime-dashboard-embedded .vime-main {
    min-height: 100vh;
    background: transparent !important;
}

.vime-dashboard-embedded .vime-content {
    background: transparent !important;
}

/* Alternative: Disable sidebar in embedded mode on mobile */
@media (max-width: 1024px) {
    .vime-dashboard-embedded .vime-sidebar {
        position: fixed;
        height: 100vh;
    }
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet and below (1024px) */
@media (max-width: 1024px) {
    .vime-main {
        margin-left: 0;
    }

    .vime-sidebar {
        transform: translateX(-100%);
        width: 280px;
        background: #0D0D0D;
    }

    .vime-sidebar.is-open {
        transform: translateX(0);
    }

    .vime-sidebar-close {
        display: block;
    }

    .vime-menu-btn,
    .vime-close-btn {
        display: flex;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
    }

    .vime-overlay {
        display: block;
    }

    .vime-user-name {
        display: none;
    }

    .vime-header {
        padding: 0 16px;
    }
}

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-content {
        padding: 20px 16px;
        padding-bottom: 20px;
    }

    .vime-header {
        height: 56px;
    }

    .vime-header-title {
        font-size: 1.1rem;
    }

    /* Touch-friendly buttons */
    .vime-icon-btn {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .vime-user-btn {
        min-height: 44px;
    }

    /* Sidebar adjustments */
    .vime-sidebar {
        width: 260px;
        padding: 16px;
    }

    .vime-nav-item {
        padding: 14px 12px;
        font-size: 15px !important;
    }

    .vime-logout-btn {
        padding: 14px 12px;
        font-size: 15px;
    }

    /* Dropdown menu full width on mobile */
    .vime-dropdown-menu {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        min-width: 100%;
        border-radius: 16px 16px 0 0;
        max-height: 70vh;
        overflow-y: auto;
    }

    .vime-dropdown-item {
        padding: 16px;
        min-height: 48px;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-content {
        padding: 16px;
        padding-bottom: calc(80px + 16px);
    }

    .vime-mobile-nav {
        display: flex !important;
        height: 70px !important;
        padding-bottom: env(safe-area-inset-bottom, 0) !important;
        z-index: 999999 !important;
    }

    .vime-mobile-nav-item {
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 11px !important;
        gap: 4px !important;
    }

    .vime-mobile-nav-item svg {
        width: 24px !important;
        height: 24px !important;
    }

    .vime-header {
        height: 52px;
    }

    .vime-header-title {
        font-size: 1rem;
        max-width: 200px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .vime-sidebar {
        width: 100%;
        max-width: 300px;
        z-index: 9999999 !important; /* Above mobile nav when open */
    }

    .vime-profile-avatar {
        width: 40px;
        height: 40px;
    }

    .vime-profile-name {
        font-size: 14px;
    }

    .vime-profile-email {
        font-size: 12px;
    }

    .vime-nav-section-title {
        font-size: 11px;
    }

    /* Hide header on mobile - rely on mobile nav */
    .vime-header {
        display: none;
    }

    .vime-content {
        padding-top: 16px;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-content {
        padding: 12px;
        padding-bottom: calc(78px + 12px);
    }

    .vime-mobile-nav {
        height: 68px !important;
    }

    .vime-mobile-nav-item {
        font-size: 10px !important;
        gap: 3px !important;
    }

    .vime-mobile-nav-item svg {
        width: 22px !important;
        height: 22px !important;
    }

    .vime-sidebar {
        padding: 12px;
    }

    .vime-sidebar-profile {
        padding-bottom: 16px;
        gap: 10px;
    }

    .vime-profile-avatar {
        width: 36px;
        height: 36px;
    }

    .vime-nav-item {
        padding: 12px 10px;
        font-size: 14px !important;
        gap: 10px;
    }

    .vime-nav-icon {
        width: 20px;
        height: 20px;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-content {
        padding: 10px;
        padding-bottom: calc(72px + 10px);
    }

    .vime-mobile-nav {
        height: 64px !important;
    }

    .vime-mobile-nav-item {
        font-size: 9px !important;
        padding: 6px 2px !important;
        gap: 2px !important;
    }

    .vime-mobile-nav-item svg {
        width: 20px !important;
        height: 20px !important;
    }

    .vime-sidebar {
        max-width: 100%;
    }

    .vime-nav-item {
        padding: 10px 8px;
        font-size: 13px !important;
    }

    .vime-logout-btn {
        padding: 10px 8px;
        font-size: 13px;
    }
}

/* Safe area insets for modern phones */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .vime-mobile-nav {
        padding-bottom: env(safe-area-inset-bottom) !important;
        height: calc(70px + env(safe-area-inset-bottom)) !important;
    }

    @media (max-width: 640px) {
        .vime-content {
            padding-bottom: calc(80px + env(safe-area-inset-bottom) + 16px) !important;
        }
    }
}

/* Override Hello Elementor and other theme styles */
.vime-mobile-nav,
.vime-mobile-nav * {
    box-sizing: border-box !important;
}

.vime-mobile-nav a,
.vime-mobile-nav button,
.vime-mobile-nav-item {
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-mobile-nav a:hover,
.vime-mobile-nav a:focus,
.vime-mobile-nav a:active,
.vime-mobile-nav button:hover,
.vime-mobile-nav button:focus,
.vime-mobile-nav button:active {
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/**
 * Stats Card Styles
 */

.vime-stats-card {
    display: flex;
    align-items: flex-start;
    gap: var(--vime-spacing-md);
    padding: var(--vime-spacing-lg);
    background: var(--vime-color-surface);
    border-radius: var(--vime-border-radius);
    border: 1px solid var(--vime-color-border);
    transition: all 0.2s;
}

.vime-stats-card:hover {
    box-shadow: var(--vime-shadow-md);
}

.vime-stats-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--vime-border-radius);
    flex-shrink: 0;
}

.vime-stats-card-primary .vime-stats-card-icon {
    background: rgba(59, 130, 246, 0.1);
    color: var(--vime-color-primary);
}

.vime-stats-card-secondary .vime-stats-card-icon {
    background: rgba(99, 102, 241, 0.1);
    color: var(--vime-color-secondary);
}

.vime-stats-card-success .vime-stats-card-icon {
    background: rgba(34, 197, 94, 0.1);
    color: var(--vime-color-success);
}

.vime-stats-card-warning .vime-stats-card-icon {
    background: rgba(245, 158, 11, 0.1);
    color: var(--vime-color-warning);
}

.vime-stats-card-danger .vime-stats-card-icon {
    background: rgba(239, 68, 68, 0.1);
    color: var(--vime-color-danger);
}

.vime-stats-card-content {
    display: flex;
    flex-direction: column;
    gap: var(--vime-spacing-xs);
}

.vime-stats-card-title {
    font-size: 0.875rem;
    color: var(--vime-color-text-secondary);
}

.vime-stats-card-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--vime-color-text);
}

.vime-stats-card-trend {
    font-size: 0.75rem;
    font-weight: 500;
}

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

.vime-trend-down {
    color: var(--vime-color-danger);
}

/* Responsive */
@media (max-width: 640px) {
    .vime-stats-card {
        padding: var(--vime-spacing-md);
    }

    .vime-stats-card-icon {
        width: 40px;
        height: 40px;
    }

    .vime-stats-card-value {
        font-size: 1.25rem;
    }
}

/**
 * Dashboard Page Styles - Trocaê Design
 */

.vime-dashboard {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.vime-welcome {
    margin-bottom: 8px;
}

.vime-welcome h1 {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    margin: 0 0 8px 0 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-welcome p {
    color: #808080 !important;
    margin: 0 !important;
    font-size: 14px !important;
}

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

/* Skeleton loading */
.vime-skeleton {
    background: #252525;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vime-skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 50%,
        transparent 100%
    );
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Stat Card Skeleton */
.vime-stat-card-skeleton {
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
}

/* Table Skeleton */
.vime-table-skeleton {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 0;
}

.vime-table-row-skeleton {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #2A2A2A;
}

.vime-table-row-skeleton:last-child {
    border-bottom: none;
}

/* Card styles for dashboard */
.vime-dashboard .vime-card {
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
}

.vime-dashboard .vime-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #2A2A2A;
}

.vime-dashboard .vime-card-header h2 {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.vime-dashboard .vime-link {
    color: #C8FF00 !important;
    font-size: 14px !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
}

.vime-dashboard .vime-link:hover {
    -webkit-text-decoration: underline !important;
    text-decoration: underline !important;
}

.vime-dashboard .vime-card-body {
    padding: 16px 24px;
}

/* Table styles */
.vime-dashboard .vime-table {
    width: 100%;
    border-collapse: collapse;
}

.vime-dashboard .vime-table th,
.vime-dashboard .vime-table td {
    padding: 12px 0;
    text-align: left;
    border-bottom: 1px solid #2A2A2A;
}

.vime-dashboard .vime-table th {
    color: #808080 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase;
}

.vime-dashboard .vime-table td {
    color: #FFFFFF !important;
    font-size: 14px !important;
}

.vime-dashboard .vime-table tr:last-child td {
    border-bottom: none;
}

.vime-dashboard .vime-table a {
    color: #C8FF00 !important;
    -webkit-text-decoration: none;
    text-decoration: none;
}

.vime-dashboard .vime-table a:hover {
    -webkit-text-decoration: underline;
    text-decoration: underline;
}

/* Status badges */
.vime-status {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px !important;
    font-weight: 500;
}

.vime-status-completed {
    background: rgba(34, 197, 94, 0.15) !important;
    color: #22C55E !important;
}

.vime-status-processing {
    background: rgba(59, 130, 246, 0.15) !important;
    color: #3B82F6 !important;
}

.vime-status-pending {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #F59E0B !important;
}

.vime-status-cancelled,
.vime-status-failed {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #EF4444 !important;
}

/* Empty state */
.vime-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    color: #808080 !important;
}

.vime-empty svg {
    color: #3A3A3A !important;
    margin-bottom: 16px;
}

.vime-empty p {
    margin: 0 !important;
    font-size: 14px !important;
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-dashboard {
        gap: 20px;
    }

    .vime-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .vime-welcome h1 {
        font-size: 22px !important;
    }

    .vime-dashboard .vime-card-header h2 {
        font-size: 15px !important;
    }

    .vime-dashboard .vime-table th,
    .vime-dashboard .vime-table td {
        padding: 10px 0;
    }

    /* Table horizontal scroll on tablet */
    .vime-dashboard .vime-card-body {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .vime-dashboard .vime-table {
        min-width: 500px;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-dashboard {
        gap: 16px;
    }

    .vime-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .vime-welcome {
        margin-bottom: 4px;
    }

    .vime-welcome h1 {
        font-size: 20px !important;
    }

    .vime-welcome p {
        font-size: 13px !important;
    }

    .vime-dashboard .vime-card {
        border-radius: 12px !important;
    }

    .vime-dashboard .vime-card-header {
        padding: 14px 16px;
    }

    .vime-dashboard .vime-card-header h2 {
        font-size: 14px !important;
    }

    .vime-dashboard .vime-link {
        font-size: 13px !important;
    }

    .vime-dashboard .vime-card-body {
        padding: 12px 16px;
    }

    .vime-dashboard .vime-table th {
        font-size: 11px !important;
    }

    .vime-dashboard .vime-table td {
        font-size: 13px !important;
    }

    .vime-stat-card-skeleton {
        padding: 16px;
        border-radius: 12px !important;
    }

    .vime-empty {
        padding: 36px 16px;
    }

    .vime-empty p {
        font-size: 13px !important;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-dashboard {
        gap: 14px;
    }

    .vime-stats-grid {
        gap: 8px;
    }

    .vime-welcome h1 {
        font-size: 18px !important;
    }

    .vime-welcome p {
        font-size: 12px !important;
    }

    .vime-dashboard .vime-card-header {
        padding: 12px 14px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .vime-dashboard .vime-card-body {
        padding: 10px 14px;
    }

    .vime-dashboard .vime-table th {
        font-size: 10px !important;
    }

    .vime-dashboard .vime-table td {
        font-size: 12px !important;
    }

    .vime-status {
        padding: 3px 8px;
        font-size: 10px !important;
    }

    .vime-empty {
        padding: 28px 12px;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-stats-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .vime-welcome h1 {
        font-size: 16px !important;
    }

    .vime-dashboard .vime-card-header,
    .vime-dashboard .vime-card-body {
        padding: 10px 12px;
    }

    .vime-dashboard .vime-card-header h2 {
        font-size: 13px !important;
    }

    .vime-stat-card-skeleton {
        padding: 14px;
    }
}

/**
 * Profile Page Styles - Trocaê Design
 */

.vime-profile-page {
    max-width: 600px;
    padding: 24px 0;
}

.vime-profile-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Avatar Section */
.vime-profile-avatar-section {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.vime-profile-avatar-wrapper {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.vime-profile-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-profile-avatar-placeholder {
    width: 100%;
    height: 100%;
    background: #2A2A2A !important;
    border: 2px solid #3A3A3A !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B3B3B3 !important;
    font-size: 24px;
    font-weight: 600;
}

.vime-profile-avatar-label {
    color: #FFFFFF !important;
    font-size: 15px;
    font-weight: 500;
}

.vime-btn-upload {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px !important;
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: none !important;
}

.vime-btn-upload:hover {
    background: #B8EE00 !important;
    transform: translateY(-1px);
    color: #0D0D0D !important;
}

.vime-btn-upload svg {
    width: 16px;
    height: 16px;
}

.vime-hidden-input {
    display: none !important;
}

/* Form Groups */
.vime-profile-form .vime-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 0;
}

.vime-profile-form .vime-label {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-bottom: 0 !important;
}

/* Input and Textarea - Override WordPress styles */
.vime-profile-form .vime-input,
.vime-profile-form .vime-textarea,
.vime-profile-page input[type="text"],
.vime-profile-page input[type="tel"],
.vime-profile-page input[type="email"],
.vime-profile-page textarea {
    width: 100% !important;
    padding: 14px 20px !important;
    background: #1A1A1A !important;
    background-color: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 999px !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-family: inherit !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
}

.vime-profile-form .vime-input::placeholder,
.vime-profile-form .vime-textarea::placeholder,
.vime-profile-page input::placeholder,
.vime-profile-page textarea::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

.vime-profile-form .vime-input:focus,
.vime-profile-form .vime-textarea:focus,
.vime-profile-page input:focus,
.vime-profile-page textarea:focus {
    outline: none !important;
    border-color: #C8FF00 !important;
    box-shadow: 0 0 0 2px rgba(200, 255, 0, 0.1) !important;
    background: #1A1A1A !important;
}

.vime-profile-form .vime-textarea,
.vime-profile-page textarea {
    resize: vertical !important;
    min-height: 150px !important;
    border-radius: 24px !important;
}

/* Primary Button - Override WordPress styles */
.vime-profile-form .vime-btn-primary,
.vime-profile-page button[type="submit"] {
    width: 100% !important;
    padding: 16px 24px !important;
    background: #C8FF00 !important;
    background-color: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 30px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-top: 20px !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.vime-profile-form .vime-btn-primary:hover,
.vime-profile-page button[type="submit"]:hover {
    background: #B8EE00 !important;
    background-color: #B8EE00 !important;
    color: #0D0D0D !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(200, 255, 0, 0.3) !important;
}

.vime-profile-form .vime-btn-primary:disabled,
.vime-profile-page button[type="submit"]:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

.vime-profile-form .vime-btn-primary:focus,
.vime-profile-page button[type="submit"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(200, 255, 0, 0.3) !important;
}

/* Form Row - Side by side fields */
.vime-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* Messages */
.vime-message {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 16px;
}

.vime-message svg {
    flex-shrink: 0;
}

.vime-message-success {
    background: rgba(34, 197, 94, 0.15) !important;
    border: 1px solid rgba(34, 197, 94, 0.3) !important;
    color: #22C55E !important;
}

.vime-message-error {
    background: rgba(239, 68, 68, 0.15) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #EF4444 !important;
}

/* Spinning animation */
.vime-spinning {
    animation: spin 1s linear infinite;
}

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

/* Skeleton loader */
.vime-profile-page .vime-skeleton {
    background: #252525;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vime-profile-page .vime-skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 50%,
        transparent 100%
    );
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-profile-page {
        max-width: 100%;
        padding: 20px 0;
    }

    .vime-profile-form .vime-input,
    .vime-profile-form .vime-textarea,
    .vime-profile-page input[type="text"],
    .vime-profile-page input[type="tel"],
    .vime-profile-page input[type="email"],
    .vime-profile-page textarea {
        padding: 12px 18px !important;
    }

    .vime-profile-form .vime-btn-primary,
    .vime-profile-page button[type="submit"] {
        padding: 14px 20px !important;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-profile-page {
        padding: 16px 0;
    }

    .vime-profile-form {
        gap: 16px;
    }

    .vime-profile-avatar-section {
        flex-wrap: wrap;
        gap: 12px;
    }

    .vime-profile-avatar-wrapper {
        width: 56px;
        height: 56px;
    }

    .vime-profile-avatar-placeholder {
        font-size: 20px;
    }

    .vime-profile-avatar-label {
        flex: 1;
        font-size: 14px;
    }

    .vime-btn-upload {
        margin-top: 8px;
        min-height: 44px;
        padding: 10px 16px !important;
    }

    .vime-form-row {
        grid-template-columns: 1fr;
    }

    .vime-profile-form .vime-label {
        font-size: 13px !important;
    }

    .vime-profile-form .vime-input,
    .vime-profile-form .vime-textarea,
    .vime-profile-page input[type="text"],
    .vime-profile-page input[type="tel"],
    .vime-profile-page input[type="email"],
    .vime-profile-page textarea {
        padding: 12px 16px !important;
        font-size: 14px !important;
        min-height: 44px;
    }

    .vime-profile-form .vime-textarea,
    .vime-profile-page textarea {
        min-height: 120px !important;
        border-radius: 20px !important;
    }

    .vime-profile-form .vime-btn-primary,
    .vime-profile-page button[type="submit"] {
        min-height: 48px;
        padding: 14px 20px !important;
        font-size: 15px !important;
        margin-top: 16px !important;
    }

    .vime-message {
        padding: 12px 14px;
        font-size: 13px;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-profile-page {
        padding: 12px 0;
    }

    .vime-profile-avatar-wrapper {
        width: 48px;
        height: 48px;
    }

    .vime-profile-avatar-placeholder {
        font-size: 18px;
    }

    .vime-profile-avatar-label {
        font-size: 13px;
    }

    .vime-btn-upload {
        font-size: 12px !important;
        padding: 8px 12px !important;
    }

    .vime-profile-form .vime-input,
    .vime-profile-page input {
        padding: 10px 14px !important;
    }

    .vime-profile-form .vime-textarea,
    .vime-profile-page textarea {
        min-height: 100px !important;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-profile-avatar-section {
        gap: 10px;
    }

    .vime-profile-avatar-wrapper {
        width: 44px;
        height: 44px;
    }

    .vime-profile-form .vime-label {
        font-size: 12px !important;
    }

    .vime-profile-form .vime-input,
    .vime-profile-page input {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }

    .vime-profile-form .vime-btn-primary,
    .vime-profile-page button[type="submit"] {
        font-size: 14px !important;
    }
}

/**
 * Tickets Page Styles - Meus Ingressos
 * Trocaê Figma Design - Grid cards with download
 */

.vime-tickets-page {
    max-width: 100%;
}

/* Tabs Navigation */
.vime-tickets-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 32px;
}

.vime-tab {
    padding: 12px 32px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Manrope', sans-serif !important;
    cursor: pointer;
    transition: all 0.2s ease;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    color: #B3B3B3 !important;
}

.vime-tab:hover {
    background: #1A1A1A !important;
    border-color: #4A4A4A !important;
    color: #FFFFFF !important;
}

.vime-tab-active {
    background: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: #0D0D0D !important;
}

.vime-tab-active:hover {
    background: #F0F0F0 !important;
    border-color: #F0F0F0 !important;
    color: #0D0D0D !important;
}

/* Tickets Grid */
.vime-tickets-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Ticket Card */
.vime-ticket-card {
    display: flex;
    flex-direction: column;
    background: transparent;
    border-radius: 16px;
    overflow: hidden;
}

/* Ticket Image */
.vime-ticket-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
}

.vime-ticket-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-ticket-image-placeholder {
    width: 100%;
    height: 100%;
    background: #C4C4C4;
}

/* Ticket Content */
.vime-ticket-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vime-ticket-title {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Ticket Details */
.vime-ticket-details {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.vime-ticket-detail {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #808080 !important;
    font-size: 13px !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-ticket-detail svg {
    color: #666666 !important;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
}

.vime-ticket-price {
    color: #C8FF00 !important;
}

.vime-ticket-price svg {
    color: #C8FF00 !important;
}

.vime-ticket-price span {
    color: #C8FF00 !important;
}

/* Download Button */
.vime-ticket-download-btn {
    width: 100%;
    padding: 14px 24px !important;
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 8px;
}

.vime-ticket-download-btn:hover {
    background: #B8EE00 !important;
    transform: translateY(-1px);
}

/* Skeleton */
.vime-skeleton-card {
    pointer-events: none;
}

.vime-skeleton {
    background: #252525;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vime-skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 50%,
        transparent 100%
    );
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Empty State */
.vime-tickets-page .vime-empty-state {
    text-align: center;
    padding: 64px 24px;
    background: #1A1A1A !important;
    border-radius: 16px !important;
    border: 1px solid #2A2A2A !important;
}

.vime-tickets-page .vime-empty-state h2 {
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin: 0 0 8px 0 !important;
}

.vime-tickets-page .vime-empty-state p {
    color: #808080 !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/* Error State */
.vime-error-state {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    background: rgba(239, 68, 68, 0.1) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(239, 68, 68, 0.2) !important;
    color: #EF4444 !important;
    margin-bottom: 16px;
}

.vime-error-state p {
    margin: 0 !important;
}

/* Tab Count Badge */
.vime-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-left: 8px;
    border-radius: 10px;
    font-size: 11px !important;
    font-weight: 600 !important;
    background: rgba(200, 255, 0, 0.2);
    color: #C8FF00 !important;
}

.vime-tab-active .vime-tab-count {
    background: #0D0D0D;
    color: #FFFFFF !important;
}

/* Clickable Card */
.vime-ticket-card {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vime-ticket-card:hover {
    transform: translateY(-4px);
}

.vime-ticket-card:hover .vime-ticket-image img {
    transform: scale(1.02);
}

.vime-ticket-image {
    position: relative;
}

.vime-ticket-image img {
    transition: transform 0.3s ease;
}

/* Status Badge on Image */
.vime-ticket-status-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
    backdrop-filter: blur(8px);
}

.vime-ticket-status-badge.vime-status-success {
    background: rgba(16, 185, 129, 0.9);
    color: #FFFFFF !important;
}

.vime-ticket-status-badge.vime-status-warning {
    background: rgba(245, 158, 11, 0.9);
    color: #FFFFFF !important;
}

.vime-ticket-status-badge.vime-status-error {
    background: rgba(239, 68, 68, 0.9);
    color: #FFFFFF !important;
}

.vime-ticket-status-badge.vime-status-info {
    background: rgba(59, 130, 246, 0.9);
    color: #FFFFFF !important;
}

/* Image Placeholder */
.vime-ticket-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #252525;
    color: #666666;
}

/* Download Button with Icon */
.vime-ticket-download-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.vime-ticket-download-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Empty State Icon */
.vime-tickets-page .vime-empty-state svg {
    color: #666666;
    margin-bottom: 16px;
}

/* ================================ */
/* Modal Styles */
/* ================================ */

.vime-modal-overlay {
    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: 20px;
    backdrop-filter: blur(4px);
}

.vime-modal {
    background: #1A1A1A !important;
    border-radius: 20px !important;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #2A2A2A !important;
}

.vime-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #2A2A2A;
}

.vime-modal-header h2 {
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.vime-modal-close {
    background: transparent !important;
    border: none !important;
    color: #808080 !important;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.vime-modal-close:hover {
    background: #2A2A2A !important;
    color: #FFFFFF !important;
}

.vime-modal-body {
    padding: 24px;
    overflow-y: auto;
}

.vime-modal-footer {
    padding: 20px 24px;
    border-top: 1px solid #2A2A2A;
}

/* Ticket Modal Specific */
.vime-ticket-modal-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
}

.vime-ticket-modal-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-ticket-modal-image .vime-ticket-image-placeholder {
    border-radius: 12px;
}

.vime-ticket-modal-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.vime-ticket-modal-title {
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    line-height: 1.4;
}

.vime-ticket-modal-status {
    display: flex;
    align-items: center;
}

.vime-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.vime-status-badge.vime-status-success {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981 !important;
}

.vime-status-badge.vime-status-warning {
    background: rgba(245, 158, 11, 0.15);
    color: #F59E0B !important;
}

.vime-status-badge.vime-status-error {
    background: rgba(239, 68, 68, 0.15);
    color: #EF4444 !important;
}

.vime-status-badge.vime-status-info {
    background: rgba(59, 130, 246, 0.15);
    color: #3B82F6 !important;
}

.vime-ticket-modal-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vime-detail-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.vime-detail-row > svg {
    flex-shrink: 0;
    color: #666666 !important;
    margin-top: 2px;
}

.vime-detail-row > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.vime-detail-label {
    color: #808080 !important;
    font-size: 12px !important;
}

.vime-detail-value {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.vime-detail-value.vime-price {
    color: #C8FF00 !important;
    font-weight: 600 !important;
}

.vime-ticket-modal-divider {
    height: 1px;
    background: #2A2A2A;
    margin: 8px 0;
}

/* Section Title */
.vime-ticket-modal-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vime-section-title {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Monospace text for IDs */
.vime-detail-mono {
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace !important;
    font-size: 13px !important;
    background: #252525;
    padding: 2px 6px;
    border-radius: 4px;
}

/* Order Breakdown */
.vime-order-breakdown {
    background: #0D0D0D;
    border-radius: 12px;
    padding: 16px;
    margin-top: 8px;
}

.vime-breakdown-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    color: #B3B3B3 !important;
    font-size: 13px !important;
}

.vime-breakdown-row:not(:last-child) {
    border-bottom: 1px solid #2A2A2A;
}

.vime-breakdown-row span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.vime-breakdown-row svg {
    width: 12px;
    height: 12px;
    color: #666666;
}

.vime-breakdown-row.vime-discount {
    color: #10B981 !important;
}

.vime-breakdown-row.vime-discount span {
    color: #10B981 !important;
}

.vime-breakdown-row.vime-breakdown-total {
    padding-top: 12px;
    border-top: 1px solid #3A3A3A;
    font-weight: 600 !important;
    color: #FFFFFF !important;
}

.vime-breakdown-row.vime-breakdown-total span:last-child {
    font-size: 16px !important;
}

/* Download Button in Modal */
.vime-btn-download {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px !important;
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-btn-download:hover {
    background: #B8EE00 !important;
    transform: translateY(-1px);
}

.vime-btn-download:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Large Tablet (1024px) */
@media (max-width: 1024px) {
    .vime-tickets-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-tickets-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 4px;
        margin-bottom: 24px;
    }

    .vime-tickets-tabs::-webkit-scrollbar {
        display: none;
    }

    .vime-tab {
        flex-shrink: 0;
        padding: 10px 20px !important;
        font-size: 13px !important;
        white-space: nowrap;
    }

    .vime-tickets-grid {
        gap: 16px;
    }

    .vime-ticket-title {
        font-size: 15px !important;
    }

    .vime-ticket-detail {
        font-size: 12px !important;
    }

    .vime-tickets-page .vime-empty-state {
        padding: 48px 20px;
    }

    .vime-tickets-page .vime-empty-state h2 {
        font-size: 20px !important;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-tickets-tabs {
        width: calc(100% + 32px);
        margin-left: -16px;
        padding-left: 16px;
        padding-right: 16px;
        gap: 8px;
    }

    .vime-tab {
        padding: 10px 16px !important;
        font-size: 13px !important;
        min-height: 44px;
    }

    .vime-tickets-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .vime-ticket-card {
        display: grid;
        grid-template-columns: 100px 1fr;
        gap: 16px;
        align-items: start;
    }

    .vime-ticket-image {
        aspect-ratio: 1 / 1;
        margin-bottom: 0;
        border-radius: 12px;
    }

    .vime-ticket-content {
        gap: 6px;
    }

    .vime-ticket-title {
        font-size: 14px !important;
        margin-bottom: 4px !important;
        -webkit-line-clamp: 2;
    }

    .vime-ticket-details {
        gap: 4px;
        margin-bottom: 8px;
    }

    .vime-ticket-detail {
        font-size: 12px !important;
        gap: 6px;
    }

    .vime-ticket-detail svg {
        width: 12px;
        height: 12px;
    }

    .vime-ticket-download-btn {
        padding: 12px 20px !important;
        font-size: 13px !important;
        min-height: 44px;
        margin-top: 4px;
    }

    .vime-tickets-page .vime-empty-state {
        padding: 40px 16px;
    }

    .vime-tickets-page .vime-empty-state h2 {
        font-size: 18px !important;
    }

    .vime-tickets-page .vime-empty-state p {
        font-size: 13px !important;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-tickets-tabs {
        gap: 6px;
    }

    .vime-tab {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }

    .vime-ticket-card {
        grid-template-columns: 80px 1fr;
        gap: 12px;
    }

    .vime-ticket-image {
        border-radius: 10px;
    }

    .vime-ticket-title {
        font-size: 13px !important;
    }

    .vime-ticket-detail {
        font-size: 11px !important;
    }

    .vime-ticket-download-btn {
        padding: 10px 16px !important;
        font-size: 12px !important;
    }

    .vime-tickets-page .vime-empty-state {
        padding: 32px 12px;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-tickets-tabs {
        width: calc(100% + 20px);
        margin-left: -10px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .vime-tab {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }

    .vime-ticket-card {
        grid-template-columns: 70px 1fr;
        gap: 10px;
    }

    .vime-ticket-title {
        font-size: 12px !important;
    }

    .vime-ticket-detail {
        font-size: 10px !important;
    }

    .vime-ticket-download-btn {
        padding: 8px 12px !important;
        font-size: 11px !important;
    }
}

/* Modal Responsive */
@media (max-width: 640px) {
    .vime-modal-overlay {
        padding: 16px;
        align-items: flex-end;
    }

    .vime-modal {
        max-height: 85vh;
        border-radius: 20px 20px 0 0 !important;
    }

    .vime-modal-header {
        padding: 16px 20px;
    }

    .vime-modal-header h2 {
        font-size: 16px !important;
    }

    .vime-modal-body {
        padding: 20px;
    }

    .vime-ticket-modal-image {
        aspect-ratio: 4 / 3;
        margin-bottom: 16px;
    }

    .vime-ticket-modal-title {
        font-size: 18px !important;
    }

    .vime-detail-row {
        gap: 10px;
    }

    .vime-detail-label {
        font-size: 11px !important;
    }

    .vime-detail-value {
        font-size: 13px !important;
    }

    .vime-modal-footer {
        padding: 16px 20px;
    }

    .vime-btn-download {
        padding: 12px 20px !important;
        font-size: 13px !important;
    }

    /* Status badge on mobile cards */
    .vime-ticket-status-badge {
        top: 8px;
        left: 8px;
        padding: 4px 8px;
        font-size: 10px !important;
    }

    .vime-tab-count {
        min-width: 18px;
        height: 18px;
        font-size: 10px !important;
        margin-left: 6px;
    }
}

/**
 * Sales Page Styles - Trocaê Figma Design
 */

.vime-sales-page {
    max-width: 800px;
}

/* Tabs Navigation */
.vime-sales-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}

.vime-tab {
    padding: 12px 32px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Manrope', sans-serif !important;
    cursor: pointer;
    transition: all 0.2s ease;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    color: #B3B3B3 !important;
}

.vime-sales-page .vime-tab:hover {
    background: #1A1A1A !important;
    border-color: #4A4A4A !important;
    color: #FFFFFF !important;
}

.vime-sales-tabs .vime-tab:hover {
    background: #1A1A1A !important;
    border-color: #4A4A4A !important;
    color: #FFFFFF !important;
}

.vime-tab-active {
    background: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: #0D0D0D !important;
}

.vime-tab-active:hover,
.vime-sales-page .vime-tab-active:hover,
.vime-sales-tabs .vime-tab-active:hover {
    background: #F0F0F0 !important;
    border-color: #F0F0F0 !important;
    color: #0D0D0D !important;
}

/* Sales List */
.vime-sales-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Sale Card */
.vime-sale-card {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
    padding: 24px !important;
    transition: all 0.2s ease;
}

.vime-sale-card:hover {
    border-color: #3A3A3A !important;
}

/* Sale Main Content (Left Side) */
.vime-sale-main {
    flex: 1;
}

.vime-sale-title {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.3;
}

/* Sale Info */
.vime-sale-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.vime-sale-info-row {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #808080 !important;
    font-size: 14px !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-sale-info-row svg {
    color: #666666 !important;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

/* Sale Meta (Category + Quantity) */
.vime-sale-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.vime-sale-category {
    display: inline-block;
    padding: 4px 12px !important;
    border: 1px solid #3A3A3A !important;
    border-radius: 999px !important;
    color: #B3B3B3 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    font-family: 'Manrope', sans-serif !important;
    background: transparent !important;
}

.vime-sale-qty {
    color: #808080 !important;
    font-size: 14px !important;
    font-family: 'Manrope', sans-serif !important;
}

/* Price Section */
.vime-sale-price-section {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-sale-price-label {
    color: #666666 !important;
    font-size: 12px !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-sale-price {
    color: #C8FF00 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    font-family: 'Manrope', sans-serif !important;
}

/* Sale Side (Right Side) */
.vime-sale-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    align-self: stretch;
    min-height: 140px;
}

/* Views Badge */
.vime-sale-views {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 999px !important;
    color: #808080 !important;
    font-size: 12px !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-sale-views svg {
    color: #666666 !important;
    width: 14px;
    height: 14px;
}

/* Action Buttons */
.vime-sale-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

.vime-sale-action-btn,
.vime-sales-page .vime-sale-action-btn,
.vime-sales-page button.vime-sale-action-btn,
button.vime-sale-action-btn {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 50% !important;
    background: transparent !important;
    background-color: transparent !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.vime-sale-action-btn svg,
.vime-sales-page .vime-sale-action-btn svg {
    width: 16px !important;
    height: 16px !important;
}

.vime-action-edit,
.vime-sales-page .vime-action-edit,
.vime-sales-page button.vime-action-edit,
button.vime-action-edit {
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #FFFFFF !important;
}

.vime-action-edit:hover,
.vime-sales-page .vime-action-edit:hover {
    border-color: rgba(255, 255, 255, 0.5) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.vime-action-edit svg,
.vime-sales-page .vime-action-edit svg {
    color: #FFFFFF !important;
}

.vime-action-delete,
.vime-sales-page .vime-action-delete,
.vime-sales-page button.vime-action-delete,
button.vime-action-delete {
    border: 1px solid #FF6467 !important;
    color: #FF6467 !important;
}

.vime-action-delete:hover,
.vime-sales-page .vime-action-delete:hover {
    background: rgba(255, 100, 103, 0.1) !important;
    background-color: rgba(255, 100, 103, 0.1) !important;
    border-color: #FF6467 !important;
}

.vime-action-delete svg,
.vime-sales-page .vime-action-delete svg {
    color: #FF6467 !important;
}

/* Skeleton */
.vime-skeleton-card {
    pointer-events: none;
}

.vime-skeleton {
    background: #252525;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vime-skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 50%,
        transparent 100%
    );
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Empty State */
.vime-sales-page .vime-empty-state {
    text-align: center;
    padding: 64px 24px;
    background: #1A1A1A !important;
    border-radius: 16px !important;
    border: 1px solid #2A2A2A !important;
}

.vime-sales-page .vime-empty-state h2 {
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin: 0 0 8px 0 !important;
}

.vime-sales-page .vime-empty-state p {
    color: #808080 !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/* ======================= */
/* Orders List (Vendidos) */
/* ======================= */

.vime-orders-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.vime-order-card {
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
    padding: 20px !important;
    transition: all 0.2s ease;
}

.vime-order-card:hover {
    border-color: #3A3A3A !important;
}

/* Order Header */
.vime-order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #2A2A2A;
}

.vime-order-number {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-order-number svg {
    color: #C8FF00 !important;
    width: 16px;
    height: 16px;
}

.vime-order-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-order-status svg {
    width: 14px;
    height: 14px;
}

.vime-status-completed {
    background: rgba(46, 204, 113, 0.15) !important;
    color: #2ECC71 !important;
}

.vime-status-processing {
    background: rgba(241, 196, 15, 0.15) !important;
    color: #F1C40F !important;
}

.vime-status-on-hold {
    background: rgba(52, 152, 219, 0.15) !important;
    color: #3498DB !important;
}

.vime-status-cancelled,
.vime-status-refunded {
    background: rgba(255, 100, 103, 0.15) !important;
    color: #FF6467 !important;
}

/* Order Body */
.vime-order-body {
    display: flex;
    gap: 24px;
    margin-bottom: 16px;
}

.vime-order-customer,
.vime-order-date {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #808080 !important;
    font-size: 13px !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-order-customer svg,
.vime-order-date svg {
    color: #666666 !important;
    width: 14px;
    height: 14px;
}

/* Order Items */
.vime-order-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 10px !important;
    margin-bottom: 16px;
}

.vime-order-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.vime-order-item-name {
    flex: 1;
    color: #B3B3B3 !important;
    font-size: 13px !important;
    font-family: 'Manrope', sans-serif !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-order-item-qty {
    color: #666666 !important;
    font-size: 12px !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-order-item-price {
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: 'Manrope', sans-serif !important;
}

/* Order Footer */
.vime-order-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid #2A2A2A;
}

.vime-order-total,
.vime-order-commission {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-order-total span,
.vime-order-commission span {
    color: #666666 !important;
    font-size: 11px !important;
    font-family: 'Manrope', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.vime-order-total strong {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-order-commission strong {
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vime-commission-value {
    color: #C8FF00 !important;
}

/* Empty State with Icon */
.vime-sales-page .vime-empty-state svg {
    color: #3A3A3A !important;
    margin-bottom: 16px;
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-sales-page {
        max-width: 100%;
    }

    .vime-sales-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 4px;
    }

    .vime-sales-tabs::-webkit-scrollbar {
        display: none;
    }

    .vime-tab {
        flex-shrink: 0;
        padding: 10px 20px !important;
        font-size: 13px !important;
        white-space: nowrap;
    }

    .vime-sale-card {
        padding: 20px !important;
    }

    .vime-sale-title {
        font-size: 15px !important;
    }

    .vime-sale-price {
        font-size: 18px !important;
    }

    .vime-order-card {
        padding: 16px !important;
    }

    .vime-order-body {
        gap: 16px;
    }

    .vime-sales-page .vime-empty-state {
        padding: 48px 20px;
    }

    .vime-sales-page .vime-empty-state h2 {
        font-size: 20px !important;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-sales-tabs {
        width: calc(100% + 32px);
        margin-left: -16px;
        padding-left: 16px;
        padding-right: 16px;
        gap: 8px;
        margin-bottom: 20px;
    }

    .vime-tab {
        padding: 10px 16px !important;
        font-size: 13px !important;
        min-height: 44px;
    }

    .vime-sales-list {
        gap: 12px;
    }

    .vime-sale-card {
        flex-direction: column;
        gap: 16px;
        padding: 16px !important;
        border-radius: 12px !important;
    }

    .vime-sale-main {
        width: 100%;
    }

    .vime-sale-title {
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }

    .vime-sale-info {
        gap: 4px;
        margin-bottom: 10px;
    }

    .vime-sale-info-row {
        font-size: 13px !important;
    }

    .vime-sale-meta {
        margin-bottom: 12px;
        gap: 10px;
    }

    .vime-sale-category {
        padding: 3px 10px !important;
        font-size: 11px !important;
    }

    .vime-sale-qty {
        font-size: 13px !important;
    }

    .vime-sale-price-label {
        font-size: 11px !important;
    }

    .vime-sale-price {
        font-size: 18px !important;
    }

    .vime-sale-side {
        flex-direction: row;
        width: 100%;
        min-height: auto;
        justify-content: space-between;
        align-items: center;
        padding-top: 12px;
        border-top: 1px solid #2A2A2A;
    }

    .vime-sale-views {
        padding: 5px 10px;
        font-size: 11px !important;
    }

    .vime-sale-actions {
        margin-top: 0;
    }

    /* Orders responsive */
    .vime-orders-list {
        gap: 12px;
    }

    .vime-order-card {
        padding: 14px !important;
        border-radius: 12px !important;
    }

    .vime-order-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 12px;
        padding-bottom: 10px;
    }

    .vime-order-number {
        font-size: 14px !important;
    }

    .vime-order-status {
        padding: 5px 10px !important;
        font-size: 11px !important;
    }

    .vime-order-body {
        flex-direction: column;
        gap: 6px;
        margin-bottom: 12px;
    }

    .vime-order-customer,
    .vime-order-date {
        font-size: 12px !important;
    }

    .vime-order-items {
        padding: 10px;
        margin-bottom: 12px;
    }

    .vime-order-item-name {
        font-size: 12px !important;
    }

    .vime-order-item-qty {
        font-size: 11px !important;
    }

    .vime-order-item-price {
        font-size: 12px !important;
    }

    .vime-order-footer {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
        padding-top: 10px;
    }

    .vime-order-total span,
    .vime-order-commission span {
        font-size: 10px !important;
    }

    .vime-order-total strong,
    .vime-order-commission strong {
        font-size: 15px !important;
    }

    .vime-sales-page .vime-empty-state {
        padding: 40px 16px;
    }

    .vime-sales-page .vime-empty-state h2 {
        font-size: 18px !important;
    }

    .vime-sales-page .vime-empty-state p {
        font-size: 13px !important;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-sales-tabs {
        gap: 6px;
    }

    .vime-tab {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }

    .vime-sale-card {
        padding: 14px !important;
    }

    .vime-sale-title {
        font-size: 13px !important;
    }

    .vime-sale-info-row {
        font-size: 12px !important;
    }

    .vime-sale-price {
        font-size: 16px !important;
    }

    .vime-order-card {
        padding: 12px !important;
    }

    .vime-order-header {
        margin-bottom: 10px;
        padding-bottom: 8px;
    }

    .vime-order-number {
        font-size: 13px !important;
    }

    .vime-order-items {
        padding: 8px;
    }

    .vime-sales-page .vime-empty-state {
        padding: 32px 12px;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-sales-tabs {
        width: calc(100% + 20px);
        margin-left: -10px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .vime-tab {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }

    .vime-sale-card,
    .vime-order-card {
        padding: 10px !important;
    }

    .vime-sale-title {
        font-size: 12px !important;
    }

    .vime-sale-info-row {
        font-size: 11px !important;
        gap: 6px;
    }

    .vime-sale-price {
        font-size: 15px !important;
    }

    .vime-sale-action-btn,
    .vime-sales-page .vime-sale-action-btn {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

/**
 * Earnings Page Styles - Trocaê Design
 */

.vime-earnings-page {
    max-width: 1200px;
}

/* Balance Cards */
.vime-balance-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 32px;
}

.vime-balance-card {
    padding: 24px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
}

.vime-balance-card.vime-balance-available {
    background: linear-gradient(135deg, #1A1A1A 0%, #252525 100%) !important;
    border-color: #C8FF00 !important;
}

.vime-balance-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    color: #B3B3B3 !important;
}

.vime-balance-header svg {
    color: #C8FF00;
}

.vime-balance-amount {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin-bottom: 16px;
}

.vime-balance-amount.vime-balance-pending {
    color: #F59E0B !important;
}

.vime-balance-hint {
    color: #666666 !important;
    font-size: 13px !important;
    margin: 0;
}

.vime-btn-withdraw {
    width: 100%;
    padding: 14px !important;
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
}

.vime-btn-withdraw:hover {
    background: #B8EE00 !important;
    color: #0D0D0D !important;
    box-shadow: 0 4px 15px rgba(200, 255, 0, 0.3) !important;
    transform: translateY(-1px);
}

/* Monthly Stats */
.vime-monthly-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 32px;
}

.vime-stat-card.vime-stat-large {
    padding: 24px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
}

.vime-stat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    color: #B3B3B3 !important;
    font-size: 14px !important;
}

.vime-growth {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}

.vime-growth.positive {
    color: #10B981 !important;
}

.vime-growth.negative {
    color: #EF4444 !important;
}

.vime-stat-value-large {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin-bottom: 8px;
}

.vime-stat-comparison {
    color: #666666 !important;
    font-size: 13px !important;
}

/* Payment Methods */
.vime-payment-methods {
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
    padding: 24px;
}

.vime-payment-methods h3 {
    color: #FFFFFF !important;
    font-size: 18px !important;
    margin: 0 0 20px 0 !important;
}

.vime-payment-list {
    margin-bottom: 20px;
}

.vime-payment-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
}

.vime-payment-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2A2A2A;
    border-radius: 10px;
    color: #C8FF00;
}

.vime-payment-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.vime-payment-name {
    color: #FFFFFF !important;
    font-weight: 500;
}

.vime-payment-details {
    color: #666666 !important;
    font-size: 13px !important;
}

.vime-payment-badge {
    padding: 4px 12px;
    background: rgba(200, 255, 0, 0.1);
    color: #C8FF00;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.vime-btn-outline {
    width: 100%;
    padding: 12px !important;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
}

.vime-btn-outline:hover {
    background: #2A2A2A !important;
    border-color: #C8FF00 !important;
}

/* Transactions */
.vime-transactions-header {
    margin-bottom: 20px;
}

.vime-transactions-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vime-transaction-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 12px !important;
}

.vime-transaction-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.vime-transaction-icon.credit {
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
}

.vime-transaction-icon.debit {
    background: rgba(239, 68, 68, 0.1);
    color: #EF4444;
}

.vime-transaction-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.vime-transaction-desc {
    color: #FFFFFF !important;
    font-weight: 500;
}

.vime-transaction-date {
    color: #666666 !important;
    font-size: 13px !important;
}

.vime-transaction-amount-wrapper {
    text-align: right;
}

.vime-transaction-amount {
    display: block;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.vime-transaction-amount.credit {
    color: #10B981 !important;
}

.vime-transaction-amount.debit {
    color: #EF4444 !important;
}

.vime-transaction-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px !important;
    font-weight: 600;
    text-transform: capitalize;
}

.vime-transaction-status.vime-status-pending {
    background: rgba(245, 158, 11, 0.15);
    color: #F59E0B !important;
}

.vime-transaction-status.vime-status-completed {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981 !important;
}

.vime-transaction-status.vime-status-processing {
    background: rgba(59, 130, 246, 0.15);
    color: #3B82F6 !important;
}

.vime-transaction-status.vime-status-cancelled,
.vime-transaction-status.vime-status-failed {
    background: rgba(239, 68, 68, 0.15);
    color: #EF4444 !important;
}

/* Withdrawals */
.vime-withdrawals-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vime-withdrawal-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 12px !important;
}

.vime-withdrawal-status .status-icon {
    width: 24px;
    height: 24px;
}

.vime-withdrawal-status .status-icon.success {
    color: #10B981;
}

.vime-withdrawal-status .status-icon.pending {
    color: #F59E0B;
}

.vime-withdrawal-status .status-icon.error {
    color: #EF4444;
}

.vime-withdrawal-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-withdrawal-amount {
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.vime-withdrawal-method {
    color: #B3B3B3 !important;
    font-size: 14px !important;
}

.vime-withdrawal-date,
.vime-withdrawal-completed {
    color: #666666 !important;
    font-size: 13px !important;
}

.vime-withdrawal-error {
    color: #EF4444 !important;
    font-size: 13px !important;
}

.vime-withdrawal-badge {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

/* Modal */
.vime-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 20px;
}

.vime-modal {
    width: 100%;
    max-width: 480px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 20px !important;
    overflow: hidden;
}

.vime-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #2A2A2A;
}

.vime-modal-header h2 {
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.vime-modal-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #666666;
    font-size: 24px;
    cursor: pointer;
}

.vime-modal-close:hover {
    color: #FFFFFF;
}

.vime-modal-body {
    padding: 24px;
}

.vime-withdraw-balance {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
    margin-bottom: 24px;
}

.vime-withdraw-balance span {
    color: #B3B3B3 !important;
}

.vime-withdraw-balance strong {
    color: #C8FF00 !important;
    font-size: 20px !important;
}

.vime-input-with-button {
    position: relative;
    display: flex;
    align-items: center;
}

.vime-input-with-button .vime-input {
    width: 100% !important;
    padding: 16px 90px 16px 16px !important;
    -moz-appearance: textfield !important;
    background: #0D0D0D !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 12px !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.vime-input-with-button .vime-input:focus {
    border-color: #C8FF00 !important;
    outline: none !important;
}

.vime-input-with-button .vime-input::placeholder {
    color: #666666 !important;
}

.vime-btn-max {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    padding: 8px 16px !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid #C8FF00 !important;
    border-radius: 8px !important;
    color: #C8FF00 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1 !important;
    min-height: auto !important;
    height: auto !important;
}

.vime-btn-max:hover {
    background: rgba(200, 255, 0, 0.1) !important;
    background-color: rgba(200, 255, 0, 0.1) !important;
    color: #C8FF00 !important;
    border-color: #C8FF00 !important;
    box-shadow: none !important;
}

.vime-btn-max:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(200, 255, 0, 0.2) !important;
}

.vime-input-hint {
    display: block;
    color: #666666 !important;
    font-size: 12px !important;
    margin-top: 8px;
}

.vime-bank-info {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
}

.vime-bank-info svg {
    color: #C8FF00;
}

.vime-bank-info div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-bank-info span {
    color: #FFFFFF !important;
    font-weight: 600;
    font-size: 15px !important;
}

.vime-bank-info small {
    color: #808080 !important;
    font-size: 13px !important;
}

.vime-withdraw-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: rgba(245, 158, 11, 0.1);
    border-radius: 8px;
    margin-top: 20px;
}

.vime-withdraw-notice svg {
    color: #F59E0B;
    flex-shrink: 0;
}

.vime-withdraw-notice span {
    color: #F59E0B !important;
    font-size: 13px !important;
}

.vime-modal-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}

.vime-modal-actions .vime-btn {
    flex: 1;
    padding: 14px !important;
    border-radius: 999px !important;
}

.vime-modal-actions .vime-btn:not(.vime-btn-primary) {
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    color: #FFFFFF !important;
}

.vime-modal-actions .vime-btn-primary {
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
}

.vime-modal-actions .vime-btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Skeleton Loader */
.vime-earnings-page .vime-skeleton {
    background: #252525;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vime-earnings-page .vime-skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 50%,
        transparent 100%
    );
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Refresh Button */
.vime-refresh-btn {
    margin-left: auto !important;
    padding: 6px !important;
    background: transparent !important;
    border: none !important;
    color: #666666 !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}

.vime-refresh-btn:hover {
    background: #2A2A2A !important;
    color: #C8FF00 !important;
}

.vime-refresh-btn:focus,
.vime-refresh-btn:active {
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

.vime-refresh-btn:disabled {
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

/* Spinning Animation */
.vime-refresh-btn.is-spinning svg,
.vime-spin {
    animation: vime-spin 1s linear infinite;
}

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

/* Button with spinning icon */
.vime-btn.is-spinning {
    opacity: 0.8;
    pointer-events: none;
}

/* Balance Warning */
.vime-balance-warning {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #F59E0B !important;
    font-size: 13px !important;
    margin-top: 8px;
}

.vime-balance-pending-info {
    color: #F59E0B !important;
}

/* PIX Icon */
.vime-pix-icon,
.vime-pix-icon-sm {
    font-weight: 700;
    color: #00A693;
}

.vime-pix-icon {
    font-size: 14px;
}

.vime-pix-icon-sm {
    font-size: 11px;
}

/* Payment Check */
.vime-payment-check {
    color: #10B981;
}

.vime-payment-item.configured {
    border: 1px solid #2A2A2A;
}

.vime-not-configured {
    color: #666666 !important;
    font-style: italic;
}

/* Payment Method Select in Modal */
.vime-payment-method-select {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vime-payment-method-option {
    display: flex;
    padding: 16px;
    background: #0D0D0D;
    border: 2px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
}

.vime-payment-method-option:hover {
    border-color: #3A3A3A;
}

.vime-payment-method-option.selected {
    border-color: #C8FF00;
    background: rgba(200, 255, 0, 0.05);
}

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

.vime-payment-method-content {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.vime-payment-method-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2A2A2A;
    border-radius: 10px;
    color: #C8FF00;
    flex-shrink: 0;
}

.vime-payment-method-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-payment-method-name {
    color: #FFFFFF !important;
    font-weight: 600;
    font-size: 15px !important;
    line-height: 1.3;
}

.vime-payment-method-details {
    color: #808080 !important;
    font-size: 13px !important;
    line-height: 1.3;
}

/* Bank Info Warning */
.vime-bank-info-warning {
    background: rgba(245, 158, 11, 0.1) !important;
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.vime-bank-info-warning svg {
    color: #F59E0B;
}

.vime-bank-info-warning a {
    color: #C8FF00 !important;
    -webkit-text-decoration: underline;
    text-decoration: underline;
}

/* Withdrawal Icon */
.vime-withdrawal-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0;
}

.vime-withdrawal-icon.status-pending {
    background: rgba(245, 158, 11, 0.1);
    color: #F59E0B;
}

.vime-withdrawal-icon.status-approved {
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
}

.vime-withdrawal-icon.status-cancelled {
    background: rgba(239, 68, 68, 0.1);
    color: #EF4444;
}

/* Withdrawal Status */
.vime-withdrawal-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px !important;
    font-weight: 600;
}

.vime-withdrawal-status.status-pending {
    background: rgba(245, 158, 11, 0.15);
    color: #F59E0B !important;
}

.vime-withdrawal-status.status-approved {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981 !important;
}

.vime-withdrawal-status.status-cancelled {
    background: rgba(239, 68, 68, 0.15);
    color: #EF4444 !important;
}

/* Withdrawal Amount Wrapper */
.vime-withdrawal-amount-wrapper {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Cancel Button */
.vime-btn-cancel {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #3A3A3A;
    border-radius: 8px;
    color: #666666;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
    margin-left: 8px;
}

.vime-btn-cancel:hover {
    background: rgba(239, 68, 68, 0.1);
    border-color: #EF4444;
    color: #EF4444;
}

/* Withdrawals Header */
.vime-withdrawals-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.vime-btn-sm {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

.vime-btn-outline svg {
    margin-right: 6px;
}

/* Withdraw Balance in Modal */
.vime-withdraw-balance {
    flex-wrap: wrap;
}

.vime-withdraw-pending-info {
    width: 100%;
    margin-top: 8px;
    text-align: center;
    color: #666666 !important;
    font-size: 12px !important;
}

/* Message */
.vime-message-error {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 8px;
    color: #EF4444 !important;
    font-size: 14px !important;
    margin-bottom: 16px;
}

.vime-message-error svg {
    flex-shrink: 0;
}

/* Spinner in button */
.vime-btn .vime-spinner {
    animation: spin 1s linear infinite;
    margin-right: 8px;
}

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

/* Link as button */
a.vime-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-balance-cards,
    .vime-monthly-stats {
        grid-template-columns: 1fr;
    }

    .vime-balance-card {
        padding: 20px;
    }

    .vime-balance-amount {
        font-size: 26px !important;
    }

    .vime-stat-value-large {
        font-size: 24px !important;
    }

    .vime-payment-methods {
        padding: 20px;
    }

    .vime-payment-methods h3 {
        font-size: 16px !important;
    }

    .vime-transaction-item {
        padding: 14px 16px;
    }

    .vime-withdrawal-item {
        flex-wrap: wrap;
        padding: 16px;
    }

    .vime-withdrawal-amount-wrapper {
        width: 100%;
        text-align: left;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        margin-top: 8px;
        padding-top: 12px;
        border-top: 1px solid #2A2A2A;
    }

    .vime-btn-cancel {
        margin-left: auto;
        min-width: 44px;
        min-height: 44px;
        width: 44px;
        height: 44px;
    }

    .vime-modal {
        max-width: 100%;
        margin: 16px;
        border-radius: 16px !important;
    }

    .vime-modal-header {
        padding: 16px 20px;
    }

    .vime-modal-body {
        padding: 20px;
    }

    .vime-modal-close {
        min-width: 44px;
        min-height: 44px;
        width: 44px;
        height: 44px;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-earnings-page {
        max-width: 100%;
    }

    .vime-balance-cards,
    .vime-monthly-stats {
        gap: 16px;
        margin-bottom: 24px;
    }

    .vime-balance-card {
        padding: 16px;
        border-radius: 12px !important;
    }

    .vime-balance-header {
        font-size: 13px !important;
        margin-bottom: 12px;
    }

    .vime-balance-amount {
        font-size: 24px !important;
        margin-bottom: 12px;
    }

    .vime-balance-hint {
        font-size: 12px !important;
    }

    .vime-btn-withdraw {
        min-height: 44px;
        padding: 12px !important;
    }

    .vime-stat-card.vime-stat-large {
        padding: 16px;
        border-radius: 12px !important;
    }

    .vime-stat-header {
        font-size: 13px !important;
    }

    .vime-stat-value-large {
        font-size: 22px !important;
    }

    .vime-stat-comparison {
        font-size: 12px !important;
    }

    .vime-payment-methods {
        padding: 16px;
        border-radius: 12px !important;
    }

    .vime-payment-item {
        padding: 14px;
        gap: 12px;
    }

    .vime-payment-icon {
        width: 40px;
        height: 40px;
    }

    .vime-btn-outline {
        min-height: 44px;
    }

    .vime-transaction-item {
        padding: 12px;
        gap: 12px;
        border-radius: 10px !important;
    }

    .vime-transaction-icon {
        width: 36px;
        height: 36px;
    }

    .vime-transaction-desc {
        font-size: 14px !important;
    }

    .vime-transaction-date {
        font-size: 12px !important;
    }

    .vime-transaction-amount {
        font-size: 14px !important;
    }

    .vime-withdrawal-item {
        padding: 14px;
        gap: 12px;
        border-radius: 10px !important;
    }

    .vime-withdrawal-icon {
        width: 36px;
        height: 36px;
    }

    .vime-withdrawal-amount {
        font-size: 16px !important;
    }

    .vime-withdrawal-method {
        font-size: 13px !important;
    }

    .vime-modal-overlay {
        padding: 12px;
        align-items: flex-end;
    }

    .vime-modal {
        max-height: 90vh;
        overflow-y: auto;
        border-radius: 20px 20px 0 0 !important;
    }

    .vime-modal-header h2 {
        font-size: 18px !important;
    }

    .vime-withdraw-balance {
        padding: 14px;
    }

    .vime-withdraw-balance strong {
        font-size: 18px !important;
    }

    .vime-bank-info {
        padding: 14px;
    }

    .vime-modal-actions {
        flex-direction: column;
    }

    .vime-modal-actions .vime-btn {
        min-height: 44px;
    }

    .vime-payment-method-option {
        padding: 12px;
    }

    .vime-payment-method-icon {
        width: 32px;
        height: 32px;
    }

    .vime-refresh-btn {
        min-width: 44px;
        min-height: 44px;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-balance-card {
        padding: 14px;
    }

    .vime-balance-header {
        font-size: 12px !important;
        gap: 8px;
    }

    .vime-balance-amount {
        font-size: 22px !important;
    }

    .vime-stat-card.vime-stat-large {
        padding: 14px;
    }

    .vime-stat-value-large {
        font-size: 20px !important;
    }

    .vime-payment-methods {
        padding: 14px;
    }

    .vime-payment-item {
        padding: 12px;
        flex-wrap: wrap;
    }

    .vime-payment-icon {
        width: 36px;
        height: 36px;
    }

    .vime-payment-badge {
        margin-top: 8px;
        width: 100%;
        text-align: center;
    }

    .vime-transaction-item,
    .vime-withdrawal-item {
        padding: 12px;
    }

    .vime-modal-header {
        padding: 14px 16px;
    }

    .vime-modal-body {
        padding: 16px;
    }

    .vime-withdraw-balance,
    .vime-bank-info {
        padding: 12px;
    }

    .vime-withdraw-notice {
        padding: 10px 12px;
    }

    .vime-withdraw-notice span {
        font-size: 12px !important;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-balance-card,
    .vime-stat-card.vime-stat-large,
    .vime-payment-methods {
        padding: 12px;
    }

    .vime-balance-amount {
        font-size: 20px !important;
    }

    .vime-stat-value-large {
        font-size: 18px !important;
    }

    .vime-transaction-item,
    .vime-withdrawal-item {
        padding: 10px;
    }

    .vime-transaction-icon,
    .vime-withdrawal-icon {
        width: 32px;
        height: 32px;
    }

    .vime-modal-header,
    .vime-modal-body {
        padding: 12px;
    }
}

/**
 * Verification Page Styles - Trocaê Design
 * Seller verification with document, selfie, address, etc.
 */

.vime-verification-page {
    max-width: 700px;
}

/* Header */
.vime-verification-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.vime-verification-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(200, 255, 0, 0.1);
    border-radius: 12px;
    color: #C8FF00;
    flex-shrink: 0;
}

.vime-verification-icon svg {
    width: 24px;
    height: 24px;
}

.vime-verification-header-content {
    flex: 1;
}

.vime-verification-header-content h1 {
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
}

.vime-verification-header-content p {
    color: #666666 !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.4;
}

/* Progress Card */
.vime-verification-progress-card {
    padding: 20px 24px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
    margin-bottom: 24px;
}

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

.vime-progress-label {
    color: #808080 !important;
    font-size: 14px !important;
}

.vime-progress-value {
    color: #C8FF00 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.vime-progress-bar {
    width: 100% !important;
    height: 8px !important;
    min-height: 8px !important;
    background: #2A2A2A !important;
    background-color: #2A2A2A !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    display: block !important;
    position: relative !important;
}

.vime-progress-fill {
    height: 100% !important;
    min-height: 8px !important;
    background: linear-gradient(90deg, #C8FF00 0%, #9ECC00 100%) !important;
    background-color: #C8FF00 !important;
    border-radius: 999px !important;
    transition: width 0.5s ease !important;
    display: block !important;
    animation: none !important;
    transform: none !important;
}

/* Pending Notice */
.vime-verification-pending-notice {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: rgba(245, 158, 11, 0.1) !important;
    border: 1px solid rgba(245, 158, 11, 0.2) !important;
    border-radius: 12px !important;
    margin-bottom: 24px;
}

.vime-verification-pending-notice > svg {
    color: #F59E0B;
    flex-shrink: 0;
    margin-top: 2px;
}

.vime-verification-pending-notice strong {
    display: block;
    color: #F59E0B !important;
    font-size: 15px !important;
    margin-bottom: 4px;
}

.vime-verification-pending-notice p {
    color: #B3B3B3 !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.5;
}

/* Verification List */
.vime-verification-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vime-verification-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 12px !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-verification-item:hover:not(.verified):not(.is-pending) {
    border-color: #3A3A3A !important;
}

.vime-verification-item.verified {
    cursor: default;
}

.vime-verification-item.is-pending {
    cursor: default;
    opacity: 0.7;
}

.vime-verification-item-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2A2A2A;
    border-radius: 12px;
    color: #808080;
    flex-shrink: 0;
}

.vime-verification-item.filled .vime-verification-item-icon,
.vime-verification-item.verified .vime-verification-item-icon {
    background: rgba(200, 255, 0, 0.1);
    color: #C8FF00;
}

.vime-verification-item.rejected .vime-verification-item-icon {
    background: rgba(239, 68, 68, 0.1);
    color: #EF4444;
}

.vime-verification-item-content {
    flex: 1;
    min-width: 0;
}

.vime-verification-item-content h3 {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin: 0 0 4px 0 !important;
}

.vime-verification-item-content p {
    color: #666666 !important;
    font-size: 13px !important;
    margin: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-verification-item-status {
    flex-shrink: 0;
}

.vime-verification-item-arrow {
    color: #666666;
    flex-shrink: 0;
}

/* Status Badges */
.vime-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.vime-status-badge.verified {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #10B981 !important;
}

.vime-status-badge.filled {
    background: rgba(200, 255, 0, 0.15) !important;
    color: #C8FF00 !important;
}

.vime-status-badge.pending {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #F59E0B !important;
}

.vime-status-badge.rejected {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #EF4444 !important;
}

.vime-status-badge.not-started {
    background: #2A2A2A !important;
    color: #808080 !important;
}

/* Success State */
.vime-verification-success {
    text-align: center;
    padding: 64px 24px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
}

.vime-success-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: rgba(200, 255, 0, 0.1);
    border-radius: 20px;
    color: #C8FF00;
    margin-bottom: 24px;
}

.vime-success-badge {
    position: absolute;
    bottom: -4px;
    right: -4px;
    background: #10B981;
    color: #FFFFFF;
    border-radius: 50%;
    padding: 2px;
}

.vime-verification-success h1 {
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin: 0 0 12px 0 !important;
}

.vime-verification-success p {
    color: #808080 !important;
    font-size: 14px !important;
    margin: 0 !important;
    max-width: 400px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Submit Button */
.vime-verification-submit {
    margin-top: 32px;
    text-align: center;
}

.vime-verification-submit .vime-btn-large {
    padding: 16px 48px !important;
    font-size: 16px !important;
    background: #C8FF00 !important;
    background-color: #C8FF00 !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.vime-verification-submit .vime-btn-large:hover {
    background: #B8EE00 !important;
    background-color: #B8EE00 !important;
}

.vime-submit-hint {
    color: #666666 !important;
    font-size: 13px !important;
    margin: 12px 0 0 0 !important;
}

/* Modals */
.vime-verification-modal {
    max-width: 480px;
}

.vime-verification-modal.vime-modal-large {
    max-width: 560px;
}

/* Modal Header */
.vime-verification-modal .vime-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #2A2A2A;
}

.vime-verification-modal .vime-modal-header h2 {
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

/* Modal Close Button - Override Hello Elementor */
.vime-verification-modal .vime-modal-close,
.vime-verification-modal .vime-modal-close:hover,
.vime-verification-modal .vime-modal-close:focus,
.vime-verification-modal .vime-modal-close:active {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 8px !important;
    color: #808080 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-verification-modal .vime-modal-close:hover {
    background: #2A2A2A !important;
    background-color: #2A2A2A !important;
    color: #FFFFFF !important;
}

.vime-verification-modal .vime-modal-close svg {
    width: 20px !important;
    height: 20px !important;
    color: inherit !important;
}

/* Modal Body */
.vime-verification-modal .vime-modal-body {
    padding: 24px;
}

.vime-modal-description {
    color: #808080 !important;
    font-size: 14px !important;
    line-height: 1.6;
    margin: 0 0 24px 0 !important;
}

.vime-modal-hint {
    color: #666666 !important;
    font-size: 13px !important;
    margin-top: 16px !important;
}

/* Modal Form Elements */
.vime-verification-modal .vime-form-group {
    margin-bottom: 16px;
}

.vime-verification-modal .vime-form-group:last-child {
    margin-bottom: 0;
}

.vime-verification-modal .vime-label {
    display: block;
    color: #B3B3B3 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Modal Inputs - Override all themes */
.vime-verification-modal .vime-input,
.vime-verification-modal .vime-select,
.vime-verification-modal input[type="text"],
.vime-verification-modal input[type="tel"],
.vime-verification-modal input[type="date"],
.vime-verification-modal input[type="email"],
.vime-verification-modal select {
    width: 100% !important;
    padding: 12px 16px !important;
    background: #0D0D0D !important;
    background-color: #0D0D0D !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 10px !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
}

.vime-verification-modal input::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

.vime-verification-modal input:focus,
.vime-verification-modal select:focus {
    border-color: #C8FF00 !important;
    box-shadow: 0 0 0 2px rgba(200, 255, 0, 0.1) !important;
    background: #0D0D0D !important;
    outline: none !important;
}

/* Select Dropdown */
.vime-verification-modal .vime-select,
.vime-verification-modal select {
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23808080%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 40px !important;
}

.vime-verification-modal select option {
    background: #1A1A1A !important;
    color: #FFFFFF !important;
    padding: 8px !important;
}

/* Modal Actions */
.vime-verification-modal .vime-modal-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #2A2A2A;
}

/* Modal Buttons */
.vime-verification-modal .vime-btn,
.vime-verification-modal button[type="button"],
.vime-verification-modal button[type="submit"] {
    flex: 1;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Secondary Button (Cancel) */
.vime-verification-modal .vime-btn:not(.vime-btn-primary),
.vime-verification-modal button[type="button"]:not(.vime-btn-primary) {
    background: #2A2A2A !important;
    background-color: #2A2A2A !important;
    color: #FFFFFF !important;
}

.vime-verification-modal .vime-btn:not(.vime-btn-primary):hover,
.vime-verification-modal button[type="button"]:not(.vime-btn-primary):hover {
    background: #3A3A3A !important;
    background-color: #3A3A3A !important;
}

/* Primary Button (Save) */
.vime-verification-modal .vime-btn-primary,
.vime-verification-modal button[type="submit"] {
    background: #C8FF00 !important;
    background-color: #C8FF00 !important;
    color: #0D0D0D !important;
}

.vime-verification-modal .vime-btn-primary:hover,
.vime-verification-modal button[type="submit"]:hover {
    background: #B8EE00 !important;
    background-color: #B8EE00 !important;
    transform: translateY(-1px);
}

.vime-verification-modal .vime-btn-primary:disabled,
.vime-verification-modal button[type="submit"]:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Document Uploads */
.vime-document-uploads {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

.vime-document-upload label {
    display: block;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-bottom: 8px;
}

.vime-upload-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 140px;
    background: #0D0D0D;
    border: 2px dashed #3A3A3A;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    overflow: hidden;
}

.vime-upload-box:hover {
    border-color: #C8FF00;
    background: rgba(200, 255, 0, 0.02);
}

.vime-upload-box svg {
    color: #666666;
}

.vime-upload-box span {
    color: #808080 !important;
    font-size: 13px !important;
}

.vime-upload-box.has-preview {
    border-style: solid;
    border-color: #C8FF00;
}

.vime-upload-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Selfie Upload */
.vime-selfie-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 200px;
    background: #0D0D0D;
    border: 2px dashed #3A3A3A;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    overflow: hidden;
    margin-bottom: 20px;
}

.vime-selfie-upload:hover {
    border-color: #C8FF00;
    background: rgba(200, 255, 0, 0.02);
}

.vime-selfie-upload svg {
    color: #666666;
}

.vime-selfie-upload span {
    color: #808080 !important;
    font-size: 14px !important;
}

.vime-selfie-upload.has-preview {
    border-style: solid;
    border-color: #C8FF00;
}

.vime-selfie-upload img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Email Display */
.vime-email-display {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: #0D0D0D;
    border-radius: 12px;
    margin-bottom: 16px;
}

.vime-email-display svg {
    color: #C8FF00;
    flex-shrink: 0;
}

.vime-email-display span {
    color: #FFFFFF !important;
    font-size: 15px !important;
}

/* Upload Tips */
.vime-upload-tips {
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
    margin-bottom: 20px;
}

.vime-upload-tips h4 {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 0 12px 0 !important;
}

.vime-upload-tips ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.vime-upload-tips li {
    color: #808080 !important;
    font-size: 13px !important;
    padding-left: 20px;
    position: relative;
    margin-bottom: 6px;
}

.vime-upload-tips li:last-child {
    margin-bottom: 0;
}

.vime-upload-tips li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background: #C8FF00;
    border-radius: 50%;
}

/* Error Message */
.vime-error-message {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: rgba(239, 68, 68, 0.1) !important;
    border-radius: 8px;
    color: #EF4444 !important;
    font-size: 14px !important;
    margin-bottom: 16px;
}

.vime-error-message svg {
    flex-shrink: 0;
}

/* Loading Hint */
.vime-loading-hint {
    display: block;
    color: #C8FF00 !important;
    font-size: 12px !important;
    margin-top: 4px;
}

/* Form Rows for Address Modal */
.vime-verification-modal .vime-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.vime-verification-modal .vime-form-row:last-of-type {
    margin-bottom: 0;
}

.vime-verification-modal .vime-form-row .vime-form-group {
    margin-bottom: 0;
}

/* CEP row - single column smaller width */
.vime-verification-modal .vime-form-row:first-child {
    grid-template-columns: 180px 1fr;
}

.vime-verification-modal .vime-form-row:first-child .vime-form-group:last-child {
    display: none;
}

/* Street + Number row */
.vime-verification-modal .vime-form-group-large {
    grid-column: span 1;
}

.vime-verification-modal .vime-form-group-small {
    grid-column: span 1;
}

/* Make number field narrower */
.vime-verification-modal .vime-form-row:nth-child(2) {
    grid-template-columns: 1fr 100px;
}

/* State field narrower */
.vime-verification-modal .vime-form-row:last-of-type {
    grid-template-columns: 1fr 100px;
}

/* Skeleton */
.vime-verification-page .vime-skeleton {
    background: #252525;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vime-verification-page .vime-skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 50%,
        transparent 100%
    );
    animation: skeleton-shimmer 1.8s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-verification-page {
        max-width: 100%;
    }

    .vime-verification-header {
        gap: 12px;
        margin-bottom: 20px;
    }

    .vime-verification-icon {
        width: 44px;
        height: 44px;
    }

    .vime-verification-header-content h1 {
        font-size: 18px !important;
    }

    .vime-verification-progress-card {
        padding: 16px 20px;
    }

    .vime-verification-item {
        padding: 16px;
    }

    .vime-verification-item-icon {
        width: 44px;
        height: 44px;
    }

    .vime-verification-modal {
        max-width: 100%;
        margin: 16px;
    }

    .vime-verification-modal .vime-modal-header {
        padding: 16px 20px;
    }

    .vime-verification-modal .vime-modal-body {
        padding: 20px;
    }

    .vime-verification-modal .vime-modal-close {
        min-width: 44px !important;
        min-height: 44px !important;
        width: 44px !important;
        height: 44px !important;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-verification-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .vime-verification-header-content h1 {
        font-size: 17px !important;
    }

    .vime-verification-header-content p {
        font-size: 13px !important;
    }

    .vime-verification-progress-card {
        padding: 14px 16px;
        margin-bottom: 20px;
    }

    .vime-progress-label,
    .vime-progress-value {
        font-size: 13px !important;
    }

    .vime-verification-pending-notice {
        padding: 16px;
        gap: 12px;
    }

    .vime-verification-pending-notice strong {
        font-size: 14px !important;
    }

    .vime-verification-pending-notice p {
        font-size: 13px !important;
    }

    .vime-verification-list {
        gap: 10px;
    }

    .vime-verification-item {
        padding: 14px;
        flex-wrap: wrap;
        gap: 12px;
    }

    .vime-verification-item-icon {
        width: 40px;
        height: 40px;
    }

    .vime-verification-item-content {
        width: calc(100% - 56px);
    }

    .vime-verification-item-content h3 {
        font-size: 14px !important;
    }

    .vime-verification-item-content p {
        font-size: 12px !important;
    }

    .vime-verification-item-status {
        width: 100%;
        margin-top: 4px;
        padding-left: 52px;
    }

    .vime-verification-item-arrow {
        display: none;
    }

    .vime-status-badge {
        padding: 5px 10px;
        font-size: 11px !important;
    }

    .vime-document-uploads {
        grid-template-columns: 1fr;
    }

    .vime-upload-box {
        height: 120px;
    }

    .vime-selfie-upload {
        height: 160px;
    }

    .vime-verification-modal {
        margin: 12px;
    }

    .vime-verification-modal .vime-modal-header {
        padding: 14px 16px;
    }

    .vime-verification-modal .vime-modal-header h2 {
        font-size: 16px !important;
    }

    .vime-verification-modal .vime-modal-body {
        padding: 16px;
    }

    .vime-modal-description {
        font-size: 13px !important;
        margin-bottom: 20px !important;
    }

    .vime-verification-modal .vime-form-row {
        grid-template-columns: 1fr;
    }

    .vime-verification-modal .vime-form-row:first-child,
    .vime-verification-modal .vime-form-row:nth-child(2),
    .vime-verification-modal .vime-form-row:last-of-type {
        grid-template-columns: 1fr;
    }

    .vime-verification-modal .vime-input,
    .vime-verification-modal input {
        min-height: 44px;
    }

    .vime-verification-modal .vime-modal-actions {
        flex-direction: column;
        gap: 10px;
    }

    .vime-verification-modal .vime-btn,
    .vime-verification-modal button {
        min-height: 44px;
    }

    .vime-verification-success {
        padding: 48px 20px;
    }

    .vime-success-icon {
        width: 64px;
        height: 64px;
        border-radius: 16px;
    }

    .vime-verification-success h1 {
        font-size: 20px !important;
    }

    .vime-verification-success p {
        font-size: 13px !important;
    }

    .vime-verification-submit .vime-btn-large {
        padding: 14px 32px !important;
        font-size: 15px !important;
        min-height: 48px;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-verification-icon {
        width: 40px;
        height: 40px;
    }

    .vime-verification-header-content h1 {
        font-size: 16px !important;
    }

    .vime-verification-item {
        padding: 12px;
    }

    .vime-verification-item-icon {
        width: 36px;
        height: 36px;
    }

    .vime-verification-item-content {
        width: calc(100% - 48px);
    }

    .vime-verification-item-status {
        padding-left: 48px;
    }

    .vime-upload-box {
        height: 100px;
    }

    .vime-upload-box span {
        font-size: 12px !important;
    }

    .vime-selfie-upload {
        height: 140px;
    }

    .vime-selfie-upload span {
        font-size: 13px !important;
    }

    .vime-upload-tips {
        padding: 12px;
    }

    .vime-upload-tips h4 {
        font-size: 13px !important;
    }

    .vime-upload-tips li {
        font-size: 12px !important;
    }

    .vime-email-display {
        padding: 14px 16px;
    }

    .vime-email-display span {
        font-size: 14px !important;
    }

    .vime-verification-modal .vime-label {
        font-size: 12px !important;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-verification-header {
        gap: 10px;
    }

    .vime-verification-icon {
        width: 36px;
        height: 36px;
    }

    .vime-verification-header-content h1 {
        font-size: 15px !important;
    }

    .vime-verification-progress-card {
        padding: 12px;
    }

    .vime-verification-item {
        padding: 10px;
    }

    .vime-verification-item-icon {
        width: 32px;
        height: 32px;
    }

    .vime-verification-item-content h3 {
        font-size: 13px !important;
    }

    .vime-verification-item-status {
        padding-left: 44px;
    }

    .vime-verification-modal {
        margin: 8px;
    }

    .vime-verification-modal .vime-modal-header,
    .vime-verification-modal .vime-modal-body {
        padding: 12px;
    }

    .vime-verification-success {
        padding: 36px 16px;
    }
}

/**
 * Settings Page Styles - Trocaê Design
 */

.vime-settings-page {
    max-width: 1000px;
}

/* Layout */
.vime-settings-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 24px;
}

/* Navigation */
.vime-settings-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
    padding: 12px;
    height: fit-content;
    position: sticky;
    top: 24px;
}

.vime-settings-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: transparent !important;
    border: none !important;
    border-radius: 10px !important;
    color: #B3B3B3 !important;
    font-size: 15px !important;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease !important;
    text-align: left;
    box-shadow: none !important;
    outline: none !important;
}

.vime-settings-nav-item:hover {
    background: #2A2A2A !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.vime-settings-nav-item:focus {
    outline: none !important;
    box-shadow: none !important;
}

.vime-settings-nav-item.active {
    background: rgba(200, 255, 0, 0.1) !important;
    color: #C8FF00 !important;
    box-shadow: none !important;
}

.vime-settings-nav-item svg {
    flex-shrink: 0;
}

.vime-settings-nav-item span {
    flex: 1;
}

.vime-settings-nav-item .nav-arrow {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.vime-settings-nav-item:hover .nav-arrow,
.vime-settings-nav-item.active .nav-arrow {
    opacity: 1;
}

/* Content */
.vime-settings-content {
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 16px !important;
    padding: 32px;
}

.vime-settings-header {
    margin-bottom: 32px;
}

.vime-settings-header h2 {
    color: #FFFFFF !important;
    font-size: 24px !important;
    margin: 0 0 8px 0 !important;
}

.vime-settings-header p {
    color: #666666 !important;
    font-size: 15px !important;
    margin: 0 !important;
}

/* Groups */
.vime-settings-group {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid #2A2A2A;
}

.vime-settings-group:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.vime-settings-group h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #FFFFFF !important;
    font-size: 16px !important;
    margin: 0 0 20px 0 !important;
}

.vime-settings-group h3 svg {
    color: #C8FF00;
}

/* Setting Items */
.vime-setting-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
    margin-bottom: 12px;
}

.vime-setting-item:last-child {
    margin-bottom: 0;
}

.vime-setting-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-setting-title {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500;
}

.vime-setting-desc {
    color: #666666 !important;
    font-size: 13px !important;
}

/* Toggle */
.vime-toggle {
    position: relative !important;
    width: 52px !important;
    height: 28px !important;
    min-width: 52px !important;
    background: #3A3A3A !important;
    border: none !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-toggle:hover {
    background: #4A4A4A !important;
    box-shadow: none !important;
}

.vime-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
}

.vime-toggle.active {
    background: #C8FF00 !important;
}

.vime-toggle.active:hover {
    background: #B8EE00 !important;
}

.vime-toggle-slider {
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    width: 22px !important;
    height: 22px !important;
    background: #FFFFFF !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    border: none !important;
}

.vime-toggle.active .vime-toggle-slider {
    transform: translateX(24px) !important;
    background: #0D0D0D !important;
}

.vime-toggle.active .vime-toggle-slider svg {
    color: #C8FF00 !important;
}

/* Form Groups */
.vime-settings-section .vime-form-group {
    margin-bottom: 20px;
}

.vime-settings-section .vime-label {
    display: block;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500;
    margin-bottom: 8px;
}

.vime-settings-section .vime-input,
.vime-settings-section .vime-select {
    width: 100%;
    padding: 14px 16px !important;
    background: #0D0D0D !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 999px !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    box-sizing: border-box;
}

.vime-settings-section .vime-input:focus,
.vime-settings-section .vime-select:focus {
    border-color: #C8FF00 !important;
    outline: none;
}

/* Password Input */
.vime-input-password {
    position: relative;
    width: 100%;
}

.vime-input-password .vime-input {
    padding-right: 48px !important;
}

.vime-password-toggle {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent !important;
    border: none !important;
    color: #666666 !important;
    cursor: pointer;
    padding: 0;
    box-shadow: none !important;
    outline: none !important;
}

.vime-password-toggle:hover {
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.vime-password-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* 2FA */
.vime-2fa-status {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
    margin-bottom: 16px;
}

.vime-2fa-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vime-2fa-title {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500;
}

.vime-2fa-desc {
    color: #666666 !important;
    font-size: 13px !important;
}

.vime-2fa-badge {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.vime-2fa-badge.disabled {
    background: rgba(107, 114, 128, 0.2);
    color: #9CA3AF;
}

.vime-2fa-badge.enabled {
    background: rgba(16, 185, 129, 0.2);
    color: #10B981;
}

/* Payment Methods */
.vime-payment-methods-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.vime-payment-method-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
}

.vime-payment-method-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2A2A2A;
    border-radius: 10px;
    color: #FFFFFF;
}

.vime-payment-method-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.vime-payment-method-name {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500;
}

.vime-payment-method-expiry {
    color: #666666 !important;
    font-size: 13px !important;
}

.vime-payment-default-badge {
    padding: 4px 10px;
    background: rgba(200, 255, 0, 0.1);
    color: #C8FF00;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

/* Delete button */
.vime-btn-icon-delete {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    border-radius: 8px !important;
    color: #666666 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.vime-btn-icon-delete:hover {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: #EF4444 !important;
    color: #EF4444 !important;
    box-shadow: none !important;
}

.vime-btn-icon-delete:focus {
    outline: none !important;
    box-shadow: none !important;
}

.vime-btn-icon-delete:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Empty State */
.vime-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 20px;
    background: #0D0D0D;
    border-radius: 12px;
    text-align: center;
}

.vime-empty-state svg {
    color: #3A3A3A;
}

.vime-empty-state p {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500;
    margin: 0 !important;
}

.vime-empty-state span {
    color: #666666;
    font-size: 13px;
}

/* Group description */
.vime-settings-group-desc {
    color: #666666 !important;
    font-size: 14px !important;
    margin: -12px 0 20px 0 !important;
}

/* Bank Account */
.vime-bank-account {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #0D0D0D;
    border-radius: 12px;
}

.vime-bank-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(200, 255, 0, 0.1);
    border-radius: 10px;
    color: #C8FF00;
}

.vime-bank-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.vime-bank-name {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500;
}

.vime-bank-details {
    color: #666666 !important;
    font-size: 13px !important;
}

/* Buttons */
.vime-btn-save {
    padding: 14px 32px !important;
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.vime-btn-save:focus {
    outline: none !important;
    box-shadow: none !important;
}

.vime-btn-save:hover {
    background: #B8EE00 !important;
    box-shadow: none !important;
}

.vime-btn-outline {
    padding: 12px 20px !important;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

.vime-btn-outline:hover {
    background: #2A2A2A !important;
    border-color: #C8FF00 !important;
    box-shadow: none !important;
}

.vime-btn-outline:focus {
    outline: none !important;
    box-shadow: none !important;
}

.vime-btn-add-card {
    width: 100%;
}

.vime-settings-group .vime-btn:not(.vime-btn-outline):not(.vime-btn-primary) {
    padding: 10px 20px !important;
    background: #2A2A2A !important;
    border: none !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    box-shadow: none !important;
}

.vime-settings-group .vime-btn:not(.vime-btn-outline):not(.vime-btn-primary):hover {
    background: #3A3A3A !important;
    box-shadow: none !important;
}

.vime-settings-group .vime-btn:not(.vime-btn-outline):not(.vime-btn-primary):focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Botão primário da settings */
.vime-settings-section .vime-btn-primary {
    padding: 14px 32px !important;
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    box-shadow: none !important;
}

.vime-settings-section .vime-btn-primary:hover {
    background: #B8EE00 !important;
    box-shadow: none !important;
}

.vime-settings-section .vime-btn-primary:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Address Grid */
.vime-address-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* CEP Input */
.vime-input-cep {
    position: relative;
    width: 100%;
}

.vime-cep-loader {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #C8FF00;
}

.vime-input-hint {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #666666;
}

/* Messages */
.vime-message {
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 20px;
    font-size: 14px;
}

.vime-message-success {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.vime-message-error {
    background: rgba(239, 68, 68, 0.15);
    color: #EF4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Loading */
.vime-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 60px 20px;
    color: #666666;
}

/* Spinner */
.vime-spinner {
    animation: spin 1s linear infinite;
}

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

/* Button with icon */
.vime-settings-section .vime-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vime-settings-section .vime-btn-primary:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Large Tablet (900px) */
@media (max-width: 900px) {
    .vime-settings-layout {
        grid-template-columns: 200px 1fr;
        gap: 20px;
    }

    .vime-settings-nav-item {
        padding: 12px 14px;
        font-size: 14px !important;
    }

    .vime-settings-content {
        padding: 24px;
    }
}

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-settings-page {
        max-width: 100%;
    }

    .vime-settings-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .vime-settings-nav {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding: 8px;
        gap: 8px;
    }

    .vime-settings-nav::-webkit-scrollbar {
        display: none;
    }

    .vime-settings-nav-item {
        flex-direction: column;
        gap: 6px;
        padding: 12px 16px;
        min-width: 80px;
        text-align: center;
        flex-shrink: 0;
        min-height: 44px;
    }

    .vime-settings-nav-item span {
        font-size: 11px !important;
        white-space: nowrap;
    }

    .vime-settings-nav-item .nav-arrow {
        display: none;
    }

    .vime-settings-content {
        padding: 20px;
    }

    .vime-settings-header h2 {
        font-size: 20px !important;
    }

    .vime-setting-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .vime-toggle {
        align-self: flex-start;
    }

    .vime-settings-section .vime-input,
    .vime-settings-section .vime-select,
    .vime-input-password {
        max-width: none;
    }

    .vime-address-grid {
        grid-template-columns: 1fr;
    }

    .vime-2fa-status {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .vime-payment-method-item {
        flex-wrap: wrap;
        gap: 12px;
    }

    .vime-payment-method-icon {
        width: 40px;
        height: 40px;
    }

    .vime-bank-account {
        flex-wrap: wrap;
        gap: 12px;
    }

    .vime-bank-icon {
        width: 40px;
        height: 40px;
    }

    .vime-btn-icon-delete {
        min-width: 44px;
        min-height: 44px;
        width: 44px;
        height: 44px;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-settings-nav {
        width: calc(100% + 32px);
        margin-left: -16px;
        padding: 8px 16px;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
    }

    .vime-settings-nav-item {
        padding: 10px 12px;
        min-width: 70px;
    }

    .vime-settings-nav-item svg {
        width: 20px;
        height: 20px;
    }

    .vime-settings-nav-item span {
        font-size: 10px !important;
    }

    .vime-settings-content {
        padding: 16px;
        border-radius: 12px !important;
    }

    .vime-settings-header {
        margin-bottom: 24px;
    }

    .vime-settings-header h2 {
        font-size: 18px !important;
    }

    .vime-settings-header p {
        font-size: 13px !important;
    }

    .vime-settings-group {
        margin-bottom: 24px;
        padding-bottom: 24px;
    }

    .vime-settings-group h3 {
        font-size: 14px !important;
        margin-bottom: 16px !important;
    }

    .vime-setting-item {
        padding: 14px;
        border-radius: 10px;
    }

    .vime-setting-title {
        font-size: 14px !important;
    }

    .vime-setting-desc {
        font-size: 12px !important;
    }

    .vime-settings-section .vime-input,
    .vime-settings-section .vime-select {
        padding: 12px 14px !important;
        font-size: 14px !important;
        min-height: 44px;
    }

    .vime-btn-save,
    .vime-settings-section .vime-btn-primary {
        width: 100%;
        min-height: 44px;
        padding: 12px 24px !important;
    }

    .vime-btn-outline {
        min-height: 44px;
    }

    .vime-password-toggle {
        min-width: 44px;
        min-height: 44px;
        right: 4px;
    }

    .vime-empty-state {
        padding: 32px 16px;
    }

    .vime-payment-method-item,
    .vime-bank-account {
        padding: 14px;
    }

    .vime-payment-method-name,
    .vime-bank-name {
        font-size: 14px !important;
    }

    .vime-payment-method-expiry,
    .vime-bank-details {
        font-size: 12px !important;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-settings-nav {
        width: calc(100% + 24px);
        margin-left: -12px;
        padding: 6px 12px;
    }

    .vime-settings-nav-item {
        padding: 8px 10px;
        min-width: 60px;
        gap: 4px;
    }

    .vime-settings-nav-item svg {
        width: 18px;
        height: 18px;
    }

    .vime-settings-nav-item span {
        font-size: 9px !important;
    }

    .vime-settings-content {
        padding: 14px;
    }

    .vime-settings-header h2 {
        font-size: 16px !important;
    }

    .vime-settings-group h3 {
        font-size: 13px !important;
    }

    .vime-setting-item {
        padding: 12px;
    }

    .vime-toggle {
        width: 48px !important;
        height: 26px !important;
        min-width: 48px !important;
    }

    .vime-toggle-slider {
        width: 20px !important;
        height: 20px !important;
    }

    .vime-toggle.active .vime-toggle-slider {
        transform: translateX(22px) !important;
    }

    .vime-2fa-status,
    .vime-payment-method-item,
    .vime-bank-account {
        padding: 12px;
    }

    .vime-payment-method-icon,
    .vime-bank-icon {
        width: 36px;
        height: 36px;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-settings-nav {
        width: calc(100% + 20px);
        margin-left: -10px;
        padding: 4px 10px;
    }

    .vime-settings-nav-item {
        padding: 6px 8px;
        min-width: 55px;
    }

    .vime-settings-nav-item svg {
        width: 16px;
        height: 16px;
    }

    .vime-settings-nav-item span {
        font-size: 8px !important;
    }

    .vime-settings-content {
        padding: 12px;
    }

    .vime-settings-header h2 {
        font-size: 15px !important;
    }

    .vime-setting-title {
        font-size: 13px !important;
    }

    .vime-setting-desc {
        font-size: 11px !important;
    }
}

/**
 * SellTicket Page Styles
 */

.vime-sell-ticket-page {
    max-width: 800px;
    margin: 0 auto;
    color: #fff;
}

.vime-sell-ticket-page h2 {
    color: #fff;
    font-size: 1.125rem;
}

.vime-sell-ticket-page h3,
.vime-sell-ticket-page h4,
.vime-sell-ticket-page label {
    color: #fff;
}

.vime-sell-ticket-page p,
.vime-sell-ticket-page span {
    color: rgba(255, 255, 255, 0.6);
}

.vime-sell-ticket-page .vime-section-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.vime-sell-ticket-page .vime-section-header p {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.813rem;
}

/* Steps Indicator */
.vime-sell-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1.25rem;
    background: var(--vime-bg-secondary);
    border-radius: 12px;
}

.vime-step-wrapper {
    display: flex;
    align-items: center;
}

.vime-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    transition: all 0.2s ease;
    opacity: 0.4;
    cursor: not-allowed;
}

.vime-step.clickable {
    cursor: pointer;
    opacity: 0.6;
}

.vime-step.clickable:hover {
    opacity: 0.8;
    background: var(--vime-bg-tertiary);
}

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

.vime-step.completed .vime-step-num {
    background: var(--vime-success);
    color: white;
}

.vime-step.current {
    opacity: 1;
    background: var(--vime-primary);
    color: white;
    cursor: default;
}

.vime-step-num {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--vime-bg-tertiary);
    font-size: 0.813rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.vime-step.current .vime-step-num {
    background: rgba(255, 255, 255, 0.2);
}

.vime-step-label {
    font-size: 0.875rem;
    font-weight: 500;
}

.vime-step-line {
    width: 40px;
    height: 2px;
    background: var(--vime-border);
    margin: 0 0.5rem;
    transition: background 0.2s ease;
}

.vime-step-line.active {
    background: var(--vime-success);
}

@media (max-width: 600px) {
    .vime-sell-steps {
        padding: 1rem;
    }

    .vime-step {
        padding: 0.5rem;
    }

    .vime-step-label {
        display: none;
    }

    .vime-step-line {
        width: 24px;
    }
}

/* Section */
.vime-sell-section {
    background: var(--vime-bg-secondary);
    border-radius: 12px;
    padding: 2rem;
}

.vime-section-header {
    margin-bottom: 1.5rem;
}

.vime-section-header h2 {
    margin: 0 0 0.25rem 0;
    font-size: 1.25rem;
}

.vime-section-header p {
    color: var(--vime-text-muted);
    margin: 0;
    font-size: 0.875rem;
}

/* Event Search */
.vime-event-search {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: transparent !important;
    border-radius: 8px !important;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    transition: border-color 0.2s ease;
    box-shadow: none !important;
}

.vime-event-search:focus-within {
    border-color: rgba(255, 255, 255, 0.4) !important;
    box-shadow: none !important;
}

.vime-event-search input {
    flex: 1;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 0.875rem !important;
    color: #fff !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: auto !important;
}

.vime-event-search input:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-event-search input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.vime-event-search svg {
    color: rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.vime-search-clear {
    all: unset;
    background: rgba(255, 255, 255, 0.1) !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: pointer;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 4px !important;
    transition: all 0.2s ease;
    flex-shrink: 0;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    line-height: 1 !important;
}

.vime-search-clear:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

.vime-search-clear svg {
    width: 14px !important;
    height: 14px !important;
}

/* Skeleton Loader */
.vime-skeleton {
    pointer-events: none;
}

.vime-skeleton-box {
    background: linear-gradient(90deg, var(--vime-bg-secondary) 25%, var(--vime-bg-tertiary) 50%, var(--vime-bg-secondary) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

.vime-skeleton-text {
    height: 14px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--vime-bg-secondary) 25%, var(--vime-bg-tertiary) 50%, var(--vime-bg-secondary) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

.vime-skeleton-title {
    width: 70%;
    height: 18px;
    margin-bottom: 8px;
}

.vime-skeleton-meta {
    width: 50%;
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Events List */
.vime-events-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 400px;
    overflow-y: auto;
    margin-bottom: 1rem;
    padding-right: 0.5rem;
}

.vime-events-list::-webkit-scrollbar {
    width: 6px;
}

.vime-events-list::-webkit-scrollbar-track {
    background: var(--vime-bg-tertiary);
    border-radius: 3px;
}

.vime-events-list::-webkit-scrollbar-thumb {
    background: var(--vime-border);
    border-radius: 3px;
}

.vime-event-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--vime-bg-tertiary);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid transparent;
}

.vime-event-item:hover {
    border-color: var(--vime-border-hover);
    transform: translateY(-1px);
}

.vime-event-item.selected {
    border-color: var(--vime-primary);
    background: rgba(var(--vime-primary-rgb), 0.08);
}

.vime-event-image {
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--vime-bg-secondary);
}

.vime-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.vime-event-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--vime-bg-secondary);
    color: var(--vime-text-muted);
}

.vime-event-info {
    flex: 1;
    min-width: 0;
}

.vime-event-info h3 {
    margin: 0 0 0.25rem 0 !important;
    font-size: 1.125rem !important;
    font-weight: 500 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #fff !important;
    line-height: 1.3 !important;
}

.vime-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.688rem;
    color: rgba(255, 255, 255, 0.6);
}

.vime-event-meta span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.vime-event-city {
    font-size: 0.625rem;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 0.125rem;
    display: block;
}

.vime-selected-icon {
    color: var(--vime-primary);
    flex-shrink: 0;
}

/* No Events */
.vime-no-events {
    text-align: center;
    padding: 3rem 2rem;
    color: var(--vime-text-muted);
    background: var(--vime-bg-tertiary);
    border-radius: 12px;
    border: 1px dashed var(--vime-border);
}

.vime-no-events svg {
    margin-bottom: 1rem;
    opacity: 0.4;
    color: var(--vime-text-muted);
}

.vime-no-events p {
    margin: 0 0 0.5rem 0;
    font-weight: 600;
    font-size: 1rem;
    color: var(--vime-text);
}

.vime-no-events span {
    font-size: 0.875rem;
    opacity: 0.8;
}

/* Suggest Event */
.vime-suggest-event {
    padding-top: 1.5rem;
    display: flex;
    justify-content: center;
}

.vime-btn-full {
    justify-content: center;
    gap: 0.5rem;
}

/* Selected Event Card (Step 2) */
.vime-selected-event-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--vime-bg-tertiary);
    border-radius: 10px;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--vime-primary);
}

.vime-selected-event-image {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--vime-bg-secondary);
    color: var(--vime-text-muted);
}

.vime-selected-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-selected-event-info {
    flex: 1;
    min-width: 0;
}

.vime-selected-event-info h3 {
    margin: 0 0 0.25rem 0;
    font-size: 1rem;
    font-weight: 600;
}

.vime-selected-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: var(--vime-text-muted);
}

.vime-selected-event-meta span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.vime-btn-icon {
    background: var(--vime-bg-secondary);
    border: none;
    color: var(--vime-text-muted);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.vime-btn-icon:hover {
    background: var(--vime-bg-tertiary);
    color: var(--vime-text);
}

/* Form */
.vime-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.vime-form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.vime-form-group label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--vime-text);
}

.vime-form-group label svg {
    color: var(--vime-text-muted);
}

.vime-form-group input,
.vime-form-group select {
    padding: 0.875rem 1rem;
    border: 1px solid var(--vime-border);
    border-radius: 10px;
    background: var(--vime-bg-tertiary);
    color: var(--vime-text);
    font-size: 0.938rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.vime-form-group input:focus,
.vime-form-group select:focus {
    outline: none;
    border-color: var(--vime-primary);
    box-shadow: 0 0 0 3px rgba(var(--vime-primary-rgb), 0.1);
}

.vime-form-group input.error,
.vime-form-group select.error {
    border-color: var(--vime-error);
}

/* Input with prefix */
.vime-input-with-prefix {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--vime-border);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.vime-input-with-prefix:focus-within {
    border-color: var(--vime-primary);
    box-shadow: 0 0 0 3px rgba(var(--vime-primary-rgb), 0.1);
}

.vime-input-prefix {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    background: var(--vime-bg-secondary);
    color: var(--vime-text-muted);
    font-size: 0.875rem;
    font-weight: 500;
    border-right: 1px solid var(--vime-border);
}

.vime-input-with-prefix input {
    flex: 1;
    border: none;
    border-radius: 0;
    padding: 0.875rem 1rem;
}

.vime-input-with-prefix input:focus {
    box-shadow: none;
}

/* Quantity Input */
.vime-quantity-input {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--vime-border);
    border-radius: 10px;
    overflow: hidden;
}

.vime-quantity-input button {
    width: 44px;
    background: var(--vime-bg-secondary);
    border: none;
    color: var(--vime-text);
    font-size: 1.25rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.vime-quantity-input button:hover:not(:disabled) {
    background: var(--vime-bg-tertiary);
}

.vime-quantity-input button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.vime-quantity-input input {
    flex: 1;
    border: none;
    border-radius: 0;
    text-align: center;
    padding: 0.875rem;
    font-weight: 600;
    border-left: 1px solid var(--vime-border);
    border-right: 1px solid var(--vime-border);
}

.vime-quantity-input input:focus {
    box-shadow: none;
}

.vime-field-error {
    color: var(--vime-error);
    font-size: 0.75rem;
}

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

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

@media (max-width: 500px) {
    .vime-form-row {
        grid-template-columns: 1fr;
    }
}

/* Price Breakdown */
.vime-price-breakdown {
    background: var(--vime-bg-tertiary);
    border-radius: 10px;
    padding: 1rem;
    margin-top: 0.5rem;
}

.vime-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 0.875rem;
}

.vime-price-row:not(:last-child) {
    border-bottom: 1px solid var(--vime-border);
}

.vime-price-fee {
    color: var(--vime-text-muted);
}

.vime-price-total {
    padding-top: 0.75rem;
}

.vime-price-total strong {
    color: var(--vime-success);
    font-size: 1rem;
}

.vime-price-grand-total {
    background: rgba(var(--vime-success-rgb), 0.1);
    margin: 0.5rem -1rem -1rem;
    padding: 1rem;
    border-radius: 0 0 10px 10px;
}

.vime-price-grand-total strong {
    color: var(--vime-success);
    font-size: 1.125rem;
}

.vime-form-note {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.813rem;
    color: var(--vime-text-muted);
    margin: 1rem 0 0 0;
    padding: 1rem;
    background: rgba(var(--vime-info-rgb, 59, 130, 246), 0.08);
    border-radius: 10px;
    border: 1px solid rgba(var(--vime-info-rgb, 59, 130, 246), 0.2);
    line-height: 1.5;
}

.vime-form-note svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--vime-info, #3b82f6);
}

/* Form Actions */
.vime-form-actions {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--vime-border);
}

.vime-btn-lg {
    padding: 0.875rem 2rem;
    font-size: 1rem;
}

/* Base Button Styles */
.vime-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--vime-border);
    background: var(--vime-bg-tertiary);
    color: var(--vime-text);
}

.vime-btn:hover:not(:disabled) {
    background: var(--vime-bg-secondary);
    border-color: var(--vime-border-hover);
}

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

.vime-btn-primary {
    background: var(--vime-primary);
    border-color: var(--vime-primary);
    color: white;
}

.vime-btn-primary:hover:not(:disabled) {
    background: var(--vime-primary-hover);
    border-color: var(--vime-primary-hover);
}

.vime-btn-outline {
    background: transparent;
    border: 1px dashed var(--vime-border);
    color: var(--vime-text-muted);
}

.vime-btn-outline:hover:not(:disabled) {
    background: var(--vime-bg-tertiary);
    border-style: solid;
    border-color: var(--vime-primary);
    color: var(--vime-primary);
}

/* Upload Area */
.vime-upload-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3rem 2rem;
    border: 2px dashed var(--vime-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    color: var(--vime-text-muted);
}

.vime-upload-area:hover {
    border-color: var(--vime-primary);
    background: rgba(var(--vime-primary-rgb), 0.03);
}

.vime-upload-area.dragging {
    border-color: var(--vime-primary);
    background: rgba(var(--vime-primary-rgb), 0.08);
}

.vime-upload-area.uploading {
    pointer-events: none;
}

.vime-upload-area.error {
    border-color: var(--vime-error);
}

.vime-upload-area p {
    margin: 0;
    font-size: 1rem;
    color: var(--vime-text);
    font-weight: 500;
}

.vime-upload-or {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.vime-upload-btn {
    display: inline-block;
    padding: 0.625rem 1.25rem;
    background: var(--vime-primary);
    color: white;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.2s ease;
}

.vime-upload-area:hover .vime-upload-btn {
    background: var(--vime-primary-hover);
}

.vime-upload-hint {
    font-size: 0.75rem;
    opacity: 0.7;
    margin-top: 0.5rem;
}

/* Upload Progress */
.vime-upload-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.vime-progress-bar {
    width: 200px;
    height: 4px;
    background: var(--vime-bg-secondary);
    border-radius: 2px;
    overflow: hidden;
}

.vime-progress-fill {
    height: 100%;
    background: var(--vime-primary);
    border-radius: 2px;
    animation: progress 1.5s ease-in-out infinite;
}

@keyframes progress {
    0% {
        width: 0%;
        margin-left: 0;
    }
    50% {
        width: 70%;
        margin-left: 15%;
    }
    100% {
        width: 0%;
        margin-left: 100%;
    }
}

/* File Preview */
.vime-file-preview {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: var(--vime-bg-tertiary);
    border-radius: 12px;
    border: 2px solid var(--vime-success);
    position: relative;
}

.vime-file-preview-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--vime-bg-secondary);
    border-radius: 10px;
    color: var(--vime-primary);
}

.vime-file-preview-info {
    flex: 1;
    min-width: 0;
}

.vime-file-preview-info h4 {
    margin: 0 0 0.25rem 0;
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-file-preview-meta {
    font-size: 0.813rem;
    color: var(--vime-success);
}

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

.vime-file-preview-actions .vime-btn-icon {
    color: var(--vime-error);
}

.vime-file-preview-actions .vime-btn-icon:hover {
    background: rgba(var(--vime-error-rgb), 0.1);
}

.vime-file-success-icon {
    position: absolute;
    top: -10px;
    right: -10px;
    background: var(--vime-bg-secondary);
    color: var(--vime-success);
    border-radius: 50%;
    padding: 2px;
}

/* Upload Tips */
.vime-upload-tips {
    margin-top: 1.5rem;
    padding: 1rem;
    background: var(--vime-bg-tertiary);
    border-radius: 10px;
}

.vime-upload-tips h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.vime-upload-tips h4 svg {
    color: var(--vime-text-muted);
}

.vime-upload-tips ul {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.813rem;
    color: var(--vime-text-muted);
}

.vime-upload-tips li {
    margin-bottom: 0.375rem;
}

.vime-upload-tips li:last-child {
    margin-bottom: 0;
}

/* Confirmation */
.vime-confirmation-card {
    background: var(--vime-bg-tertiary);
    border-radius: 10px;
    overflow: hidden;
}

.vime-confirmation-row {
    display: flex;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid var(--vime-border);
    gap: 1rem;
}

.vime-confirmation-row:last-child {
    border-bottom: none;
}

.vime-confirmation-label {
    width: 100px;
    flex-shrink: 0;
    color: var(--vime-text-muted);
    font-size: 0.875rem;
}

.vime-confirmation-value {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
    min-width: 0;
}

.vime-confirmation-value svg {
    flex-shrink: 0;
    color: var(--vime-text-muted);
}

.vime-edit-btn,
.vime-sell-ticket-page .vime-edit-btn,
.vime-sell-ticket-page button.vime-edit-btn,
button.vime-edit-btn {
    all: unset !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: pointer !important;
    padding: 0.5rem !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 !important;
}

.vime-edit-btn:hover,
.vime-sell-ticket-page .vime-edit-btn:hover,
.vime-sell-ticket-page button.vime-edit-btn:hover,
button.vime-edit-btn:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #C8FF00 !important;
}

/* Confirmation Pricing */
.vime-confirmation-pricing {
    margin-top: 1.5rem;
}

.vime-confirmation-pricing h4 {
    margin: 0 0 0.75rem 0;
    font-size: 0.938rem;
    font-weight: 600;
}

.vime-price-summary {
    background: var(--vime-bg-tertiary);
    border-radius: 10px;
    padding: 1rem;
}

.vime-price-summary .vime-price-grand-total {
    margin: 0.75rem -1rem -1rem;
}

/* Alert */
.vime-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    margin-top: 1rem;
    font-size: 0.875rem;
}

.vime-alert svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.vime-alert div {
    flex: 1;
}

.vime-alert strong {
    display: block;
    margin-bottom: 0.25rem;
}

.vime-alert p {
    margin: 0;
    opacity: 0.9;
}

.vime-alert-info {
    background: rgba(var(--vime-info-rgb), 0.1);
    color: var(--vime-info);
}

.vime-alert-success {
    background: rgba(var(--vime-success-rgb), 0.1);
    color: var(--vime-success);
}

.vime-alert-error {
    background: rgba(var(--vime-error-rgb), 0.1);
    color: var(--vime-error);
}

/* Modal */
.vime-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    z-index: 1000;
    backdrop-filter: blur(8px);
}

.vime-modal {
    background: #0a0a0a;
    border-radius: 12px;
    width: 100%;
    max-width: 420px;
    max-height: 90vh;
    overflow: auto;
    animation: modalIn 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

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

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

.vime-modal-header h3 {
    margin: 0 !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: #fff !important;
}

.vime-modal-close {
    all: unset;
    background: transparent !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: pointer;
    width: 32px !important;
    height: 32px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0 !important;
}

.vime-modal-close:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

.vime-modal-body {
    padding: 1.5rem;
}

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

.vime-modal-body .vime-form-group:last-of-type {
    margin-bottom: 0;
}

.vime-modal-body .vime-form-group label {
    font-size: 0.813rem !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    margin-bottom: 0.5rem;
    display: block;
}

.vime-modal-body .vime-form-group input {
    width: 100%;
    padding: 0.75rem 1rem !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    transition: all 0.2s ease;
    box-shadow: none !important;
    outline: none !important;
}

.vime-modal-body .vime-form-group input::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.vime-modal-body .vime-form-group input:focus {
    outline: none !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    box-shadow: none !important;
}

.vime-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    border-radius: 0 0 12px 12px;
}

.vime-modal-footer .vime-btn {
    all: unset;
    padding: 0.625rem 1rem !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.vime-modal-footer .vime-btn:first-child {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.vime-modal-footer .vime-btn:first-child:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

.vime-modal-footer .vime-btn-primary {
    background: var(--vime-primary) !important;
    border: none !important;
    color: #fff !important;
}

.vime-modal-footer .vime-btn-primary:hover:not(:disabled) {
    background: var(--vime-primary-hover) !important;
}

.vime-modal-footer .vime-btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.vime-modal .vime-alert {
    margin: 0 1.5rem 1rem;
}

.vime-modal .vime-form-note {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.75rem !important;
    padding: 0.75rem !important;
    border-radius: 6px !important;
    margin-top: 1rem !important;
}

.vime-modal .vime-form-note svg {
    color: rgba(255, 255, 255, 0.4) !important;
    width: 14px !important;
    height: 14px !important;
}

/* Loading */
.vime-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 3rem;
    color: var(--vime-text-muted);
}

.vime-spinner {
    animation: spin 1s linear infinite;
}

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

/* ==========================================
   DARK THEME STYLES (Steps 2, 3, 4)
   ========================================== */

.vime-sell-section-dark {
    background: transparent !important;
    padding: 0 !important;
}

.vime-sell-section-dark .vime-section-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.vime-sell-section-dark .vime-section-header h2,
.vime-sell-ticket-page .vime-sell-section-dark .vime-section-header h2,
.vime-sell-ticket-page .vime-section-header h2 {
    font-size: 32px !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin: 0 0 0.25rem 0 !important;
}

.vime-sell-section-dark .vime-section-header p {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 0.875rem !important;
    margin: 0 !important;
}

/* Dark Form */
.vime-form-dark {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.vime-form-group-dark {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.vime-form-group-dark label {
    font-size: 0.813rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Dark Select */
.vime-select-dark {
    position: relative;
}

.vime-select-dark select {
    all: unset;
    width: 100%;
    padding: 0.875rem 1rem !important;
    padding-right: 2.5rem !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 25px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 0.875rem !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
}

.vime-select-dark select:focus {
    border-color: rgba(255, 255, 255, 0.2) !important;
    outline: none !important;
}

.vime-select-dark select option {
    background: #1a1a1a;
    color: #fff;
}

.vime-select-dark::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, 0.4);
    pointer-events: none;
}

/* Quantity Pills */
.vime-quantity-pills {
    display: flex;
    gap: 0.5rem;
}

.vime-quantity-pill {
    all: unset;
    flex: 1;
    padding: 0.75rem 1rem !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 25px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-quantity-pill:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.vime-quantity-pill.active,
.vime-sell-ticket-page .vime-quantity-pill.active,
.vime-sell-ticket-page .vime-quantity-pills .vime-quantity-pill.active,
.vime-sell-ticket-page button.vime-quantity-pill.active,
.vime-sell-ticket-page .vime-form-dark .vime-form-group-dark .vime-quantity-pills button.vime-quantity-pill.active,
button.vime-quantity-pill.active[type="button"] {
    background-color: #FFFFFF !important;
    background: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: #0D0D0D !important;
    opacity: 1 !important;
}

/* Custom Quantity Input (when 4+ is clicked) */
.vime-custom-quantity-container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
}

.vime-custom-quantity-input {
    all: unset;
    flex: 1;
    padding: 0.75rem 1rem !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 25px !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-align: center;
    box-sizing: border-box;
}

.vime-custom-quantity-input:focus {
    border-color: rgba(255, 255, 255, 0.4) !important;
    outline: none !important;
}

.vime-custom-quantity-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.vime-quantity-close-btn {
    all: unset;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 50% !important;
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-quantity-close-btn:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

/* Dark Input */
.vime-input-dark {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 25px !important;
    overflow: hidden;
    box-shadow: none !important;
}

.vime-input-dark-prefix {
    padding: 0.875rem 0 0.875rem 1rem;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.875rem;
    background: transparent !important;
    border: none !important;
}

.vime-input-dark input {
    all: unset;
    flex: 1;
    padding: 0.875rem 1rem 0.875rem 0.25rem !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-input-dark input:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-input-dark input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.vime-field-error-dark {
    color: #ef4444 !important;
    font-size: 0.75rem !important;
    margin-top: 0.25rem;
}

/* Receive Info */
.vime-receive-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 0.813rem !important;
}

.vime-receive-info svg {
    color: rgba(255, 255, 255, 0.4);
}

.vime-receive-info strong {
    color: #fff !important;
}

.vime-fee-detail {
    color: rgba(255, 255, 255, 0.4) !important;
    font-size: 0.75rem !important;
}

/* Dark Form Actions */
.vime-form-actions-dark {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.vime-sell-ticket-page .vime-btn-dark,
.vime-sell-ticket-page button.vime-btn-dark {
    all: unset !important;
    padding: 0.875rem 1.5rem !important;
    border-radius: 999px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    color: #FFFFFF !important;
    box-sizing: border-box !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
}

.vime-sell-ticket-page .vime-btn-dark:hover,
.vime-sell-ticket-page button.vime-btn-dark:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.vime-sell-ticket-page .vime-btn-primary-dark,
.vime-sell-ticket-page button.vime-btn-primary-dark {
    background: #C8FF00 !important;
    border: none !important;
    color: #0D0D0D !important;
}

.vime-sell-ticket-page .vime-btn-primary-dark:hover:not(:disabled),
.vime-sell-ticket-page button.vime-btn-primary-dark:hover:not(:disabled) {
    background: #b8ef00 !important;
}

.vime-sell-ticket-page .vime-btn-primary-dark:disabled,
.vime-sell-ticket-page button.vime-btn-primary-dark:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Dark Upload Area */
.vime-upload-area-dark {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2.5rem 2rem;
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    background: transparent;
}

.vime-upload-area-dark:hover {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.02);
}

.vime-upload-area-dark.dragging {
    border-color: var(--vime-primary);
    background: rgba(139, 92, 246, 0.05);
}

.vime-upload-area-dark.uploading {
    pointer-events: none;
}

.vime-upload-area-dark.error {
    border-color: #ef4444;
}

.vime-upload-area-dark svg {
    color: rgba(255, 255, 255, 0.4);
}

.vime-upload-area-dark p {
    margin: 0.5rem 0 0 0 !important;
    font-size: 0.875rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

.vime-upload-or-dark {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
}

.vime-upload-btn-dark {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-radius: 6px;
    font-size: 0.813rem;
    font-weight: 500;
    transition: background 0.2s ease;
}

.vime-upload-area-dark:hover .vime-upload-btn-dark {
    background: rgba(255, 255, 255, 0.15);
}

.vime-upload-hint-dark {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 0.25rem;
}

.vime-upload-progress-dark {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.vime-upload-progress-dark p {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Dark File Preview */
.vime-file-preview-dark {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.vime-file-preview-icon-dark {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(200, 255, 0, 0.1);
    border-radius: 8px;
    color: #C8FF00;
}

.vime-file-preview-info-dark {
    flex: 1;
    min-width: 0;
}

.vime-file-preview-info-dark h4 {
    margin: 0 0 0.25rem 0 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #fff !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-file-preview-info-dark span {
    font-size: 0.75rem !important;
    color: #22c55e !important;
}

.vime-file-remove-dark,
.vime-sell-ticket-page .vime-file-remove-dark,
.vime-sell-ticket-page button.vime-file-remove-dark,
button.vime-file-remove-dark {
    all: unset !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 6px !important;
    color: #ef4444 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.vime-file-remove-dark:hover,
.vime-sell-ticket-page .vime-file-remove-dark:hover,
.vime-sell-ticket-page button.vime-file-remove-dark:hover,
button.vime-file-remove-dark:hover {
    background: rgba(239, 68, 68, 0.1) !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: #ef4444 !important;
}

/* ==========================================
   MULTIPLE FILE UPLOAD SLOTS
   ========================================== */

.vime-upload-slots {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.vime-upload-slot {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.vime-upload-slot-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.25rem;
}

.vime-upload-slot-number {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
}

.vime-upload-slot-sold {
    font-size: 0.625rem;
    font-weight: 600;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.15);
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    text-transform: uppercase;
}

/* Small upload area for slots */
.vime-upload-area-small {
    padding: 1.25rem 1rem !important;
    min-height: 120px;
}

.vime-upload-area-small p {
    font-size: 0.75rem !important;
    margin: 0.25rem 0 0 0 !important;
}

.vime-upload-area-small svg {
    width: 24px;
    height: 24px;
}

.vime-upload-area-small .vime-upload-hint-dark {
    font-size: 0.625rem;
}

/* Small file preview for slots */
.vime-file-preview-small {
    padding: 0.75rem !important;
    gap: 0.75rem !important;
}

.vime-file-preview-small .vime-file-preview-icon-dark {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
}

.vime-file-preview-small .vime-file-preview-info-dark h4 {
    font-size: 0.75rem !important;
}

.vime-file-preview-small .vime-file-preview-info-dark span {
    font-size: 0.625rem !important;
}

.vime-file-preview-dark.sold {
    border-color: rgba(239, 68, 68, 0.3);
    opacity: 0.7;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .vime-upload-slots {
        grid-template-columns: 1fr;
    }

    .vime-upload-area-small {
        min-height: 100px;
    }
}

/* Dark Alert */
.vime-alert-dark {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    margin-top: 1rem;
    font-size: 0.813rem;
}

.vime-alert-error-dark {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

/* ==========================================
   CONFIRMATION STEP (Step 4) - New Design
   ========================================== */

/* Event Preview Card */
.vime-confirm-event-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.vime-confirm-event-image {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.3);
}

.vime-confirm-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-confirm-event-info {
    flex: 1;
    min-width: 0;
}

.vime-confirm-event-info h3 {
    margin: 0 0 0.375rem 0 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-confirm-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
}

.vime-confirm-event-meta span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: rgba(255, 255, 255, 0.5) !important;
}

.vime-confirm-edit-btn:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #C8FF00 !important;
}

/* Details Grid */
.vime-confirm-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

@media (max-width: 500px) {
    .vime-confirm-details-grid {
        grid-template-columns: 1fr;
    }
}

.vime-confirm-detail-item {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
}

.vime-confirm-detail-label {
    font-size: 0.688rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.4) !important;
}

.vime-confirm-detail-value {
    font-size: 0.938rem !important;
    font-weight: 500 !important;
    color: #fff !important;
}

.vime-confirm-file {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.vime-confirm-file svg {
    color: #C8FF00;
}

.vime-confirm-edit-details-btn:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #C8FF00 !important;
}

/* Financial Summary */
.vime-confirm-financial {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.vime-confirm-financial-header {
    padding: 0.875rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.vime-confirm-financial-header span {
    font-size: 0.813rem !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.vime-confirm-financial-body {
    padding: 1rem;
}

.vime-confirm-financial-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 0.875rem;
}

.vime-confirm-financial-row span {
    color: rgba(255, 255, 255, 0.7) !important;
}

.vime-confirm-financial-row.vime-confirm-fee span {
    color: rgba(255, 255, 255, 0.4) !important;
}

.vime-confirm-financial-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: rgba(200, 255, 0, 0.08);
    border-top: 1px solid rgba(200, 255, 0, 0.15);
}

.vime-confirm-financial-total span {
    font-size: 0.875rem !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.vime-confirm-financial-total strong {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #C8FF00 !important;
}

/* Notice */
.vime-confirm-notice {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.15);
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.vime-confirm-notice svg {
    color: #3b82f6;
    flex-shrink: 0;
    margin-top: 2px;
}

.vime-confirm-notice strong {
    display: block;
    font-size: 0.875rem !important;
    color: #fff !important;
    margin-bottom: 0.25rem;
}

.vime-confirm-notice p {
    margin: 0 !important;
    font-size: 0.813rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    line-height: 1.4;
}

/* Error */
.vime-confirm-error {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1rem;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

.vime-confirm-error svg {
    color: #ef4444;
    flex-shrink: 0;
}

.vime-confirm-error span {
    font-size: 0.813rem !important;
    color: #ef4444 !important;
}

/* Loading state for edit mode */
.vime-loading-edit {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    gap: 1rem;
}

.vime-loading-edit p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.875rem;
}

.vime-loading-edit .vime-spinner {
    animation: spin 1s linear infinite;
    color: #C8FF00;
}

.vime-loading-edit button {
    padding: 0.75rem 1.5rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-loading-edit button:hover {
    background: rgba(255, 255, 255, 0.15);
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-sell-ticket-page {
        max-width: 100%;
    }

    .vime-sell-section {
        padding: 1.5rem;
    }

    .vime-section-header h2 {
        font-size: 1.125rem;
    }

    .vime-events-list {
        max-height: 350px;
    }

    .vime-event-item {
        padding: 0.875rem;
    }

    .vime-event-image {
        width: 48px;
        height: 48px;
    }

    .vime-event-info h3 {
        font-size: 1rem !important;
    }

    .vime-form-row {
        grid-template-columns: 1fr;
    }

    .vime-form-actions {
        flex-direction: column-reverse;
        gap: 0.75rem;
    }

    .vime-form-actions .vime-btn {
        width: 100%;
        min-height: 44px;
    }

    .vime-upload-area {
        padding: 2rem 1.5rem;
    }

    .vime-file-preview {
        flex-wrap: wrap;
        padding: 1rem;
    }

    .vime-file-preview-icon {
        width: 48px;
        height: 48px;
    }

    .vime-confirmation-row {
        flex-wrap: wrap;
    }

    .vime-confirmation-label {
        width: 100%;
        margin-bottom: 0.25rem;
    }

    .vime-modal {
        max-width: 100%;
        margin: 1rem;
    }

    .vime-modal-header {
        padding: 1rem;
    }

    .vime-modal-body {
        padding: 1rem;
    }

    .vime-modal-footer {
        padding: 1rem;
        flex-direction: column;
    }

    .vime-modal-footer .vime-btn {
        width: 100%;
        min-height: 44px;
    }

    .vime-modal-close {
        min-width: 44px;
        min-height: 44px;
        width: 44px !important;
        height: 44px !important;
    }

    .vime-confirm-details-grid {
        grid-template-columns: 1fr;
    }

    .vime-confirm-event-card {
        flex-wrap: wrap;
    }

    .vime-confirm-event-image {
        width: 56px;
        height: 56px;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-sell-section {
        padding: 1rem;
        border-radius: 10px;
    }

    .vime-sell-section-dark .vime-section-header h2,
    .vime-sell-ticket-page .vime-section-header h2 {
        font-size: 24px !important;
    }

    .vime-sell-steps {
        padding: 0.875rem;
        margin-bottom: 1.5rem;
    }

    .vime-step {
        padding: 0.5rem 0.375rem;
    }

    .vime-step-num {
        width: 26px;
        height: 26px;
        font-size: 0.75rem;
    }

    .vime-step-line {
        width: 20px;
    }

    .vime-events-list {
        max-height: 300px;
        padding-right: 0.25rem;
    }

    .vime-event-item {
        padding: 0.75rem;
        gap: 0.625rem;
    }

    .vime-event-image {
        width: 44px;
        height: 44px;
        border-radius: 6px;
    }

    .vime-event-info h3 {
        font-size: 0.938rem !important;
    }

    .vime-event-meta {
        font-size: 0.625rem;
    }

    .vime-event-search {
        padding: 0.625rem 0.875rem;
    }

    .vime-event-search input {
        font-size: 0.813rem !important;
    }

    .vime-form-group label {
        font-size: 0.813rem;
    }

    .vime-form-group input,
    .vime-form-group select {
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
        min-height: 44px;
    }

    .vime-quantity-input button {
        width: 48px;
        min-width: 44px;
        min-height: 44px;
    }

    .vime-quantity-input input {
        min-height: 44px;
    }

    .vime-quantity-pills {
        flex-wrap: wrap;
    }

    .vime-quantity-pill {
        min-height: 44px;
        flex: 1 1 auto;
        min-width: calc(50% - 0.25rem);
    }

    .vime-input-dark input {
        min-height: 44px;
    }

    .vime-selected-event-card {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .vime-selected-event-image {
        width: 48px;
        height: 48px;
    }

    .vime-selected-event-info h3 {
        font-size: 0.938rem;
    }

    .vime-btn-lg {
        padding: 0.75rem 1.5rem;
        font-size: 0.938rem;
    }

    .vime-form-actions-dark {
        flex-direction: column-reverse;
        gap: 0.75rem;
    }

    .vime-sell-ticket-page .vime-btn-dark,
    .vime-sell-ticket-page button.vime-btn-dark,
    .vime-sell-ticket-page .vime-btn-primary-dark,
    .vime-sell-ticket-page button.vime-btn-primary-dark {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }

    .vime-upload-area,
    .vime-upload-area-dark {
        padding: 2rem 1rem;
    }

    .vime-upload-area p {
        font-size: 0.875rem;
    }

    .vime-file-preview,
    .vime-file-preview-dark {
        gap: 0.75rem;
        padding: 0.875rem;
    }

    .vime-file-preview-icon,
    .vime-file-preview-icon-dark {
        width: 40px;
        height: 40px;
    }

    .vime-file-preview-info h4,
    .vime-file-preview-info-dark h4 {
        font-size: 0.875rem !important;
    }

    .vime-upload-tips {
        padding: 0.875rem;
    }

    .vime-upload-tips ul {
        font-size: 0.75rem;
    }

    .vime-no-events {
        padding: 2rem 1rem;
    }

    .vime-no-events p {
        font-size: 0.938rem;
    }

    .vime-price-breakdown {
        padding: 0.875rem;
    }

    .vime-price-row {
        font-size: 0.813rem;
    }

    .vime-confirm-event-card {
        padding: 0.875rem;
    }

    .vime-confirm-event-image {
        width: 48px;
        height: 48px;
    }

    .vime-confirm-event-info h3 {
        font-size: 0.938rem !important;
    }

    .vime-confirm-detail-item {
        padding: 0.875rem;
    }

    .vime-confirm-financial-body {
        padding: 0.875rem;
    }

    .vime-confirm-financial-row {
        font-size: 0.813rem;
    }

    .vime-confirm-notice {
        padding: 0.875rem;
    }

    .vime-alert {
        padding: 0.875rem;
        font-size: 0.813rem;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-sell-section {
        padding: 0.875rem;
    }

    .vime-sell-section-dark .vime-section-header h2,
    .vime-sell-ticket-page .vime-section-header h2 {
        font-size: 20px !important;
    }

    .vime-sell-steps {
        padding: 0.75rem;
    }

    .vime-step-num {
        width: 24px;
        height: 24px;
        font-size: 0.6875rem;
    }

    .vime-step-line {
        width: 16px;
        margin: 0 0.25rem;
    }

    .vime-event-image {
        width: 40px;
        height: 40px;
    }

    .vime-event-info h3 {
        font-size: 0.875rem !important;
    }

    .vime-quantity-pill {
        padding: 0.625rem 0.75rem !important;
        font-size: 0.813rem !important;
    }

    .vime-input-dark-prefix {
        padding-left: 0.75rem;
        font-size: 0.813rem;
    }

    .vime-confirm-event-image {
        width: 44px;
        height: 44px;
    }

    .vime-confirm-detail-label {
        font-size: 0.625rem !important;
    }

    .vime-confirm-detail-value {
        font-size: 0.875rem !important;
    }

    .vime-confirm-financial-total strong {
        font-size: 1.125rem !important;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-sell-section {
        padding: 0.75rem;
    }

    .vime-sell-section-dark .vime-section-header h2,
    .vime-sell-ticket-page .vime-section-header h2 {
        font-size: 18px !important;
    }

    .vime-sell-steps {
        padding: 0.625rem;
    }

    .vime-step-num {
        width: 22px;
        height: 22px;
    }

    .vime-step-line {
        width: 12px;
    }

    .vime-event-item {
        padding: 0.625rem;
    }

    .vime-event-image {
        width: 36px;
        height: 36px;
    }

    .vime-event-info h3 {
        font-size: 0.813rem !important;
    }

    .vime-form-group input,
    .vime-form-group select {
        padding: 0.625rem 0.875rem;
    }

    .vime-confirm-event-card,
    .vime-confirm-detail-item {
        padding: 0.75rem;
    }

    .vime-confirm-event-image {
        width: 40px;
        height: 40px;
    }
}

/* ==========================================
   DISCARD MODAL STYLES
   ========================================== */

.vime-modal-dark {
    background: #0a0a0a !important;
    max-width: 480px;
}

.vime-modal-dark .vime-modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.vime-modal-dark .vime-modal-body {
    padding: 1.25rem 1.5rem;
}

.vime-modal-dark .vime-modal-footer {
    background: rgba(255, 255, 255, 0.02);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.vime-discard-files-list {
    max-height: 300px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.vime-discard-files-list::-webkit-scrollbar {
    width: 4px;
}

.vime-discard-files-list::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 2px;
}

.vime-discard-files-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
}

.vime-discard-file-item {
    transition: all 0.2s ease;
}

.vime-discard-file-item:hover:not(.sold):not(.disabled) {
    border-color: rgba(200, 255, 0, 0.3) !important;
}

.vime-discard-file-item.selected {
    background: rgba(200, 255, 0, 0.1) !important;
    border-color: rgba(200, 255, 0, 0.5) !important;
}

.vime-discard-file-item.sold {
    opacity: 0.6;
    cursor: not-allowed !important;
}

.vime-discard-file-item.disabled:not(.selected) {
    opacity: 0.4;
    cursor: default !important;
}

/* Quantity error message */
.vime-quantity-error {
    color: #ef4444 !important;
    font-size: 0.75rem !important;
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

/* Required indicator */
.vime-required-indicator {
    color: #ef4444;
    margin-left: 0.25rem;
    font-weight: 600;
}

/* Alert variants for dark theme */
.vime-alert-warning-dark {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.vime-alert-info-dark {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
    border: 1px solid rgba(59, 130, 246, 0.2);
}

.vime-alert-success-dark {
    background: rgba(34, 197, 94, 0.1);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.2);
}

/**
 * MySellerTickets Page Styles
 */

.vime-seller-tickets-page .vime-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.vime-page-header-content h1 {
    margin: 0 0 0.25rem 0;
}

.vime-page-header-content p {
    margin: 0;
    color: var(--vime-text-muted);
    font-size: 0.875rem;
}

/* Filter Tabs */
.vime-filter-tabs {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.vime-filter-tab {
    padding: 0.5rem 1rem;
    border: none;
    background: var(--vime-bg-secondary);
    border-radius: 8px;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--vime-text-muted);
}

.vime-filter-tab:hover {
    background: var(--vime-bg-tertiary);
    color: var(--vime-text);
}

.vime-filter-tab.active {
    background: var(--vime-primary);
    color: white;
}

/* Table View */
.vime-tickets-table {
    background: var(--vime-bg-secondary);
    border-radius: 12px;
    overflow: hidden;
}

.vime-table-header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 0.5fr 1fr 1fr;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--vime-bg-tertiary);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--vime-text-muted);
}

.vime-table-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 0.5fr 1fr 1fr;
    gap: 1rem;
    padding: 1rem 1.5rem;
    align-items: center;
    border-bottom: 1px solid var(--vime-border);
}

.vime-table-row:last-child {
    border-bottom: none;
}

.vime-table-row:hover {
    background: var(--vime-bg-tertiary);
}

/* Ticket Event Cell */
.vime-ticket-event {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.vime-ticket-event-image {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--vime-bg-tertiary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vime-ticket-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-ticket-event-image svg {
    color: var(--vime-text-muted);
}

.vime-ticket-event-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.vime-ticket-event-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vime-ticket-event-date {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--vime-text-muted);
}

/* Type Badge */
.vime-ticket-type-badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: var(--vime-bg-tertiary);
    border-radius: 4px;
    font-size: 0.75rem;
}

/* Price */
.vime-ticket-price {
    font-weight: 600;
}

/* Status Badge */
.vime-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

.vime-status-success {
    background: rgba(var(--vime-success-rgb), 0.1);
    color: var(--vime-success);
}

.vime-status-warning {
    background: rgba(var(--vime-warning-rgb), 0.1);
    color: var(--vime-warning);
}

.vime-status-info {
    background: rgba(var(--vime-info-rgb), 0.1);
    color: var(--vime-info);
}

.vime-status-muted {
    background: var(--vime-bg-tertiary);
    color: var(--vime-text-muted);
}

/* Actions */
.vime-row-actions {
    display: flex;
    gap: 0.5rem;
}

.vime-action-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--vime-bg-tertiary);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: var(--vime-text-muted);
    transition: all 0.2s ease;
}

.vime-action-btn:hover {
    background: var(--vime-bg-secondary);
    color: var(--vime-text);
}

.vime-action-btn.vime-action-delete:hover {
    background: rgba(var(--vime-error-rgb), 0.1);
    color: var(--vime-error);
}

/* Edit Mode */
.vime-edit-input {
    padding: 0.375rem 0.5rem;
    border: 1px solid var(--vime-primary);
    border-radius: 4px;
    background: var(--vime-bg-tertiary);
    color: var(--vime-text);
    font-size: 0.875rem;
    width: 80px;
}

.vime-edit-input-sm {
    width: 50px;
}

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

/* Mobile Cards View */
.vime-tickets-cards {
    display: none;
}

/* ================================ */
/* Responsive Styles */
/* ================================ */

/* Large Tablet - Switch to card view (900px) */
@media (max-width: 900px) {
    .vime-tickets-table {
        display: none;
    }

    .vime-tickets-cards {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .vime-ticket-card {
        background: var(--vime-bg-secondary);
        border-radius: 12px;
        overflow: hidden;
    }

    .vime-ticket-card-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 1rem;
        background: var(--vime-bg-tertiary);
        gap: 1rem;
    }

    .vime-ticket-card-body {
        padding: 1rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .vime-ticket-card-row {
        display: flex;
        justify-content: space-between;
        font-size: 0.875rem;
    }

    .vime-ticket-card-row > span:first-child {
        color: var(--vime-text-muted);
    }

    .vime-ticket-card-actions {
        display: flex;
        gap: 0.5rem;
        padding: 0 1rem 1rem;
    }

    .vime-ticket-card-actions .vime-btn {
        flex: 1;
    }
}

/* Tablet (768px) */
@media (max-width: 768px) {
    .vime-seller-tickets-page .vime-page-header {
        flex-direction: column;
        gap: 1rem;
    }

    .vime-filter-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 4px;
        flex-wrap: nowrap;
    }

    .vime-filter-tabs::-webkit-scrollbar {
        display: none;
    }

    .vime-filter-tab {
        flex-shrink: 0;
        white-space: nowrap;
    }

    .vime-ticket-card-header {
        flex-direction: column;
        gap: 0.75rem;
    }

    .vime-action-btn {
        min-width: 44px;
        min-height: 44px;
        width: 44px;
        height: 44px;
    }
}

/* Mobile (640px) */
@media (max-width: 640px) {
    .vime-filter-tabs {
        width: calc(100% + 32px);
        margin-left: -16px;
        padding-left: 16px;
        padding-right: 16px;
        margin-bottom: 1rem;
    }

    .vime-filter-tab {
        padding: 10px 16px;
        min-height: 44px;
        font-size: 0.8125rem;
    }

    .vime-ticket-card {
        border-radius: 10px;
    }

    .vime-ticket-card-header {
        padding: 0.875rem;
    }

    .vime-ticket-event-image {
        width: 48px;
        height: 48px;
    }

    .vime-ticket-card-body {
        padding: 0.875rem;
        gap: 0.625rem;
    }

    .vime-ticket-card-row {
        font-size: 0.8125rem;
    }

    .vime-ticket-card-actions {
        padding: 0 0.875rem 0.875rem;
        gap: 0.625rem;
    }

    .vime-ticket-card-actions .vime-btn {
        min-height: 44px;
        font-size: 0.875rem;
    }

    .vime-pagination {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .vime-pagination button {
        min-height: 44px;
        padding: 0.75rem 1rem;
    }

    .vime-empty-state {
        padding: 3rem 1.5rem;
    }

    .vime-empty-state h2 {
        font-size: 1.125rem;
    }

    .vime-empty-state p {
        font-size: 0.875rem;
    }

    .vime-toast {
        left: 1rem;
        right: 1rem;
        bottom: 80px;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .vime-filter-tab {
        padding: 8px 12px;
        font-size: 0.75rem;
    }

    .vime-ticket-event-image {
        width: 40px;
        height: 40px;
    }

    .vime-ticket-event-name {
        font-size: 0.875rem;
    }

    .vime-ticket-event-date {
        font-size: 0.6875rem;
    }

    .vime-ticket-card-body {
        padding: 0.75rem;
    }

    .vime-ticket-card-row {
        font-size: 0.75rem;
    }

    .vime-ticket-card-actions {
        flex-direction: column;
    }

    .vime-empty-state {
        padding: 2rem 1rem;
    }
}

/* Extra Small Mobile (360px) */
@media (max-width: 360px) {
    .vime-filter-tabs {
        width: calc(100% + 20px);
        margin-left: -10px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .vime-filter-tab {
        padding: 6px 10px;
        font-size: 0.6875rem;
    }

    .vime-ticket-card-header,
    .vime-ticket-card-body,
    .vime-ticket-card-actions {
        padding: 0.625rem;
    }

    .vime-ticket-event-image {
        width: 36px;
        height: 36px;
    }
}

/* Empty State */
.vime-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    background: var(--vime-bg-secondary);
    border-radius: 12px;
}

.vime-empty-state svg {
    color: var(--vime-text-muted);
    opacity: 0.5;
    margin-bottom: 1rem;
}

.vime-empty-state h2 {
    margin: 0 0 0.5rem 0;
}

.vime-empty-state p {
    color: var(--vime-text-muted);
    margin: 0 0 1.5rem 0;
}

/* Toast Messages */
.vime-toast {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    font-size: 0.875rem;
    z-index: 1000;
    animation: slideIn 0.3s ease;
}

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

.vime-toast-error {
    background: var(--vime-error);
    color: white;
}

.vime-toast-success {
    background: var(--vime-success);
    color: white;
}

/* Pagination */
.vime-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.vime-pagination button {
    padding: 0.5rem 1rem;
    border: 1px solid var(--vime-border);
    border-radius: 6px;
    background: var(--vime-bg-secondary);
    color: var(--vime-text);
    cursor: pointer;
    transition: all 0.2s ease;
}

.vime-pagination button:hover:not(:disabled) {
    border-color: var(--vime-primary);
}

.vime-pagination button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.vime-pagination span {
    font-size: 0.875rem;
    color: var(--vime-text-muted);
}

/* Skeleton */
.vime-skeleton {
    background: linear-gradient(
        90deg,
        var(--vime-bg-tertiary) 25%,
        var(--vime-bg-secondary) 50%,
        var(--vime-bg-tertiary) 75%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px;
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.vime-skeleton-row {
    opacity: 0.7;
}

/**
 * Auth Page Styles - Trocaê
 * Dark theme matching brand design
 * High specificity to override theme styles
 */

/* Auth Page */
#vime-dashboard-app .vime-auth-page,
.vime-dashboard-wrapper .vime-auth-page {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 20px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Auth Screen */
#vime-dashboard-app .vime-auth-screen,
.vime-dashboard-wrapper .vime-auth-screen {
    width: 100% !important;
    max-width: 480px !important;
    animation: authFadeIn 0.3s ease !important;
}

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

/* Auth Form - No card, just content */
#vime-dashboard-app .vime-auth-form,
.vime-dashboard-wrapper .vime-auth-form {
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Auth Icon */
#vime-dashboard-app .vime-auth-icon,
.vime-dashboard-wrapper .vime-auth-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
}

#vime-dashboard-app .vime-auth-icon-success,
#vime-dashboard-app .vime-auth-icon-error,
.vime-dashboard-wrapper .vime-auth-icon-success,
.vime-dashboard-wrapper .vime-auth-icon-error {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 24px !important;
}

#vime-dashboard-app .vime-auth-icon-success,
.vime-dashboard-wrapper .vime-auth-icon-success {
    background: rgba(200, 255, 0, 0.1) !important;
}

#vime-dashboard-app .vime-auth-icon-error,
.vime-dashboard-wrapper .vime-auth-icon-error {
    background: rgba(239, 68, 68, 0.1) !important;
}

/* Auth Title */
#vime-dashboard-app .vime-auth-form h1,
.vime-dashboard-wrapper .vime-auth-form h1 {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.02em !important;
    padding: 0 !important;
    text-transform: none !important;
    line-height: 1.3 !important;
}

/* Auth Subtitle */
#vime-dashboard-app .vime-auth-subtitle,
.vime-dashboard-wrapper .vime-auth-subtitle {
    font-size: 14px !important;
    color: #888888 !important;
    margin: 0 0 32px !important;
    line-height: 1.6 !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

/* Auth Error */
#vime-dashboard-app .vime-auth-error,
.vime-dashboard-wrapper .vime-auth-error {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #EF4444 !important;
    padding: 12px 16px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
    text-align: left !important;
}

/* Auth Field */
#vime-dashboard-app .vime-auth-field,
.vime-dashboard-wrapper .vime-auth-field {
    margin-bottom: 16px !important;
    text-align: left !important;
}

#vime-dashboard-app .vime-auth-field label,
.vime-dashboard-wrapper .vime-auth-field label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #FFFFFF !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    text-transform: none !important;
}

#vime-dashboard-app .vime-auth-field input,
.vime-dashboard-wrapper .vime-auth-field input,
#vime-dashboard-app .vime-auth-field input[type="text"],
#vime-dashboard-app .vime-auth-field input[type="email"],
#vime-dashboard-app .vime-auth-field input[type="password"],
#vime-dashboard-app .vime-auth-field input[type="tel"],
.vime-dashboard-wrapper .vime-auth-field input[type="text"],
.vime-dashboard-wrapper .vime-auth-field input[type="email"],
.vime-dashboard-wrapper .vime-auth-field input[type="password"],
.vime-dashboard-wrapper .vime-auth-field input[type="tel"] {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #FFFFFF !important;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 999px !important;
    outline: none !important;
    transition: border-color 0.2s, background-color 0.2s !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    appearance: none !important;
}

#vime-dashboard-app .vime-auth-field input::placeholder,
.vime-dashboard-wrapper .vime-auth-field input::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

#vime-dashboard-app .vime-auth-field input:focus,
.vime-dashboard-wrapper .vime-auth-field input:focus {
    border-color: #3A3A3A !important;
    background: #1F1F1F !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Input with Icon (Calendar) */
#vime-dashboard-app .vime-auth-input-icon,
.vime-dashboard-wrapper .vime-auth-input-icon {
    position: relative !important;
}

#vime-dashboard-app .vime-auth-input-icon input,
.vime-dashboard-wrapper .vime-auth-input-icon input {
    padding-right: 48px !important;
}

#vime-dashboard-app .vime-auth-input-icon svg,
.vime-dashboard-wrapper .vime-auth-input-icon svg {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #666666 !important;
    pointer-events: none !important;
}

/* Input with Password Toggle */
#vime-dashboard-app .vime-auth-input-password,
.vime-dashboard-wrapper .vime-auth-input-password {
    position: relative !important;
}

#vime-dashboard-app .vime-auth-input-password input,
.vime-dashboard-wrapper .vime-auth-input-password input {
    padding-right: 52px !important;
}

#vime-dashboard-app .vime-auth-password-toggle,
.vime-dashboard-wrapper .vime-auth-password-toggle,
#vime-dashboard-app button.vime-auth-password-toggle,
.vime-dashboard-wrapper button.vime-auth-password-toggle {
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #666666 !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: color 0.2s !important;
}

#vime-dashboard-app .vime-auth-password-toggle:hover,
.vime-dashboard-wrapper .vime-auth-password-toggle:hover {
    color: #888888 !important;
    background: transparent !important;
}

#vime-dashboard-app .vime-auth-password-toggle:focus,
.vime-dashboard-wrapper .vime-auth-password-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

#vime-dashboard-app .vime-auth-password-toggle svg,
.vime-dashboard-wrapper .vime-auth-password-toggle svg {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}

/* Auth Button - Primary (Lime Green) */
#vime-dashboard-app .vime-auth-btn,
.vime-dashboard-wrapper .vime-auth-btn,
#vime-dashboard-app button.vime-auth-btn,
.vime-dashboard-wrapper button.vime-auth-btn {
    width: 100% !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    color: #0D0D0D !important;
    background: #C8FF00 !important;
    border: none !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background-color 0.2s, transform 0.1s !important;
    margin-top: 8px !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.5 !important;
    height: auto !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

#vime-dashboard-app .vime-auth-btn:hover:not(:disabled),
.vime-dashboard-wrapper .vime-auth-btn:hover:not(:disabled) {
    background: #B8EE00 !important;
    color: #0D0D0D !important;
}

#vime-dashboard-app .vime-auth-btn:active:not(:disabled),
.vime-dashboard-wrapper .vime-auth-btn:active:not(:disabled) {
    transform: scale(0.98) !important;
}

#vime-dashboard-app .vime-auth-btn:disabled,
.vime-dashboard-wrapper .vime-auth-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* Auth Button - Secondary (Outline) */
#vime-dashboard-app .vime-auth-btn-secondary,
.vime-dashboard-wrapper .vime-auth-btn-secondary,
#vime-dashboard-app button.vime-auth-btn-secondary,
.vime-dashboard-wrapper button.vime-auth-btn-secondary {
    width: 100% !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    color: #FFFFFF !important;
    background: transparent !important;
    border: 1px solid #3A3A3A !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background-color 0.2s, border-color 0.2s !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.5 !important;
    height: auto !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

#vime-dashboard-app .vime-auth-btn-secondary:hover,
.vime-dashboard-wrapper .vime-auth-btn-secondary:hover {
    background: #1A1A1A !important;
    border-color: #4A4A4A !important;
    color: #FFFFFF !important;
}

/* Auth Link */
#vime-dashboard-app .vime-auth-link,
.vime-dashboard-wrapper .vime-auth-link,
#vime-dashboard-app button.vime-auth-link,
.vime-dashboard-wrapper button.vime-auth-link {
    display: inline-block !important;
    margin-top: 16px !important;
    padding: 8px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: #888888 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    box-shadow: none !important;
}

#vime-dashboard-app .vime-auth-link:hover,
.vime-dashboard-wrapper .vime-auth-link:hover {
    color: #FFFFFF !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    background: none !important;
}

/* Auth Divider */
#vime-dashboard-app .vime-auth-divider,
.vime-dashboard-wrapper .vime-auth-divider {
    display: flex !important;
    align-items: center !important;
    margin: 24px 0 !important;
}

#vime-dashboard-app .vime-auth-divider::before,
#vime-dashboard-app .vime-auth-divider::after,
.vime-dashboard-wrapper .vime-auth-divider::before,
.vime-dashboard-wrapper .vime-auth-divider::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: #2A2A2A !important;
}

#vime-dashboard-app .vime-auth-divider span,
.vime-dashboard-wrapper .vime-auth-divider span {
    padding: 0 16px !important;
    font-size: 13px !important;
    color: #666666 !important;
}

/* Auth Loading */
#vime-dashboard-app .vime-auth-loading,
.vime-dashboard-wrapper .vime-auth-loading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 0 !important;
}

#vime-dashboard-app .vime-auth-loading p,
.vime-dashboard-wrapper .vime-auth-loading p {
    color: #888888 !important;
    margin: 16px 0 0 !important;
}

#vime-dashboard-app .vime-auth-spinner,
.vime-dashboard-wrapper .vime-auth-spinner {
    width: 40px !important;
    height: 40px !important;
    border: 3px solid #2A2A2A !important;
    border-top-color: #C8FF00 !important;
    border-radius: 50% !important;
    animation: authSpin 0.8s linear infinite !important;
}

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

/* Responsive */
@media (max-width: 520px) {
    #vime-dashboard-app .vime-auth-page,
    .vime-dashboard-wrapper .vime-auth-page {
        padding: 24px 16px !important;
        align-items: flex-start !important;
        padding-top: 60px !important;
    }

    #vime-dashboard-app .vime-auth-form h1,
    .vime-dashboard-wrapper .vime-auth-form h1 {
        font-size: 24px !important;
    }

    #vime-dashboard-app .vime-auth-subtitle,
    .vime-dashboard-wrapper .vime-auth-subtitle {
        font-size: 13px !important;
    }

    #vime-dashboard-app .vime-auth-field input,
    .vime-dashboard-wrapper .vime-auth-field input {
        padding: 12px 16px !important;
        font-size: 14px !important;
    }

    #vime-dashboard-app .vime-auth-btn,
    #vime-dashboard-app .vime-auth-btn-secondary,
    .vime-dashboard-wrapper .vime-auth-btn,
    .vime-dashboard-wrapper .vime-auth-btn-secondary {
        padding: 14px 20px !important;
        font-size: 15px !important;
    }
}

/**
 * Vime Dashboard - Global Styles - Trocaê
 */

/* CSS Variables - Trocaê Theme */
:root {
    /* Colors */
    --vime-color-primary: #C8FF00;
    --vime-color-primary-hover: #B8EE00;
    --vime-color-secondary: #FFFFFF;
    --vime-color-background: #0D0D0D;
    --vime-color-surface: #1A1A1A;
    --vime-color-surface-hover: #2A2A2A;
    --vime-color-text: #FFFFFF;
    --vime-color-text-secondary: #B3B3B3;
    --vime-color-text-muted: #666666;
    --vime-color-border: #2A2A2A;
    --vime-color-border-light: #3A3A3A;
    --vime-color-success: #10B981;
    --vime-color-warning: #F59E0B;
    --vime-color-danger: #EF4444;

    /* Layout */
    --vime-sidebar-width: 280px;
    --vime-header-height: 0px;
    --vime-border-radius: 8px;
    --vime-border-radius-lg: 12px;

    /* Spacing */
    --vime-spacing-xs: 4px;
    --vime-spacing-sm: 8px;
    --vime-spacing-md: 16px;
    --vime-spacing-lg: 24px;
    --vime-spacing-xl: 32px;
    --vime-spacing-2xl: 48px;

    /* Typography */
    --vime-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --vime-font-size-base: 15px;

    /* Shadows */
    --vime-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
    --vime-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --vime-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
}

/* Reset & Base */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    font-size: var(--vime-font-size-base, 15px);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--vime-font-family);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--vime-color-text);
    background: var(--vime-color-background);
}

/* Vime Dashboard Root Container */
#vime-dashboard-root {
    background: var(--vime-color-background);
    min-height: 100vh;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 var(--vime-spacing-md);
    font-weight: 600;
    line-height: 1.3;
    color: var(--vime-color-text);
}

h1 { font-size: 1.75rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.125rem; }

p {
    margin: 0 0 var(--vime-spacing-md);
}

a {
    color: var(--vime-color-primary);
    -webkit-text-decoration: none;
    text-decoration: none;
}

a:hover {
    -webkit-text-decoration: underline;
    text-decoration: underline;
}

/* Page structure */
.vime-page {
    animation: fadeIn 0.3s ease;
}

.vime-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--vime-spacing-md);
    margin-bottom: var(--vime-spacing-lg);
    flex-wrap: wrap;
}

.vime-page-header h1 {
    margin: 0;
}

.vime-back {
    color: var(--vime-color-text-secondary);
    font-size: 0.875rem;
}

/* Cards */
.vime-card {
    background: var(--vime-color-surface);
    border: 1px solid var(--vime-color-border);
    border-radius: var(--vime-border-radius);
    overflow: hidden;
}

.vime-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--vime-spacing-md) var(--vime-spacing-lg);
    border-bottom: 1px solid var(--vime-color-border);
}

.vime-card-header h2 {
    margin: 0;
    font-size: 1.125rem;
}

.vime-card-body {
    padding: var(--vime-spacing-lg);
}

/* Buttons */
.vime-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--vime-spacing-xs);
    padding: var(--vime-spacing-sm) var(--vime-spacing-lg);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    -webkit-text-decoration: none;
    text-decoration: none;
    border: 1px solid var(--vime-color-border);
    border-radius: var(--vime-border-radius);
    background: var(--vime-color-surface);
    color: var(--vime-color-text);
    cursor: pointer;
    transition: all 0.2s;
}

.vime-btn:hover {
    background: var(--vime-color-background);
    -webkit-text-decoration: none;
    text-decoration: none;
}

.vime-btn-primary {
    background: var(--vime-color-primary);
    border-color: var(--vime-color-primary);
    color: white;
}

.vime-btn-primary:hover {
    background: var(--vime-color-primary-hover);
    border-color: var(--vime-color-primary-hover);
}

.vime-btn-sm {
    padding: var(--vime-spacing-xs) var(--vime-spacing-sm);
    font-size: 0.8125rem;
}

.vime-btn-icon {
    padding: var(--vime-spacing-xs);
}

/* Forms */
.vime-form {
    max-width: 600px;
}

.vime-form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--vime-spacing-md);
}

.vime-form-group {
    margin-bottom: var(--vime-spacing-md);
}

.vime-form-group label {
    display: block;
    margin-bottom: var(--vime-spacing-xs);
    font-weight: 500;
    color: var(--vime-color-text);
}

.vime-input,
.vime-select {
    width: 100%;
    padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    font-size: 0.875rem;
    border: 1px solid var(--vime-color-border);
    border-radius: 999px;
    background: var(--vime-color-surface);
    color: var(--vime-color-text);
    transition: border-color 0.2s;
}

.vime-input:focus,
.vime-select:focus {
    outline: none;
    border-color: var(--vime-color-primary);
}

.vime-form-actions {
    margin-top: var(--vime-spacing-lg);
    padding-top: var(--vime-spacing-lg);
    border-top: 1px solid var(--vime-color-border);
}

/* Filters */
.vime-filters {
    display: flex;
    gap: var(--vime-spacing-md);
    margin-bottom: var(--vime-spacing-lg);
    flex-wrap: wrap;
}

.vime-search {
    display: flex;
    align-items: center;
    gap: var(--vime-spacing-sm);
    flex: 1;
    min-width: 200px;
    max-width: 400px;
    padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    background: var(--vime-color-surface);
    border: 1px solid var(--vime-color-border);
    border-radius: var(--vime-border-radius);
}

.vime-search input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.875rem;
    color: var(--vime-color-text);
}

.vime-search svg {
    color: var(--vime-color-text-secondary);
}

/* Tables */
.vime-table {
    width: 100%;
    border-collapse: collapse;
}

.vime-table th,
.vime-table td {
    padding: var(--vime-spacing-md);
    text-align: left;
    border-bottom: 1px solid var(--vime-color-border);
}

.vime-table th {
    font-weight: 600;
    color: var(--vime-color-text-secondary);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.vime-table tbody tr:hover {
    background: var(--vime-color-background);
}

.vime-customer {
    display: flex;
    flex-direction: column;
}

.vime-customer small {
    color: var(--vime-color-text-secondary);
}

/* Status badges */
.vime-status {
    display: inline-flex;
    padding: 2px 8px;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 999px;
    text-transform: capitalize;
}

.vime-status-pending,
.vime-status-on-hold {
    background: rgba(245, 158, 11, 0.1);
    color: var(--vime-color-warning);
}

.vime-status-processing {
    background: rgba(59, 130, 246, 0.1);
    color: var(--vime-color-primary);
}

.vime-status-completed,
.vime-status-publish {
    background: rgba(34, 197, 94, 0.1);
    color: var(--vime-color-success);
}

.vime-status-cancelled,
.vime-status-failed {
    background: rgba(239, 68, 68, 0.1);
    color: var(--vime-color-danger);
}

.vime-status-draft {
    background: rgba(107, 114, 128, 0.1);
    color: var(--vime-color-text-secondary);
}

/* Tabs */
.vime-tabs {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: var(--vime-spacing-lg) !important;
    border: none !important;
    border-bottom: none !important;
    padding: 0 !important;
}

.vime-tab {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 20px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #FFFFFF !important;
    background: #1A1A1A !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}

.vime-tab svg {
    color: #C8FF00 !important;
}

.vime-tab:hover {
    background: #252525 !important;
    border-color: #3A3A3A !important;
    color: #FFFFFF !important;
}

.vime-tab.is-active {
    background: #C8FF00 !important;
    color: #0D0D0D !important;
    border-color: #C8FF00 !important;
}

.vime-tab.is-active:hover {
    background: #B8E600 !important;
    color: #0D0D0D !important;
    border-color: #B8E600 !important;
}

.vime-tab.is-active svg {
    color: #0D0D0D !important;
}

.vime-tab.is-active:hover svg {
    color: #0D0D0D !important;
}

/* Avatar */
.vime-avatar-lg {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
}

.vime-avatar-upload {
    display: flex;
    align-items: center;
    gap: var(--vime-spacing-md);
}

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

.vime-empty-state h2 {
    margin-top: var(--vime-spacing-md);
    margin-bottom: var(--vime-spacing-xs);
}

.vime-empty-state p {
    margin-bottom: var(--vime-spacing-lg);
}

/* Products grid */
.vime-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--vime-spacing-md);
}

.vime-product-card {
    background: var(--vime-color-surface);
    border: 1px solid var(--vime-color-border);
    border-radius: var(--vime-border-radius);
    overflow: hidden;
    transition: all 0.2s;
}

.vime-product-card:hover {
    box-shadow: var(--vime-shadow-md);
}

.vime-product-image {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--vime-color-background);
    color: var(--vime-color-text-secondary);
}

.vime-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vime-product-info {
    padding: var(--vime-spacing-md);
}

.vime-product-info h3 {
    margin: 0 0 var(--vime-spacing-xs);
    font-size: 1rem;
}

.vime-product-price {
    font-weight: 600;
    color: var(--vime-color-primary);
}

.vime-product-actions {
    padding: var(--vime-spacing-md);
    padding-top: 0;
}

/* Pagination */
.vime-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--vime-spacing-md);
    margin-top: var(--vime-spacing-lg);
}

.vime-pagination button {
    padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    border: 1px solid var(--vime-color-border);
    border-radius: var(--vime-border-radius);
    background: var(--vime-color-surface);
    cursor: pointer;
}

.vime-pagination button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 404 page */
.vime-not-found {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
}

.vime-not-found-content {
    text-align: center;
}

.vime-not-found-content h1 {
    font-size: 6rem;
    color: var(--vime-color-primary);
    margin-bottom: 0;
}

.vime-not-found-content h2 {
    margin-bottom: var(--vime-spacing-md);
}

/* Loading */
/* Hide PHP loader when React has mounted - React replaces PHP content */
#vime-dashboard-app .vime-loading {
    display: none;
}

/* PHP loader styles (fallback if JS doesn't hide it) */
.vime-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: var(--vime-color-background);
    flex-direction: column;
}

.vime-loading p {
    color: var(--vime-color-text-secondary);
    margin-top: var(--vime-spacing-md);
}

/* React loading screen */
.vime-loading-screen {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: var(--vime-color-background);
}

.vime-loading-content {
    text-align: center;
}

.vime-loading-spinner {
    margin-bottom: var(--vime-spacing-md);
}

.vime-spinner {
    width: 48px;
    height: 48px;
    animation: rotate 1s linear infinite;
}

.vime-spinner-path {
    stroke: var(--vime-color-primary);
    stroke-linecap: round;
    animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}

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

/* Link */
.vime-link {
    color: var(--vime-color-primary);
    font-size: 0.875rem;
}

/* Placeholder Page */
.vime-placeholder-page {
    padding: var(--vime-spacing-lg);
}

.vime-placeholder-page h1 {
    color: var(--vime-color-text);
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: var(--vime-spacing-sm);
}

.vime-placeholder-page p {
    color: var(--vime-color-text-secondary);
    margin: 0;
}

/* ================================ */
/* RESPONSIVE STYLES - Mobile First */
/* ================================ */

/* Tablet (768px and below) */
@media (max-width: 768px) {
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.25rem; }
    h3 { font-size: 1.125rem; }

    .vime-page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--vime-spacing-sm);
    }

    .vime-card-header {
        padding: var(--vime-spacing-md);
        flex-wrap: wrap;
        gap: var(--vime-spacing-sm);
    }

    .vime-card-body {
        padding: var(--vime-spacing-md);
    }

    .vime-form-row {
        grid-template-columns: 1fr;
    }

    .vime-filters {
        flex-direction: column;
    }

    .vime-search {
        max-width: 100%;
        min-width: auto;
    }

    .vime-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 4px;
    }

    .vime-tabs::-webkit-scrollbar {
        display: none;
    }

    .vime-tab {
        flex-shrink: 0;
        padding: 10px 16px !important;
        font-size: 0.8125rem !important;
        white-space: nowrap;
    }

    .vime-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--vime-spacing-sm);
    }

    .vime-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .vime-pagination {
        flex-wrap: wrap;
        gap: var(--vime-spacing-sm);
    }

    .vime-not-found-content h1 {
        font-size: 4rem;
    }
}

/* Mobile (640px and below) */
@media (max-width: 640px) {
    :root {
        --vime-font-size-base: 14px;
    }

    h1 { font-size: 1.25rem; }
    h2 { font-size: 1.125rem; }
    h3 { font-size: 1rem; }

    .vime-page-header h1 {
        font-size: 1.25rem;
    }

    .vime-btn {
        padding: var(--vime-spacing-sm) var(--vime-spacing-md);
        min-height: 44px; /* Touch-friendly */
    }

    .vime-btn-sm {
        min-height: 36px;
    }

    .vime-input,
    .vime-select {
        min-height: 44px; /* Touch-friendly */
        padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    }

    .vime-card-header {
        padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    }

    .vime-card-body {
        padding: var(--vime-spacing-sm) var(--vime-spacing-md);
    }

    .vime-empty,
    .vime-empty-state {
        padding: var(--vime-spacing-lg);
    }

    .vime-products-grid {
        grid-template-columns: 1fr;
    }

    .vime-avatar-lg {
        width: 64px;
        height: 64px;
    }

    .vime-avatar-upload {
        flex-direction: column;
        text-align: center;
    }

    .vime-placeholder-page {
        padding: var(--vime-spacing-md);
    }

    .vime-placeholder-page h1 {
        font-size: 1.25rem;
    }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
    :root {
        --vime-spacing-lg: 16px;
        --vime-spacing-xl: 24px;
    }

    h1 { font-size: 1.125rem; }

    .vime-tab {
        padding: 8px 12px !important;
        font-size: 0.75rem !important;
    }

    .vime-btn {
        font-size: 0.8125rem;
        padding: 10px 14px;
    }

    .vime-card-header h2 {
        font-size: 1rem;
    }

    .vime-not-found-content h1 {
        font-size: 3rem;
    }

    .vime-pagination button {
        padding: var(--vime-spacing-xs) var(--vime-spacing-sm);
        font-size: 0.8125rem;
    }
}

/* Extra Small Mobile (360px and below) */
@media (max-width: 360px) {
    .vime-tab {
        padding: 6px 10px !important;
        font-size: 0.6875rem !important;
    }

    .vime-btn {
        font-size: 0.75rem;
        padding: 8px 12px;
    }
}

