/* ==========================================================================
   Tema scuro — area account: dati azienda, profilo, password, abbonamento,
   pricing, transazioni, metodi di pagamento, errore checkout, guida
   eliminazione account.
   Ogni regola è sotto html[data-theme="dark"]: il tema chiaro non cambia.
   ========================================================================== */

/* ==========================================================================
   Dati Azienda (dati_azienda.php, classi cu-onb-* di css/onboarding.css
   dentro .cu-onb-panel; l'onboarding a pagina intera è in 80-auth)
   ========================================================================== */
html[data-theme="dark"] .cu-onb-panel .cu-onb-panel-card {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border);
    box-shadow: var(--cu-shadow-sm);
}

html[data-theme="dark"] .cu-onb-panel .cu-onb-panel-avatar {
    background: var(--cu-primary-soft);
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .cu-onb-panel .cu-onb-panel-head h2 {
    color: var(--cu-text);
}

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

html[data-theme="dark"] .cu-onb-panel .cu-onb-field > label {
    color: var(--cu-text);
}

/* Campo: il contenitore fa da input, l'input dentro resta trasparente
   (dark-theme.css colora ogni input, anche :disabled) */
html[data-theme="dark"] .cu-onb-panel .cu-onb-control,
html[data-theme="dark"] .cu-onb-panel .cu-company-cards .cu-onb-control:focus-within {
    background: var(--cu-surface-2);
    border-color: var(--cu-border);
    box-shadow: none;
}

html[data-theme="dark"] .cu-onb-panel .cu-onb-control > i {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .cu-onb-panel .cu-onb-control input,
html[data-theme="dark"] .cu-onb-panel .cu-onb-control input:disabled,
html[data-theme="dark"] .cu-onb-panel .cu-onb-control input[readonly],
html[data-theme="dark"] .cu-onb-panel .cu-onb-control input:focus,
html[data-theme="dark"] .cu-onb-panel .cu-onb-control select,
html[data-theme="dark"] .cu-onb-panel .cu-onb-control select:disabled,
html[data-theme="dark"] .cu-onb-panel .cu-onb-control select:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--cu-text-2);
    -webkit-text-fill-color: var(--cu-text-2);
    opacity: 1;
}

html[data-theme="dark"] .cu-onb-panel .cu-onb-control input::placeholder {
    color: var(--cu-text-4);
    -webkit-text-fill-color: var(--cu-text-4);
}

html[data-theme="dark"] .cu-onb-panel .cu-onb-control.cu-onb-select::after {
    border-color: var(--cu-text-3);
}

/* Badge "Profilo completo" / "Dati da completare" */
html[data-theme="dark"] .cu-onb-badge {
    background: var(--cu-primary-soft);
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .cu-onb-badge.cu-onb-badge-warn {
    background: var(--cu-warning-soft);
    color: var(--cu-warning);
}

/* ==========================================================================
   Profilo (partner_profile.php -> partner_details/edit_profile.php,
   classi pf-* di css/custom.css)
   ========================================================================== */
html[data-theme="dark"] .pf-card {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border);
    box-shadow: var(--cu-shadow-sm);
}

html[data-theme="dark"] .pf-top {
    border-bottom-color: var(--cu-border);
}

html[data-theme="dark"] .pf-avatar {
    background: var(--cu-surface-3);
}

html[data-theme="dark"] .pf-top-text h1 {
    color: var(--cu-text);
}

html[data-theme="dark"] .pf-top-text span {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .pf-group h2 {
    color: var(--cu-text-3);
}

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

html[data-theme="dark"] .pf-fields .form-control {
    background-color: var(--cu-surface-2) !important;
    border-color: var(--cu-border-2);
    color: var(--cu-text);
}

html[data-theme="dark"] .pf-fields .form-control:focus {
    border-color: var(--cu-primary);
    box-shadow: var(--cu-focus);
}

html[data-theme="dark"] .pf-fields .form-control:disabled,
html[data-theme="dark"] .pf-fields .form-control[readonly] {
    background-color: var(--cu-surface) !important;
    border-color: var(--cu-border);
    color: var(--cu-text-3);
}

html[data-theme="dark"] .pf-fields select[multiple] option:checked {
    background: var(--cu-primary-soft-2) linear-gradient(0deg, var(--cu-primary-soft-2), var(--cu-primary-soft-2));
    color: var(--cu-text);
}

html[data-theme="dark"] .pf-actions {
    border-top-color: var(--cu-border);
}

html[data-theme="dark"] .pf-btn-save:hover {
    background: var(--cu-primary-hi);
    color: #0d1312;
}

html[data-theme="dark"] .pf-alert-ok {
    background: var(--cu-success-soft);
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .pf-alert-err {
    background: var(--cu-danger-soft);
    color: var(--cu-danger);
}

html[data-theme="dark"] #update_profile_form .error {
    color: var(--cu-danger);
}

/* ==========================================================================
   I miei abbonamenti (managment_subscription.php ->
   checkout/gestione_abbonamenti.php, <style> nel body: classi sb-*)
   ========================================================================== */
html[data-theme="dark"] .sb-page {
    background: var(--cu-bg);
    color: var(--cu-text);
}

html[data-theme="dark"] .sb-page .sb-card {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border);
    box-shadow: var(--cu-shadow-lg);
}

/* Hero */
html[data-theme="dark"] .sb-page .sb-hero {
    border-bottom-color: var(--cu-border);
}

html[data-theme="dark"] .sb-page .sb-eyebrow {
    background: var(--cu-primary-soft);
    color: var(--cu-primary-hi);
}

/* Titolo a gradiente: in chiaro va dal verde scuro al menta */
html[data-theme="dark"] .sb-page .sb-hero-text h1 {
    background: linear-gradient(90deg, var(--cu-text), var(--cu-primary-hi) 70%, #20c997);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

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

html[data-theme="dark"] .sb-page .sb-provider-chip {
    background: var(--cu-surface-3);
    color: var(--cu-text-2);
}

html[data-theme="dark"] .sb-page .sb-planbadge {
    box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .8);
}

/* Avvisi */
html[data-theme="dark"] .sb-page .sb-alert-success {
    background: var(--cu-success-soft);
    border-color: rgba(60, 196, 140, .32);
    color: #8fe0bb;
}

html[data-theme="dark"] .sb-page .sb-alert-danger {
    background: var(--cu-danger-soft);
    border-color: rgba(240, 108, 108, .32);
    color: #f7a8a8;
}

html[data-theme="dark"] .sb-page .sb-alert-warning {
    background: var(--cu-warning-soft);
    border-color: rgba(242, 181, 74, .32);
    color: #f5cd84;
}

/* Nessun abbonamento */
html[data-theme="dark"] .sb-page .sb-empty-ico {
    background: var(--cu-primary-soft);
    color: var(--cu-primary-hi);
}

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

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

/* Riquadri piano / stato / rinnovo / campagne */
html[data-theme="dark"] .sb-page .sb-stat {
    background: var(--cu-surface-2);
    border-color: var(--cu-border);
}

html[data-theme="dark"] .sb-page .sb-stat:hover {
    border-color: var(--cu-border-3);
    box-shadow: var(--cu-shadow);
}

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

html[data-theme="dark"] .sb-page .sb-stat-value {
    color: var(--cu-text);
}

html[data-theme="dark"] .sb-page .sb-pill-green {
    background: var(--cu-success-soft);
    color: var(--cu-success);
}

html[data-theme="dark"] .sb-page .sb-pill-gray {
    background: var(--cu-surface-4);
    color: var(--cu-text-2);
}

html[data-theme="dark"] .sb-page .sb-pill-red {
    background: var(--cu-danger-soft);
    color: var(--cu-danger);
}

/* Periodo corrente */
html[data-theme="dark"] .sb-page .sb-period {
    background: var(--cu-surface-2);
    border-color: var(--cu-border-3);
    color: var(--cu-text-2);
}

html[data-theme="dark"] .sb-page .sb-period i {
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] .sb-page .sb-period strong {
    color: var(--cu-text);
}

/* Portale fatturazione: il riquadro è già scuro, si stacca dalla card col bordo */
html[data-theme="dark"] .sb-page .sb-billing {
    background: linear-gradient(135deg, #0f2a22 0%, #133a30 60%, #0e231c 100%);
    border-color: rgba(60, 196, 166, .28);
    box-shadow: 0 20px 40px -22px rgba(0, 0, 0, .8);
}

html[data-theme="dark"] .sb-page .sb-portal-btn {
    background: var(--cu-text);
    color: #0c2a1b;
}

html[data-theme="dark"] .sb-page .sb-portal-btn:hover {
    background: #fff;
    color: #0c2a1b;
}

html[data-theme="dark"] .sb-page .sb-portal-disabled,
html[data-theme="dark"] .sb-page .sb-portal-disabled:hover {
    background: rgba(255, 255, 255, .08);
    color: #9fc4b4;
}

/* Abbonamento Apple */
html[data-theme="dark"] .sb-page .sb-apple-notice {
    background: var(--cu-surface-2);
    border-color: var(--cu-border);
}

html[data-theme="dark"] .sb-page .sb-apple-notice-ico {
    background: var(--cu-surface-4);
    color: var(--cu-text);
}

html[data-theme="dark"] .sb-page .sb-apple-notice h3 {
    color: var(--cu-text);
}

html[data-theme="dark"] .sb-page .sb-apple-notice p {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .sb-page .sb-apple-notice .sb-apple-notice-sub {
    color: var(--cu-warning) !important;
}

/* Azioni */
html[data-theme="dark"] .sb-page .sb-actions-label {
    color: var(--cu-text-3);
}

html[data-theme="dark"] .sb-page .sb-btn-primary,
html[data-theme="dark"] .sb-page .sb-btn-success {
    box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .7);
}

html[data-theme="dark"] .sb-page .sb-btn-warn {
    box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .7);
}

html[data-theme="dark"] .sb-page .sb-btn-danger-ghost {
    border-color: rgba(240, 108, 108, .4);
    color: var(--cu-danger);
}

html[data-theme="dark"] .sb-page .sb-btn-danger-ghost:hover {
    background: var(--cu-danger-soft);
    border-color: var(--cu-danger);
    color: #ff8f8f;
}

html[data-theme="dark"] .sb-page .sb-foot {
    border-top-color: var(--cu-border);
    color: var(--cu-text-3);
}

html[data-theme="dark"] .sb-page .sb-foot strong {
    color: var(--cu-text-2);
}

/* Overlay di caricamento durante la cancellazione */
html[data-theme="dark"] .sb-overlay {
    background: rgba(13, 19, 18, .86);
}

html[data-theme="dark"] .sb-overlay .sb-overlay-box {
    color: var(--cu-text);
}

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

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

html[data-theme="dark"] .sb-overlay .sb-spinner {
    border-color: var(--cu-surface-4);
    border-top-color: var(--cu-primary-hi);
}

/* ==========================================================================
   Pricing (pricing.php, pagina senza guscio: <style> nella <head>).
   Ambito body:has(.pricing-container): .modal e .form-group sono generici.
   ========================================================================== */
html[data-theme="dark"] body:has(.pricing-container) {
    color: var(--cu-text-2);
}

/* Selettore 1 mese / 6 mesi / 1 anno */
html[data-theme="dark"] .slider-container .position-mark p {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .slider-container .slider-handle {
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .45);
}

/* Card dei piani */
html[data-theme="dark"] .pricing-container .pricing-card {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border);
    box-shadow: var(--cu-shadow);
    color: var(--cu-text-2);
}

html[data-theme="dark"] .pricing-container .pricing-card h2,
html[data-theme="dark"] .pricing-container .pricing-card .price,
html[data-theme="dark"] .pricing-container .pricing-card .features b {
    color: var(--cu-text);
}

/* Spunta delle caratteristiche: in chiaro cerchio nero, su scuro teal */
html[data-theme="dark"] .pricing-container .pricing-card:not(.featured) .features li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27'%3E%3Ccircle cx='13.5' cy='13.5' r='13.5' fill='%2327A38C'/%3E%3Cpath d='M8 14L12 18L20 10' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Piano in evidenza (PLUS): resta teal pieno, testo bianco */
html[data-theme="dark"] .pricing-container .pricing-card.featured {
    background: #40b3a2;
    border-color: #40b3a2;
    color: #fff;
    box-shadow: 0 18px 44px -14px rgba(64, 179, 162, .45), var(--cu-shadow);
}

html[data-theme="dark"] .pricing-container .pricing-card.featured h2,
html[data-theme="dark"] .pricing-container .pricing-card.featured .price,
html[data-theme="dark"] .pricing-container .pricing-card.featured .features b {
    color: #fff;
}

/* "Richiedi fattura" */
html[data-theme="dark"] .pricing-container .pricing-card:not(.featured) label {
    color: var(--cu-text-2);
}

html[data-theme="dark"] .pricing-container .pricing-card:not(.featured) input[type="checkbox"] {
    background-color: transparent;
    border-color: var(--cu-border-3);
}

html[data-theme="dark"] .pricing-container .pricing-card:not(.featured) input[type="checkbox"]:hover {
    border-color: #40b3a2;
}

html[data-theme="dark"] .pricing-container .pricing-card:not(.featured) input[type="checkbox"]:checked {
    background-color: #40b3a2;
    border-color: #40b3a2;
}

/* Avviso "Piano non disponibile" (disablePlan() scrive il colore inline) */
html[data-theme="dark"] .pricing-container .plan-warning {
    color: var(--cu-danger) !important;
}

html[data-theme="dark"] .main-container > .pricing-footer {
    color: var(--cu-text-3);
    opacity: 1;
}

/* Modale "Richiedi fattura" */
html[data-theme="dark"] body:has(.pricing-container) #modalFattura {
    background: var(--cu-overlay);
}

html[data-theme="dark"] body:has(.pricing-container) #modalFattura .modal-content {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border-2);
    box-shadow: var(--cu-shadow-lg);
    color: var(--cu-text-2);
}

html[data-theme="dark"] body:has(.pricing-container) #modalFattura h2,
html[data-theme="dark"] body:has(.pricing-container) #modalFattura label {
    color: var(--cu-text);
}

html[data-theme="dark"] body:has(.pricing-container) #modalFattura .close-button {
    color: var(--cu-text-3);
}

html[data-theme="dark"] body:has(.pricing-container) #modalFattura .close-button:hover {
    color: var(--cu-text);
}

html[data-theme="dark"] body:has(.pricing-container) #modalFattura .form-group input {
    background-color: var(--cu-surface-2);
    border-color: var(--cu-border-2);
    color: var(--cu-text);
}

html[data-theme="dark"] body:has(.pricing-container) #modalFattura .form-group input:focus {
    border-color: var(--cu-primary);
    box-shadow: var(--cu-focus);
    outline: none;
}

/* ==========================================================================
   Transazioni (transaction.php -> transaction/details_transaction.php):
   tabella a righe-card .mrw-*, celle con style="background: #fff"
   ========================================================================== */
html[data-theme="dark"] .mrw-table .mrw-tr {
    box-shadow: 0 0 0 1px var(--cu-border), var(--cu-shadow-sm);
}

html[data-theme="dark"] .mrw-table .mrw-th,
html[data-theme="dark"] .mrw-table .mrw-td {
    background: var(--cu-surface) !important;
    border-color: var(--cu-border);
}

html[data-theme="dark"] .mrw-table .mrw-th {
    color: var(--cu-text);
}

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

html[data-theme="dark"] .mrw-table .mrw-tr:first-child > .mrw-th {
    background: var(--cu-surface-2) !important;
}

/* Tab "All" attiva: colore teal scritto inline */
html[data-theme="dark"] #tabs #nav-tab .nav-link.active {
    color: var(--cu-primary-hi) !important;
}

/* ==========================================================================
   Metodo di pagamento (payment_methods.php): pulsante-immagine "Credit Card"
   nero, su fondo scuro gli si dà un contorno
   ========================================================================== */
html[data-theme="dark"] .paybttn img {
    border-radius: 24px;
    box-shadow: 0 0 0 1px var(--cu-border-3);
}

/* ==========================================================================
   Pagamento non riuscito (checkout/error.php, pagina senza guscio)
   ========================================================================== */
html[data-theme="dark"] body > .payment-container {
    background-color: var(--cu-surface);
    border: 1px solid var(--cu-border);
    box-shadow: var(--cu-shadow-lg);
}

html[data-theme="dark"] body > .payment-container h1 {
    color: var(--cu-text);
}

html[data-theme="dark"] body > .payment-container p {
    color: var(--cu-text-2);
}

html[data-theme="dark"] body > .payment-container .redirect-button {
    background-color: var(--cu-primary);
    color: #fff;
}

html[data-theme="dark"] body > .payment-container .redirect-button:hover {
    background-color: var(--cu-primary-hi);
    color: #0d1312;
}

/* ==========================================================================
   Come eliminare l'account (how_delete_account.php, pagina pubblica senza
   guscio). Ambito body:has(.steps-title): .container/.header/.footer sono
   classi generiche.
   ========================================================================== */
html[data-theme="dark"] body:has(.steps-title) {
    background: radial-gradient(120% 60% at 50% 0%, rgba(39, 163, 140, .22) 0%, rgba(39, 163, 140, 0) 60%), var(--cu-bg);
}

html[data-theme="dark"] body:has(.steps-title) > .container {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border);
    box-shadow: var(--cu-shadow-lg);
}

html[data-theme="dark"] body:has(.steps-title) .header {
    background: linear-gradient(135deg, #1aa785 0%, #0e8a6a 100%);
}

html[data-theme="dark"] body:has(.steps-title) .header h1 {
    color: #fff;
}

html[data-theme="dark"] body:has(.steps-title) .intro {
    background: var(--cu-warning-soft);
    border-left-color: var(--cu-warning);
}

html[data-theme="dark"] body:has(.steps-title) .intro-title,
html[data-theme="dark"] body:has(.steps-title) .intro-text {
    color: #f5cd84;
}

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

html[data-theme="dark"] body:has(.steps-title) .step {
    background: var(--cu-surface-2);
    border-color: var(--cu-border-2);
}

html[data-theme="dark"] body:has(.steps-title) .step:hover {
    border-color: var(--cu-primary);
    box-shadow: 0 5px 20px rgba(0, 0, 0, .35);
}

html[data-theme="dark"] body:has(.steps-title) .step-number {
    box-shadow: 0 4px 10px rgba(0, 0, 0, .4);
}

html[data-theme="dark"] body:has(.steps-title) .step-title {
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] body:has(.steps-title) .step-description {
    color: var(--cu-text-2);
}

html[data-theme="dark"] body:has(.steps-title) .step-description strong {
    color: var(--cu-text);
}

html[data-theme="dark"] body:has(.steps-title) .step-image {
    box-shadow: 0 4px 15px rgba(0, 0, 0, .4);
}

html[data-theme="dark"] body:has(.steps-title) .screenshot-placeholder {
    background: var(--cu-surface-3);
    border-color: var(--cu-border-3);
    color: var(--cu-text-3);
}

html[data-theme="dark"] body:has(.steps-title) .highlight {
    background: var(--cu-primary-soft-2);
    color: var(--cu-primary-hi);
}

html[data-theme="dark"] body:has(.steps-title) .warning-box {
    background: var(--cu-danger-soft);
    border-left-color: var(--cu-danger);
}

html[data-theme="dark"] body:has(.steps-title) .warning-title,
html[data-theme="dark"] body:has(.steps-title) .warning-text,
html[data-theme="dark"] body:has(.steps-title) .warning-text strong {
    color: #f7a8a8;
}

html[data-theme="dark"] body:has(.steps-title) .footer {
    background: var(--cu-surface-2);
    border-top-color: var(--cu-border);
}

html[data-theme="dark"] body:has(.steps-title) .footer-text {
    color: var(--cu-text-3);
}

html[data-theme="dark"] body:has(.steps-title) .footer-text a {
    color: var(--cu-primary-hi);
}
