/* ==============================================
   Phideoshare — Dark Theme v3 (Red / Black / White)
   SOLID dark backgrounds — no transparency issues
   ============================================== */

:root {
    --ps-bg: #0a0c12;
    --ps-card: #141825;
    --ps-card-hover: #191e30;
    --ps-input: #0e1119;
    --ps-red: #e8585d;
    --ps-red-hover: #d44449;
    --ps-white: #ffffff;
    --ps-text: #d1d5db;
    --ps-muted: rgba(255,255,255,0.40);
    --ps-faint: rgba(255,255,255,0.08);
    --ps-border: rgba(255,255,255,0.07);
    --ps-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
    --ps-r: 14px;
    --ps-r-sm: 10px;
    --ps-r-xs: 6px;
    --ps-ease: .25s cubic-bezier(.4,0,.2,1);
}

/* ==============================================
   1. NUCLEAR DARK OVERRIDE
   Kill ALL backgrounds from theme / page builders
   ============================================== */
body.phideoshare-dark {
    background: var(--ps-bg) !important;
    color: var(--ps-text) !important;
}

/* Every wrapper between body and our content: transparent */
body.phideoshare-dark .site,
body.phideoshare-dark #page,
body.phideoshare-dark #wrapper,
body.phideoshare-dark .site-inner,
body.phideoshare-dark #content,
body.phideoshare-dark #primary,
body.phideoshare-dark #main,
body.phideoshare-dark .site-content,
body.phideoshare-dark .site-main,
body.phideoshare-dark .content-area,
body.phideoshare-dark .entry-content,
body.phideoshare-dark .page-content,
body.phideoshare-dark .post-content,
body.phideoshare-dark main,
body.phideoshare-dark article,
body.phideoshare-dark .hentry,
body.phideoshare-dark .inside-article,
body.phideoshare-dark .container,
body.phideoshare-dark .page-wrapper,
body.phideoshare-dark .site-container,
body.phideoshare-dark .main-content {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Attribute selectors catch ALL page builder elements */
body.phideoshare-dark [class*="elementor-"],
body.phideoshare-dark [class*="e-con"],
body.phideoshare-dark [class*="e-child"],
body.phideoshare-dark [class*="wp-block-"],
body.phideoshare-dark [class*="fl-"],
body.phideoshare-dark [class*="vc_"],
body.phideoshare-dark [class*="wpb_"],
body.phideoshare-dark [class*="ast-"],
body.phideoshare-dark [class*="ct-"],
body.phideoshare-dark [class*="fusion-"],
body.phideoshare-dark [class*="avada-"],
body.phideoshare-dark [class*="generatepress-"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Page/post titles */
body.phideoshare-dark .entry-title,
body.phideoshare-dark .page-title,
body.phideoshare-dark h1.entry-title {
    color: var(--ps-white) !important;
}

/* ==============================================
   2. HEADER (site theme) — solid dark
   ============================================== */
body.phideoshare-dark header,
body.phideoshare-dark .site-header,
body.phideoshare-dark #masthead,
body.phideoshare-dark .main-header,
body.phideoshare-dark .header-wrap,
body.phideoshare-dark .top-bar,
body.phideoshare-dark .secondary-header,
body.phideoshare-dark #site-header,
body.phideoshare-dark .site-header-wrapper,
body.phideoshare-dark [data-elementor-type="header"],
body.phideoshare-dark .elementor-location-header {
    background: #07080d !important;
    background-image: none !important;
    border-bottom: 1px solid var(--ps-border) !important;
}

body.phideoshare-dark header *,
body.phideoshare-dark .site-header *,
body.phideoshare-dark #masthead * {
    color: rgba(255,255,255,0.65) !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.phideoshare-dark header a:hover,
body.phideoshare-dark .site-header a:hover,
body.phideoshare-dark .menu-item a:hover {
    color: var(--ps-red) !important;
}

body.phideoshare-dark header .button,
body.phideoshare-dark header .btn,
body.phideoshare-dark header [class*="button"],
body.phideoshare-dark header .wp-element-button,
body.phideoshare-dark header .wp-block-button__link {
    background: var(--ps-red) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
}

/* ==============================================
   3. FOOTER (site theme) — solid dark
   ============================================== */
body.phideoshare-dark footer,
body.phideoshare-dark .site-footer,
body.phideoshare-dark #colophon,
body.phideoshare-dark .footer-wrap,
body.phideoshare-dark [data-elementor-type="footer"],
body.phideoshare-dark .elementor-location-footer {
    background: #07080d !important;
    background-image: none !important;
    border-top: 1px solid var(--ps-border) !important;
}

body.phideoshare-dark footer *,
body.phideoshare-dark .site-footer * {
    color: rgba(255,255,255,0.30) !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.phideoshare-dark footer a:hover {
    color: var(--ps-red) !important;
}

/* ==============================================
   4. PHIDEOSHARE CONTAINER
   ============================================== */
.phideoshare-container {
    font-family: var(--ps-font) !important;
    color: var(--ps-text) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 32px !important;
    min-height: 80vh !important;
    position: relative !important;
    background: transparent !important;
}

/* ==============================================
   5. PHIDEOSHARE HEADER (in-app)
   ============================================== */
.phideoshare-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 32px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--ps-border) !important;
}

.phideoshare-logo img { max-height: 42px !important; }
.phideoshare-tagline { display: block !important; font-size: 12px !important; color: var(--ps-muted) !important; margin-top: 4px !important; }
.phideoshare-user-info { font-size: 14px !important; color: var(--ps-muted) !important; }

.phideoshare-logout-link {
    margin-left: 15px !important;
    color: var(--ps-red) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: opacity var(--ps-ease) !important;
}
.phideoshare-logout-link:hover { opacity: 0.7 !important; }

/* ==============================================
   6. CARDS — solid dark with subtle glow
   ============================================== */
body.phideoshare-dark .phideoshare-card,
.phideoshare-card {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    padding: 28px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
    transition: border-color var(--ps-ease) !important;
}
body.phideoshare-dark .phideoshare-card:hover,
.phideoshare-card:hover {
    border-color: rgba(255,255,255,0.12) !important;
}
.phideoshare-card h2 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--ps-white) !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--ps-border) !important;
}

/* ==============================================
   7. MAIN GRID
   ============================================== */
.phideoshare-main-content {
    display: grid !important;
    grid-template-columns: 1fr 1.5fr !important;
    gap: 24px !important;
}

/* ==============================================
   8. STATISTICS
   ============================================== */
.phideoshare-statistics-section { margin-bottom: 24px !important; }
.phideoshare-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4,1fr) !important;
    gap: 14px !important;
}

body.phideoshare-dark .phideoshare-stat-card,
.phideoshare-stat-card {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    padding: 22px 14px !important;
    text-align: center !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
    transition: border-color var(--ps-ease), transform var(--ps-ease) !important;
}
body.phideoshare-dark .phideoshare-stat-card:hover,
.phideoshare-stat-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(232,88,93,0.35) !important;
}

.phideoshare-stat-card .stat-value {
    font-size: 30px !important;
    font-weight: 800 !important;
    color: var(--ps-white) !important;
    line-height: 1.1 !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: var(--ps-white) !important;
    background-clip: unset !important;
}
.phideoshare-stat-card .stat-label {
    font-size: 10px !important;
    color: var(--ps-muted) !important;
    margin-top: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    font-weight: 600 !important;
}

/* ==============================================
   9. UPLOAD FORM
   ============================================== */
.phideoshare-upload-card .phideoshare-container {
    padding: 0 !important; max-width: 100% !important; margin: 0 !important;
    background: transparent !important; min-height: auto !important;
}
.phideoshare-upload-card .phideoshare-logo { display: none !important; }

.phideoshare-form-field { margin-bottom: 14px !important; }
.phideoshare-form-field label {
    display: block !important;
    margin-bottom: 5px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--ps-muted) !important;
}

.phideoshare-form-field input[type="text"],
.phideoshare-form-field input[type="email"],
.phideoshare-form-field textarea,
#phideoshare-modal-email,
#phideoshare-modal-message,
#phideoshare-modal-sender-name {
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r-xs) !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    background: var(--ps-input) !important;
    color: var(--ps-text) !important;
    transition: border-color var(--ps-ease), box-shadow var(--ps-ease) !important;
    outline: none !important;
}
.phideoshare-form-field input:focus,
.phideoshare-form-field textarea:focus,
#phideoshare-modal-email:focus,
#phideoshare-modal-message:focus {
    border-color: var(--ps-red) !important;
    box-shadow: 0 0 0 3px rgba(232,88,93,0.15) !important;
}
.phideoshare-form-field textarea { resize: vertical !important; }

/* Mode Selector */
.phideoshare-mode-selector {
    display: flex !important;
    background: var(--ps-input) !important;
    border-radius: var(--ps-r-sm) !important;
    padding: 4px !important;
    margin-bottom: 18px !important;
    border: 1px solid var(--ps-border) !important;
}
.phideoshare-mode-label {
    flex: 1 !important;
    text-align: center !important;
    padding: 10px 12px !important;
    border-radius: var(--ps-r-xs) !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--ps-muted) !important;
    transition: all var(--ps-ease) !important;
    border: none !important;
    background: transparent !important;
}
.phideoshare-mode-label input[type="radio"] { display: none !important; }
.phideoshare-mode-label.active {
    background: var(--ps-red) !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(232,88,93,0.3) !important;
}

/* ==============================================
   10. DROPZONE
   ============================================== */
#phideoshare-dropzone {
    border: 2px dashed rgba(255,255,255,0.10) !important;
    border-radius: var(--ps-r-sm) !important;
    padding: 30px 20px !important;
    text-align: center !important;
    background: var(--ps-input) !important;
    transition: border-color var(--ps-ease), background var(--ps-ease) !important;
}
#phideoshare-dropzone.drag-over {
    border-color: var(--ps-red) !important;
    background: rgba(232,88,93,0.06) !important;
}
#phideoshare-dropzone p { margin: 10px 0 0 !important; color: var(--ps-muted) !important; font-size: 13px !important; }

.phideoshare-filelist .file-item {
    display: flex !important; align-items: center !important; padding: 10px 0 !important;
    border-bottom: 1px solid var(--ps-faint) !important; font-size: 13px !important; color: var(--ps-text) !important;
}
.phideoshare-filelist .file-item:last-child { border-bottom: none !important; }
.phideoshare-filelist .file-name { flex-grow: 1 !important; }
.phideoshare-filelist .file-size { color: var(--ps-muted) !important; margin-right: 10px !important; }
.phideoshare-filelist .file-status { font-weight: 700 !important; }
.phideoshare-filelist .file-status.status-done { color: #10b981 !important; }
.phideoshare-filelist .file-status.status-error { color: #ef4444 !important; }

/* Progress */
#phideoshare-progress-bar { width: 100% !important; height: 4px !important; background: var(--ps-faint) !important; border-radius: 2px !important; margin: 16px 0 !important; overflow: hidden !important; }
#phideoshare-progress-bar-inner { width: 0 !important; height: 100% !important; background: var(--ps-red) !important; border-radius: 2px !important; transition: width .3s !important; }

/* ==============================================
   11. BUTTONS
   ============================================== */
.phideoshare-button,
#start-upload,
.phideoshare-download-button {
    display: inline-block !important;
    text-decoration: none !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 14px 30px !important;
    border-radius: 50px !important;
    border: none !important;
    background: var(--ps-red) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    text-align: center !important;
    transition: all var(--ps-ease) !important;
    box-shadow: 0 4px 14px rgba(232,88,93,0.25) !important;
    letter-spacing: 0.02em !important;
}
.phideoshare-button:hover,
#start-upload:hover,
.phideoshare-download-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(232,88,93,0.35) !important;
    background: var(--ps-red-hover) !important;
    color: #fff !important;
}
#start-upload { width: 100% !important; margin-top: 16px !important; }

.phideoshare-button-secondary,
#pickfiles {
    display: inline-block !important;
    text-decoration: none !important;
    font-size: 13px !important;
    padding: 12px 24px !important;
    border-radius: 50px !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    background: #1a1f30 !important;
    color: var(--ps-text) !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    transition: all var(--ps-ease) !important;
}
.phideoshare-button-secondary:hover,
#pickfiles:hover {
    border-color: var(--ps-red) !important;
    color: #fff !important;
    background: #251518 !important;
}

.phideoshare-button-danger {
    display: inline-block !important;
    padding: 12px 24px !important;
    border-radius: 50px !important;
    border: none !important;
    background: var(--ps-red) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    box-shadow: 0 4px 14px rgba(232,88,93,0.25) !important;
    transition: all var(--ps-ease) !important;
}
.phideoshare-button-danger:hover {
    transform: translateY(-1px) !important;
    background: var(--ps-red-hover) !important;
}

/* ==============================================
   12. UPLOADS TABLE (dashboard)
   ============================================== */
.phideoshare-uploads-list-card .phideoshare-container {
    padding: 0 !important; max-width: 100% !important; margin: 0 !important;
    background: transparent !important; min-height: auto !important;
}
.phideoshare-my-uploads p { font-size: 14px !important; color: var(--ps-muted) !important; }

.phideoshare-uploads-table { width: 100% !important; border-collapse: collapse !important; font-size: 13px !important; }
.phideoshare-uploads-table th {
    background: var(--ps-input) !important;
    padding: 12px 14px !important; text-align: left !important;
    font-weight: 700 !important; font-size: 10px !important;
    text-transform: uppercase !important; letter-spacing: 0.8px !important;
    color: var(--ps-muted) !important; border-bottom: 1px solid var(--ps-border) !important;
}
.phideoshare-uploads-table td {
    padding: 14px !important; border-bottom: 1px solid rgba(255,255,255,0.03) !important;
    vertical-align: middle !important; color: var(--ps-text) !important;
}
.phideoshare-uploads-table tbody tr { transition: background var(--ps-ease) !important; }
.phideoshare-uploads-table tbody tr:hover { background: rgba(255,255,255,0.02) !important; }

/* Action Buttons (table) */
.phideoshare-actions .phideoshare-action-group { display: flex !important; gap: 5px !important; }
.phideoshare-actions button {
    padding: 7px 9px !important; display: flex !important; align-items: center !important;
    justify-content: center !important; font-size: 13px !important; cursor: pointer !important;
    border-radius: var(--ps-r-xs) !important; border: 1px solid var(--ps-border) !important;
    background: #1a1f30 !important; color: var(--ps-muted) !important;
    transition: all var(--ps-ease) !important;
}
.phideoshare-actions button:hover { border-color: var(--ps-red) !important; color: var(--ps-red) !important; background: #251518 !important; }
.phideoshare-actions button svg { width: 14px !important; height: 14px !important; }
.phideoshare-delete-btn:hover { background: #2a1216 !important; border-color: #ef4444 !important; color: #ef4444 !important; }
.phideoshare-delete-btn:hover svg { stroke: #ef4444 !important; }
.phideoshare-extend-btn:hover { background: #0f2a1c !important; border-color: #10b981 !important; color: #10b981 !important; }
.phideoshare-extend-btn:hover svg { stroke: #10b981 !important; }

/* Expired */
.phideoshare-uploads-table tr.phideoshare-expired { opacity: 0.3 !important; }
.phideoshare-expired-badge {
    display: inline-block !important; background: #ef4444 !important; color: #fff !important;
    font-size: 10px !important; padding: 2px 8px !important; border-radius: 50px !important;
    margin-left: 6px !important; text-transform: uppercase !important; font-weight: 700 !important;
}

/* ==============================================
   13. MODALS
   ============================================== */
#phideoshare-resend-modal-overlay,
#phideoshare-delete-modal-overlay {
    position: fixed !important; top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    background: rgba(0,0,0,0.8) !important;
    z-index: 999999 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    opacity: 0 !important; visibility: hidden !important; transition: opacity .3s !important;
}
#phideoshare-resend-modal-overlay:not(.phideoshare-modal-hidden),
#phideoshare-delete-modal-overlay:not(.phideoshare-modal-hidden) {
    opacity: 1 !important; visibility: visible !important;
}

#phideoshare-resend-modal,
#phideoshare-delete-modal {
    background: transparent !important; border: none !important;
    box-shadow: none !important; max-width: 450px !important; width: 90% !important;
}

#phideoshare-resend-modal-content,
#phideoshare-delete-modal-content {
    background: var(--ps-card) !important;
    padding: 32px !important;
    border-radius: var(--ps-r) !important;
    width: 100% !important; max-width: 450px !important;
    position: relative !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.7) !important;
    border: 1px solid var(--ps-border) !important;
}
#phideoshare-resend-modal-content h3,
#phideoshare-delete-modal-content h3 {
    color: var(--ps-white) !important; margin: 0 0 16px !important; font-size: 18px !important;
}
#phideoshare-delete-modal-content h3 { color: var(--ps-red) !important; }

#phideoshare-modal-close,
#phideoshare-delete-modal-close,
.phideoshare-modal-close-btn {
    position: absolute !important; top: 12px !important; right: 16px !important;
    background: none !important; border: none !important; font-size: 24px !important;
    cursor: pointer !important; color: var(--ps-muted) !important; transition: color var(--ps-ease) !important;
}
#phideoshare-modal-close:hover,
#phideoshare-delete-modal-close:hover,
.phideoshare-modal-close-btn:hover { color: #fff !important; }

#phideoshare-modal-submit { width: 100% !important; margin-top: 16px !important; }

.phideoshare-modal-actions,
.phideoshare-delete-actions {
    display: flex !important; gap: 12px !important; justify-content: flex-end !important;
    margin-top: 24px !important; padding-top: 18px !important;
    border-top: 1px solid var(--ps-faint) !important;
}

/* Warning box */
.phideoshare-warning-box {
    background: #1e1014 !important;
    border: 1px solid rgba(232,88,93,0.20) !important;
    border-radius: var(--ps-r-xs) !important;
    padding: 14px !important; margin: 14px 0 !important; color: var(--ps-text) !important;
}
.phideoshare-warning-box p { color: var(--ps-text) !important; }
.phideoshare-warning-box ul { margin: 8px 0 0 !important; padding-left: 20px !important; }
.phideoshare-warning-box li { color: rgba(255,255,255,0.5) !important; font-size: 13px !important; margin-bottom: 4px !important; }

.phideoshare-delete-warning p { color: var(--ps-text) !important; }
.phideoshare-delete-subject { color: var(--ps-red) !important; font-weight: 600 !important; }

#phideoshare-delete-status,
#phideoshare-modal-status {
    margin-top: 14px !important; padding: 12px !important;
    border-radius: var(--ps-r-xs) !important; text-align: center !important;
    font-size: 14px !important; font-weight: 600 !important;
    background: var(--ps-input) !important; color: var(--ps-text) !important;
}

/* ==============================================
   14. ACTIVITY TIMELINE
   ============================================== */
.phideoshare-activity-card { margin-top: 0 !important; }
.phideoshare-activity-timeline { max-height: 300px !important; overflow-y: auto !important; }
.phideoshare-activity-timeline::-webkit-scrollbar { width: 4px !important; }
.phideoshare-activity-timeline::-webkit-scrollbar-track { background: transparent !important; }
.phideoshare-activity-timeline::-webkit-scrollbar-thumb { background: var(--ps-faint) !important; border-radius: 2px !important; }

.phideoshare-activity-timeline .activity-date-group { margin-bottom: 14px !important; }
.phideoshare-activity-timeline .activity-date-label {
    font-size: 10px !important; font-weight: 700 !important; color: var(--ps-muted) !important;
    text-transform: uppercase !important; letter-spacing: 1px !important;
    padding: 6px 0 !important; border-bottom: 1px solid var(--ps-faint) !important; margin-bottom: 8px !important;
}
.phideoshare-activity-timeline .activity-item {
    display: flex !important; align-items: center !important; gap: 10px !important;
    padding: 7px 8px !important; font-size: 13px !important; border-radius: var(--ps-r-xs) !important;
    transition: background var(--ps-ease) !important;
}
.phideoshare-activity-timeline .activity-item:hover { background: rgba(255,255,255,0.02) !important; }
.phideoshare-activity-timeline .activity-icon { font-size: 14px !important; flex-shrink: 0 !important; }
.phideoshare-activity-timeline .activity-time { color: var(--ps-muted) !important; font-size: 12px !important; flex-shrink: 0 !important; min-width: 40px !important; }
.phideoshare-activity-timeline .activity-description { flex: 1 !important; color: var(--ps-text) !important; }

/* ==============================================
   15. RIGHT COLUMN
   ============================================== */
.phideoshare-right-column { display: flex !important; flex-direction: column !important; gap: 24px !important; }

/* ==============================================
   16. NO UPLOADS
   ============================================== */
.phideoshare-no-uploads {
    text-align: center !important; padding: 48px 20px !important;
    color: var(--ps-muted) !important; background: var(--ps-input) !important;
    border-radius: var(--ps-r) !important; border: 1px dashed var(--ps-border) !important;
}
.phideoshare-hidden-link-input { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; }

/* ==============================================
   17. DOWNLOAD PAGE
   ============================================== */
.phideoshare-download-page {
    font-family: var(--ps-font) !important; max-width: 680px !important;
    margin: 0 auto !important; padding: 40px 20px !important;
    color: var(--ps-text) !important; min-height: 100vh !important;
    position: relative !important; background: transparent !important;
}
.phideoshare-download-header { text-align: center !important; margin-bottom: 32px !important; }
.phideoshare-download-logo img { max-height: 48px !important; margin-bottom: 10px !important; }
.phideoshare-download-tagline { display: block !important; font-size: 13px !important; color: var(--ps-muted) !important; }

body.phideoshare-dark .phideoshare-download-card,
.phideoshare-download-card {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
    padding: 32px !important;
}

.phideoshare-download-sender {
    display: flex !important; align-items: center !important; gap: 16px !important;
    margin-bottom: 24px !important; padding-bottom: 20px !important;
    border-bottom: 1px solid var(--ps-faint) !important;
}
.phideoshare-download-sender .sender-icon {
    width: 48px !important; height: 48px !important; background: var(--ps-red) !important;
    border-radius: 50% !important; display: flex !important; align-items: center !important;
    justify-content: center !important; color: #fff !important; flex-shrink: 0 !important;
}
.phideoshare-download-sender h1 { font-size: 18px !important; margin: 0 !important; color: var(--ps-white) !important; font-weight: 700 !important; }
.phideoshare-download-sender .upload-date { font-size: 13px !important; color: var(--ps-muted) !important; margin: 4px 0 0 !important; }
.phideoshare-download-subject { margin-bottom: 20px !important; font-size: 14px !important; color: var(--ps-text) !important; }
.phideoshare-download-subject strong { color: var(--ps-muted) !important; }

/* Message — hide SVG icons */
.phideoshare-download-message { margin-bottom: 24px !important; }
.phideoshare-download-message .message-label {
    display: block !important; font-size: 11px !important; font-weight: 700 !important;
    color: var(--ps-muted) !important; margin-bottom: 8px !important;
    text-transform: uppercase !important; letter-spacing: 0.8px !important;
}
.phideoshare-download-message .message-label svg { display: none !important; }
.phideoshare-download-message .message-content {
    background: var(--ps-input) !important; padding: 16px !important;
    border-radius: var(--ps-r-sm) !important; border-left: 3px solid var(--ps-red) !important;
    font-size: 14px !important; line-height: 1.6 !important; color: var(--ps-text) !important;
}

/* File list — hide SVG icons */
.phideoshare-download-filelist { margin-bottom: 24px !important; }
.phideoshare-download-filelist .filelist-header {
    display: block !important; font-size: 11px !important; font-weight: 700 !important;
    color: var(--ps-muted) !important; margin-bottom: 10px !important;
    text-transform: uppercase !important; letter-spacing: 0.8px !important;
}
.phideoshare-download-filelist .filelist-header svg { display: none !important; }
.phideoshare-download-filelist .filelist-items {
    list-style: none !important; margin: 0 !important; padding: 0 !important;
    background: var(--ps-input) !important; border-radius: var(--ps-r-sm) !important;
    overflow: hidden !important; border: 1px solid var(--ps-faint) !important;
}
.phideoshare-download-filelist .filelist-item {
    display: flex !important; align-items: center !important; gap: 10px !important;
    padding: 12px 16px !important; border-bottom: 1px solid rgba(255,255,255,0.03) !important;
    font-size: 13px !important; color: var(--ps-text) !important; transition: background var(--ps-ease) !important;
}
.phideoshare-download-filelist .filelist-item:last-child { border-bottom: none !important; }
.phideoshare-download-filelist .filelist-item:hover { background: #181d2e !important; }
.phideoshare-download-filelist .file-icon { font-size: 16px !important; }
.phideoshare-download-filelist .file-name { flex: 1 !important; word-break: break-word !important; }
.phideoshare-download-filelist .file-size { color: var(--ps-muted) !important; font-size: 12px !important; }

/* Status — hide SVG icons */
.phideoshare-download-status {
    margin-bottom: 24px !important; padding: 16px !important;
    background: var(--ps-input) !important; border-radius: var(--ps-r-sm) !important;
    border: 1px solid var(--ps-faint) !important;
}
.phideoshare-download-status .status-item {
    display: flex !important; align-items: center !important; gap: 8px !important;
    font-size: 14px !important; margin-bottom: 8px !important; color: var(--ps-text) !important;
}
.phideoshare-download-status .status-item:last-child { margin-bottom: 0 !important; }
.phideoshare-download-status .status-item svg { display: none !important; }
.phideoshare-download-status .status-item strong { color: var(--ps-white) !important; }
.phideoshare-download-status .days-left,
.phideoshare-download-status .remaining { color: var(--ps-muted) !important; font-size: 13px !important; }

/* Download button */
.phideoshare-download-action { text-align: center !important; margin-bottom: 24px !important; }
.phideoshare-download-action .phideoshare-download-button {
    display: inline-flex !important; align-items: center !important; gap: 10px !important;
    padding: 18px 48px !important; font-size: 16px !important; border-radius: 50px !important;
}
.phideoshare-download-action .phideoshare-download-button svg { display: none !important; }

/* Previews — hide SVG icons */
.phideoshare-download-previews { border-top: 1px solid var(--ps-faint) !important; padding-top: 20px !important; }
.phideoshare-download-previews .previews-label {
    display: block !important; font-size: 11px !important; font-weight: 700 !important;
    color: var(--ps-muted) !important; margin-bottom: 12px !important;
    text-transform: uppercase !important; letter-spacing: 0.8px !important;
}
.phideoshare-download-previews .previews-label svg { display: none !important; }
.phideoshare-download-previews .previews-grid { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 10px !important; }
.phideoshare-download-previews .preview-item {
    aspect-ratio: 1 !important; border-radius: var(--ps-r-sm) !important;
    overflow: hidden !important; border: 1px solid var(--ps-faint) !important;
    transition: transform var(--ps-ease), border-color var(--ps-ease) !important;
}
.phideoshare-download-previews .preview-item:hover { transform: scale(1.04) !important; border-color: var(--ps-red) !important; }
.phideoshare-download-previews .preview-item img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* Footers */
.phideoshare-download-footer { text-align: center !important; margin-top: 32px !important; font-size: 12px !important; color: rgba(255,255,255,0.25) !important; }
.phideoshare-footer { text-align: center !important; margin-top: 32px !important; padding-top: 20px !important; border-top: 1px solid var(--ps-faint) !important; font-size: 12px !important; color: rgba(255,255,255,0.25) !important; }

/* ==============================================
   18. FTP / SERVER UPLOAD
   ============================================== */
#phideoshare-ftp-selector { margin-top: 16px !important; padding-top: 16px !important; border-top: 1px dashed var(--ps-border) !important; }
#phideoshare-show-ftp-files { color: var(--ps-red) !important; font-size: 13px !important; text-decoration: none !important; }
.phideoshare-ftp-help { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 16px !important; height: 16px !important; background: var(--ps-red) !important; color: #fff !important; border-radius: 50% !important; font-size: 11px !important; font-weight: bold !important; cursor: help !important; margin-left: 5px !important; }
.phideoshare-ftp-description { background: var(--ps-input) !important; padding: 10px 12px !important; border-radius: var(--ps-r-xs) !important; border-left: 3px solid var(--ps-red) !important; color: var(--ps-muted) !important; }
#phideoshare-ftp-filelist { margin-top: 10px !important; }
#phideoshare-ftp-filelist p { margin-bottom: 10px !important; font-weight: 600 !important; color: var(--ps-text) !important; }
ul.phideoshare-ftp-files { list-style: none !important; padding: 0 !important; margin: 0 !important; }
ul.phideoshare-ftp-files li { padding: 10px 14px !important; background: var(--ps-input) !important; margin-bottom: 5px !important; border-radius: var(--ps-r-xs) !important; border: 1px solid var(--ps-faint) !important; transition: all var(--ps-ease) !important; }
ul.phideoshare-ftp-files li:hover { background: #251518 !important; border-color: rgba(232,88,93,0.25) !important; }
ul.phideoshare-ftp-files li label { display: flex !important; align-items: center !important; cursor: pointer !important; font-size: 13px !important; color: var(--ps-text) !important; }
ul.phideoshare-ftp-files li input[type="radio"] { margin-right: 10px !important; accent-color: var(--ps-red) !important; }

/* ==============================================
   19. NOTICES
   ============================================== */
.phideoshare-notice { padding: 18px 22px !important; border-radius: var(--ps-r) !important; margin-bottom: 20px !important; border: 1px solid var(--ps-faint) !important; }
.phideoshare-notice.error, .phideoshare-notice.notice-warning { background: #1e1014 !important; border-color: rgba(239,68,68,0.2) !important; color: #fecaca !important; }
.phideoshare-notice.notice-info { background: var(--ps-card) !important; border-color: rgba(232,88,93,0.15) !important; color: var(--ps-text) !important; }

/* ==============================================
   20. MY UPLOADS (standalone template)
   ============================================== */
.phideoshare-uploads-list { display: flex !important; flex-direction: column !important; gap: 14px !important; }

body.phideoshare-dark .phideoshare-upload-item,
.phideoshare-upload-item {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
    transition: border-color var(--ps-ease) !important;
}
body.phideoshare-dark .phideoshare-upload-item:hover,
.phideoshare-upload-item:hover { border-color: rgba(255,255,255,0.12) !important; }
.phideoshare-upload-item.expired { opacity: 0.35 !important; }

.phideoshare-upload-item .upload-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 14px !important; }
.phideoshare-upload-item .upload-header h3 { margin: 0 !important; font-size: 16px !important; font-weight: 700 !important; color: var(--ps-white) !important; }
.phideoshare-upload-item .upload-date { font-size: 13px !important; color: var(--ps-muted) !important; }
.phideoshare-upload-item .expired-badge { display: inline-block !important; background: #ef4444 !important; color: #fff !important; font-size: 10px !important; padding: 2px 8px !important; border-radius: 50px !important; margin-left: 8px !important; text-transform: uppercase !important; font-weight: 700 !important; }

.phideoshare-upload-item .upload-details { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 20px !important; }
.phideoshare-upload-item .upload-info p { margin: 4px 0 !important; font-size: 13px !important; color: var(--ps-muted) !important; }
.phideoshare-upload-item .upload-info strong { color: var(--ps-text) !important; }
.phideoshare-upload-item .upload-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; justify-content: flex-end !important; }

.phideoshare-upload-item .upload-message {
    margin-top: 14px !important; padding: 12px 16px !important;
    border-top: none !important;
    background: var(--ps-input) !important;
    border-radius: var(--ps-r-xs) !important;
    border-left: 3px solid var(--ps-red) !important;
    font-size: 13px !important; color: var(--ps-muted) !important;
}
.phideoshare-upload-item .upload-message p { margin: 4px 0 0 !important; color: var(--ps-text) !important; }

/* Pagination */
.phideoshare-pagination { display: flex !important; justify-content: center !important; align-items: center !important; gap: 16px !important; margin-top: 24px !important; padding-top: 20px !important; border-top: 1px solid var(--ps-faint) !important; }
.phideoshare-pagination-btn { padding: 10px 20px !important; border-radius: 50px !important; background: #1a1f30 !important; border: 1px solid var(--ps-border) !important; color: var(--ps-red) !important; text-decoration: none !important; font-size: 13px !important; font-weight: 600 !important; transition: all var(--ps-ease) !important; }
.phideoshare-pagination-btn:hover { border-color: var(--ps-red) !important; background: #251518 !important; }
.phideoshare-pagination-info { font-size: 13px !important; color: var(--ps-muted) !important; }

/* ==============================================
   21. QUICK ACTIONS
   ============================================== */
.phideoshare-quick-actions { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)) !important; gap: 12px !important; margin-bottom: 24px !important; }
body.phideoshare-dark .phideoshare-quick-action,
.phideoshare-quick-action {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r-sm) !important;
    padding: 16px !important; text-align: center !important;
    text-decoration: none !important; color: var(--ps-text) !important;
    transition: all var(--ps-ease) !important; font-weight: 600 !important; font-size: 13px !important;
}
body.phideoshare-dark .phideoshare-quick-action:hover,
.phideoshare-quick-action:hover {
    border-color: rgba(232,88,93,0.35) !important;
    background: #251518 !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* ==============================================
   22. USER PROFILE [phideoshare_user_profile]
   ============================================== */
.phideoshare-user-profile { font-family: var(--ps-font) !important; color: var(--ps-text) !important; max-width: 900px !important; margin: 0 auto !important; padding: 0 !important; }

body.phideoshare-dark .phideoshare-user-profile .profile-header,
.phideoshare-user-profile .profile-header {
    display: flex !important; align-items: center !important; gap: 20px !important;
    padding: 24px !important;
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    margin-bottom: 16px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}

.phideoshare-user-profile .profile-avatar { flex-shrink: 0 !important; }
.phideoshare-user-profile .profile-avatar img,
.phideoshare-user-profile .profile-avatar .avatar,
.phideoshare-user-profile .profile-avatar .custom-profile-image {
    width: 64px !important; height: 64px !important; border-radius: 50% !important;
    object-fit: cover !important; border: 2px solid rgba(232,88,93,0.3) !important;
}
.phideoshare-user-profile .profile-avatar .avatar-placeholder {
    width: 64px !important; height: 64px !important; border-radius: 50% !important;
    background: rgba(232,88,93,0.12) !important; border: 2px solid rgba(232,88,93,0.25) !important;
    display: flex !important; align-items: center !important; justify-content: center !important; font-size: 26px !important;
}
.phideoshare-user-profile .profile-info h3 { margin: 0 0 2px !important; font-size: 18px !important; font-weight: 700 !important; color: var(--ps-white) !important; }
.phideoshare-user-profile .profile-info .profile-email { margin: 0 !important; font-size: 13px !important; color: var(--ps-muted) !important; }

/* Stat Boxes */
.phideoshare-user-profile .profile-stats { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 14px !important; margin-bottom: 16px !important; }

body.phideoshare-dark .phideoshare-user-profile .stat-box,
.phideoshare-user-profile .stat-box {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    padding: 22px !important;
    display: flex !important; align-items: flex-start !important; gap: 14px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
    transition: border-color var(--ps-ease) !important;
}
body.phideoshare-dark .phideoshare-user-profile .stat-box:hover,
.phideoshare-user-profile .stat-box:hover { border-color: rgba(232,88,93,0.25) !important; }

.phideoshare-user-profile .stat-box .stat-icon { font-size: 26px !important; flex-shrink: 0 !important; line-height: 1 !important; }
.phideoshare-user-profile .stat-box .stat-content { flex: 1 !important; min-width: 0 !important; }
.phideoshare-user-profile .stat-box .stat-content h4 { margin: 0 0 2px !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: var(--ps-muted) !important; }
.phideoshare-user-profile .stat-box .stat-value { font-size: 26px !important; font-weight: 800 !important; color: var(--ps-white) !important; line-height: 1.1 !important; margin-bottom: 3px !important; }
.phideoshare-user-profile .stat-box .stat-description { font-size: 12px !important; color: var(--ps-muted) !important; line-height: 1.4 !important; }

/* Accent borders on stat boxes */
.phideoshare-user-profile .credits-box { border-left: 3px solid var(--ps-red) !important; }
.phideoshare-user-profile .membership-box { border-left: 3px solid rgba(255,255,255,0.15) !important; }
.phideoshare-user-profile .membership-box.premium,
.phideoshare-user-profile .membership-box.premium-yearly,
.phideoshare-user-profile .membership-box.admin { border-left-color: var(--ps-red) !important; }
.phideoshare-user-profile .uploads-box { border-left: 3px solid rgba(255,255,255,0.10) !important; }

/* Upgrade Section */
.phideoshare-user-profile .profile-actions { margin-top: 0 !important; }
body.phideoshare-dark .phideoshare-user-profile .upgrade-options,
.phideoshare-user-profile .upgrade-options {
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    padding: 22px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}
.phideoshare-user-profile .upgrade-options h4 { margin: 0 0 6px !important; font-size: 15px !important; font-weight: 700 !important; color: var(--ps-white) !important; }
.phideoshare-user-profile .upgrade-options > p { margin: 0 0 18px !important; font-size: 13px !important; color: var(--ps-muted) !important; }
.phideoshare-user-profile .action-buttons { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }
.phideoshare-user-profile .action-buttons .phideoshare-button { display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.phideoshare-user-profile .action-buttons .phideoshare-button.primary { background: var(--ps-red) !important; color: #fff !important; }
.phideoshare-user-profile .action-buttons .phideoshare-button.premium { background: transparent !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--ps-text) !important; }
.phideoshare-user-profile .action-buttons .phideoshare-button.premium:hover { border-color: var(--ps-red) !important; color: #fff !important; background: rgba(232,88,93,0.08) !important; }

.phideoshare-user-profile .low-credits-warning {
    margin-top: 14px !important; padding: 12px 16px !important;
    background: #1e1014 !important; border: 1px solid rgba(232,88,93,0.2) !important;
    border-radius: var(--ps-r-xs) !important; font-size: 13px !important;
}
.phideoshare-user-profile .low-credits-warning p { margin: 0 !important; color: var(--ps-text) !important; }

/* ==============================================
   23. LOGIN FORM
   ============================================== */
body.phideoshare-dark .phideoshare-login-form,
.phideoshare-login-form {
    max-width: 420px !important; margin: 60px auto !important; padding: 36px !important;
    background: var(--ps-card) !important;
    border: 1px solid var(--ps-border) !important;
    border-radius: var(--ps-r) !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.5) !important;
}
.phideoshare-login-form h2 { color: var(--ps-white) !important; text-align: center !important; margin-bottom: 24px !important; font-size: 20px !important; font-weight: 700 !important; }

.phideoshare-login-form #loginform { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.phideoshare-login-form #loginform p,
.phideoshare-login-form #loginform label { color: var(--ps-muted) !important; font-size: 13px !important; font-weight: 600 !important; display: block !important; margin-bottom: 14px !important; }
.phideoshare-login-form #loginform .login-username label,
.phideoshare-login-form #loginform .login-password label { margin-bottom: 5px !important; }
.phideoshare-login-form #loginform input[type="text"],
.phideoshare-login-form #loginform input[type="password"] {
    width: 100% !important; padding: 13px 16px !important;
    border: 1px solid var(--ps-border) !important; border-radius: var(--ps-r-xs) !important;
    background: var(--ps-input) !important; color: var(--ps-text) !important;
    font-size: 15px !important; outline: none !important;
    transition: border-color var(--ps-ease), box-shadow var(--ps-ease) !important;
    box-sizing: border-box !important; margin-top: 5px !important;
}
.phideoshare-login-form #loginform input[type="text"]:focus,
.phideoshare-login-form #loginform input[type="password"]:focus { border-color: var(--ps-red) !important; box-shadow: 0 0 0 3px rgba(232,88,93,0.15) !important; }
.phideoshare-login-form #loginform .login-remember { margin: 4px 0 16px !important; }
.phideoshare-login-form #loginform .login-remember label { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 13px !important; color: var(--ps-muted) !important; cursor: pointer !important; }
.phideoshare-login-form #loginform .login-remember input[type="checkbox"] { accent-color: var(--ps-red) !important; }
.phideoshare-login-form #loginform .login-submit { margin-top: 8px !important; }
.phideoshare-login-form #loginform #wp-submit,
.phideoshare-login-form #loginform input[type="submit"] {
    width: 100% !important; padding: 15px 32px !important; border-radius: 50px !important;
    border: none !important; background: var(--ps-red) !important; color: #fff !important;
    cursor: pointer !important; font-weight: 700 !important; font-size: 15px !important;
    box-shadow: 0 4px 14px rgba(232,88,93,0.25) !important; transition: all var(--ps-ease) !important;
}
.phideoshare-login-form #loginform #wp-submit:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 24px rgba(232,88,93,0.35) !important; background: var(--ps-red-hover) !important; }

/* ==============================================
   24. GLOBAL TEXT OVERRIDES
   ============================================== */
body.phideoshare-dark h1, body.phideoshare-dark h2,
body.phideoshare-dark h3, body.phideoshare-dark h4,
body.phideoshare-dark h5, body.phideoshare-dark h6 { color: var(--ps-white) !important; }

body.phideoshare-dark p, body.phideoshare-dark span,
body.phideoshare-dark li, body.phideoshare-dark td,
body.phideoshare-dark th, body.phideoshare-dark label,
body.phideoshare-dark div { color: var(--ps-text) !important; }

body.phideoshare-dark a { color: var(--ps-red) !important; }
body.phideoshare-dark a:hover { color: var(--ps-red-hover) !important; }

/* ==============================================
   25. RESPONSIVE
   ============================================== */
@media (max-width: 900px) {
    .phideoshare-main-content { grid-template-columns: 1fr !important; }
    .phideoshare-stats-grid { grid-template-columns: repeat(2,1fr) !important; }
    .phideoshare-download-previews .previews-grid { grid-template-columns: repeat(2,1fr) !important; }
    .phideoshare-upload-item .upload-details { flex-direction: column !important; }
    .phideoshare-upload-item .upload-actions { justify-content: flex-start !important; }
    .phideoshare-user-profile .profile-stats { grid-template-columns: 1fr !important; }
    .phideoshare-user-profile .action-buttons { flex-direction: column !important; }
    .phideoshare-user-profile .action-buttons .phideoshare-button { width: 100% !important; justify-content: center !important; }
}

@media (max-width: 600px) {
    .phideoshare-container { padding: 16px !important; }
    .phideoshare-stats-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .phideoshare-stat-card { padding: 16px 12px !important; }
    .phideoshare-stat-card .stat-value { font-size: 24px !important; }

    .phideoshare-uploads-table thead { display: none !important; }
    .phideoshare-uploads-table tr {
        display: block !important; padding: 16px !important; margin-bottom: 10px !important;
        border: 1px solid var(--ps-border) !important; border-radius: var(--ps-r) !important;
        background: var(--ps-card) !important;
    }
    .phideoshare-uploads-table td { display: flex !important; justify-content: space-between !important; padding: 8px 0 !important; border: none !important; }
    .phideoshare-uploads-table td::before { content: attr(data-label) !important; font-weight: 700 !important; color: var(--ps-muted) !important; font-size: 10px !important; text-transform: uppercase !important; }
    .phideoshare-uploads-table td.phideoshare-actions { justify-content: flex-start !important; }
    .phideoshare-download-page { padding: 20px 12px !important; }
    .phideoshare-card { padding: 20px !important; }
    .phideoshare-header { flex-direction: column !important; gap: 12px !important; text-align: center !important; }
    .phideoshare-user-profile .profile-header { flex-direction: column !important; text-align: center !important; }
}
