/* =============================================================
   DOXEN – theme.css
   Modo oscuro global (front + admin + auth)
   Estrategia: sobreescribir tokens (--*) + overrides puntuales
   para los colores hardcodeados. Los editores de documento
   (redactar-form / documento-resultado) se mantienen como
   "workspace" claro tipo papel para preservar contraste.
   ============================================================= */

/* ── Toggle switch ─────────────────────────────────────────── */
.theme-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
}

.theme-toggle:focus-visible {
    outline: 2px solid var(--accent, #b68a43);
    outline-offset: 3px;
    border-radius: 999px;
}

.theme-toggle__track {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 2.85rem;
    height: 1.55rem;
    border-radius: 999px;
    background: rgba(26, 26, 26, 0.12);
    border: 1px solid var(--border, #e0d8cc);
    transition: background 0.25s ease, border-color 0.25s ease;
}

.theme-toggle__thumb {
    position: absolute;
    left: 0.12rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
    transition: transform 0.25s ease, background 0.25s ease;
}

.theme-toggle__icon {
    position: absolute;
    width: 0.72rem;
    height: 0.72rem;
}

.theme-toggle__icon--sun {
    color: #d97706;
}

.theme-toggle__icon--moon {
    color: #d4a855;
    opacity: 0;
}

.theme-toggle.is-dark .theme-toggle__thumb {
    transform: translateX(1.25rem);
    background: #0f1419;
}

.theme-toggle.is-dark .theme-toggle__icon--sun {
    opacity: 0;
}

.theme-toggle.is-dark .theme-toggle__icon--moon {
    opacity: 1;
}

.theme-toggle:not(.is-dark) .theme-toggle__icon--sun {
    opacity: 1;
}

.theme-toggle--auth {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 1200;
}

.theme-toggle--admin {
    margin-right: 0.15rem;
}

@media (prefers-reduced-motion: reduce) {
    .theme-toggle__track,
    .theme-toggle__thumb {
        transition: none;
    }
}

/* =============================================================
   DARK PALETTE — token overrides
   NOTA: se usa `html.dark` (no `.dark` a secas) a propósito.
   Varias vistas (mis-documentos, redactar, pago, etc.) definen
   sus propias variables en `:root` dentro de CSS que se cargan
   DESPUÉS de theme.css (via @push('styles')). `:root` y `.dark`
   tienen la misma especificidad, así que un `:root` cargado más
   tarde ganaría el empate y anularía el modo oscuro. `html.dark`
   tiene mayor especificidad que `:root` y siempre gana, sin
   importar el orden de carga de los CSS de cada página.
   ============================================================= */
html.dark {
    color-scheme: dark;

    /* core (home / shared) */
    --bg: #0f1419;
    --bg-alt: #161d24;
    --petroleum: #16232b;
    --white: #1e2630;
    --dark: #f1ece3;
    --dark-footer: #0a0f13;
    --text: #e6ded2;
    --text-muted: #9aa6b2;
    --accent: #d4a855;
    --accent-dk: #b68a43;
    --accent-light: #e0bd77;
    --border: #2c3742;

    --shadow: 0 2px 16px rgba(0, 0, 0, 0.4);
    --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.55);

    /* auth / register */
    --border-input: #33404c;
    --error: #f87171;

    /* mis-documentos */
    --md-cream: #161d24;
    --md-border: #2c3742;
    --md-dark: #f1ece3;
    --md-muted: #9aa6b2;
    --md-white: #1e2630;

    /* redactar (formulario de inicio) */
    --rd-cream: #161d24;
    --rd-border: #2c3742;
    --rd-dark: #f1ece3;
    --rd-muted: #9aa6b2;
    --rd-white: #1e2630;

    /* pago */
    --pago-border: #2c3742;
    --pago-bg: #161d24;
}

.dark .theme-toggle__track {
    background: rgba(245, 239, 230, 0.1);
    border-color: rgba(245, 239, 230, 0.16);
}

/* =============================================================
   FRONT — navbar & footer
   ============================================================= */
.dark .navbar {
    background: var(--bg);
}

.dark .navbar.scrolled {
    background: rgba(15, 20, 25, 0.92);
    border-bottom-color: var(--border);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.dark .navbar__hamburger span {
    background: var(--dark);
}

.dark .navbar__mobile {
    background: var(--bg);
    border-bottom-color: var(--border);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
}

.dark .navbar__logo-name {
    color: var(--dark);
}

.dark .navbar__logo-text--accent,
.dark .hero__title--accent,
.dark .site-footer__brand-accent,
.dark .contact-footer__brand-accent,
.dark .login-header__brand--accent,
.dark .login-header__brand--dot,
.dark .login-header__brand--ai,
.dark .register-info__brand--accent {
    color: var(--accent);
}

.dark .site-footer {
    background: var(--dark-footer);
    border-top-color: var(--border);
}

.dark .site-footer__brand-name,
.dark .contact-footer__brand-name {
    color: var(--dark);
}

.dark .site-footer__link:hover,
.dark .contact-footer__link:hover {
    color: var(--accent);
}

.dark .help-footer,
.dark .contact-footer {
    background: var(--dark-footer);
    border-top-color: var(--border);
}

.dark .help-footer__copy,
.dark .contact-footer__copy {
    color: var(--text-muted);
}

/* =============================================================
   FIXED DARK PANELS — secciones que son navy/negro SIEMPRE
   (en claro y oscuro), como el banner "Empieza hoy con DOXEN".
   Su texto usa var(--white) esperando blanco literal, pero esa
   variable se reutiliza como color de superficie en modo oscuro,
   así que aquí se restaura el blanco real para que no desaparezca.
   ============================================================= */
.dark .footer {
    background: var(--petroleum);
}

.dark .footer__title,
.dark .footer__brand {
    color: #f5efe6;
}

.dark .btn--outline-light {
    color: #f5efe6;
    border-color: rgba(245, 239, 230, 0.65);
}

.dark .btn--outline-light:hover {
    background: #f5efe6;
    color: var(--bg);
}

.dark .cta-final {
    background: #0a0f13;
}

.dark .cta-final__title,
.dark .cta-final__brand {
    color: #f5efe6;
}

.dark .btn--outline-dark {
    color: #f5efe6;
    border-color: rgba(245, 239, 230, 0.65);
}

.dark .btn--outline-dark:hover {
    background: #f5efe6;
    color: var(--bg);
}

/* =============================================================
   FRONT — hero & home sections
   ============================================================= */
.dark .hero,
.dark .features-bar,
.dark .steps-section,
.dark .why-section,
.dark .demo-features {
    background: var(--bg);
}

.dark .docs-section {
    background: var(--bg-alt);
}

.dark .hero__desc {
    color: var(--text);
}

.dark .hero__trust-item span {
    color: var(--text-muted);
}

.dark .hero__trust-sep {
    background: var(--border);
}

.dark .hero__buttons .btn--outline {
    background: var(--white);
    border-color: var(--border);
    color: var(--dark);
    box-shadow: none;
}

.dark .hero__buttons .btn--outline:hover {
    background: var(--dark);
    color: var(--bg);
}

.dark .hero__visual::after {
    background: linear-gradient(to right, var(--bg) 0%, var(--bg) 10%, transparent 30%);
}

.dark .btn--outline {
    color: var(--dark);
    border-color: rgba(245, 239, 230, 0.35);
}

.dark .btn--outline:hover {
    background: var(--dark);
    color: var(--bg);
}

.dark .features-bar__inner,
.dark .doc-card,
.dark .why-card,
.dark .demo-features__grid {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

.dark .doc-card {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.dark .why-card:hover,
.dark .doc-card:hover {
    box-shadow: var(--shadow-hover);
}

.dark .steps-box {
    background: var(--bg);
    border-color: var(--border);
}

/* Reclamación info cards (embebidas en home.css) */
.dark .reclamacion-info-card {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

.dark .reclamacion-info-card p {
    color: var(--text-muted);
}

.dark .reclamacion-info-card--reclamo {
    background: rgba(245, 158, 11, 0.1);
    border-color: rgba(245, 158, 11, 0.28);
    color: #fcd34d;
}

.dark .reclamacion-info-card--reclamo h3 {
    color: #fcd34d;
}

.dark .reclamacion-info-card--queja {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.28);
    color: #fca5a5;
}

.dark .reclamacion-info-card--queja h3 {
    color: #fca5a5;
}

/* =============================================================
   DEMO
   ============================================================= */
.dark .demo-steps {
    background: var(--bg-alt);
    border-color: var(--border);
}

.dark .demo-step__icon-wrap {
    background: var(--bg-alt);
    border-color: var(--border);
}

.dark .demo-step.is-active .demo-step__icon-wrap {
    background: rgba(212, 168, 85, 0.14);
    border-color: var(--accent);
}

.dark .demo-step.is-done .demo-step__icon-wrap {
    background: rgba(34, 197, 94, 0.14);
    border-color: #4ade80;
}

.dark .demo-video__player {
    background: #0b0f13;
    border-color: var(--border);
}

/* =============================================================
   AUTH & REGISTER
   ============================================================= */
.dark .login-card,
.dark .register-card,
.dark .register-form-card {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

.dark .login-header__brand,
.dark .login-header__tagline,
.dark .login-card__title,
.dark .register-info__eyebrow,
.dark .register-info__brand {
    color: var(--dark);
}

.dark .login-form__input-wrap {
    background: var(--bg-alt);
    border-color: var(--border-input);
}

.dark .login-form__input {
    color: var(--text);
}

.dark .login-form__link,
.dark .login-form__register {
    color: var(--dark);
}

.dark .login-social__btn {
    background: var(--bg-alt);
    border-color: var(--border-input);
    color: var(--dark);
}

.dark .login-divider__line {
    background: var(--border);
}

.dark .register-info__desc {
    color: var(--text-muted);
}

/* Inputs de registro (usan #d6d0c5 hardcodeado) */
.dark .register-form__input,
.dark .register-form__select,
.dark .register-form__textarea,
.dark .register-input,
.dark .register-form input,
.dark .register-form select,
.dark .register-form textarea {
    background: var(--bg-alt);
    border-color: var(--border-input);
    color: var(--text);
}

/* =============================================================
   HELP (FAQ) & CONTACT
   ============================================================= */
.dark .help-hero,
.dark .help-faq,
.dark .help-resources,
.dark .contact-hero,
.dark .contact-body {
    background: var(--bg);
}

.dark .help-faq__card,
.dark .help-resource-card,
.dark .contact-form-card,
.dark .contact-channel-card {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

.dark .faq-item {
    border-color: var(--border);
}

.dark .faq-item:hover {
    border-color: var(--accent-dk);
}

.dark .faq-item--open {
    border-color: var(--accent);
}

.dark .faq-item__header:hover {
    background: rgba(245, 239, 230, 0.04);
}

.dark .faq-item__icon-wrap {
    background: var(--bg-alt);
    color: var(--text-muted);
}

.dark .faq-item__chevron,
.dark .help-resource-card__arrow {
    color: var(--text-muted);
}

.dark .help-resource-card__icon-wrap--terms,
.dark .help-resource-card__icon-wrap--privacy {
    background: var(--bg-alt);
    color: var(--accent);
}

.dark .help-resource-card__icon-wrap--report {
    background: rgba(230, 81, 0, 0.16);
    color: #ffb27a;
}

.dark .contact-form__input,
.dark .contact-form__select,
.dark .contact-form__textarea {
    background: var(--bg-alt);
    border-color: var(--border-input);
    color: var(--text);
}

.dark .contact-form__input::placeholder,
.dark .contact-form__textarea::placeholder,
.dark .lr-form__input::placeholder,
.dark .lr-form__textarea::placeholder {
    color: var(--text-muted);
}

.dark .contact-channel-card__icon-wrap--whatsapp,
.dark .contact-channel-card__icon-wrap--email {
    background: var(--bg-alt);
}

/* =============================================================
   PLANS
   ============================================================= */
.dark .plans-hero {
    background: var(--bg);
}

.dark .plans-how {
    background: var(--bg-alt);
}

.dark .plans-hero__title,
.dark .plans-how__title {
    color: var(--dark);
}

.dark .plans-hero__note,
.dark .plan-card,
.dark .plans-doccard,
.dark .plans-bottom-bar {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

/* El color de cada plan lo define el admin y puede ser oscuro
   (p. ej. Enterprise usa #1f2937), lo que lo vuelve invisible
   sobre la tarjeta oscura. Se aclara con color-mix para
   garantizar contraste sin importar el tono elegido; el fondo
   fuerte para textos blancos (badge, botón destacado, check)
   sigue usando --plan-raw sin aclarar. */
.dark .plan-card {
    --plan-c: color-mix(in srgb, var(--plan-raw) 60%, white);
}

.dark .plan-card__docs-item {
    color: var(--dark);
}

.dark .plan-card__use,
.dark .plans-doccard__footer,
.dark .plans-bottom-bar__item p {
    color: var(--text-muted);
}

.dark .plan-card--featured {
    border-color: var(--accent);
    box-shadow: 0 8px 32px rgba(212, 168, 85, 0.18);
}

.dark .plan-card__btn--outline {
    border-color: var(--dark);
    color: var(--dark);
}

.dark .plan-card__btn--outline:hover {
    background: var(--dark);
    color: var(--bg);
}

.dark .plans-doccard__subhead {
    background: var(--bg-alt);
    border-bottom-color: var(--border);
    color: var(--text-muted);
}

.dark .plans-doccard__row {
    color: var(--text);
    border-bottom-color: var(--border);
}

.dark .plans-doccard__row--alt,
.dark .plans-doccard__footer {
    background: var(--bg-alt);
}

.dark .plans-bottom-bar__sep {
    background: var(--border);
}

/* =============================================================
   DASHBOARD (panel cliente)
   ============================================================= */
.dark .dash-wrap {
    background: var(--bg);
}

.dark .dash-card,
.dark .dash-card__header,
.dark .dash-card__footer,
.dark .dash-modal__box {
    background: var(--white);
    border-color: var(--border);
}

.dark .dash-card {
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
}

.dark .dash-aside {
    border-right-color: var(--border);
}

.dark .dash-card__header-icon {
    background: rgba(42, 157, 143, 0.16);
    color: #5eead4;
}

.dark .dash-avatar__img {
    background: #2a3540;
    color: var(--text-muted);
}

.dark .dash-stat,
.dark .dash-action-btn,
.dark .dash-modal__input,
.dark .dash-modal__static,
.dark .dash-modal__cancel {
    background: var(--bg-alt);
    border-color: var(--border);
    color: var(--text);
}

.dark .dash-stat__value {
    color: var(--dark);
}

.dark .dash-stat__icon--credits {
    background: rgba(42, 157, 143, 0.16);
    color: #5eead4;
}

.dark .dash-stat__icon--plan {
    background: rgba(212, 168, 85, 0.16);
    color: var(--accent);
}

.dark .dash-info__icon {
    background: var(--bg-alt);
    color: var(--text-muted);
}

.dark .dash-info__row {
    border-bottom-color: var(--border);
}

.dark .dash-action-btn:hover {
    background: var(--bg);
    border-color: var(--accent);
}

.dark .dash-logout-btn {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
    color: #fca5a5;
}

.dark .dash-logout-btn:hover {
    background: rgba(239, 68, 68, 0.18);
    border-color: #fca5a5;
}

.dark .dash-modal__close {
    background: var(--bg-alt);
    color: var(--text-muted);
}

.dark .dash-modal__close:hover {
    background: var(--border);
}

.dark .dash-credit-pkg__card {
    border-color: var(--border);
}

.dark .dash-credit-pkg__card--popular {
    background: rgba(212, 168, 85, 0.08);
}

.dark .dash-alert--success {
    background: rgba(34, 197, 94, 0.12);
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.25);
}

/* =============================================================
   DASHBOARD (panel cliente) — bloque <style> inline en
   resources/views/dashboard.blade.php (clases db-*)
   ============================================================= */
.dark .db-layout-wrap {
    background: var(--bg);
}

.dark .db-left {
    background: var(--white);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

.dark .db-stat {
    background: var(--bg-alt);
    border-color: var(--border);
}

.dark .db-stat__icon--credits {
    background: rgba(42, 157, 143, 0.16);
    color: #5eead4;
}

.dark .db-stat__icon--docs {
    background: rgba(59, 130, 246, 0.16);
    color: #93c5fd;
}

.dark .db-stat__icon--plan {
    background: rgba(212, 168, 85, 0.16);
    color: var(--accent);
}

.dark .db-stat__val {
    color: var(--dark);
}

.dark .db-stat__lbl {
    color: var(--text-muted);
}

.dark .db-btn--outline {
    background: transparent;
    color: var(--text-muted);
    border-color: var(--border);
}

.dark .db-btn--outline:hover {
    background: var(--bg-alt);
    border-color: var(--dark);
    color: var(--dark);
}

.dark .db-divider {
    border-top-color: var(--border);
}

.dark .db-cargo__title,
.dark .db-cargo-card__title,
.dark .db-asistente-opt__name {
    color: var(--dark);
    border-top-color: var(--border);
}

.dark .db-cargo__sub,
.dark .db-cargo__desc,
.dark .db-cargo__note,
.dark .db-cargo-card__sub,
.dark .db-cargo-card__lbl,
.dark .db-asistente-opt__desc {
    color: var(--text-muted);
}

.dark .db-cargo__info {
    background: var(--bg-alt);
    border-left-color: var(--border);
    color: var(--text-muted);
}

.dark .db-cargo,
.dark .db-asistente-opt {
    background: var(--bg-alt);
    border-color: var(--border);
}

.dark .db-cargo:hover,
.dark .db-asistente-opt:hover {
    background: var(--white);
    border-color: var(--accent);
}

.dark .db-cargo__icon,
.dark .db-asistente-opt__icon {
    background: var(--white);
    color: var(--text-muted);
}

.dark .db-cargo__name {
    color: var(--dark);
}

.dark .db-cargo__arrow {
    color: var(--border);
}

.dark .db-cargo-card {
    background: rgba(212, 168, 85, 0.08);
    border-color: var(--accent);
}

.dark .db-cargo-card__head {
    background: var(--bg-alt);
    border-bottom-color: var(--border);
}

.dark .db-cargo-card__badge {
    background: rgba(212, 168, 85, 0.16);
    color: var(--accent);
}

.dark .db-cargo-card__val {
    color: var(--text);
}

.dark .db-cargo-card__edit {
    border-color: rgba(59, 130, 246, 0.35);
    color: #93c5fd;
}

.dark .db-cargo-card__edit:hover {
    background: rgba(59, 130, 246, 0.15);
    border-color: #93c5fd;
}

.dark .db-cargo-card__del {
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

.dark .db-cargo-card__del:hover {
    background: rgba(239, 68, 68, 0.15);
    border-color: #fca5a5;
}

.dark .dash-modal__back {
    color: var(--text-muted);
}

.dark .dash-modal__back:hover {
    color: var(--dark);
    background: var(--bg-alt);
}

.dark .dash-modal__fields::-webkit-scrollbar-track {
    background: var(--bg-alt);
}

.dark .dash-modal__fields::-webkit-scrollbar-thumb {
    background: var(--border);
}

.dark .dash-bloque-label {
    background: rgba(212, 168, 85, 0.12);
    color: var(--accent);
    border-left-color: var(--accent);
}

.dark .db-footer {
    background: var(--bg-alt);
    border-top-color: var(--border);
}

.dark .db-logout {
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

.dark .db-logout:hover {
    background: rgba(239, 68, 68, 0.15);
}

.dark .bienvenida-box {
    background: var(--white);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
}

.dark .bienvenida-sup,
.dark .bienvenida-desc {
    color: var(--text-muted);
}

.dark .bienvenida-title,
.dark .bienvenida-label {
    color: var(--dark);
}

.dark .bienvenida-btn--ghost {
    color: var(--text-muted);
}

/* =============================================================
   MIS DOCUMENTOS — badges con tinte
   ============================================================= */
.dark .md-page {
    background: var(--bg);
}

.dark .md-card:hover {
    border-color: var(--accent);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.dark .md-card__badge--generado {
    background: rgba(59, 130, 246, 0.16);
    color: #93c5fd;
}

.dark .md-card__badge--editado {
    background: rgba(245, 158, 11, 0.16);
    color: #fcd34d;
}

.dark .md-card__badge--finalizado {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.dark .md-action-btn--dl {
    color: #93c5fd;
    background: var(--bg-alt);
}

.dark .md-action-btn--pdf {
    color: #fca5a5;
    background: var(--bg-alt);
}

.dark .md-card__badge--protegido {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.dark .md-card__badge--pendiente {
    background: rgba(59, 130, 246, 0.16);
    color: #93c5fd;
}

/* -- Banners de vault (clases Tailwind con colores fijos) -- */
.dark .md-page [class*="bg-amber-50"] {
    background: rgba(212, 168, 85, 0.12);
    border-color: rgba(212, 168, 85, 0.35);
}

.dark .md-page [class*="bg-slate-50"] {
    background: var(--md-cream);
    border-color: var(--md-border);
}

.dark .md-page [class*="bg-emerald-50"] {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.35);
}

.dark .md-page [class*="bg-rose-50"] {
    background: rgba(239, 68, 68, 0.16);
}

.dark .md-page [class*="text-amber-950"],
.dark .md-page [class*="text-slate-800"],
.dark .md-page [class*="text-emerald-950"],
.dark .md-page [class*="text-slate-700"] {
    color: var(--md-dark);
}

.dark .md-page [class*="text-slate-600"],
.dark .md-page [class*="text-slate-500"],
.dark .md-page [class*="text-slate-400"] {
    color: var(--md-muted);
}

.dark .md-page [class*="border-amber-300"],
.dark .md-page [class*="border-slate-300"],
.dark .md-page [class*="border-emerald-200"],
.dark .md-page [class*="border-slate-400"],
.dark .md-page [class*="border-emerald-400"] {
    border-color: var(--md-border);
}

/* -- Tarjetas de "generación en segundo plano" -- */
.dark .md-page [data-generation-card] {
    background: var(--md-white);
    border-color: var(--md-border);
}

.dark .md-page [data-generation-card] [class*="text-slate-900"] {
    color: var(--md-dark);
}

.dark .md-page [data-generation-card] [class*="bg-slate-100"] {
    background: var(--md-cream);
}

.dark .md-page [data-generation-card] [class*="border-slate-200"] {
    border-color: var(--md-border);
}

.dark .md-page [data-generation-card] [class*="bg-gold/10"] {
    background: rgba(212, 168, 85, 0.16);
}

/* =============================================================
   REDACTAR (formulario de inicio)
   ============================================================= */
.dark .rd-page {
    background: var(--bg);
}

.dark .rd-credits-bar {
    background: var(--white);
    border-bottom-color: var(--rd-border);
}

/* =============================================================
   LIBRO DE RECLAMACIONES
   ============================================================= */
.dark .lr-hero,
.dark .lr-body {
    background: var(--bg);
}

.dark .lr-hero__indecopi-seal,
.dark .lr-form-card,
.dark .lr-side-card {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

.dark .lr-hero__badge {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.3);
    color: #fcd34d;
}

.dark .lr-success {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
    border-left-color: #22c55e;
}

.dark .lr-success__icon {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.dark .lr-success__title {
    color: #86efac;
}

.dark .lr-success__msg {
    color: #bbf7d0;
}

.dark .lr-form__input,
.dark .lr-form__select,
.dark .lr-form__textarea {
    background: var(--bg-alt);
    border-color: var(--border-input);
    color: var(--text);
}

.dark .lr-tipo-option {
    background: var(--bg-alt);
    border-color: var(--border);
}

.dark .lr-tipo-option:hover {
    border-color: var(--accent-dk);
}

.dark .lr-tipo-option.is-selected {
    background: rgba(212, 168, 85, 0.1);
    border-color: var(--accent);
}

.dark .lr-tipo-option__dot {
    border-color: var(--border-input);
}

.dark .lr-tipo-option__name {
    color: var(--dark);
}

.dark .lr-legal-notice {
    background: var(--bg-alt);
    border-color: var(--border);
    color: var(--text-muted);
}

.dark .lr-diff-item__icon--reclamo {
    background: rgba(212, 168, 85, 0.14);
    color: var(--accent);
}

.dark .lr-diff-item__icon--queja {
    background: rgba(239, 68, 68, 0.14);
    color: #fca5a5;
}

.dark .lr-legal-link:hover {
    background: rgba(212, 168, 85, 0.1);
}

/* =============================================================
   PAGO
   ============================================================= */
.dark .pago-card,
.dark .pago-summary,
.dark .pago-panel {
    background: var(--white);
    border-color: var(--border);
    color: var(--text);
}

.dark .pago-test-scenario__icon--ok {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.dark .pago-test-scenario__icon--err {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
}

/* =============================================================
   ADMIN
   ============================================================= */
.dark .admin-body {
    background: #0b0f13;
    color: var(--text);
}

.dark .admin-topbar {
    background: var(--white);
    border-bottom-color: var(--border);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.dark .admin-topbar__toggle {
    color: var(--dark);
}

.dark .admin-topbar__toggle:hover {
    background: var(--bg-alt);
}

.dark .admin-topbar__title {
    color: var(--dark);
}

.dark .admin-topbar__date {
    background: var(--bg-alt);
    border-color: var(--border);
    color: var(--text-muted);
}

.dark .admin-topbar__client-btn {
    background: var(--bg-alt);
    border-color: var(--accent);
    color: var(--accent);
}

.dark .admin-topbar__client-btn:hover {
    background: var(--accent);
    color: #10161c;
}

.dark .admin-alert--success {
    background: rgba(34, 197, 94, 0.12);
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.25);
}

.dark .admin-alert--error {
    background: rgba(239, 68, 68, 0.12);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.25);
}

.dark .admin-kpi,
.dark .admin-card,
.dark .admin-plan-card,
.dark .admin-config-card,
.dark .admin-modal__box {
    background: var(--white);
    border-color: var(--border);
}

.dark .admin-kpi__icon--blue { background: rgba(59, 130, 246, 0.16); color: #93c5fd; }
.dark .admin-kpi__icon--gold { background: rgba(212, 168, 85, 0.16); color: var(--accent); }
.dark .admin-kpi__icon--green { background: rgba(34, 197, 94, 0.16); color: #86efac; }
.dark .admin-kpi__icon--purple { background: rgba(139, 92, 246, 0.16); color: #c4b5fd; }

.dark .admin-table thead tr {
    border-bottom-color: var(--border);
}

.dark .admin-table th {
    color: var(--text-muted);
}

.dark .admin-table td {
    border-bottom-color: var(--border);
    color: var(--text);
}

.dark .admin-table tbody tr:hover td,
.dark .consumo-ia-rates__summary:hover,
.dark .consumo-ia-rates-table__new td,
.dark .admin-plan-card__stats {
    background: rgba(255, 255, 255, 0.03);
}

.dark .admin-badge--gray { background: rgba(148, 163, 184, 0.16); color: #cbd5e1; }
.dark .admin-badge--gold { background: rgba(212, 168, 85, 0.16); color: var(--accent); border-color: rgba(212, 168, 85, 0.3); }
.dark .admin-badge--green { background: rgba(34, 197, 94, 0.16); color: #86efac; }
.dark .admin-badge--red { background: rgba(239, 68, 68, 0.16); color: #fca5a5; }
.dark .admin-badge--blue { background: rgba(59, 130, 246, 0.16); color: #93c5fd; }

.dark .admin-btn-icon,
.dark .admin-btn--outline,
.dark .admin-search__input,
.dark .admin-form__input--sm,
.dark .admin-form input,
.dark .admin-form select,
.dark .admin-form textarea,
.dark .doxenia-pagination__nav,
.dark .admin-pagination .page-link {
    background: var(--bg-alt);
    border-color: var(--border);
    color: var(--text);
}

.dark .admin-btn-icon:hover,
.dark .admin-btn--outline:hover,
.dark .consumo-ia-preset:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(245, 239, 230, 0.2);
}

.dark .admin-btn-icon--danger,
.dark .admin-btn--danger {
    background: rgba(239, 68, 68, 0.12);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.25);
}

.dark .admin-btn-icon--danger:hover,
.dark .admin-btn--danger:hover {
    background: rgba(239, 68, 68, 0.2);
}

.dark .admin-plan-card--featured {
    border-color: var(--accent);
}

.dark .admin-modal__header {
    background: var(--white);
    border-bottom-color: var(--border);
}

.dark .admin-modal__close {
    background: var(--bg-alt);
    color: var(--text-muted);
}

.dark .admin-modal__close:hover {
    background: rgba(239, 68, 68, 0.14);
    color: #fca5a5;
}

.dark .admin-config-breadcrumb__sep {
    color: var(--text-muted);
}

.dark .consumo-ia-preset {
    background: var(--bg-alt);
    border-color: var(--border);
    color: var(--text);
}

.dark .admin-config-card__icon--brain { background: rgba(194, 65, 12, 0.16); color: #fdba74; }
.dark .admin-config-card__icon--google { background: var(--bg-alt); border-color: var(--border); }
.dark .admin-config-card__icon--credit-card { background: rgba(29, 78, 216, 0.16); color: #93c5fd; }
.dark .admin-config-card__icon--message { background: rgba(4, 120, 87, 0.18); color: #6ee7b7; }
.dark .admin-config-card__icon--document { background: rgba(124, 58, 237, 0.16); color: #c4b5fd; }
.dark .admin-config-card__icon--legal { background: rgba(212, 168, 85, 0.16); color: var(--accent); }
.dark .admin-config-card__icon--video { background: rgba(220, 38, 38, 0.16); color: #fca5a5; }

/* =============================================================
   FORMULARIOS & ESTADOS COMPARTIDOS
   ============================================================= */
.dark input,
.dark select,
.dark textarea {
    color-scheme: dark;
}

.dark .alert-success,
.dark .flash-success {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.25);
    color: #86efac;
}

.dark .alert-error,
.dark .flash-error {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.25);
    color: #fca5a5;
}

.dark .alert-warning {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.25);
    color: #fcd34d;
}
