 body {
     background-color: #212529;
     color: #f8f9fa;
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
 }

 .navbar-brand img {
     height: 40px;
     margin-right: 10px;
 }

 .header-section {
     /* Caminho relativo para a imagem de fundo */
     /* A imagem 'cs_banner.jpg' está dentro da pasta 'img', 
               que está no mesmo nível do index.php */
     background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('img/cs_banner.jpg') no-repeat;
     background-size: cover;
     background-position: center 20%;
     /* ↑↑↑ CERTIFIQUE-SE DE QUE O NOME DA PASTA E DA IMAGEM ESTÃO CORRETOS ↑↑↑ */

     background-size: cover;
     padding: 5rem 1.5rem;
     text-align: center;
     color: white;
     border-radius: 0 0 .5rem .5rem;
     margin-bottom: 2rem;
     position: relative;
 }

 .header-section .container {
     position: relative;
     /* Garante que o conteúdo do container fique acima do gradiente */
     z-index: 2;
     /* Garante que o texto (h1, p) fique na frente do fundo */
 }

 .header-section h1 {
     font-size: 3rem;
     /* Tamanho do título principal */
     font-weight: bold;
     text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
     /* Sombra para destacar o texto */
 }

 .header-section p {
     font-size: 1.25rem;
     /* Tamanho do subtítulo */
 }

 .file-card {
     background-color: #343a40;
     border: 1px solid #495057;
     transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
     display: flex;
     flex-direction: column;
 }

 .file-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
 }

 .file-card .card-header {
     background-color: #495057;
     color: #f8f9fa;
     font-weight: bold;
     border-bottom: 1px solid #343a40;
 }

 .file-card .card-body {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: space-between;
     text-align: center;
     flex-grow: 1;
     padding-bottom: 1rem;
 }

 .file-card .file-info-top {
     margin-bottom: 1rem;
 }

 .file-card .file-icon {
     font-size: 3rem;
     margin-bottom: 0.5rem;
     color: #adb5bd;
 }

 .file-card .card-buttons {
     margin-top: auto;
     width: 100%;
     display: flex;
     justify-content: space-around;
     padding: 0 0.5rem;
 }

 .file-card .btn-download,
 .file-card .btn-details {
     background-color: #ffc107;
     border-color: #ffc107;
     color: #212529;
     font-weight: bold;
     flex-grow: 1;
     margin: 0 0.25rem;
 }

 .file-card .btn-details {
     background-color: #6c757d;
     border-color: #6c757d;
     color: #f8f9fa;
 }

 .file-card .btn-download:hover {
     background-color: #e0a800;
     border-color: #d39e00;
 }

 .file-card .btn-details:hover {
     background-color: #5a6268;
     border-color: #545b62;
 }

 .footer {
     background-color: #343a40;
     color: #adb5bd;
     padding: 2rem 0;
     margin-top: 3rem;
     border-top: 1px solid #495057;
 }

 .footer p {
     margin-bottom: 0;
 }

 .no-files-alert {
     background-color: #343a40;
     border-color: #495057;
     color: #adb5bd;
 }

 .metadata-error-alert {
     background-color: #dc3545;
     /* Cor de perigo do Bootstrap */
     border-color: #c82333;
     color: white;
 }

 .modal-content {
     background-color: #343a40;
     color: #f8f9fa;
 }

 .modal-header {
     border-bottom: 1px solid #495057;
 }

 .modal-footer {
     border-top: 1px solid #495057;
 }

 .modal-title {
     color: #ffc107;
 }

 .modal-body h5 {
     color: #ffc107;
     margin-top: 1rem;
     margin-bottom: 0.5rem;
 }

 .modal-body p,
 .modal-body ul,
 .modal-body ol {
     color: #e9ecef;
 }

 .modal-body code {
     background-color: #495057;
     padding: 0.2em 0.4em;
     border-radius: 3px;
     color: #f8f9fa;
 }