/* atto3_instalacion.css */

:root {
    /* --- TEMA DARK (Por defecto) --- */
    --bg-main: radial-gradient(circle at top center, #1a2a3a 0%, #0f1214 80%);
    --text-main: #e0e0e0;
    --text-title: #ffffff;
    --text-muted: #8b949e;
    --text-secondary: #6c757d;

    --card-bg: rgba(20, 25, 30, 0.8);
    --card-border: rgba(0, 210, 255, 0.3);
    --card-shadow: 0 0 20px rgba(0, 210, 255, 0.05);
    --card-hover-border: #00d2ff;
    --card-hover-shadow: 0 0 30px rgba(0, 210, 255, 0.15);

    --input-bg: #1c2024;
    --input-border: #343a40;
    --input-text: #e0e0e0;
    --input-placeholder: #6c757d;
    --input-focus-border: #00d2ff;
    --input-focus-shadow: 0 0 0 0.25rem rgba(0, 210, 255, 0.25);

    --tab-border: rgba(0, 210, 255, 0.3);
    --tab-text: #e0e0e0;
    --tab-active: #00d2ff;

    --alert-danger-bg: rgba(220, 53, 69, 0.1);
    --alert-danger-border: rgba(220, 53, 69, 0.5);
    --alert-danger-text: #ff8b94;
    --alert-danger-shadow: 0 0 15px rgba(220, 53, 69, 0.1);

    --accordion-bg: rgba(255, 255, 255, 0.05);
    --accordion-border: rgba(255, 255, 255, 0.1);
    --accordion-text: #e0e0e0;
    --accordion-active-bg: rgba(0, 210, 255, 0.1);
    --accordion-active-text: #00d2ff;

    --datalist-bg: #1c2024;
    --datalist-text: white;

    --cyan-primary: #00d2ff;
    --cyan-glow: rgba(0, 210, 255, 0.5);
}

[data-theme='light'] {
    /* --- TEMA LIGHT --- */
    --bg-main: radial-gradient(circle at top center, #e8f1f5 0%, #f5f5f5 80%);
    --text-main: #1a1a1a;
    --text-title: #000000;
    --text-muted: #6c757d;
    --text-secondary: #495057;

    --card-bg: rgba(255, 255, 255, 0.95);
    --card-border: rgba(0, 0, 0, 0.15);
    --card-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    --card-hover-border: rgba(0, 0, 0, 0.3);
    --card-hover-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);

    --input-bg: #ffffff;
    --input-border: #dee2e6;
    --input-text: #1a1a1a;
    --input-placeholder: #6c757d;
    --input-focus-border: #0066cc;
    --input-focus-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25);

    --tab-border: rgba(0, 0, 0, 0.2);
    --tab-text: #495057;
    --tab-active: #0066cc;

    --alert-danger-bg: rgba(220, 53, 69, 0.15);
    --alert-danger-border: rgba(220, 53, 69, 0.6);
    --alert-danger-text: #721c24;
    --alert-danger-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);

    --accordion-bg: rgba(0, 0, 0, 0.03);
    --accordion-border: rgba(0, 0, 0, 0.1);
    --accordion-text: #1a1a1a;
    --accordion-active-bg: rgba(0, 102, 204, 0.1);
    --accordion-active-text: #0066cc;

    --datalist-bg: #ffffff;
    --datalist-text: #000;

    --cyan-primary: #0066cc;
    --cyan-glow: rgba(0, 102, 204, 0.3);
}

/* FONDO GLOBAL */
body {
    background: var(--bg-main) !important;
    color: var(--text-main);
}

/* TARJETAS DE CRISTAL (GLASS CARD) */
.glass-card {
    background-color: var(--card-bg);
    backdrop-filter: blur(10px);
    border: 1px solid var(--card-border);
    border-radius: 12px;
    box-shadow: var(--card-shadow);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

[data-theme='light'] .glass-card {
    border-width: 2px;
}

.glass-card:hover {
    border-color: var(--card-hover-border);
    box-shadow: var(--card-hover-shadow);
}

/* INPUTS */
.content-wrapper .form-control,
.content-wrapper .form-select {
    background-color: var(--input-bg);
    border: 1px solid var(--input-border);
    color: var(--input-text);
}

[data-theme='light'] .content-wrapper .form-control,
[data-theme='light'] .content-wrapper .form-select {
    border-width: 2px;
}

.content-wrapper .form-control:focus,
.content-wrapper .form-select:focus {
    background-color: var(--input-bg);
    color: var(--input-text);
    border-color: var(--input-focus-border);
    box-shadow: var(--input-focus-shadow);
}

.content-wrapper .form-control::placeholder,
.content-wrapper input::placeholder,
.content-wrapper textarea::placeholder {
    color: var(--input-placeholder) !important;
    opacity: 0.8;
}

[data-theme='light'] .content-wrapper .form-control::placeholder,
[data-theme='light'] .content-wrapper input::placeholder,
[data-theme='light'] .content-wrapper textarea::placeholder {
    opacity: 1;
}

/* TABS PERSONALIZADOS */
.content-wrapper .nav-tabs {
    border-bottom: 1px solid var(--tab-border);
}

[data-theme='light'] .content-wrapper .nav-tabs {
    border-bottom-width: 2px;
}

.content-wrapper .nav-tabs .nav-link {
    color: var(--tab-text);
    border: none;
    background: transparent;
    transition: color 0.3s;
}

.content-wrapper .nav-tabs .nav-link:hover {
    color: var(--text-title);
    border-color: transparent;
}

.content-wrapper .nav-tabs .nav-link.active {
    background-color: transparent;
    color: var(--tab-active);
    border: none;
    border-bottom: 3px solid var(--tab-active);
    font-weight: 700;
}

/* ALERTAS PERSONALIZADAS */
.content-wrapper .alert-danger-custom {
    background-color: var(--alert-danger-bg);
    border: 1px solid var(--alert-danger-border);
    color: var(--alert-danger-text);
    box-shadow: var(--alert-danger-shadow);
}

[data-theme='light'] .content-wrapper .alert-danger-custom {
    border-width: 2px;
}

/* ACORDEÓN */
.content-wrapper .accordion-item {
    background-color: transparent;
    border: 1px solid var(--accordion-border);
}

[data-theme='light'] .content-wrapper .accordion-item {
    border-width: 2px;
}

.content-wrapper .accordion-button {
    background-color: var(--accordion-bg);
    color: var(--accordion-text);
}

.content-wrapper .accordion-button:not(.collapsed) {
    background-color: var(--accordion-active-bg);
    color: var(--accordion-active-text);
    box-shadow: none;
}

.content-wrapper .accordion-body {
    color: var(--accordion-text);
}

/* TEXTO DE AYUDA */
.content-wrapper .form-text,
.content-wrapper .text-muted {
    color: var(--text-muted) !important;
}

/* SCROLLBAR PARA LISTAS */
.content-wrapper datalist {
    background-color: var(--datalist-bg);
    color: var(--datalist-text);
}

/* TÍTULOS */
.content-wrapper .page-title {
    color: var(--cyan-primary) !important;
    text-shadow: 0 0 15px var(--cyan-glow) !important;
}

[data-theme='light'] .content-wrapper .page-title {
    text-shadow: 0 2px 4px var(--cyan-glow) !important;
}

/* TEXTO SECUNDARIO */
[data-theme='light'] .content-wrapper .text-secondary {
    color: var(--text-secondary) !important;
}

/* ESTRELLAS VACÍAS */
[data-theme='light'] .content-wrapper .bi-star {
    opacity: 0.3;
}

/* BADGES */
[data-theme='light'] .content-wrapper .badge.bg-light {
    background-color: #e9ecef !important;
    color: #000 !important;
    border-color: #000 !important;
}

/* BOTÓN DE CAMBIO DE TEMA */
.theme-toggle {
    position: fixed;
    top: 80px;
    right: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    transition: all 0.3s ease;
    z-index: 1000;
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.theme-toggle:hover {
    transform: scale(1.1) rotate(15deg);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
}

.theme-toggle i {
    font-size: 1.3rem;
    color: #fff;
    transition: transform 0.3s ease;
}

.theme-toggle:hover i {
    transform: rotate(20deg);
}

/* === TEMA LIGHT: TEXTOS OSCUROS === */
[data-theme='light'] .content-wrapper {
    color: #1a1a1a !important;
}

/* Títulos y encabezados */
[data-theme='light'] .content-wrapper h1,
[data-theme='light'] .content-wrapper h2,
[data-theme='light'] .content-wrapper h3,
[data-theme='light'] .content-wrapper h4,
[data-theme='light'] .content-wrapper h5,
[data-theme='light'] .content-wrapper h6 {
    color: #000000 !important;
}

/* Párrafos y texto general */
[data-theme='light'] .content-wrapper p,
[data-theme='light'] .content-wrapper span,
[data-theme='light'] .content-wrapper div,
[data-theme='light'] .content-wrapper label,
[data-theme='light'] .content-wrapper small {
    color: #1a1a1a;
}

/* Lead text */
[data-theme='light'] .content-wrapper .lead {
    color: #495057 !important;
}

/* Textos en tarjetas */
[data-theme='light'] .content-wrapper .glass-card,
[data-theme='light'] .content-wrapper .card {
    color: #1a1a1a;
}

[data-theme='light'] .content-wrapper .card-title {
    color: #000000 !important;
}

/* Alertas */
[data-theme='light'] .content-wrapper .alert {
    color: #1a1a1a;
}

[data-theme='light'] .content-wrapper .alert-heading {
    color: #000000 !important;
}

/* Botones de texto */
[data-theme='light'] .content-wrapper .btn {
    color: #1a1a1a;
}

/* Listas */
[data-theme='light'] .content-wrapper ul,
[data-theme='light'] .content-wrapper ol,
[data-theme='light'] .content-wrapper li {
    color: #1a1a1a;
}

/* Strong y énfasis */
[data-theme='light'] .content-wrapper strong,
[data-theme='light'] .content-wrapper b {
    color: #000000;
}

/* Code blocks */
[data-theme='light'] .content-wrapper code {
    color: #0066cc;
    background-color: rgba(0, 102, 204, 0.1);
}

/* Textarea específico para carta legal */
[data-theme='light'] .content-wrapper textarea.font-monospace {
    background-color: #f8f9fa !important;
    color: #000000 !important;
    border-color: #dee2e6 !important;
}

/* Badges con mejor contraste */
[data-theme='light'] .content-wrapper .badge {
    font-weight: 600;
}

[data-theme='light'] .content-wrapper .badge.bg-success {
    background-color: #198754 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .badge.bg-primary {
    background-color: #0066cc !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .badge.bg-secondary {
    background-color: #6c757d !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .badge.bg-danger {
    background-color: #dc3545 !important;
    color: #ffffff !important;
}

/* Iconos Bootstrap */
[data-theme='light'] .content-wrapper .bi {
    color: inherit;
}

/* Textos de éxito */
[data-theme='light'] .content-wrapper .text-success {
    color: #198754 !important;
}

/* Textos de info */
[data-theme='light'] .content-wrapper .text-info {
    color: #0066cc !important;
}

/* Textos de warning */
[data-theme='light'] .content-wrapper .text-warning {
    color: #ff8800 !important;
}

/* Textos de danger */
[data-theme='light'] .content-wrapper .text-danger {
    color: #dc3545 !important;
}

/* Texto en opciones de select */
[data-theme='light'] .content-wrapper option {
    color: #1a1a1a;
    background-color: #ffffff;
}

/* Asegurar que los links sean visibles */
[data-theme='light'] .content-wrapper a {
    color: #0066cc;
}

[data-theme='light'] .content-wrapper a:hover {
    color: #004499;
}

/* === CAJA DE COMENTARIOS === */
.content-wrapper .comment-box {
    background-color: rgba(0, 0, 0, 0.3);
    color: #ccc;
}

[data-theme='light'] .content-wrapper .comment-box {
    background-color: rgba(0, 0, 0, 0.05);
    color: #000000 !important;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

/* === BOTONES BOOTSTRAP EN TEMA LIGHT === */
[data-theme='light'] .content-wrapper .btn-primary {
    background-color: #0066cc !important;
    border-color: #0066cc !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-primary:hover {
    background-color: #0052a3 !important;
    border-color: #0052a3 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-success:hover {
    background-color: #146c43 !important;
    border-color: #146c43 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-outline-success {
    border-color: #198754 !important;
    color: #198754 !important;
}

[data-theme='light'] .content-wrapper .btn-outline-success:hover {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-outline-primary {
    border-color: #0066cc !important;
    color: #0066cc !important;
}

[data-theme='light'] .content-wrapper .btn-outline-primary:hover {
    background-color: #0066cc !important;
    border-color: #0066cc !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-outline-secondary {
    border-color: #6c757d !important;
    color: #495057 !important;
}

[data-theme='light'] .content-wrapper .btn-outline-secondary:hover {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-outline-warning {
    border-color: #ff8800 !important;
    color: #ff8800 !important;
}

[data-theme='light'] .content-wrapper .btn-outline-warning:hover {
    background-color: #ff8800 !important;
    border-color: #ff8800 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-outline-danger {
    border-color: #dc3545 !important;
    color: #dc3545 !important;
}

[data-theme='light'] .content-wrapper .btn-outline-danger:hover {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

[data-theme='light'] .content-wrapper .btn-light {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
    color: #000000 !important;
}

[data-theme='light'] .content-wrapper .btn-light:hover {
    background-color: #e9ecef !important;
    border-color: #dee2e6 !important;
    color: #000000 !important;
}

/* === LABELS Y TEXTOS DE FORMULARIO === */
[data-theme='light'] .content-wrapper .text-light {
    color: #000000 !important;
}

[data-theme='light'] .content-wrapper .form-label {
    color: #000000 !important;
}

[data-theme='light'] .content-wrapper .form-check-label {
    color: #000000 !important;
}

[data-theme='light'] .content-wrapper .form-check-input {
    border-color: #6c757d !important;
}

[data-theme='light'] .content-wrapper .form-check-input:checked {
    background-color: #198754 !important;
    border-color: #198754 !important;
}