/* Ajustes finales para los módulos que cargan estilos propios después de style.css. */

.wizard-steps a {
    color: #766d7b;
    background: rgba(255,255,255,.76);
    border-color: #e8e2eb;
    box-shadow: 0 5px 18px rgba(45,22,52,.025);
}
.wizard-steps a:hover { color: #211c25; border-color: #d9cce0; background: #fff; }
.wizard-steps strong { color: #776d7d; background: #f2edf4; }
.wizard-steps .active { color: #211c25; background: #fff8fc; border-color: #d93b91; box-shadow: 0 8px 22px rgba(229,45,125,.07); }

.business-card,
.team-summary article,
.team-card,
.schedule-card,
.service-card,
.integration-card,
.review-card { background: rgba(255,255,255,.95); border-color: #e8e2eb; box-shadow: 0 18px 50px rgba(45,22,52,.05); }

.business-grid input,
.business-grid select,
.business-grid textarea,
.team-card input,
.team-card select { color: #211c25; background: #fff; border-color: #ddd4e1; }
.business-grid input:focus,
.business-grid select:focus,
.business-grid textarea:focus,
.team-card input:focus,
.team-card select:focus { border-color: #8d18d1; box-shadow: 0 0 0 4px rgba(141,24,209,.09); }

.business-actions { color: #211c25; background: rgba(255,255,255,.96); border-color: #ddd4e1; box-shadow: 0 18px 45px rgba(45,22,52,.12); }
.business-message,
.integration-credential-status,
.business-grid .integration-toggle,
.integration-last-test,
.integration-test-hint,
.service-item,
.exception-item,
.exception-form,
.team-item { color: #211c25; background: #fbf9fc; border-color: #e8e2eb; }

.business-message.error,
.integration-last-test.is-fallida,
.integration-last-test.is-expirada,
.paid-contracts-error { color: #9d2449; background: #fff4f7; border-color: #f0bfd0; }
.integration-state.is-pending,
.integration-test-hint.is-pending { color: #805200; background: #fff5dd; border-color: #efd89f; }
.integration-test-box button:disabled { color: #948a98; background: #eee9f0; }

.team-status { color: #7620b0; background: #f4eafb; }
.team-status.error,
.team-action.danger,
.service-editor-actions .archive,
.schedule-remove { color: #a7215a; }
.team-status.accepted { color: #087a55; background: #eaf9f3; }
.team-action { color: #211c25; background: #f2edf4; }

.qa-view-tabs button { color: #6f6873; background: rgba(255,255,255,.8); border-color: #e8e2eb; }
.qa-view-tabs button>span { color: #6f6873; background: #f2edf4; }
.qa-view-tabs button.active { color: #211c25; background: #fff8fc; border-color: #d93b91; }
.onboarding-config:hover { color: #8d18d1; background: #fff8fc; }
.check-row,
.manual-row,
.paid-contract-data div { color: #211c25; background: #fbf9fc; border-color: #e8e2eb; }
.notes-field textarea { color: #211c25; background: #fff; border-color: #ddd4e1; }
.onboarding-alert,
.paid-contract-badge.is-blocked { color: #9d2449; background: #fff4f7; border-color: #f0bfd0; }
.provision-dialog { color: #211c25; background: #fff; border-color: #e8e2eb; box-shadow: 0 30px 90px rgba(32,15,39,.22); }
.provision-dialog-close { color: #6f6873; background: #f5f0f6; }
.provision-dialog-summary div { background: #fbf9fc; }

@media (max-width: 700px) {
    .wizard-steps { padding-bottom: 4px; overflow-x: auto; grid-template-columns: repeat(6,minmax(145px,1fr)); scroll-snap-type: x proximity; }
    .wizard-steps a { scroll-snap-align: start; }
}

/* Segunda pasada: geometría más sobria y contraste accesible. */
:root { --ui-radius: 10px; }

.card,
.section,
.business-card,
.team-summary article,
.team-card,
.schedule-card,
.service-card,
.integration-card,
.review-card,
.onboarding-panel,
.onboarding-progress-card,
.escalation-metrics article { border-radius: var(--ui-radius) !important; }

.btn-refresh,
.btn-small,
.tab-btn,
.calendar-view-btn,
.calendar-today-btn,
.calendar-nav-btn,
.filtros input,
.filtros select,
.client-filter select { border-radius: 8px !important; }

.sidebar nav a { border-radius: 9px !important; }

.info-box {
    color: #4f4754 !important;
    background: #fbf5fb !important;
    border: 1px solid #eaddea !important;
    border-left: 3px solid #b326cf !important;
    border-radius: 8px !important;
}
.info-box p { color: #4f4754 !important; }
.info-box #gcal-status { color: #756b79 !important; }

.calendar-summary-card,
.calendar-week-column,
.calendar-day { border-radius: 8px !important; }

.card,
.section,
.business-card,
.onboarding-panel,
.onboarding-progress-card,
.escalation-metrics article {
    border-color: #e7e0e9 !important;
    box-shadow: 0 12px 34px rgba(45,22,52,.055) !important;
}

/* Estados de marca: morado = listo, rosa = pendiente o destacado. */
.integration-state.is-ready,
.integration-last-test.is-exitosa,
.integration-test-hint.is-ready,
.team-status.accepted {
    color: #7620b0 !important;
    background: #f4eafb !important;
    border-color: #ddb9f2 !important;
}

.integration-state.is-pending,
.integration-test-hint.is-pending {
    color: #a72172 !important;
    background: #fff0f8 !important;
    border-color: #f2bfdc !important;
}

.review-row.is-ready .review-icon {
    color: #fff !important;
    background: linear-gradient(135deg, #8d18d1, #b326cf) !important;
}

.review-row.is-pending .review-icon {
    color: #9b1d69 !important;
    background: #ffe3f2 !important;
}

.schedule-day-name small {
    color: #8d18d1 !important;
}

.schedule-day.closed .schedule-day-name small {
    color: #948a98 !important;
}

/* Contraste reforzado: los estados ya no dependen de verde, amarillo o lavanda. */
.status-notificado,
.is-pending .check-icon {
    color: #fff !important;
    background: #a72172 !important;
}

.status-resuelto,
.status-procesando,
.is-ready .check-icon {
    color: #fff !important;
    background: #7620b0 !important;
}

.escalation-card {
    border-left-color: #a72172 !important;
}

.escalation-card.estado-resuelto,
.escalation-card.estado-procesando {
    border-left-color: #7620b0 !important;
}

.btn-whatsapp {
    color: #7620b0 !important;
    background: #f4eafb !important;
    border-color: #c78be5 !important;
}

.btn-whatsapp:hover {
    color: #fff !important;
    background: #7620b0 !important;
    border-color: #7620b0 !important;
}

.integration-state.is-ready,
.integration-last-test.is-exitosa,
.integration-test-hint.is-ready {
    color: #fff !important;
    background: #7620b0 !important;
    border-color: #7620b0 !important;
}

.integration-state.is-pending,
.integration-test-hint.is-pending {
    color: #fff !important;
    background: #a72172 !important;
    border-color: #a72172 !important;
}

.estado-badge,
.commercial-badge,
.consent-badge {
    color: #fff !important;
    background: #7620b0 !important;
}

.stage-interesado,
.stage-contactado,
.stage-nuevo,
.consent-comercial,
.consent-ambos {
    color: #fff !important;
    background: #8d18d1 !important;
}

.stage-convertido {
    color: #fff !important;
    background: #6f2dbd !important;
}

.stage-no_show,
.stage-cita_cancelada {
    color: #fff !important;
    background: #b32683 !important;
}

/* Confirmaciones de formularios: marca visible sin recurrir al verde. */
.business-message.success {
    color: #7620b0 !important;
    background: #f7edfc !important;
    border-color: #d7a9ed !important;
}

/* Pendiente es informativo: usa una píldora ligera y deja la acción sólida al botón. */
.status-notificado {
    color: #8f1f68 !important;
    background: #fff0f8 !important;
    border: 1px solid #e9a9cf !important;
}

/* Estados secundarios: suaves, legibles y subordinados a las acciones. */
body .integration-state.is-ready {
    color: #7620b0 !important;
    background: #f7effb !important;
    border: 1px solid #d7a9ed !important;
    box-shadow: none !important;
}

body .integration-state.is-pending {
    color: #8f1f68 !important;
    background: #fff3f9 !important;
    border: 1px solid #edbad7 !important;
    box-shadow: none !important;
}

body .integration-last-test.is-exitosa,
body .integration-test-hint.is-ready {
    color: #67208f !important;
    background: #f8f1fc !important;
    border: 1px solid #ddc1ec !important;
    box-shadow: none !important;
}

body .integration-test-hint.is-pending {
    color: #8f1f68 !important;
    background: #fff5fa !important;
    border: 1px solid #efc7de !important;
    box-shadow: none !important;
}

body .escalation-status.status-notificado {
    color: #8f1f68 !important;
    background: #fff3f9 !important;
    background-image: none !important;
    border: 1px solid #e6a8cc !important;
    box-shadow: none !important;
}
