/* placd dark mode overrides - scoped to screenshot-visible custom components */

:root {
    --placd-dark-surface-rgb: 43, 49, 72;
    --placd-dark-border-rgb: 74, 84, 120;
    --placd-dark-text: #d7dcf5;
    --placd-dark-muted: #a7afd2;

    --placd-dark-purple-ultralight-bg-rgb: 119, 49, 255;
    --placd-dark-purple-ultralight-text: #dac8ff;

    --placd-dark-attachment-bg-rgb: 198, 255, 174;
    --placd-dark-attachment-text: #d0f3c5;
    --placd-dark-attachment-text-hover: #e0f9d8;

    --placd-dark-questions-title: #f0eaff;
    --placd-dark-questions-count-bg-rgb: 20, 18, 38;
    --placd-dark-questions-count-text: #e6dcff;

    --placd-dark-purple-gradient-start-rgb: 119, 49, 255;
    --placd-dark-purple-gradient-end-rgb: 119, 49, 255;
    --placd-dark-purple-border-rgb: 172, 139, 255;

    --placd-dark-tab-active-gradient-start: #8f66ff;
    --placd-dark-tab-active-gradient-end: #7447f8;
    --placd-dark-tab-link-text: #b7abd8;
    --placd-dark-tab-link-text-hover: #e3d8ff;
    --placd-dark-tab-link-text-disabled: #7f75a2;

    --placd-dark-todo-step-text: #a79ace;
    --placd-dark-todo-title-text: #ece8ff;
    --placd-dark-todo-icons-text: #b4a9d5;
    --placd-dark-todo-done-text: #b29bff;
    --placd-dark-todo-hover-border: #7a68b0;
    --placd-dark-todo-completed-border: #8f6eff;
    --placd-dark-todo-disabled-bg: #4a4362;

    --placd-dark-upload-icon: #ba9dff;
    --placd-dark-open-question-count-text: #decfff;
    --placd-dark-open-question-count-active-text: #fff;

    --placd-dark-map-overlay-rgb: 8, 10, 20;
}

/* Global alerts */
html[data-style="dark"] .alert.alert-primary {
    --placd-alert-bg: linear-gradient(120deg, rgba(119, 49, 255, 0.22) 0%, rgba(119, 49, 255, 0.14) 100%);
    --placd-alert-border: rgba(172, 139, 255, 0.52);
    --placd-alert-color: #decfff;
    --placd-alert-icon-bg: rgba(18, 14, 36, 0.86);
    --placd-alert-icon-color: #d4c0ff;
}

html[data-style="dark"] .alert.alert-secondary {
    --placd-alert-bg: linear-gradient(120deg, rgba(128, 131, 144, 0.22) 0%, rgba(128, 131, 144, 0.16) 100%);
    --placd-alert-border: rgba(146, 154, 182, 0.5);
    --placd-alert-color: #d4daf4;
    --placd-alert-icon-bg: rgba(33, 37, 55, 0.86);
    --placd-alert-icon-color: #d4daf4;
}

html[data-style="dark"] .alert.alert-success {
    --placd-alert-bg: linear-gradient(120deg, rgba(40, 199, 111, 0.2) 0%, rgba(40, 199, 111, 0.12) 100%);
    --placd-alert-border: rgba(106, 214, 154, 0.45);
    --placd-alert-color: #d2f6e2;
    --placd-alert-icon-bg: rgba(24, 88, 56, 0.9);
    --placd-alert-icon-color: #d2f6e2;
}

html[data-style="dark"] .alert.alert-info {
    --placd-alert-bg: linear-gradient(120deg, rgba(43, 93, 179, 0.22) 0%, rgba(43, 93, 179, 0.13) 100%);
    --placd-alert-border: rgba(120, 163, 235, 0.48);
    --placd-alert-color: #d6e7ff;
    --placd-alert-icon-bg: rgba(20, 45, 88, 0.9);
    --placd-alert-icon-color: #d6e7ff;
}

html[data-style="dark"] .alert.alert-warning,
html[data-style="dark"] .alert.alert-solid-warning {
    --placd-alert-bg: linear-gradient(120deg, rgba(255, 159, 67, 0.24) 0%, rgba(255, 159, 67, 0.14) 100%);
    --placd-alert-border: rgba(255, 198, 123, 0.52);
    --placd-alert-color: #ffe9ca;
    --placd-alert-icon-bg: rgba(114, 74, 12, 0.9);
    --placd-alert-icon-color: #ffe9ca;
}

html[data-style="dark"] .alert.alert-danger {
    --placd-alert-bg: linear-gradient(120deg, rgba(255, 76, 81, 0.24) 0%, rgba(255, 76, 81, 0.14) 100%);
    --placd-alert-border: rgba(255, 140, 146, 0.5);
    --placd-alert-color: #ffd9dc;
    --placd-alert-icon-bg: rgba(122, 30, 44, 0.9);
    --placd-alert-icon-color: #ffd9dc;
}

html[data-style="dark"] .alert.alert-light {
    --placd-alert-bg: linear-gradient(120deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.04) 100%);
    --placd-alert-border: rgba(139, 151, 186, 0.42);
    --placd-alert-color: #d7dcf5;
    --placd-alert-icon-bg: rgba(255, 255, 255, 0.12);
    --placd-alert-icon-color: #d7dcf5;
}

html[data-style="dark"] .alert.alert-dark {
    --placd-alert-bg: linear-gradient(120deg, rgba(23, 26, 39, 0.94) 0%, rgba(16, 19, 31, 0.94) 100%);
    --placd-alert-border: rgba(89, 99, 128, 0.52);
    --placd-alert-color: #e6ebff;
    --placd-alert-icon-bg: rgba(255, 255, 255, 0.1);
    --placd-alert-icon-color: #e6ebff;
}

/* Dashboard */
html[data-style="dark"] .placd-dashboard-proposals-meta .text-dark {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .bg-placd-purple-ultralight {
    background-color: rgba(var(--placd-dark-purple-ultralight-bg-rgb), 0.25) !important;
    color: var(--placd-dark-purple-ultralight-text) !important;
}

html[data-style="dark"] .placd-proposal-hero,
html[data-style="dark"] .placd-proposal-content-card,
html[data-style="dark"] .placd-proposal-side-card {
    background: rgba(var(--placd-dark-surface-rgb), 1) !important;
    border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
}

html[data-style="dark"] .placd-proposal-hero .company-logo {
    border-color: rgba(var(--placd-dark-border-rgb), 0.85) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

html[data-style="dark"] .placd-proposal-hero h4,
html[data-style="dark"] .placd-proposal-side-title,
html[data-style="dark"] .placd-proposal-score-link {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .placd-proposal-meta,
html[data-style="dark"] .placd-proposal-remaining {
    color: var(--placd-dark-muted) !important;
}

html[data-style="dark"] .placd-proposal-meta a {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .placd-proposal-mobile-footer {
    background: rgba(var(--placd-dark-surface-rgb), 1) !important;
    border-top-color: rgba(var(--placd-dark-border-rgb), 1) !important;
}

html[data-style="dark"] .placd-proposal-response-btn:hover,
html[data-style="dark"] .placd-proposal-response-btn:focus-visible,
html[data-style="dark"] .placd-proposal-swipe-response-btn:hover,
html[data-style="dark"] .placd-proposal-swipe-response-btn:focus-visible {
    box-shadow: 0 0 0 0.18rem rgba(var(--placd-dark-purple-border-rgb), 0.28), 0 14px 28px rgba(4, 6, 14, 0.45) !important;
    filter: brightness(1.06) saturate(1.05);
}

/* Profile */
html[data-style="dark"] .attachment-tile {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.18) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.4) !important;
    color: #d9ceff !important;
}

html[data-style="dark"] .attachment-tile:hover {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.26) !important;
    color: #efe8ff !important;
}

html[data-style="dark"] .attachment-tile i {
    color: #cbb7ff !important;
}

html[data-style="dark"] .btn-icon.text-dark,
html[data-style="dark"] .text-dark {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .placd-profile-empty-title {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .placd-profile-empty-subtitle {
    color: var(--placd-dark-muted) !important;
}

html[data-style="dark"] .placd-profile-dropzone,
html[data-style="dark"] .placd-profile-dropzone.bg-white {
    background: linear-gradient(120deg, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.2) 0%, rgba(var(--placd-dark-purple-gradient-end-rgb), 0.12) 100%) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.42) !important;
}

/* Preparation + User detail: open questions block */
html[data-style="dark"] .placd-open-questions-intro {
    background: linear-gradient(120deg, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.2) 0%, rgba(var(--placd-dark-purple-gradient-end-rgb), 0.12) 100%) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.4) !important;
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .placd-open-questions-intro-title {
    color: var(--placd-dark-questions-title) !important;
}

html[data-style="dark"] .placd-open-questions-intro .alert-icon {
    background: linear-gradient(120deg, var(--placd-dark-tab-active-gradient-start) 0%, var(--placd-dark-tab-active-gradient-end) 100%) !important;
}

html[data-style="dark"] .placd-open-questions-intro-count {
    background-color: rgba(var(--placd-dark-questions-count-bg-rgb), 0.65) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.4) !important;
    color: var(--placd-dark-questions-count-text) !important;
}

html[data-style="dark"] .placd-application-todo-item {
    border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
    background: rgba(var(--placd-dark-surface-rgb), 1) !important;
}

html[data-style="dark"] .placd-application-todo-item:hover {
    border-color: var(--placd-dark-todo-hover-border) !important;
}

html[data-style="dark"] .placd-application-todo-item.completed {
    border-color: var(--placd-dark-todo-completed-border) !important;
    box-shadow: 0 10px 28px rgba(var(--placd-dark-purple-gradient-start-rgb), 0.3) !important;
}

html[data-style="dark"] .placd-todo-header {
    background: rgba(var(--placd-dark-surface-rgb), 1) !important;
}

html[data-style="dark"] .placd-todo-step {
    color: var(--placd-dark-todo-step-text) !important;
}

html[data-style="dark"] .placd-todo-title {
    color: var(--placd-dark-todo-title-text) !important;
}

html[data-style="dark"] .placd-todo-header-icons {
    color: var(--placd-dark-todo-icons-text) !important;
}

html[data-style="dark"] .placd-todo-status-done {
    color: var(--placd-dark-todo-done-text) !important;
}

html[data-style="dark"] .placd-todo-body {
    background: linear-gradient(180deg, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.14) 0%, rgba(var(--placd-dark-purple-gradient-end-rgb), 0.06) 100%) !important;
    border-top-color: rgba(var(--placd-dark-purple-border-rgb), 0.25) !important;
}

html[data-style="dark"] .placd-application-todo-item-btn.btn-primary,
html[data-style="dark"] .placd-application-todo-item-btn.btn-label-primary,
html[data-style="dark"] .placd-suggested-response-btn.btn-label-primary {
    border-color: var(--placd-dark-tab-active-gradient-start) !important;
    box-shadow: 0 8px 22px rgba(var(--placd-dark-purple-gradient-start-rgb), 0.3) !important;
}

html[data-style="dark"] .placd-application-todo-item-btn.btn-primary:disabled,
html[data-style="dark"] .placd-application-todo-item-btn.btn-label-primary:disabled {
    background: var(--placd-dark-todo-disabled-bg) !important;
    border-color: var(--placd-dark-todo-disabled-bg) !important;
}

html[data-style="dark"] .placd-file-dropzone,
html[data-style="dark"] .placd-file-dropzone.bg-white {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
    color: var(--placd-dark-muted) !important;
}

html[data-style="dark"] .placd-file-dropzone .dz-message h4,
html[data-style="dark"] .placd-file-dropzone .dz-message .note {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .placd-file-dropzone .dz-message .ti-upload {
    color: var(--placd-dark-upload-icon) !important;
}

/* Preparation tabs */
html[data-style="dark"] #placd-application-prep-tabs .placd-prep-tabs {
    background: linear-gradient(100deg, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.15) 0%, rgba(var(--placd-dark-purple-gradient-end-rgb), 0.08) 100%) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.35) !important;
}

html[data-style="dark"] #placd-application-prep-tabs .placd-prep-tab-link {
    color: var(--placd-dark-tab-link-text) !important;
}

html[data-style="dark"] #placd-application-prep-tabs .placd-prep-tab-link:hover,
html[data-style="dark"] #placd-application-prep-tabs .placd-prep-tab-link:focus {
    color: var(--placd-dark-tab-link-text-hover) !important;
    background-color: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.18) !important;
}

html[data-style="dark"] #placd-application-prep-tabs .placd-prep-tab-link.active {
    background: linear-gradient(120deg, var(--placd-dark-tab-active-gradient-start) 0%, var(--placd-dark-tab-active-gradient-end) 100%) !important;
    box-shadow: 0 10px 24px rgba(var(--placd-dark-purple-gradient-start-rgb), 0.35) !important;
}

html[data-style="dark"] #placd-application-prep-tabs .placd-prep-tab-link:disabled {
    color: var(--placd-dark-tab-link-text-disabled) !important;
}

html[data-style="dark"] .placd-open-question-count {
    background-color: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.28) !important;
    color: var(--placd-dark-open-question-count-text) !important;
}

html[data-style="dark"] .placd-prep-tab-link.active .placd-open-question-count {
    background-color: rgba(255, 255, 255, 0.24) !important;
    color: var(--placd-dark-open-question-count-active-text) !important;
}

/* Application detail map brightness */
html[data-style="dark"] .placd-application-map {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(var(--placd-dark-border-rgb), 1);
}

html[data-style="dark"] .placd-application-map::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--placd-dark-map-overlay-rgb), 0.3);
    pointer-events: none;
}

/* Job apply register modal */
html[data-style="dark"] #placd-jobs-apply-register .placd-apply-register-modal {
    background: rgba(var(--placd-dark-surface-rgb), 1) !important;
    border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
}

html[data-style="dark"] #placd-jobs-apply-register .placd-apply-register-highlight {
    background: linear-gradient(120deg, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.2) 0%, rgba(var(--placd-dark-purple-gradient-end-rgb), 0.12) 100%) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.4) !important;
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] #placd-jobs-apply-register .placd-apply-register-highlight-icon {
    background: rgba(18, 14, 36, 0.86) !important;
    color: #d4c0ff !important;
}

html[data-style="dark"] #placd-jobs-apply-register .text-muted {
    color: var(--placd-dark-muted) !important;
}

html[data-style="dark"] #placd-jobs-apply-register .text-placd-ultradark-green {
    color: var(--placd-dark-text) !important;
}

/* Proposal extended feedback modal */
html[data-style="dark"] #placd-proposal-extended-feedback-modal .placd-proposal-feedback-option {
    background: rgba(var(--placd-dark-surface-rgb), 0.9) !important;
    border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
}

html[data-style="dark"] #placd-proposal-extended-feedback-modal .placd-proposal-feedback-option:hover {
    box-shadow: 0 10px 24px rgba(12, 8, 28, 0.45) !important;
}

html[data-style="dark"] #placd-proposal-extended-feedback-modal .placd-proposal-feedback-option-icon {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.25) !important;
    color: #d8c4ff !important;
}

html[data-style="dark"] #placd-proposal-extended-feedback-modal .placd-proposal-feedback-option-text {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] #placd-proposal-extended-feedback-modal .placd-proposal-feedback-option-check {
    color: #d8c4ff !important;
}

html[data-style="dark"] #placd-proposal-extended-feedback-modal .btn-check:checked + .placd-proposal-feedback-option {
    background: linear-gradient(120deg, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.33) 0%, rgba(var(--placd-dark-purple-gradient-end-rgb), 0.2) 100%) !important;
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.7) !important;
    box-shadow: 0 14px 28px rgba(10, 7, 22, 0.55) !important;
}

/* User sidebar */
html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-inner .menu-link {
    color: var(--placd-dark-text) !important;
}

html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-inner .menu-link .menu-icon {
    color: var(--placd-dark-muted) !important;
}

html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-inner .menu-link:hover,
html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-inner .menu-link:focus {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.2) !important;
    color: #ece3ff !important;
}

html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-inner .menu-link:hover .menu-icon,
html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-inner .menu-link:focus .menu-icon {
    color: #dbc8ff !important;
}

html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-item.active > .menu-link:not(.menu-toggle) {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.28) !important;
    color: #f0e8ff !important;
}

html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-item.active > .menu-link .menu-icon {
    color: #e3d4ff !important;
}

html[data-style="dark"] .user-backend #layout-menu.placd-user-sidebar .menu-item.active > .menu-link .placd-menu-counter {
    background-color: #9b79ff !important;
    color: #fff !important;
}

@media (min-width: 768px) {
    html[data-style="dark"] .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .user-backend .placd-menu-counter {
        border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
    }
}

/* Profile v2 */
html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-summary {
    background: radial-gradient(circle at top right, rgba(var(--placd-dark-purple-gradient-start-rgb), 0.3), rgba(0, 0, 0, 0) 48%), rgba(var(--placd-dark-surface-rgb), 0.92);
    border-color: rgba(var(--placd-dark-border-rgb), 1);
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-widget {
    background: linear-gradient(180deg, rgba(var(--placd-dark-surface-rgb), 0.95) 0%, rgba(var(--placd-dark-surface-rgb), 0.88) 100%);
    border-color: rgba(var(--placd-dark-purple-border-rgb), 0.72);
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-score {
    color: #eee4ff;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-label,
html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-progress-meta {
    color: #bcabd9;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-pill-low {
    background: rgba(255, 95, 120, 0.25);
    color: #ffc0ca;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-pill-average {
    background: rgba(255, 171, 0, 0.24);
    color: #ffd781;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-pill-high {
    background: rgba(40, 199, 111, 0.24);
    color: #98f2bf;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-quality-progress-track {
    background-color: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.3);
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-improvement .card-header {
    border-bottom-color: rgba(var(--placd-dark-border-rgb), 0.9);
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-improvement-icon {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.2);
    color: #d9c7ff;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-meta-item {
    background: rgba(var(--placd-dark-surface-rgb), 0.95);
    border-color: rgba(var(--placd-dark-border-rgb), 1);
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-meta-label {
    color: #bdaedb;
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-about {
    border-top-color: rgba(var(--placd-dark-border-rgb), 0.9);
}

html[data-style="dark"] .placd-profile-v2 .placd-profile-v2-details summary {
    color: #d4c0ff;
}

html[data-style="dark"] .placd-profile-powerups-list .list-group-item {
    border-top-color: rgba(var(--placd-dark-border-rgb), 0.9);
}

html[data-style="dark"] .placd-profile-powerups-list .list-group-item:hover {
    background: rgba(var(--placd-dark-purple-gradient-start-rgb), 0.15);
}

html[data-style="dark"] .placd-noga-selector {
    background: rgba(var(--placd-dark-surface-rgb), 0.75);
    border-color: rgba(var(--placd-dark-border-rgb), 1) !important;
}

html[data-style="dark"] .placd-noga-selector .list-group-item {
    background: rgba(var(--placd-dark-surface-rgb), 0.95);
    border-color: rgba(var(--placd-dark-border-rgb), 0.8);
    color: var(--placd-dark-text);
}
