 body {
             font-family: 'Roboto', sans-serif;
            background-color: #f8f9fa; /* Light grey background */
            color: #343a40; /* Darker text for better readability */
        }
        .container-fluid {
            max-width: 1400px; /* Mantiene un buon layout sui desktop */
			
        }
		
        .card {
            border-radius: 1rem; /* Rounded cards */
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1); /* Subtle shadow */
        }
        .table {
            border-radius: 1rem; /* Rounded table corners */
            overflow: hidden; /* Ensures rounded corners are visible */
            width: 100%; /* Assicura che la tabella usi tutta la larghezza disponibile */
        }
        
        /* Modifiche per il wrap e la dimensione delle celle */
        .table th, .table td {
            vertical-align: middle;
            padding: 0.75rem; /* Riduci leggermente il padding per risparmiare spazio */
            white-space: normal; /* FONDAMENTALE: Permette il wrap del testo */
            word-wrap: break-word; /* Permette il wrap anche all'interno di parole lunghe */
            overflow-wrap: break-word; 
            min-width: 50px; /* Larghezza minima generale per una buona visualizzazione */
        }
        .table thead th {
            background-color: #007bff; /* Primary blue for table header */
            color: white;
            border-bottom: none; /* Remove default border */
        }
        .table-striped tbody tr:nth-of-type(odd) {
            background-color: #e9f5ff; /* Lighter shade of blue for odd rows */
        }
        .table-hover tbody tr:hover {
            background-color: #cfe2ff; /* Even lighter blue on hover */
        }

        /* Classe per colonne con testo lungo: forziamo una max-width per forzare il wrap */
        .long-text-cell {
            max-width: 150px; /* Larghezza massima, dopo la quale il testo va a capo */
            width: auto;
        }

        /* Dimensioni ottimizzate per le colonne con dati corti/azioni, usando nth-child per più robustezza */
        /* Anno */
        th:nth-child(1), td:nth-child(1) { width: 5%; min-width: 70px; }
        
        /* Ciclo (DIMENSIONI RIDOTTE e wrap a 7 caratteri max, circa 65px) */
        th:nth-child(2), td:nth-child(2) { 
            width: 65px; 
            min-width: 65px; 
            max-width: 65px; /* Forza la limitazione di larghezza */
            padding: 0.5rem; /* Riduci il padding in questa cella per ottimizzare lo spazio */
        }
        
        /* Abstract, Link */
        th:nth-child(8), td:nth-child(8) { width: 5%; min-width: 90px; }
        th:nth-child(9), td:nth-child(9) { width: 5%; min-width: 90px; }
        /* PDF (Icona + Pulsante) */
        th:nth-child(10), td:nth-child(10) { width: 10%; min-width: 120px; }
        /* Azioni (Pulsante Elimina) */
        th:nth-child(11), td:nth-child(11) { width: 5%; min-width: 80px; }

        .btn {
            border-radius: 0.5rem; /* Rounded buttons */
            padding: 0.75rem 1.25rem;
        }
        .btn-primary {
            background-color: #007bff;
            border-color: #007bff;
        }
        .btn-primary:hover {
            background-color: #0056b3;
            border-color: #0056b3;
        }
        .btn-success {
            background-color: #28a745;
            border-color: #28a745;
        }
        .btn-success:hover {
            background-color: #218838;
            border-color: #218838;
        }
        .btn-info {
            background-color: #17a2b8;
            border-color: #17a2b8;
            color: white;
        }
        .btn-info:hover {
            background-color: #138496;
            border-color: #138496;
        }
        .btn-danger {
            background-color: #dc3545;
            border-color: #dc3545;
        }
        .btn-danger:hover {
            background-color: #c82333;
            border-color: #c82333;
        }
        .btn-outline-danger {
            border-color: #dc3545;
            color: #dc3545;
        }
        .btn-outline-danger:hover {
            background-color: #dc3545;
            color: white;
        }
        .form-control {
            border-radius: 0.5rem; /* Rounded input fields */
            padding: 0.75rem 1rem;
        }
        .modal-content {
            border-radius: 1rem; /* Rounded modal corners */
            box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
        }
        .modal-header {
            background-color: #6f42c1; /* Purple for modal header */
            color: white;
            border-top-left-radius: 1rem;
            border-top-right-radius: 1rem;
            border-bottom: none;
        }
        .modal-footer {
            border-top: none;
        }
        .text-primary {
            color: #007bff !important;
        }
        .text-info {
            color: #17a2b8 !important;
        }
        .text-success {
            color: #28a745 !important;
        }
        .fa-file-alt, .fa-file-pdf, .fa-link { /* Aggiunto .fa-link */
            cursor: pointer;
            transition: color 0.2s ease-in-out;
        }
        .fa-file-alt:hover, .fa-file-pdf:hover, .fa-link:hover { /* Aggiunto .fa-link:hover */
            color: #0056b3 !important;
        }
        /* Stile per la cella link, rimuovi contenteditable="true" */
        td[data-col="link"] {
            cursor: pointer; /* Cambia il cursore per indicare che è cliccabile */
        }
        td[data-col="link"] a {
            pointer-events: none; /* Disabilita il click sul link interno per permettere il click sulla cella */
        }
        /* Stili per i pulsanti di allineamento nel modal */
        #abstractEditModal .btn-alignment {
            background-color: #fff;
            border: 1px solid #ced4da;
            color: #495057;
        }
        #abstractEditModal .btn-alignment.active {
            background-color: #007bff;
            border-color: #007bff;
            color: #fff;
        }
        /* Stili per allineamento del testo */
        .text-start {
            text-align: left;
        }
        .text-end {
            text-align: right;
        }
        .text-center {
            text-align: center;
        }
        .text-justify {
            text-align: justify;
        }
		/*
  File: tesi.css
  Sezione: Stili per Tabelle o Elementi di Lista (Esempio)
*/

/**
 * .action-col-single-icon
 * Stile per colonne o celle (es. in una tabella) che contengono
 * una singola icona di azione (es. Modifica, Elimina).
 */
.action-col-single-icon {
    /* 1. Larghezza Fissa: Mantiene la colonna compatta */
    width: 30px; /* Larghezza minima per contenere un'icona standard */
    min-width: 30px; 
    max-width: 50px; /* Può essere regolata in base alla dimensione dell'icona */

    /* 2. Allineamento del Contenuto: Centra l'icona */
    text-align: center; 
    vertical-align: middle; /* Se usata in un <td> */

    /* 3. Padding Aggiuntivo (Opzionale): Rende l'area cliccabile più spaziosa */
    padding-left: 5px;
    padding-right: 5px;
}