/* ==========================================================================
   Tema scuro — Campagne
   Pagine: partner_campaign_list.php (elenco, tab, card, menu azioni, stato
   vuoto), partner_campaign_list_desc.php (dettaglio), collaboration_management.php
   (agenda/storico legacy). Markup in partner_collabrations/{campaign_list,
   partner_campaign_list_desc,collaboration_management_list}.php; stili chiari
   .pg-* .camp-* in css/custom.css.
   Le regole .pg-* e .camp-* non sono limitate a una pagina: valgono anche per
   richieste/calendario/recensioni (50-requests le usa come ripiego con :where)
   e per la dashboard (20-dashboard le ridefinisce dentro .dash-campaign-grid,
   con gli stessi valori).
   ========================================================================== */

/* ==========================================================================
   Layout .pg: intestazione, bottoni, tab a pillola, ricerca, avvisi, vuoto
   ========================================================================== */
html[data-theme="dark"] .pg-head h1 {
    color: var(--cu-text);
}

html[data-theme="dark"] .pg-head p {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .pg-head-icon {
    box-shadow: 0 8px 20px -6px rgba(39, 163, 140, .5);
}

html[data-theme="dark"] .pg-back {
    color: var(--cu-primary-hi) !important;
}

html[data-theme="dark"] .pg-back:hover {
    color: var(--cu-text) !important;
}

/* Bottoni */
html[data-theme="dark"] .pg-btn-primary {
    background: var(--cu-primary);
    box-shadow: 0 4px 14px -4px rgba(39, 163, 140, .55);
}

html[data-theme="dark"] .pg-btn-primary:hover {
    background: #2bb096;
    box-shadow: 0 8px 18px -6px rgba(39, 163, 140, .6);
}

html[data-theme="dark"] .pg-btn-ghost {
    background: var(--cu-surface-2);
    border-color: var(--cu-border-2);
    color: var(--cu-text) !important;
}

html[data-theme="dark"] .pg-btn-ghost:hover {
    background: var(--cu-surface-3);
    border-color: var(--cu-primary);
    color: var(--cu-primary-hi) !important;
}

/* Superficie e titoli di sezione */
html[data-theme="dark"] .pg-surface {
    background: var(--cu-surface);
    border-color: var(--cu-border);
    box-shadow: var(--cu-shadow-sm);
}

html[data-theme="dark"] .pg-section-title {
    color: var(--cu-text);
}

html[data-theme="dark"] .pg-section-title small {
    color: var(--cu-text-3);
}

/* Tab a pillola (In corso / Terminate / Bozze) */
html[data-theme="dark"] .pg-tabs {
    background: var(--cu-surface-2);
    box-shadow: inset 0 0 0 1px var(--cu-border);
}

html[data-theme="dark"] .pg-tab {
    color: var(--cu-text-3) !important;
}

html[data-theme="dark"] .pg-tab:hover {
    color: var(--cu-text) !important;
}

html[data-theme="dark"] .pg-tab.is-active {
    background: var(--cu-surface-4);
    color: var(--cu-primary-hi) !important;
    box-shadow: var(--cu-shadow-sm);
}

html[data-theme="dark"] .pg-tab-count {
    background: var(--cu-surface-4);
    color: var(--cu-text-2);
}

html[data-theme="dark"] .pg-tab.is-active .pg-tab-count {
    background: var(--cu-primary-soft-2);
    color: var(--cu-primary-hi);
}

/* Ricerca */
html[data-theme="dark"] .pg-search i {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .pg-search input,
html[data-theme="dark"] .pg-search input[type="text"] {
    background: var(--cu-surface);
    border-color: var(--cu-border-2);
    color: var(--cu-text);
}

html[data-theme="dark"] .pg-search input:focus {
    background: var(--cu-surface);
    border-color: var(--cu-primary);
    box-shadow: var(--cu-focus);
}

html[data-theme="dark"] .pg-search:focus-within i {
    color: var(--cu-primary-hi);
}

/* Avvisi (es. "Campagna duplicata…") */
html[data-theme="dark"] .pg-alert-success {
    background: var(--cu-success-soft);
    color: #8fe3bf;
    box-shadow: inset 0 0 0 1px rgba(60, 196, 140, .28);
}

html[data-theme="dark"] .pg-alert-danger {
    background: var(--cu-danger-soft);
    color: #f6a8a8;
    box-shadow: inset 0 0 0 1px rgba(240, 108, 108, .28);
}

/* Stato vuoto */
html[data-theme="dark"] .pg-empty {
    background: var(--cu-surface);
    border-color: var(--cu-border);
}

html[data-theme="dark"] .pg-empty-icon {
    background: var(--cu-primary-soft);
    color: var(--cu-primary-hi);
    box-shadow: inset 0 0 0 1px rgba(60, 196, 166, .22);
}

html[data-theme="dark"] .pg-empty h3 {
    color: var(--cu-text);
}

html[data-theme="dark"] .pg-empty p {
    color: var(--cu-text-3);
}

/* ==========================================================================
   Card campagna (elenco) — stessi valori della dashboard
   ========================================================================== */
html[data-theme="dark"] .camp-card {
    background: var(--cu-surface);
    box-shadow: inset 0 0 0 1px var(--cu-border), var(--cu-shadow-sm);
}

html[data-theme="dark"] .camp-card:hover {
    box-shadow: inset 0 0 0 1px var(--cu-border-2), var(--cu-shadow);
}

html[data-theme="dark"] .camp-card-img {
    background: var(--cu-surface-3);
    border-radius: 12px 12px 0 0;
}

/* pulsante ⋮ sulla foto: vetro scuro invece di bianco */
html[data-theme="dark"] .camp-card-menu .btn {
    background: rgba(13, 19, 18, .72);
    color: var(--cu-text);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}

html[data-theme="dark"] .camp-card-menu .btn:hover,
html[data-theme="dark"] .camp-card-menu .show > .btn {
    background: var(--cu-surface-4);
    color: #fff;
}

html[data-theme="dark"] .camp-card-menu .dropdown-menu {
    border: 1px solid var(--cu-border-2);
    box-shadow: var(--cu-shadow-lg);
}

html[data-theme="dark"] .camp-card-menu .dropdown-item i {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .camp-card-menu .dropdown-item:hover i {
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .camp-card-menu .dropdown-item.text-danger i,
html[data-theme="dark"] .camp-card-menu .dropdown-item.text-danger:hover i {
    color: inherit;
}

html[data-theme="dark"] .camp-card-menu .dropdown-item.text-danger:hover {
    background: var(--cu-danger-soft);
    color: #ff8a8a !important;
}

/* Pillole di stato sulla foto: restano piene (leggibili su qualsiasi foto),
   con un'ombra per staccarle dalle immagini scure */
html[data-theme="dark"] .camp-badge {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}

html[data-theme="dark"] .camp-status-ended {
    background: #55625f;
    color: #fff;
}

html[data-theme="dark"] .camp-status-draft {
    background: var(--cu-warning);
    color: #2b1d02;
}

html[data-theme="dark"] .camp-status-scheduled {
    background: #2f7fc4;
    color: #fff;
}

html[data-theme="dark"] .camp-status-stopped {
    background: #d5484f;
    color: #fff;
}

html[data-theme="dark"] .camp-days-left {
    background: rgba(13, 19, 18, .78);
    color: var(--cu-text);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

html[data-theme="dark"] .camp-card-title {
    color: var(--cu-text);
}

/* Etichette (tipo, online/locale, contenuti, hashtag…) */
html[data-theme="dark"] .camp-tag {
    background: var(--cu-primary-soft);
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .camp-tag-light {
    background: var(--cu-surface-3);
    color: var(--cu-text-2);
}

html[data-theme="dark"] .camp-tag-accent {
    background: var(--cu-info-soft);
    color: var(--cu-info);
}

/* Contatori Richieste / Inizio / Scadenza */
html[data-theme="dark"] .camp-card-stats {
    border-top-color: var(--cu-border);
    border-bottom-color: var(--cu-border);
}

html[data-theme="dark"] .camp-stat small {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .camp-stat strong,
html[data-theme="dark"] .camp-stat a strong {
    color: var(--cu-primary-hi);
}

/* Bottoni della card e del dettaglio */
html[data-theme="dark"] .camp-btn-primary:hover {
    background: #2bb096;
    border-color: #2bb096;
}

html[data-theme="dark"] .camp-btn-outline {
    background: transparent;
    border-color: var(--cu-border-3);
    color: var(--cu-text) !important;
}

html[data-theme="dark"] .camp-btn-outline:hover {
    background: var(--cu-primary-soft);
    border-color: var(--cu-primary);
    color: var(--cu-primary-hi) !important;
}

html[data-theme="dark"] .camp-btn-edit {
    background: var(--cu-surface-3);
    border-color: var(--cu-border-2);
    color: var(--cu-primary-hi) !important;
}

html[data-theme="dark"] .camp-btn-edit:hover {
    background: var(--cu-primary);
    border-color: var(--cu-primary);
    color: #fff !important;
}

/* ==========================================================================
   Dettaglio campagna (partner_campaign_list_desc.php)
   ========================================================================== */
html[data-theme="dark"] .camp-detail-hero {
    background: var(--cu-surface-3);
    box-shadow: inset 0 0 0 1px var(--cu-border);
}

html[data-theme="dark"] .camp-detail-header h2 {
    color: var(--cu-text);
}

html[data-theme="dark"] .camp-detail-subtitle > span {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .camp-detail-subtitle > span i,
html[data-theme="dark"] .camp-detail-stat > i {
    color: var(--cu-primary-hi);
}

/* le etichette nel sottotitolo sono span: non prendono il grigio qui sopra */
html[data-theme="dark"] .camp-detail-subtitle > span.camp-tag {
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .camp-detail-subtitle > span.camp-tag-light {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .camp-detail-subtitle > span.camp-tag-accent {
    color: var(--cu-info);
}

html[data-theme="dark"] .camp-detail-stats {
    background: var(--cu-surface-2);
    box-shadow: inset 0 0 0 1px var(--cu-border);
}

html[data-theme="dark"] .camp-detail-stat small {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .camp-detail-stat strong {
    color: var(--cu-text);
}

/* Sezioni a riquadro */
html[data-theme="dark"] .camp-section {
    background: var(--cu-surface);
    border-color: var(--cu-border-2);
}

html[data-theme="dark"] .camp-section-title {
    background: var(--cu-surface-2);
    border-bottom-color: var(--cu-border);
    color: var(--cu-text);
}

html[data-theme="dark"] .camp-section-title i {
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .camp-info-item label,
html[data-theme="dark"] .camp-sub-section > label {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .camp-info-item span {
    color: var(--cu-text);
}

html[data-theme="dark"] .camp-info-item span a {
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .camp-info-item span.camp-coupon,
html[data-theme="dark"] .camp-coupon {
    background: var(--cu-surface-3);
    color: var(--cu-text);
    box-shadow: inset 0 0 0 1px var(--cu-border-2);
}

html[data-theme="dark"] .camp-sub-section {
    border-top-color: var(--cu-border-2);
}

html[data-theme="dark"] .camp-description {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .camp-todo h5 {
    color: var(--cu-text);
}

html[data-theme="dark"] .camp-todo p {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .camp-todo-dont {
    border-top-color: var(--cu-border-2);
}

html[data-theme="dark"] .camp-gallery-item {
    background: var(--cu-surface-3);
    border-color: var(--cu-border-2);
}

/* ==========================================================================
   Gestione collaborazioni legacy (collaboration_management.php):
   tab AGENDA / STORICO, lista influencer, tabelle. Limitate alla pagina con
   :has(#calendar_1) perché #tabs/.new_section ricorrono altrove.
   ========================================================================== */
html[data-theme="dark"] #tabs:has(#calendar_1) .nav-tabs {
    border-bottom-color: var(--cu-border);
}

html[data-theme="dark"] #tabs:has(#calendar_1) .nav-tabs .nav-link {
    background: transparent;
    color: var(--cu-text-3);
}

html[data-theme="dark"] #tabs:has(#calendar_1) .nav-tabs .nav-link:hover {
    border-color: transparent;
    color: var(--cu-text);
}

html[data-theme="dark"] #tabs:has(#calendar_1) .nav-tabs .nav-link.active {
    background: transparent;
    border-color: transparent;
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] #tabs:has(#calendar_1) .content-header > h1 {
    color: var(--cu-text);
}

/* Riga influencer: giallo pieno = prodotto da spedire, teal = spedito */
html[data-theme="dark"] .INFLUENCER .prof_in {
    background: var(--cu-warning-soft);
    box-shadow: inset 3px 0 0 var(--cu-warning), inset 0 0 0 1px rgba(242, 181, 74, .22);
    color: var(--cu-text);
}

html[data-theme="dark"] .INFLUENCER .prof_in.pending_product {
    background: var(--cu-primary-soft);
    box-shadow: inset 3px 0 0 var(--cu-primary), inset 0 0 0 1px rgba(60, 196, 166, .22);
    color: var(--cu-text);
}

html[data-theme="dark"] .INFLUENCER .prof_in .user_img_s {
    box-shadow: 0 0 0 2px var(--cu-border-2);
}

html[data-theme="dark"] .INFLUENCER .prof_in .meet_time {
    color: var(--cu-text-2);
    font-variant-numeric: tabular-nums;
}

/* link "Hire" con colore inline */
html[data-theme="dark"] #request_list_table .hire_Again,
html[data-theme="dark"] #find_influencer_table .hire_Again {
    color: var(--cu-primary-hi) !important;
}

/* modale (mai aperta oggi): la X ha una classe propria, non .close */
html[data-theme="dark"] #userdetailsModal .close1 {
    background: transparent;
    border: 0;
    color: var(--cu-text-2);
}
