body { 
    font-family: 'Segoe UI', system-ui, sans-serif; 
    background-color: #12181f; /* Fondo oscuro medianoche suave */
    color: #e2e8f0; /* Texto claro legible */
    padding: 20px; 
    margin: 0; 
}

.container { 
    max-width: 650px; 
    margin: 0 auto; 
}

h1 { 
    font-size: 22px; 
    margin-bottom: 15px; 
    color: #ffffff; 
    text-align: center; 
}

label { 
    font-weight: bold; 
    font-size: 13px; 
    display: block; 
    margin-bottom: 5px; 
    color: #94a3b8; /* Gris azulado suave para etiquetas */
}

/* Espacio de Publicidad adaptado */
.ad-space { 
    background: #1e293b; 
    border: 1px dashed #475569; 
    border-radius: 6px; 
    padding: 10px; 
    margin-bottom: 20px; 
    min-height: 40px; 
}

/* DISEÑO DE PESTAÑAS (TABS) EN MODO OSCURO */
.tabs-container { 
    display: flex; 
    gap: 4px; 
    margin-bottom: 20px; 
    border-bottom: 2px solid #334155; 
}

.tab-btn { 
    flex: 1;
    background: #1e293b; /* Botones inactivos oscuros */
    border: none; 
    padding: 12px 8px; 
    font-size: 13px; 
    font-weight: bold; 
    cursor: pointer; 
    border-radius: 6px 6px 0 0; 
    color: #94a3b8; 
    transition: all 0.15s; 
    text-align: center;
}

.tab-btn.active { 
    background: #0f172a; /* Pestaña activa resalta en negro azulado */
    color: #38bdf8; /* Azul brillante relajante para la pestaña activa */
    border: 2px solid #334155; 
    border-bottom: 2px solid #0f172a; 
    margin-bottom: -2px; 
}

.tab-content { display: none; }
.tab-content.active { display: block; }

/* REJILLAS Y ENTRADAS DE CALCULADORA */
.calculator-grid { 
    display: grid; 
    grid-template-columns: 1fr 1fr 1fr; 
    gap: 10px; 
    margin-bottom: 12px; 
}

.input-group input, .input-group select { 
    width: 100%; 
    padding: 8px; 
    border: 1px solid #334155; 
    background-color: #0f172a; /* Fondo de inputs oscuro */
    color: #ffffff; 
    border-radius: 4px; 
    font-size: 13px; 
    box-sizing: border-box; 
}

.input-group input:focus, .input-group select:focus {
    border-color: #38bdf8;
    outline: none;
}

/* CHECKBOXES ADAPTADOS PARA NO CANSAR */
.checkbox-list-title { 
    font-size: 12px; 
    font-weight: bold; 
    margin: 10px 0 6px 0; 
    color: #cbd5e1; 
}

.checkbox-grid { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 8px; 
    margin-bottom: 12px; 
}

.checkbox-column { 
    display: flex; 
    flex-direction: column; 
    gap: 6px; 
    margin-bottom: 12px; 
}

.check-item { 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    font-size: 12px; 
    color: #e2e8f0; 
    cursor: pointer; 
    background: #1e293b; /* Fondo de cada item grisáceo azulado */
    padding: 6px 10px; 
    border-radius: 4px; 
    border: 1px solid #334155; 
}

/* COMPONENTES DE LAS TARJETAS (MANTENIENDO IDENTIDAD DE BORDES) */
.card { 
    background: #1e293b; /* Fondo de tarjetas suave */
    border-radius: 8px; 
    padding: 15px; 
    margin-bottom: 15px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.2); 
    border: 1px solid #334155; 
}

.card-header { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-bottom: 10px; 
}

.card-header h3 { 
    margin: 0; 
    font-size: 14px; 
    color: #f1f5f9; 
    font-weight: bold; 
}

/* IDENTIFICADORES DE BORDES POR TARJETA (MANTENIDOS) */
.renal-card { border-left: 4px solid #3498db; }
.scrm-card { border-left: 4px solid #e67e22; }
.curb-card { border-left: 4px solid #2ecc71; }
.obs-card { border-left: 4px solid #9b59b6; }
.text-output-card { border-left: 4px solid #8e44ad; background-color: #1e1b4b; /* Púrpura muy oscuro mate */ }

/* TEXTAREAS INTERACTIVOS ADAPTADOS */
textarea { 
    width: 100%; 
    border: 1px solid #334155; 
    border-radius: 4px; 
    padding: 10px; 
    font-size: 12px; 
    font-family: sans-serif; 
    resize: vertical; 
    box-sizing: border-box; 
    background-color: #0f172a; /* Fondo oscuro profundo */
    color: #f8fafc; 
    line-height: 1.4; 
}

textarea:focus { 
    background-color: #0f172a; 
    border-color: #38bdf8; 
    outline: none; 
}

/* Textareas de reportes automáticos consolidantes */
textarea[readonly] { 
    background-color: #0b0f19; 
    border-color: #4a235a; 
    font-family: 'Courier New', monospace; 
    font-size: 13px; 
    color: #e2e8f0; 
}

/* BUSCADORES DE PATOLOGÍAS (PESTAÑA 2) */
.search-block { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 15px; 
    margin-bottom: 20px; 
}

.control-group { position: relative; }

#search_input, #dx_select { 
    width: 100%; 
    padding: 10px; 
    border: 1px solid #334155; 
    border-radius: 6px; 
    font-size: 13px; 
    box-sizing: border-box; 
    background-color: #0f172a; 
    color: #ffffff;
    height: 41px; 
}

.search-results { 
    position: absolute; 
    top: 100%; 
    left: 0; 
    right: 0; 
    background: #1e293b; 
    border: 1px solid #334155; 
    border-top: none; 
    border-radius: 0 0 6px 6px; 
    max-height: 180px; 
    overflow-y: auto; 
    z-index: 1000; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.4); 
}

.search-item { 
    padding: 10px; 
    cursor: pointer; 
    font-size: 12px; 
    color: #e2e8f0;
    border-bottom: 1px solid #334155; 
}

.search-item:hover { 
    background-color: #3498db; 
    color: white; 
}

/* CUADROS DE RESULTADO DIRECTO DE CALCULADORAS (DINÁMICOS) */
.result-box { 
    margin-top: 12px; 
    padding: 10px; 
    border-radius: 4px; 
    font-size: 13px; 
    line-height: 1.4; 
    border: 1px solid rgba(255,255,255,0.1) !important; 
    /* Forzamos opacidad para que en modo oscuro los fondos chillones sean mate y descansen la vista */
    filter: brightness(0.85); 
}

/* BOTONES CON CONTRASTE CORRECTO SIN SER AGRESIVOS */
.btn-calc { 
    width: 100%; 
    background-color: #475569; 
    color: white; 
    border: none; 
    padding: 10px; 
    font-size: 13px; 
    font-weight: bold; 
    border-radius: 4px; 
    cursor: pointer; 
}
.btn-calc:hover { background-color: #334155; }

.btn-copy { 
    background-color: #0284c7; 
    color: white; 
    border: none; 
    padding: 6px 12px; 
    font-size: 11px; 
    font-weight: bold; 
    border-radius: 4px; 
    cursor: pointer; 
}
.btn-copy:hover { filter: brightness(1.2); }

.btn-plan { background-color: #16a34a; }
.btn-purple { background-color: #7c3aed; }