/* --- INIZIO CSS hublist_pages - Versione Finale --- */

/* ================================================= */
/* 1. General & Layout */
/* ================================================= */

/* **BLOCCO RESPONSIVE RIMOSSO come richiesto.** */

/* Stili comuni per le tabelle */
.hublist_pages-client-table,
.hublist_pages-hub-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    background-color: #fff; /* Assicura sfondo bianco di base */
}

.hublist_pages-client-table th,    
.hublist_pages-hub-table th,
.hublist_pages-client-table td,    
.hublist_pages-hub-table td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.hublist_pages-hub-table thead th {
    background-color: #f1f1f1;
    font-weight: bold;
    color: #333;
}

/* Righe alternate (bianco e grigio chiarissimo) */
.hublist_pages-hub-table tbody tr:nth-child(even) {
    background-color: #f9f9f9; /* Righe Pari: Grigio Chiarissimo */
}


/* ======================================= */
/* 2. Search Form & Pagination Styling (FINALE - Allineamento Definitivo) */
/* ======================================= */

/* Contenitore di ricerca */
.hublist-search-container {
    margin: 20px 0;
    text-align: right;    
}

.hublist-search-form {
    display: flex;
    /* FIX: Assicura l'allineamento verticale */
    align-items: center;    
    margin-left: auto;    
    /* Larghezza adeguata per 40-50 caratteri */
    max-width: 450px !important;    
}

.hublist-search-input {
    flex-grow: 1;
    /* PADDING E ALTEZZA CORRETTI */
    padding: 10px 12px !important;    
    border: 1px solid #ccc;
    border-radius: 5px 0 0 5px;
    font-size: 16px;
    /* Larghezza massima per circa 45 caratteri */
    max-width: 40ch !important;    
    /* Altezza fissa per l'allineamento verticale */
    height: 35px !important;
    box-sizing: border-box;
    
    /* *** RESET DEFINITIVO PER ALLINEAMENTO (Massima Specificità) *** */
    margin: 0 !important; 
    line-height: 1 !important; 
    vertical-align: middle !important; 
}

.hublist-search-button {
    /* PADDING E ALTEZZA IDENTICI ALL'INPUT */
    padding: 10px 15px !important;
    
    /* COLORE DEFINITIVO COME DA IMMAGINE */
    background-color: #f0f0f0 !important;
    color: black !important; 
    
    /* FIX BORDO: 1px trasparente per eguagliare l'altezza dell'input */
    border: 1px solid transparent !important; 
    
    border-radius: 0 5px 5px 0;
    cursor: pointer;
    font-size: 16px;
    flex-shrink: 0;
    /* Altezza fissa per l'allineamento verticale */
    height: 35px !important;
    box-sizing: border-box;
    
    /* *** RESET DEFINITIVO PER ALLINEAMENTO (Massima Specificità) *** */
    margin: 0 !important; 
    line-height: 1 !important; 
    vertical-align: middle !important; 
}

.hublist-search-button:hover {
    background-color: #005177; /* Tonalità più scura all'hover */
}

/* ======================================= */
/* 3. Pagination & Status Styling */
/* ======================================= */

/* Paginazione Lingue: ALLINEAMENTO AL CENTRO E STILI MIGLIORATI */
.hublist-lang-pagination ul,
.hublist-pagination-nav ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;    
    justify-content: center;    
    margin-top: 15px;
    margin-bottom: 15px;
}

.hublist-lang-pagination li,
.hublist-pagination-nav li {
    margin: 3px;
}

/* Stile per i link di paginazione (Lingua e Pagine) */
.hublist-lang-pagination li a,
.hublist-pagination-nav li a,
.hublist-pagination-nav li span {
    display: block;
    padding: 5px 8px;    
    text-decoration: none;
    color: #0073aa;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;    
}

/* Stili di stato attivo/disabilitato */
.hublist-pagination-nav li.active span,
.hublist-pagination-nav li.active a {
    background-color: #0073aa;
    color: white;
    border-color: #0073aa;
}

.hublist-pagination-nav li.disabled a {
    color: #ccc;
    pointer-events: none;
}

/* Stile per il tag "Online" */
.hub-online {
    display: inline-block;
    background-color: #4CAF50;
    color: white;
    padding: 2px 5px;
    border-radius: 3px;
    font-size: 10px;
    margin-right: 5px;
    vertical-align: middle;
}
    
/* --- FINE CSS hublist_pages --- */
/* Inizio CSS hub_info */

/* ⬇️ OBBIETTIVO 3: RISOLUZIONE LINK BLU SU TUTTI GLI ELEMENTI ⬇️ */
.hub-details_hub_info a,
.detail-value_hub_info a,
.comment-meta a,
.user-list_hub_info a,
.table a,
.hublist_pages a {
    color: #007bff !important; /* Forza il colore blu per i link */
    text-decoration: none;
}

.hub-details_hub_info a:hover,
.detail-value_hub_info a:hover {
    text-decoration: underline;
}

/* Stili per le informazioni del hub (Contenitore) */
.hub-details_hub_info {
    display: flex;
    flex-direction: column;
    gap: 1px; /* Riduci il gap per far sembrare le righe più coese */
    margin-bottom: 20px;
    padding: 0; /* Rimosso padding dal contenitore principale per pulizia bordi */
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: transparent; /* L'alternanza coprirà lo sfondo */
    overflow: hidden; /* Assicura che l'alternanza non fuoriesca dai bordi arrotondati */
}

/* ⬇️ OBBIETTIVO 1: ALTERNANZA 1x1 FORZATA PER I DETTAGLI HUB (DIV-BASED) ⬇️ */
.detail-row_hub_info {
    display: flex;
    align-items: flex-start; /* Allinea il testo in alto */
    padding: 8px 15px; /* Padding interno */
    border-bottom: 1px solid #eee; /* Separatore leggero */
}

/* Righe dispari (1°, 3°, 5° ecc. - Bianco) */
.detail-row_hub_info:nth-of-type(odd) { 
    background-color: #fff !important; /* Forza il Bianco */
}

/* Righe pari (2°, 4°, 6° ecc. - Grigio Chiaro) */
.detail-row_hub_info:nth-of-type(even) {
    background-color: #f8f8f8 !important; /* Forza il Grigio chiaro */
}

.detail-row_hub_info:last-child {
    border-bottom: none;
}

.detail-label_hub_info {
    flex: 0 0 150px;
    font-weight: bold;
    color: #555;
    padding-right: 15px; /* Spazio tra etichetta e valore */
}

.detail-value_hub_info {
    flex-grow: 1;
    color: #333;
    word-break: break-word; /* Rompi parole lunghe per responsività */
}

/* Stili Responsive per i Dettagli Hub (su schermi molto piccoli) */
@media (max-width: 600px) {
    .detail-row_hub_info {
        flex-direction: column;
        align-items: stretch;
    }
    .detail-label_hub_info {
        flex: auto;
        padding-right: 0;
        margin-bottom: 3px;
    }
}

/* Stili per il contenitore della tabella (lista utenti) */
.table-container_hub_info {
    max-height: 10cm; 
    overflow-y: auto;
    margin-bottom: 20px;
}

/* ----------------------------------------------------- */
/* Stili per le TABELLE (Lista utenti e lista hub) */
/* ----------------------------------------------------- */

.user-list_hub_info {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    border: 1px solid #ccc;
}

/* CRITICO: CELLE TRASPARENTI - Devono ereditare il colore della riga */
.user-list_hub_info th,
.user-list_hub_info td {
    padding: 8px;
    border: 1px solid #eee;
    text-align: left;
    background-color: transparent !important; 
}

.user-list_hub_info thead th {
    background-color: #e9ecef !important;
    font-weight: bold;
    color: #495057;
}

/* ⬇️ OBBIETTIVO 2: ALTERNANZA 1x1 FORZATA PER LE TABELLE (TABLE-BASED) ⬇️ */
.user-list_hub_info tbody tr:nth-child(odd) {
    background-color: #fff !important; /* Forza il Bianco */
}

.user-list_hub_info tbody tr:nth-child(even) {
    background-color: #f8f8f8 !important; /* Forza il Grigio Chiaro */
}

.user-list_hub_info tbody tr:hover {
    background-color: #f1f1f1 !important;
}

/* Stili per i commenti (li ho inclusi e sistemati) */
.comments-box_hub_info {
    margin-bottom: 15px;
}

.comment-item_hub_info {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Alternanza commenti (già gestita nel tuo PHP con alt-row) */
.comment-item_hub_info.alt-row {
    background-color: #f8f8f8;
}

.comment-item_hub_info:not(.alt-row) {
    background-color: #fff;
}

.comment-meta {
    margin-top: 10px;
    font-size: 0.85em;
    color: #6c757d;
}

/* Fine CSS hub_info */
/* Inizio css page_forum */

/* ========================================================= */
/* 1. STILI GENERALI E RIPRISTINO COLORI BARRE E PULSANTI    */
/* ========================================================= */

/* Rimuove la forzatura 'blu' universale per permettere le sovrascritture */
a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* RIPRISTINO NAVIGAZIONE (Navbar Inversa) */
/* Forza il colore BIANCO per tutti i link/pulsanti nella barra di navigazione scura */
.navbar-inverse .nav > li > a, 
.navbar-inverse .brand,
.navbar-inverse .pull-right a {
    color: #ffffff !important; 
}

/* Colore al passaggio del mouse sulla navbar (grigio chiaro) */
.navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:hover {
    color: #cccccc !important;
}

/* RIPRISTINO FOOTER */
/* Forza il colore BIANCO anche per i link nel footer */
footer a {
    color: #ffffff !important; 
}

/* FORZATURA BLU PER IL CONTENUTO: Applica il blu ai link solo all'interno del contenuto principale (#page) */
#page a {
    color: #007bff !important;
}

/* Eccezione: Mantiene i link di cancellazione in rosso, anche nel contenuto */
.delete-link-page-forum {
    color: #dc3545 !important; 
}

/* ========================================================= */
/* 2. STILI PER LISTE DI CATEGORIE (Struttura DIV)           */
/* ========================================================= */

.forum-category-row-page-forum {
    border: 1px solid #ccc;
    margin-bottom: 12px;
    border-radius: 4px;
    overflow: hidden;
    padding: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Alternanza 1x1 per le Righe Categoria (DIV) */
.forum-category-row-page-forum.odd { 
    background-color: #ffffff !important; 
}

.forum-category-row-page-forum.even {
    background-color: #f8f8f8 !important; 
}

.category-header-page-forum {
    display: flex;
    align-items: center;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #eee;
}

.forum-icon-page-forum {
    float: right;
    max-width: 24px; 
    max-height: 24px; 
    margin-left: 10px;
    margin-right: 5px;
}

.category-title-page-forum {
    /* MODIFICATO: Diminuito il titolo delle categorie */
    font-size: 1.1em; 
    font-weight: bold;
}

.category-description-page-forum {
    font-size: 0.9em;
    padding: 5px 0;
    color: #555;
}

.category-footer-page-forum {
    padding-top: 5px;
    margin-top: 5px;
    border-top: 1px solid #eee;
    font-size: 0.8em;
    color: #777;
}

/* ========================================================= */
/* 3. STILI PER LE TABELLE (Liste Post/Ultimi Post)          */
/* ========================================================= */

.table-container-page-forum {
    overflow-x: auto; /* Abilita lo scroll orizzontale su schermi piccoli */
    margin-bottom: 20px;
}

.tabella-page-forum {
    width: 100% !important; /* Forza la larghezza */
    border-collapse: collapse;
    margin-top: 5px;
    border: 1px solid #ccc;
    display: table !important; 
}

/* FIX DEFINITIVO: Forza la visualizzazione corretta delle celle TH */
.tabella-page-forum thead {
    display: table-header-group !important;
}
.tabella-page-forum thead tr {
    display: table-row !important; 
}
.tabella-page-forum th {
    display: table-cell !important; /* Forza il comportamento da cella di tabella */
    white-space: nowrap !important; /* Impedisce la rottura del testo su più righe */
    width: auto !important; /* Assicura che la larghezza sia calcolata correttamente */
    padding: 10px 8px !important; /* Risolve problemi di spaziatura zero */
}
/* FINE FIX */

.tabella-page-forum th,
.tabella-page-forum td {
    padding: 10px 8px;
    border: 1px solid #eee;
    text-align: left;
    background-color: transparent !important; /* Fondamentale per l'alternanza */
}

.tabella-page-forum thead th {
    background-color: #e9ecef !important;
    font-weight: bold;
    color: #495057;
    border-color: #ccc;
    /* MODIFICATO: Dimensione del carattere più piccola per l'intestazione */
    font-size: 0.7em !important; 
}

/* Larghezze specifiche per le colonne su desktop */
.col-title-page-forum { width: auto; }
.col-author-page-forum { width: 15%; }
.col-updated-page-forum { width: 160px; text-align: right; }
.col-forum-page-forum { width: 18%; }

/* Alternanza 1x1 per le Righe TABLE */
.forum-row-page-forum.odd {
    background-color: #fff !important; 
}

.forum-row-page-forum.even {
    background-color: #f8f8f8 !important; 
}

.forum-row-page-forum:hover {
    background-color: #f1f1f1 !important;
}

.forum-new-post-page-forum {
    background-color: #e6ffed !important; /* Riga "Crea nuovo post" evidenziata */
    font-weight: bold;
    border-top: 2px solid #339900;
}

/* Responsive per le Tabelle (sotto i 600px) */
@media (max-width: 600px) {
    .tabella-page-forum thead {
        display: none !important; /* Nasconde l'intestazione su mobile */
    }

    .tabella-page-forum,
    .tabella-page-forum tbody,
    .forum-row-page-forum,
    .tabella-page-forum td {
        display: block !important;
        width: 100% !important;
    }
    
    .tabella-page-forum td:before { /* Assicura che le etichette responsive non vengano rimosse */
        display: block !important;
        position: absolute;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: bold;
        text-align: left;
    }

    .forum-row-page-forum {
        border-bottom: 2px solid #ddd;
        margin-bottom: 10px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .tabella-page-forum td {
        text-align: right !important;
        padding-left: 50% !important;
        position: relative;
        border: none;
        border-bottom: 1px solid #eee;
    }

    /* Aggiunge le etichette delle colonne con dimensione ridotta */
    .forum-row-page-forum .col-title-page-forum::before { 
        content: "Title:"; 
        font-size: 0.7em !important; /* Dimensione ridotta */
    }
    .forum-row-page-forum .col-author-page-forum::before { 
        content: "Author:"; 
        font-size: 0.7em !important; /* Dimensione ridotta */
    }
    .forum-row-page-forum .col-updated-page-forum::before { 
        content: "Updated:"; 
        font-size: 0.7em !important; /* Dimensione ridotta */
    }
    .forum-row-page-forum .col-forum-page-forum::before { 
        content: "Forum:"; 
        font-size: 0.7em !important; /* Dimensione ridotta */
    }

    .forum-new-post-page-forum td {
        text-align: left !important;
        padding-left: 8px !important;
        font-weight: bold;
    }
}

/* ========================================================= */
/* 4. STILI PER POST E RISPOSTE                               */
/* ========================================================= */

.post-content-page-forum {
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.post-footer-page-forum {
    margin-top: 15px;
    padding-top: 5px;
    border-top: 1px solid #c0c0c0;
    font-size: small;
    color: #777;
}

.reply-page-forum {
    margin-top: 15px;
    padding: 0 10px 0;
    border: 1px solid #c0c0c0;
    border-radius: 4px;
    overflow: hidden;
}

/* Alternanza 1x1 per le Righe Risposta (DIV) */
.reply-page-forum.odd {
    background-color: #fff !important; 
}

.reply-page-forum.even {
    background-color: #f2f2f2 !important; 
}

.reply-action-page-forum {
    border: 1px solid #c0c0c0; 
    margin-top: 15px; 
    padding: 10px; 
    font-size: small;
}

.reply-action-page-forum.odd {
    background-color: #fff !important;
}

.reply-action-page-forum.even {
    background-color: #f2f2f2 !important; 
}

.reply-header-page-forum {
    margin-bottom: 10px; 
    padding: 5px 0; 
    border-bottom: 1px solid #c0c0c0; 
    font-size: small;
    font-weight: bold;
}

.reply-footer-page-forum {
    margin-top: 10px; 
    padding: 5px 0; 
    border-top: 1px solid #c0c0c0; 
    font-size: small;
}

.guest-page-forum {
    color: #a0a0a0;
}
/* Aggiungi o modifica questo blocco nel tuo stile.css */
.headline {
    /* MODIFICATO: Diminuisce la dimensione dei titoli di sezione (es. 'DC++ Guides') */
    font-size: 1.2em; /* Puoi provare 1.3em se 1.4em è ancora troppo grande */
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 20px; /* Assicura un po' di spazio sopra */
    color: #333; /* Colore più scuro per risalto */
}

/* Fine css page_forum */
/* Inizio css hublist_findhub */

/* ---------------------------------------------------- */
/* STILI GENERALI (Isolamento) */
/* ---------------------------------------------------- */
.hublist_findhub-container {
    padding: 10px; 
}

.hublist_findhub-button {
    /* Stili per i pulsanti */
    background-color: #007bff;
    color: white !important;
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    text-decoration: none !important;
    display: inline-block;
}

/* ---------------------------------------------------- */
/* STILI TABELLA DESKTOP */
/* ---------------------------------------------------- */
.table-container-hublist_findhub {
    overflow-x: auto; /* Scroll orizzontale se necessario */
    margin-bottom: 20px;
}

.tabella-hublist_findhub {
    width: 100% !important;
    border-collapse: collapse;
    margin-top: 5px;
    border: 1px solid #ccc;
    font-size: 0.9em;
}

.tabella-hublist_findhub thead th {
    background-color: #e9ecef !important;
    font-weight: bold;
    color: #495057;
    border: 1px solid #ccc;
    padding: 10px 8px;
    text-align: left;
    font-size: 0.8em;
    white-space: nowrap;
}

.tabella-hublist_findhub tbody td,
.tabella-hublist_findhub tfoot td {
    padding: 10px 8px;
    border: 1px solid #eee;
    text-align: left;
}

.hub-row-hublist_findhub.odd {
    background-color: #fff !important; 
}

.hub-row-hublist_findhub.even {
    background-color: #f8f8f8 !important; 
}

/* Stile per la riga dei totali */
.footer-row-hublist_findhub {
    font-weight: bold;
    background-color: #e9ecef !important;
}

/* Allineamenti a destra */
.tabella-hublist_findhub .col-share-hublist_findhub,
.tabella-hublist_findhub .col-users-hublist_findhub {
    text-align: right;
}

/* Allineamento al centro per la colonna Location (L) */
.tabella-hublist_findhub .col-loc-hublist_findhub {
    text-align: center !important;
}

/* ---------------------------------------------------- */
/* RESPONSIVE MOBILE (Sotto 600px) */
/* ---------------------------------------------------- */
@media (max-width: 600px) {
    .tabella-hublist_findhub thead {
        display: none !important; /* Nasconde l'intestazione su mobile */
    }

    .tabella-hublist_findhub,
    .tabella-hublist_findhub tbody,
    .tabella-hublist_findhub tfoot, /* Include il footer nella visualizzazione a blocco */
    .hub-row-hublist_findhub,
    .tabella-hublist_findhub td {
        display: block !important;
        width: 100% !important;
    }
    
    .hub-row-hublist_findhub {
        border: 1px solid #ccc;
        margin-bottom: 10px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }
    
    .footer-row-hublist_findhub {
        margin-top: 15px; /* Spazio extra per la riga dei totali */
    }

    .tabella-hublist_findhub td {
        text-align: right !important; /* Spinge il valore a destra */
        padding-left: 50% !important; /* Spazio per l'etichetta */
        position: relative;
        border: none;
        border-bottom: 1px solid #eee;
        min-height: 35px;
    }

    .tabella-hublist_findhub td:last-child {
        border-bottom: none;
    }

    /* Etichette Responsive (usando data-label) */
    .tabella-hublist_findhub td::before { 
        content: attr(data-label);
        position: absolute;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: bold;
        text-align: left;
        font-size: 0.8em; 
        color: #555;
    }
    
    /* La colonna Location (L) su mobile non ha bisogno dell'etichetta data-label */
    .tabella-hublist_findhub .col-loc-hublist_findhub::before {
        content: none;
    }
    .tabella-hublist_findhub .col-loc-hublist_findhub {
        text-align: left !important;
        min-height: auto;
    }
}

/* Fine css hublist_findhub */
/* Inizio css hublist_add */

/* ---------------------------------------------------- */
/* STILI GENERALI E CONTENITORE */
/* ---------------------------------------------------- */
.hublist_add-container {
    padding: 25px 20px;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    margin-bottom: 25px;
    max-width: 100%;
    box-sizing: border-box;
}

.hublist_add-headline {
    color: #333333;
    font-size: 1.6em;
    font-weight: 400;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

/* Messaggi di errore */
.hublist_add-error-box {
    font-weight: 600;
    font-size: 0.9em;
    padding: 10px;
    text-align: center;
    border: 1px solid #d9534f;
    background-color: #f2dede;
    color: #a94442;
    border-radius: 4px;
    margin-bottom: 15px;
}
.required-star {
    color: #d9534f;
    font-weight: bold;
}

/* ---------------------------------------------------- */
/* FORM E INPUT (Input più alti in verticale) */
/* ---------------------------------------------------- */
.hublist_add-form-group {
    margin-bottom: 15px;
}

.hublist_add-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #555555;
}

.hublist_add-input {
    /* Larghezza orizzontale compatta come richiesto (300px per i singoli) */
    width: 300px;
    max-width: 100%;
    
    /* MODIFICHE CHIAVE per aumentare l'altezza */
    padding: 15px 12px; /* Aumento del padding verticale */
    min-height: 48px; /* Altezza minima garantita (per contrastare stili esterni) */
    
    border: 1px solid #cccccc;
    border-radius: 4px;
    background-color: #fcfcfc;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    /* Reset per WordPress */
    height: auto !important; /* Forza il calcolo dell'altezza tramite padding/min-height */
    line-height: normal;
}

/* Forzo la larghezza per i tag SELECT */
.hublist_add-input[name="add_location"] {
    width: 300px;
}

.hublist_add-input:focus {
    border-color: #3f90d5;
    box-shadow: 0 0 0 2px rgba(63, 144, 213, 0.2);
    background-color: #ffffff;
    outline: none;
}

/* Stile per i campi con errore */
.hublist_add-error-field {
    border-color: #d9534f !important;
}

/* Stile specifico per la riga Indirizzo/Porta (Desktop) */
.hublist_add-address-line {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 450px;
    max-width: 100%;
}

.hublist_add-address-line .hublist_add-select-proto {
    flex-shrink: 0;
    width: 90px;
    /* MODIFICA: Aggiornamento del padding e min-height per Select */
    padding-top: 15px;
    padding-bottom: 15px;
    min-height: 48px; 
}
.hublist_add-address-line .hublist_add-input-address {
    flex-grow: 1;
    min-width: 100px;
    width: auto;
}
.hublist_add-address-line .hublist_add-input-port {
    flex-shrink: 0;
    width: 70px;
    text-align: center;
}
.hublist_add-protocol-separator {
    color: #777;
    font-weight: bold;
    flex-shrink: 0;
}

/* Stile specifico per l'input CAPTCHA */
.hublist_add-input-code {
    width: 130px;
}


/* ---------------------------------------------------- */
/* STILI PULSANTI (Li rendiamo proporzionati) */
/* ---------------------------------------------------- */
.hublist_add-actions {
    margin-top: 25px;
}

.hublist_add-button {
    /* Aumento del padding verticale per i pulsanti */
    padding: 14px 18px; /* Leggermente più piccolo degli input */
    border: none;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s, box-shadow 0.2s, opacity 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    display: inline-block;
    margin-right: 8px;
    box-sizing: border-box;
}

.hublist_add-button.primary {
    background-color: #3f90d5;
    color: #ffffff !important;
}

.hublist_add-button.primary:hover {
    background-color: #2e7bbd;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}

.hublist_add-button.secondary {
    background-color: #f0f0f0;
    color: #555555 !important;
    box-shadow: none;
    border: 1px solid #cccccc;
    margin-left: 0 !important;
}

.hublist_add-button.secondary:hover {
    background-color: #e0e0e0;
}

/* ---------------------------------------------------- */
/* RESPONSIVE MOBILE (Sotto 600px) */
/* ---------------------------------------------------- */
@media (max-width: 600px) {
    
    .hublist_add-container {
        padding: 15px 10px;
        border: none;
        box-shadow: none;
    }

    /* Su mobile, tutti gli input tornano al 100% di larghezza */
    .hublist_add-input,
    .hublist_add-input[name="add_location"],
    .hublist_add-address-line { 
        width: 100%;
    }

    .hublist_add-address-line {
        flex-wrap: wrap; 
        gap: 10px;
    }
    
    .hublist_add-address-line .hublist_add-select-proto {
        flex-basis: 35%; 
        width: 35%; 
    }
    
    .hublist_add-address-line .hublist_add-input-address {
        flex-basis: 100%; 
        order: 10;
    }
    
    .hublist_add-address-line .hublist_add-protocol-separator:nth-of-type(1) {
        display: none;
    }
    
    .hublist_add-address-line .hublist_add-protocol-separator:nth-of-type(2) {
        order: 20;
    }
    
    .hublist_add-address-line .hublist_add-input-port {
        width: 80px; 
        order: 21;
    }
    
    .hublist_add-captcha-group .hublist_add-input-code {
        width: 100%;
    }

    .hublist_add-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .hublist_add-actions .hublist_add-button {
        width: 100%;
        margin-right: 0;
    }
}

/* Fine css hublist_add */
/* Inizio css page_login */

/* ---------------------------------------------------- */
/* STILI GENERALI E CONTENITORE */
/* ---------------------------------------------------- */
.page_login-container {
    padding: 25px 20px;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    margin-bottom: 25px;
    max-width: 100%;
    box-sizing: border-box;
}

.page_login-headline {
    color: #333333;
    font-size: 1.6em;
    font-weight: 400;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.page_login-info {
    margin-bottom: 20px;
}

/* Messaggi di errore */
.page_login-error-box {
    font-weight: 600;
    font-size: 0.9em;
    padding: 10px;
    text-align: center;
    border: 1px solid #d9534f;
    background-color: #f2dede;
    color: #a94442;
    border-radius: 4px;
    margin-bottom: 15px;
}
.required-star {
    color: #d9534f;
    font-weight: bold;
}

/* ---------------------------------------------------- */
/* FORM E INPUT (Input alti e compatti) */
/* ---------------------------------------------------- */
.page_login-form-group {
    margin-bottom: 15px;
}

.page_login-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #555555;
}

.page_login-input {
    /* Larghezza orizzontale compatta su desktop */
    width: 300px;
    max-width: 100%;
    
    /* Altezza verticale (come concordato) */
    padding: 15px 12px; 
    min-height: 48px;
    
    border: 1px solid #cccccc;
    border-radius: 4px;
    background-color: #fcfcfc;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    height: auto !important; 
    line-height: normal;
}

.page_login-input:focus {
    border-color: #3f90d5;
    box-shadow: 0 0 0 2px rgba(63, 144, 213, 0.2);
    background-color: #ffffff;
    outline: none;
}

/* Stile per i campi con errore */
.page_login-error-field {
    border-color: #d9534f !important;
}

/* Stile specifico per l'input CAPTCHA */
.page_login-input-code {
    width: 130px; 
}


/* ---------------------------------------------------- */
/* STILI PULSANTI */
/* ---------------------------------------------------- */
.page_login-actions {
    margin-top: 25px;
}

.page_login-button {
    padding: 14px 18px; 
    border: none;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s, box-shadow 0.2s, opacity 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    display: inline-block;
    margin-right: 8px;
    box-sizing: border-box;
}

.page_login-button.primary {
    background-color: #3f90d5;
    color: #ffffff !important;
}

.page_login-button.primary:hover {
    background-color: #2e7bbd;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}

.page_login-button.secondary {
    background-color: #f0f0f0;
    color: #555555 !important;
    box-shadow: none;
    border: 1px solid #cccccc;
    margin-left: 0 !important;
}

.page_login-button.secondary:hover {
    background-color: #e0e0e0;
}

/* ---------------------------------------------------- */
/* RESPONSIVE MOBILE (Sotto 600px) */
/* ---------------------------------------------------- */
@media (max-width: 600px) {
    
    .page_login-container {
        padding: 15px 10px;
        border: none;
        box-shadow: none;
    }

    /* Su mobile, tutti gli input tornano al 100% di larghezza */
    .page_login-input { 
        width: 100%;
    }
    
    .page_login-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .page_login-actions .page_login-button {
        width: 100%;
        margin-right: 0;
    }
}

/* Fine css page_login */
/* --- Inizio page_acp CSS - STILE FINALE E STABILE --- */

/* 1. CONTAINER E TITOLI */

/* Selettore mirato sul contenitore principale per isolare gli stili */
body .page_acp-main-content {
    max-width: 100%;
    margin: 20px 0;
    padding: 15px !important; 
    background: #fff;
    border: 1px solid #c3c4c7; 
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
    border-radius: 4px;
}

body .page_acp-main-content h3.headline,
body .page_acp-main-content h3 {
    font-size: 1.6em;
    color: #2c3338;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 25px;
    font-weight: 600;
}


/* 2. TABELLE: RIGHE ALTERNATE E PADDING STABILE */

.page_acp-main-content table {
    width: 100%;
    border-collapse: collapse;
    min-width: 750px;
    margin: 20px 0;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
    border: 1px solid #ddd;
}


/* Intestazioni: Padding originale bilanciato */
.page_acp-main-content table th {
    background-color: #f0f0f1 !important; 
    color: #2c3338 !important;
    text-align: left !important;
    padding: 16px 15px; /* Padding stabile */
    border-bottom: 1px solid #c3c4c7 !important;
    font-size: 1em !important;
    font-weight: 600 !important;
}

/* Celle di dati: Padding originale bilanciato */
.page_acp-main-content table td {
    padding: 22px 15px; /* Padding stabile */
    border-bottom: 1px solid #eee !important;
    vertical-align: middle !important;
    font-size: 0.95em !important;
}

/* RIGHE ALTERNATE (Usa !important dove strettamente necessario) */

/* Righe dispari (1, 3, 5...): BIANCO */
.page_acp-main-content table tr:nth-child(odd) td {
    background-color: #fff !important; 
}

/* Righe pari (2, 4, 6...): GRIGIO CHIARO */
.page_acp-main-content table tr:nth-child(even) td {
    background-color: #f9f9f9 !important; 
}

/* Colore al passaggio del mouse (hover) */
.page_acp-main-content table tr:hover td {
    background-color: #e6e6e6 !important; 
}

/* Rimuove il bordo inferiore dell'ultima riga */
.page_acp-main-content table tr:last-child td {
    border-bottom: none !important;
}


/* 3. STILI PER FORM E PULSANTI (INALTERATI) */

.page_acp-main-content table input[type="text"],
.page_acp-main-content table input[type="password"],
.page_acp-main-content textarea,
.page_acp-main-content select {
    padding: 8px 10px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07);
    box-sizing: border-box; 
    max-width: 400px; 
}

.page_acp-main-content table input[type="submit"] {
    background-color: #007cba;
    color: #fff;
    border-color: #007cba;
    padding: 8px 16px;
    margin: 5px 8px 5px 0;
}


/* 4. RESPONSIVE MOBILE */

@media (max-width: 782px) {
    
    .page_acp-main-content table thead {
        display: none !important;
    }
    
    .page_acp-main-content table, 
    .page_acp-main-content table tbody, 
    .page_acp-main-content table tr, 
    .page_acp-main-content table td {
        display: block !important;
        width: 100% !important;
        background: #fff !important; 
    }
    
    .page_acp-main-content table tr {
        margin-bottom: 20px !important;
        padding: 15px !important;
        border: 1px solid #c3c4c7 !important; 
    }

    .page_acp-main-content table td {
        border: none !important;
        padding: 10px 0 !important;
        text-align: right !important;
    }
    
    .page_acp-main-content table td::before {
        content: attr(data-label) ": ";
        font-weight: bold !important;
        float: left !important;
        text-align: left !important;
        color: #555 !important;
    }
}

/* --- Fine page_acp CSS --- */
/* --- Inizio page_gallery CSS --- */

/* 1. LAYOUT DEL CONTENITORE */
.page_gallery-container {
    max-width: 100%;
    padding: 20px;
    box-sizing: border-box;
}

/* 2. GRIGLIA RESPONSIVE DELLA GALLERIA */
.page_gallery-container .gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* 3. STILI DEL SINGOLO ELEMENTO E IMMAGINI */

/* MODIFICA CHIAVE 1: Altezza minima più stretta e centering */
.page_gallery-container .gallery-item {
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    overflow: hidden;
    border-radius: 4px;
    transition: transform 0.2s;
    background-color: #fff;
    
    /* Centering: Assicura che l'immagine sia centrata */
    display: flex; 
    justify-content: center;
    align-items: center;
    
    /* Rimuove l'altezza minima o la imposta in base al contenuto */
    min-height: 100px; /* Ridotta a 100px per un minimo più aggressivo */
    height: auto; /* L'altezza si adatta al contenuto */
    
    /* Aggiunto: Limita il padding interno se l'immagine è piccola */
    padding: 10px; 
}

.page_gallery-container .gallery-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* MODIFICA CHIAVE 2: Il link si adatta all'immagine */
.page_gallery-container .gallery-item a.imagebox {
    display: block;
    /* Imposta larghezza e altezza in base al contenuto */
    width: auto; 
    height: auto;
    /* Importante: Rimuove lo spazio bianco sotto l'immagine */
    line-height: 0; 
    
    /* Usa un display inline-block o flex per avvolgere il contenuto */
    display: inline-block; 
}

.page_gallery-container .gallery-item img.responsive-img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain; 
}

/* 4. MEDIA QUERIES (Inalterate) */

@media (max-width: 768px) {
    .page_gallery-container .gallery-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .page_gallery-container .gallery-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 10px;
    }
}

/* --- Fine page_gallery CSS --- */
/* --- Inizio css page_network --- */

.page_network-container {
    max-width: 100%;
    padding: 15px;
}

.page_network-headline {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

/* --- Stili del Form di Richiesta --- */
.page_network-form {
    max-width: 500px;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f9f9f9;
}

.page_network-form label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.page_network-form input[type="text"] {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Cruciale per il layout */
}

.page_network-form input.input-error {
    border-color: #ff0000;
}

.page_network-form-actions {
    margin-top: 20px;
}

.page_network-error-message {
    font-weight: bold; 
    font-size: small; 
    padding: 10px; 
    text-align: center; 
    border: 1px solid #a0a0a0; 
    background-color: #ffc8c3;
    margin-bottom: 15px;
    border-radius: 4px;
}

.required-star {
    color: #ff0000;
}


/* --- Stili della Tabella Hubs (Responsività) --- */

/* Wrapper per forzare lo scroll orizzontale su schermi molto piccoli */
.page_network-table-wrapper {
    overflow-x: auto;
    width: 100%;
}

.page_network-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.page_network-table th, .page_network-table td {
    padding: 12px 15px;
    border: 1px solid #ddd;
    text-align: left;
}

.page_network-table thead th {
    background-color: #f1f1f1;
    font-weight: bold;
}

/* Stili specifici per colonne numeri */
.page_network-table .col-users,
.page_network-table .col-share,
.page_network-table .col-users-total,
.page_network-table .col-share-total {
    text-align: right;
}

/* Stili per riga Totale */
.page_network-table tfoot th {
    background-color: #e9e9e9;
    font-weight: bold;
}

/* RESPONSIVITÀ MOBILE: Stack the table */
@media screen and (max-width: 600px) {
    
    .page_network-table-wrapper {
        overflow-x: hidden; /* Nasconde la scrollbar orizzontale */
    }

    .page_network-table thead {
        /* Nasconde l'header principale della tabella su mobile */
        display: none;
    }

    .page_network-table table,
    .page_network-table tbody,
    .page_network-table tr,
    .page_network-table td {
        display: block;
        width: 100%;
    }

    .page_network-table tr {
        /* Trasforma ogni riga in una 'scheda' */
        margin-bottom: 15px;
        border: 1px solid #ccc;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    
    /* Formatta ogni cella come un blocco riga-valore */
    .page_network-table td {
        text-align: right;
        padding-left: 50%; /* Spazio per la label */
        position: relative;
    }

    /* Mostra la label usando l'attributo data-label */
    .page_network-table td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        color: #555;
    }

    /* Nasconde la riga del totale o la formatta */
    .page_network-table tfoot th {
        display: block;
        width: 100%;
        text-align: center !important;
        padding: 10px 0;
    }

    /* Rende le colonne totali finali leggibili */
    .page_network-total-row th:not(.col-total) {
        display: none;
    }
}

/* --- Fine css page_network --- */
/* --- inizio css page_news --- */

.page_news-container {
    max-width: 100%;
    padding: 15px;
    font-family: Arial, sans-serif;
}

.page_news-headline {
    border-bottom: 2px solid #007bff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
}

.page_news-category-icon {
    float: right; 
    max-width: 24px; 
    max-height: 24px; 
    margin-left: 15px;
}

/* Contenitore della Griglia per la Lista Articoli */
.page_news-article-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px;
    margin-bottom: 20px; 
}

/* --- Articoli della lista (Accordion Card Style) --- */
.page_news-article-list {
    border: 1px solid #ddd; 
    padding: 15px;
    margin-bottom: 0; 
    border-radius: 6px; 
    background-color: #fff; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08); 
    overflow: hidden; 
    transition: box-shadow 0.2s, transform 0.2s;
}

.page_news-article-list:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); 
    transform: translateY(-2px);
}

.page_news-article-list.page_news-margin-top {
    margin-top: 0; 
}

.page_news-article-list.page_news-striped {
    background-color: #f7f7f7; 
}

/* Stili per l'intestazione e il titolo espandibile */
.page_news-accordion-toggle {
    display: none; 
}

.page_news-accordion-header {
    cursor: pointer;
    padding: 10px 0; 
    text-align: center; 
    height: 100%; 
}

.page_news-accordion-header:hover {
    color: #007bff; 
}

.page_news-accordion-label {
    display: block; 
    padding-right: 0; 
    position: relative;
}

.page_news-list-headline {
    margin: 0;
    padding: 0;
    font-weight: bold;
    color: inherit; 
    font-size: 1.1em;
}

/* Icona +/- (Nascosta nello stile Card/Grid) */
.page_news-accordion-icon {
    display: none; 
}

/* Contenuto nascosto di default */
.page_news-accordion-content-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
}

/* Stato Espanso */
.page_news-accordion-toggle:checked ~ .page_news-accordion-content-wrapper {
    max-height: 9999px; /* Correzione per i contenuti lunghi (tabelle) */
    padding-top: 15px; 
}

.page_news-accordion-toggle:checked ~ .page_news-accordion-content-wrapper .page_news-article-footer {
    border-top: 1px solid #ddd; 
    margin-top: 15px;
    padding-top: 5px;
}


/* ⭐️ NUOVO/CORRETTO: Stili per la Paginazione */

.page_news-pagination-nav {
    text-align: center;
    margin: 20px 0;
}

.page_news-pagination-list {
    list-style: none;
    padding: 0;
    display: inline-flex; /* Usa flexbox per allineare gli elementi orizzontalmente */
    flex-wrap: wrap; /* Permette agli elementi di andare a capo su schermi piccoli */
    gap: 5px;
    margin: 0;
}

.page_news-pagination-item {
    display: block; 
    margin: 0;
}

.page_news-pagination-item a,
.page_news-pagination-item span {
    display: block;
    padding: 8px 12px;
    min-width: 20px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #007bff;
    transition: background-color 0.2s, color 0.2s;
}

.page_news-pagination-item a:hover {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
}

.page_news-active span {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
    cursor: default;
}


/* --- Media Query per Responsività (Mobile) --- */
@media screen and (max-width: 600px) {
    
    .page_news-article-list,
    .page_news-article-single {
        padding: 10px;
    }

    .page_news-category-icon {
        margin-left: 0;
        margin-bottom: 10px;
        float: none;
        display: block;
    }
    
    .page_news-accordion-header {
        padding-bottom: 10px;
    }

    /* Adattamento Footer per Mobile */
    .page_news-article-footer,
    .page_news-comment-footer {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 10px;
        margin-top: 10px; 
        border-top: 1px solid #ddd !important;
    }
    
    .page_news-accordion-toggle:not(:checked) ~ .page_news-accordion-content-wrapper .page_news-article-footer {
        border-top: none !important;
    }
    
    .page_news-article-footer span,
    .page_news-comment-footer span {
        margin-bottom: 5px;
    }
    
    /* La paginazione usa flex-wrap, quindi si adatta automaticamente a più righe */
    .page_news-pagination-list {
        justify-content: center;
    }

    .page_news-button,
    .page_news-button-cancel {
        width: 100%;
        margin-left: 0 !important;
        margin-bottom: 10px;
    }
}
/* NUOVO: Regola per rendere le tabelle orizzontalmente scorrevoli su mobile */
.page_news-article-content table {
    /* Assicuriamo che la tabella non sia più larga del suo contenitore */
    max-width: 100%; 
    display: block; 
    overflow-x: auto; /* Aggiunge la barra di scorrimento orizzontale se necessario */
    white-space: nowrap; /* Impedisce che il contenuto della tabella vada a capo */
}
/* --- fine css page_news --- */
/* --- inizio css page_stats --- */

/* Contenitore principale con stile di sfondo pulito */
.page_stats-container {
    max-width: 100%;
    padding: 15px;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Titoli delle sezioni */
.page_stats-headline {
    font-size: 1.5em;
    padding: 15px 0 10px;
    border-bottom: 2px solid #eee;
    margin-bottom: 20px;
    color: #23282d;
}

.page_stats-headline a {
    color: #0073aa;
    text-decoration: none;
}

/* Stile Generale delle Tabelle */
.page_stats-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-size: 0.9em;
}

/* Header delle Tabelle */
.page_stats-table thead th {
    background-color: #f7f7f7;
    color: #444;
    padding: 15px 15px; /* <--- Padding aumentato per altezza */
    text-align: left;
    border-bottom: 1px solid #ddd;
    font-weight: 600;
}

/* Celle di Contenuto (Righe più alte per maggiore leggibilità) */
.page_stats-table tbody td,
.page_stats-table tbody th {
    padding: 14px 15px; /* <--- Padding aumentato per righe più grandi */
    border-bottom: 1px solid #eee;
}

/* Strisce (Alternating row colors) */
.page_stats-row.page_stats-odd {
    background-color: #fff;
}

.page_stats-row.page_stats-even {
    background-color: #f9f9f9; 
}

/* Celle di Conteggio (Sempre a destra) */
.page_stats-column-count,
.page_stats-count-cell {
    width: 100px; 
    text-align: right;
    font-weight: bold;
}

/* Totali (Footer delle Tabelle) */
.page_stats-table tfoot td {
    font-weight: bold;
    background-color: #f0f0f0; 
    border-top: 2px solid #ddd;
    color: #333;
}

.page_stats-total-row td:first-child {
    text-align: left;
}


/* --- Tabelle specifiche --- */

/* Country Table: flag/nome */
.page_stats-country-table td {
    vertical-align: middle;
}
.page_stats-country-table img {
    margin-right: 8px;
    vertical-align: middle;
    /* Aggiungi queste regole se le immagini non si vedono o sono troppo grandi */
    max-width: 20px; 
    height: auto;
}

/* Referer Table: link */
.page_stats-referer-table a {
    color: #0073aa;
    word-break: break-all; /* Assicura che URL molto lunghi non rompano il layout */
}

/* --- Messaggi --- */
.page_stats-message {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid #ffe0b2;
    background-color: #fff8e1;
    color: #795548;
    border-radius: 4px;
}

/* ==================================== */
/* Responsività (Mobile First) */
/* ==================================== */

@media screen and (max-width: 768px) {
    
    .page_stats-container {
        padding: 10px;
    }
    
    .page_stats-table {
        /* Permette alle tabelle di scorrere orizzontalmente su schermi piccoli */
        display: block;
        overflow-x: auto;
        white-space: nowrap; 
    }
    
    /* Riduce il padding per salvare spazio sui display molto piccoli */
    .page_stats-table thead th,
    .page_stats-table tbody td,
    .page_stats-table tfoot td {
        padding: 10px 10px; /* Ridotto il padding su mobile */
        font-size: 0.85em;
    }
    
    .page_stats-column-count,
    .page_stats-count-cell {
        width: 70px; /* Larghezza del conteggio ridotta su mobile */
        min-width: 70px;
    }
}


/* --- fine css page_stats --- */
/* --- inizio css page_work --- */

.page_work-container {
    max-width: 100%;
    padding: 15px;
    font-family: Arial, sans-serif;
}

.page_work-headline {
    border-bottom: 2px solid #007bff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
}

.page_work-sub-headline {
    font-size: 1.1em;
    font-weight: bold;
    color: #555;
    margin-top: 20px;
    margin-bottom: 10px;
}

.page_work-category-icon-page {
    float: right; 
    max-width: 24px; 
    max-height: 24px; 
    margin-left: 15px;
}

/* --- Sezione Liste e Pagine Singole --- */

/* Stili per le liste (pagine/file) */
.page_work-page-list {
    list-style: disc;
    margin-left: 20px;
    padding-left: 0;
}

.page_work-category-description,
.page_work-file-description {
    margin-bottom: 20px;
}

/* --- Griglia Categorie (Tipo Card/Tools) --- */

.page_work-category-grid-container {
    display: grid;
    /* Colonne: minimo 300px, si adattano */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.page_work-category-card {
    border: 1px solid #ddd; 
    border-radius: 6px; 
    background-color: #fff; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08); 
    padding: 15px;
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex; /* Flexbox per il contenuto della card */
    flex-direction: column;
}

.page_work-category-card:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); 
    transform: translateY(-2px);
}

.page_work-card-header {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.page_work-category-icon {
    width: 24px;
    height: 24px;
    margin-right: 10px;
    flex-shrink: 0; /* Non si restringe */
}

.page_work-card-title {
    font-size: 1.1em;
    font-weight: bold;
    margin: 0;
    line-height: 1.3;
}

.page_work-card-title a {
    text-decoration: none;
    color: #007bff;
}

.page_work-card-summary {
    flex-grow: 1; /* Il sommario occupa lo spazio rimanente */
    font-size: 0.9em;
    color: #666;
    margin-bottom: 15px;
}

.page_work-card-footer {
    border-top: 1px solid #eee;
    padding-top: 10px;
    font-size: 0.8em;
    color: #999;
}

.page_work-footer-stats a {
    color: #999;
}

/* --- Responsive Table (File List & File Details) --- */

.page_work-responsive-table {
    overflow-x: auto; /* Abilita lo scorrimento orizzontale se necessario */
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.page_work-file-list,
.page_work-file-details {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px; /* Assicura che la tabella sia larga su schermi piccoli per abilitare lo scrolling */
}

.page_work-file-list th,
.page_work-file-list td,
.page_work-file-details th,
.page_work-file-details td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.page_work-file-list thead tr {
    background-color: #f0f0f0;
    color: #333;
    font-weight: bold;
}

.page_work-striped {
    background-color: #f9f9f9;
}

.page_work-file-details th {
    font-weight: normal;
    width: 100px; /* Larghezza fissa per le label */
}

/* Allineamento Testo */
.page_work-align-center { text-align: center !important; }
.page_work-align-right { text-align: right !important; }


/* --- Stili Form & Commenti (Pulizia Stili Inline) --- */

.page_work-comment-form label {
    display: block;
    margin-top: 10px;
    font-weight: bold;
}

.page_work-comment-form input[type="text"],
.page_work-textarea {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.page_work-textarea {
    min-height: 120px;
    resize: vertical;
}

.page_work-form-actions {
    margin-top: 20px;
}

.page_work-button {
    padding: 10px 15px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.page_work-button-cancel {
    margin-left: 8px;
    background-color: #6c757d;
}

.page_work-error-message,
.page_work-error-message-404 {
    font-weight: bold; 
    font-size: small; 
    padding: 10px; 
    text-align: center; 
    border: 1px solid #ff0000; 
    background-color: #ffc8c3;
    border-radius: 4px;
    margin-bottom: 15px;
}

.page_work-comment-list {
    margin-top: 15px;
}

.page_work-comment-item {
    border: 1px solid #c0c0c0;
    padding: 10px 10px 0;
    margin-top: 15px;
    border-radius: 4px;
    font-size: small;
}

.page_work-comment-striped {
    background-color: #f0f0f0;
}

.page_work-comment-body {
    padding-bottom: 10px;
}

.page_work-comment-footer {
    margin-top: 10px; 
    padding: 5px 0; 
    border-top: 1px solid #c0c0c0; 
    font-size: small;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page_work-post-info,
.page_work-comment-links {
    line-height: 1.5;
}

.page_work-author,
.page_work-date {
    font-weight: bold;
}

.page_work-guest {
    color: #a0a0a0;
}


/* --- Media Query per Responsività (Mobile) --- */
@media screen and (max-width: 650px) {

    /* Rende il layout a griglia a colonna singola su mobile */
    .page_work-category-grid-container {
        grid-template-columns: 1fr;
    }
    
    .page_work-category-card,
    .page_work-category-single,
    .page_work-article-page,
    .page_work-article-file {
        padding: 10px;
    }

    /* Adattamento Footer/Info per Mobile */
    .page_work-card-footer,
    .page_work-comment-footer {
        flex-direction: column;
        align-items: flex-start;
        font-size: 0.9em;
    }
    
    .page_work-footer-info {
        margin-bottom: 5px;
    }
    
    /* I bottoni del form su mobile prendono tutta la larghezza */
    .page_work-button,
    .page_work-button-cancel {
        width: 100%;
        margin-left: 0 !important;
        margin-bottom: 10px;
    }
}


/* --- fine css page_work --- */
/* --- inizio css hublists_lists --- */

/* ... (omesso codice non modificato) ... */

/* ---------------------------------------------------------------------- */
/* Stili Tabella (hublists-table) - BORDLESS per eliminare il doppio fondo */
/* ---------------------------------------------------------------------- */

.hublists_lists .table-responsive {
    overflow-x: auto; 
    width: 100%;
}

.hublists_lists .hublists-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 700px; 
    margin: 0;
    /* CHIAVE: ELIMINA IL BORDO ESTERNO DELLA TABELLA */
    border: none; 
}

/* Intestazione Tabella */
.hublists_lists thead th {
    background-color: #F5F5F5; 
    color: #333333; 
    padding: 14px 15px; 
    text-align: left;
    /* MANTIENI SOLO IL BORDO INFERIORE per separare l'header dal body */
    border-bottom: 2px solid #E0E0E0; 
    font-weight: 600;
}

/* Righe di Dati (tbody) */
.hublists_lists tbody tr:nth-child(odd) {
    background-color: #FBFBFB; 
}

.hublists_lists tbody tr:nth-child(even) {
    background-color: #FFFFFF;
}

.hublists_lists tbody tr:hover {
    background-color: #E6F7FF; 
}

.hublists_lists tbody td {
    padding: 12px 15px; 
    /* CHIAVE: ELIMINA IL BORDO LATERALE E INFERIORE DELLE CELLE */
    border-bottom: 1px solid #EEEEEE; /* MANTIENI solo la linea orizzontale */
    border-right: none; 
    vertical-align: middle;
}

/* Riga Totale (TFOOT) */
.hublists_lists tfoot tr {
    font-weight: bold;
    background-color: #EAEAEA;
    border-top: 2px solid #CCCCCC;
}
.hublists_lists tfoot td {
    padding: 12px 15px;
    border-bottom: none; /* Rimuovi il bordo inferiore anche dal footer */
}

/* ... (omesso codice non modificato) ... */

/* --- fine css hublists_lists --- */
body {
	margin: 0;
	min-width: 150px;
	/*text-shadow: 0px 0px 3px #ffffff;*/
	/*font-family: 'Comfortaa', cursive;*/
	font-family: 'Play', sans-serif;
	background: #ffffff url('/images/back.png') repeat left top;
	background-attachment: fixed;
	-webkit-animation-name: enter;
	-moz-animation-name: enter;
	-o-animation-name: enter;
	animation-name: enter;
	-webkit-animation-duration: 1.0s;
	-moz-animation-duration: 1.0s;
	-o-animation-duration: 1.0s;
	animation-duration: 1.0s;
}
/* ======================== Inizio CSS tools_home ======================== */

/* 1. Contenitore principale: usa CSS Grid per la Responsività */
.tools-grid {
    display: grid;
    /* La griglia si adatta, mostrando 3 colonne su schermi grandi e 1 su schermi piccoli */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px; /* Spazio tra gli elementi */
    margin-top: 20px;
}

/* 2. Stile di base per ogni elemento tool (la vecchia cella di tabella) */
.tool-item.tools_home {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    transition: background-color 0.2s, box-shadow 0.2s;
    text-align: center;
}

/* 3. Stile del link all'interno dell'elemento */
.tool-item.tools_home a {
    display: block; /* Rende l'intera area cliccabile */
    font-size: 1.1em;
    font-weight: bold;
    color: #333; /* Colore scuro */
    text-decoration: none;
}

/* 4. Effetto Hover (quando ci passi sopra con il mouse) */
.tool-item.tools_home:hover {
    background-color: #e9e9e9;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 5. Media Query per schermi molto piccoli (opzionale, ma migliora la visualizzazione) */
@media (max-width: 600px) {
    .tools-grid {
        grid-template-columns: 1fr; /* Una sola colonna su schermi piccoli */
    }
}

/* ======================== Fine CSS tools_home ======================== */
/* ======================== Inizio CSS Correzione Hubs Attivo ======================== */

/* 1. Stile per il testo del link attivo (testo "Hubs") */
/* Usa un colore scuro (come il nero o un blu scuro) per renderlo visibile su sfondo bianco */
.menu.active a,
a.menu.active,
li.menu.active a {
    color: #333333 !important; /* Colore Nero Scuro, usa !important solo se necessario */
    font-weight: bold;
}

/* 2. Stile per lo sfondo del pulsante attivo (per evidenziare la sezione) */
.menu.active {
    background-color: #f0f0f0; /* Sfondo grigio chiaro per contrastare il link */
    border-radius: 4px;
    padding: 2px 5px; /* Spazio aggiuntivo se necessario */
}

/* 3. Evita che l'hover nasconda il link attivo */
.menu.active a:hover {
    color: #0056b3 !important; /* Un blu per l'effetto hover */
    text-decoration: none;
}

/* ======================== Fine CSS tools_geoip  Correzione Hubs Attivo ======================== */
/* ======================== Inizio CSS Correzione Link Footer ======================== */

/* 1. Forza il colore di TUTTI i link (<a>) all'interno del footer al blu scuro */
footer a {
    color: #0056b3 !important; /* Blu scuro ben visibile */
    text-decoration: none; /* Rimuove la sottolineatura di base */
}

/* 2. Stile per l'hover (quando l'utente passa il mouse sopra il link) */
footer a:hover {
    color: #007bff !important; /* Blu più brillante al passaggio del mouse */
    text-decoration: underline; /* Aggiunge la sottolineatura al passaggio del mouse */
}

/* 3. Correzione specifica per il tag <b> all'interno del link (per Hubs) */
/* Questo assicura che anche il testo in grassetto all'interno del link abbia il colore corretto */
footer a b {
    color: #0056b3 !important;
}

/* ======================== Fine CSS Correzione Link Footer ======================== */
/* --- INIZIO STILI tools_avdb --- */

/* ------------------------------------ */
/* CONTENITORE PRINCIPALE & OVERFLOW FIX */
/* ------------------------------------ */

.tools_avdb.container {
    /* Ridotto il max-width per diminuire la larghezza generale del contenuto */
    max-width: 1000px; 
    /* Centra il contenitore nella pagina */
    margin: 0 auto;
    /* Usa un padding laterale per assicurare che il contenuto non tocchi i bordi */
    padding: 15px 25px; 
    /* Assicura che TUTTO ciò che è all'interno sia tagliato se eccede la larghezza */
    overflow: hidden; 
    word-wrap: break-word; 
    box-sizing: border-box; 
}

/* Stile per la descrizione del tool e i messaggi */
.tools_avdb-description {
    font-size: 0.95em; 
    line-height: 1.5;
    margin-bottom: 25px; 
    overflow-wrap: break-word; 
}
.tools_avdb.initial-results, .tools_avdb.no-results {
    padding: 10px; 
    border: 1px dashed #ccc; 
    background-color: #f9f9f9;
    overflow-wrap: break-word;
}
.tools_avdb.error-message { 
    font-weight: bold; font-size: small; padding: 10px; text-align: center; 
    border: 1px solid #a0a0a0; background-color: #ffc8c3; grid-column: 1 / -1; 
}


/* ------------------------------------ */
/* STILI DEL FORM DI RICERCA (Layout Verticale) */
/* ------------------------------------ */
.tools_avdb-form {
    display: grid;
    gap: 15px 25px; 
    margin-bottom: 20px;
    /* Forza una singola colonna per la disposizione verticale (Nick, IP, ecc.) */
    grid-template-columns: 1fr;
    /* Conteniamo il form ad una larghezza ragionevole per seguire i campi */
    max-width: 500px; 
}

/* Tutti i gruppi di form e le azioni occupano una riga intera */
.tools_avdb-form-group, .tools_avdb-actions {
    grid-column: 1 / -1; 
}

.tools_avdb-form-group {
    display: flex;
    flex-direction: column;
}

.tools_avdb-form-group label {
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

/* Dimensione e padding dei campi di input */
.tools_avdb-form-group input[type="text"] {
    padding: 10px 8px; 
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%; 
    max-width: 400px; /* Limite massimo di larghezza per i singoli campi */
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.tools_avdb-form-group input[type="text"]:focus {
    border-color: #007bff;
    outline: none;
}

/* Stili per le azioni (Pulsanti) */
.tools_avdb-actions { margin-top: 10px; }
.tools_avdb-actions .button { padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; font-weight: bold; display: inline-block; }
.tools_avdb-actions .button[name="avdb_send"] { background-color: #007bff; color: white; }
.tools_avdb-actions .tools_avdb-cancel { background-color: #6c757d; color: white; }


/* ------------------------------------ */
/* STILI DELLE TABELLE (Statistiche e Risultati) */
/* ------------------------------------ */
.tools_avdb.responsive-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background-color: #fff;
    padding: 0;
    /* 🎯 FIX: Aggiunge un bordo esterno completo alla tabella */
    border: 1px solid #ddd; 
}

/* Limita la larghezza della tabella Statistiche e la centra */
.tools_avdb.stats-table {
    margin: 20px auto; /* Centra la tabella orizzontalmente */
    width: 100%; 
    max-width: 650px; /* Larghezza massima ridotta */
    box-sizing: border-box;
    overflow: hidden; /* Mantiene la tabella contenuta */
}

.tools_avdb.responsive-table th, 
.tools_avdb.responsive-table td {
    padding: 12px 15px;
    text-align: left;
    /* Bordo inferiore interno */
    border-bottom: 1px solid #ddd; 
    word-break: break-word; 
}

.tools_avdb.responsive-table thead th, .tools_avdb.responsive-table tfoot th {
    background-color: #f8f8f8;
    color: #333;
    font-weight: bold;
}

/* 🎯 FIX: Assicura che l'ultima colonna sia allineata a destra (per "Unique" e i valori) */
.tools_avdb.responsive-table th:last-child,
.tools_avdb.responsive-table td:last-child {
    text-align: right;
}

.align-right { text-align: right !important; }
.tools_avdb-delete { color: #dc3545 !important; text-decoration: none; font-weight: bold; }
.tools_avdb-na { color: #a0a0a0; font-style: italic; }


/* ------------------------------------------- */
/* RESPONSIVE MEDIA QUERY (Mobile) */
/* ------------------------------------------- */

@media screen and (max-width: 768px) {
    
    /* Contenitore e Form su mobile */
    .tools_avdb.container { max-width: 100%; padding: 10px; }
    .tools_avdb-form { max-width: 100%; }
    .tools_avdb-form-group input[type="text"] { max-width: 100%; }
    
    /* Tabella: trasforma righe in blocchi (Statistiche e Risultati) */
    .tools_avdb.stats-table { max-width: 100%; } /* La tabella riempie lo schermo su mobile */
    .tools_avdb.responsive-table thead { display: none; }
    .tools_avdb.responsive-table, .tools_avdb.responsive-table tbody, .tools_avdb.responsive-table tr, .tools_avdb.responsive-table td { display: block; width: 100%; }

    .tools_avdb.responsive-table tr { margin-bottom: 15px; border: 1px solid #ccc; border-radius: 5px; background-color: #f9f9f9; }
    .tools_avdb.responsive-table td { text-align: right; padding-left: 50%; position: relative; border-bottom: none; min-height: 40px; }
    .tools_avdb.responsive-table td::before { content: attr(data-label); position: absolute; left: 15px; width:  calc(50% - 30px); white-space: nowrap; text-align: left; font-weight: bold; color: #555; }
    
    /* Allineamento footer/totali */
    .tools_avdb.responsive-table tfoot th, .tools_avdb.responsive-table tfoot td {
        display: flex; justify-content: space-between; align-items: center;
        padding-left: 15px; padding-right: 15px;
    }
    .tools_avdb-form-group.captcha-group {
        flex-direction: row; align-items: center; justify-content: space-between;
    }
}
/* --- FINE STILI tools_avdb --- */
/* --- INIZIO CSS hublist_finduser (Correzione Larghezza e Colore Finale) --- */

/* 1. Contenitore Principale e Isolamento */
.hublist_finduser.container {
    max-width: 1250px !important;
    width: 95% !important; 
    margin: 30px auto !important; 
    padding: 25px !important; 
    background-color: #ffffff !important; 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important; 
    border-radius: 8px !important;
    box-sizing: border-box !important; 
    position: relative !important; 
    z-index: 10 !important; 
    overflow: visible !important; 
}

/* Forziamo il body a non avere overflow orizzontale nascosto */
body {
    overflow-x: visible !important;
}

/* Intestazioni e Form */
.hublist_finduser .headline {
    border-bottom: 2px solid #f0f0f0 !important; 
    padding-bottom: 12px !important;
    margin-bottom: 30px !important; 
    font-size: 1.6em !important;
    font-weight: 600 !important;
    color: #333 !important;
}

/* 2. Correzione Form e Colori (Find User) */
.hublist_finduser-form {
    margin-bottom: 35px !important; 
    padding: 20px !important; 
    border: 1px solid #e9e9e9 !important;
    border-radius: 4px !important;
    display: block !important; 
    overflow: visible !important; 
}

.hublist_finduser-form .form-group {
    margin-bottom: 20px !important; 
    display: flex !important; 
    flex-wrap: nowrap !important; 
    align-items: center !important;
    gap: 15px !important; 
    min-width: 450px !important; 
    width: 100% !important; 
}

.hublist_finduser-form label {
    font-weight: bold !important;
    min-width: 80px !important; 
    color: #555 !important;
    white-space: nowrap !important;
    text-align: left !important;
    flex-shrink: 0 !important; 
}

/* Select (Like/Equal) - Sfondo MASSIMAMENTE chiaro */
.hublist_finduser-form .select-operator {
    width: 120px !important; 
    flex-shrink: 0 !important; 
    padding: 10px !important; 
    height: 40px !important; 
    background-color: #fcfcfc !important; /* Quasi bianco */
    color: #333 !important; 
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

/* Pulsante CANCEL (secondario) - Grigio Chiarissimo */
.hublist_finduser-form .secondary-button {
    background-color: #fafafa !important; /* Molto chiaro */
    color: #555 !important;
    border: 1px solid #ddd !important;
}


/* 3. Correzione Tabella Risultati (Larghezza e Colore) */

.hublist_finduser.responsive-table {
    margin-top: 30px !important;
    width: 100% !important;
    border-collapse: collapse !important;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    overflow: hidden !important; 
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    /* RISOLUZIONE LARGHEZZA: Forza la tabella a usare lo spazio al 100% */
    table-layout: fixed !important; 
}

/* Intestazione Tabella - Sfondo MASSIMAMENTE chiaro */
.hublist_finduser.responsive-table thead th {
    background-color: #fafafa !important; /* Grigio chiarissimo */
    font-weight: bold !important;
    color: #333 !important;
    border-top: none !important; 
}

/* Righe Alternate - Estremamente chiare */
.hublist_finduser.responsive-table .odd-row { background-color: #fdfdfd !important; }
.hublist_finduser.responsive-table .even-row { background-color: #fff !important; }

/* Footer Tabella (Total) - Sfondo più chiaro */
.hublist_finduser.responsive-table tfoot th {
    background-color: #f5f5f5 !important; /* Grigio chiaro */
    font-weight: bold !important;
    border-top: 2px solid #ccc !important;
    font-size: 1.1em !important;
    color: #222 !important;
}

/* Bordi della tabella più chiari */
.hublist_finduser.responsive-table th, 
.hublist_finduser.responsive-table td {
    padding: 12px 10px !important;
    border-bottom: 1px solid #f0f0f0 !important; 
}


/* ... (Il resto delle regole per il mobile rimane valido) ... */

/* --- FINE CSS hublist_finduser --- */
/* Inizio CSS hublist_dupes */

/* Makes the table horizontally scrollable on small screens */
@media screen and (max-width: 768px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-y: hidden;
        overflow-x: auto;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #ddd;
    }
}

/* Right alignment for the Count column */
.hublist-dupes-table .text-right {
    text-align: right;
}

/* Specific styles for the main container, if needed */
.+hublist_dupes {
    /* Add general styles for this section here */
}

/* Fine CSS hublist_dupes */
/* Inizio CSS acp_home */

/* Contenitore principale: centra la pagina e definisce il font */
.+acp_home {
    max-width: 900px; /* Limita la larghezza per la leggibilità su schermi grandi */
    margin: 20px auto; /* Centra orizzontalmente */
    padding: 15px;
    font-family: Arial, sans-serif;
    background-color: #f9f9f9; /* Leggero sfondo per staccare dal body */
    border: 1px solid #ddd;
    border-radius: 5px;
}

/* Stile intestazioni: usa il colore principale della pagina */
.+acp_home .headline {
    color: #333;
    border-bottom: 2px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

/* Tabella principale: rende la tabella più pulita e professionale */
.acp-main-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

/* Righe e celle: migliora l'interlinea e la separazione */
.acp-main-table th,
.acp-main-table td {
    padding: 10px 15px;
    vertical-align: middle;
    border-top: 1px solid #eee; /* Linea sottile tra le righe */
}

/* Righe alternate (striate): per migliorare la leggibilità */
.acp-main-table tbody tr:nth-child(even) {
    background-color: #fff; /* Sfondo bianco */
}
.acp-main-table tbody tr:nth-child(odd) {
    background-color: #f7f7f7; /* Sfondo grigio chiaro */
}

/* Allineamento a destra (per Conteggio e Azione) */
.acp-main-table .text-right {
    text-align: right !important;
    font-weight: bold;
}

/* Responsività: rende la tabella scrollabile su schermi piccoli */
@media screen and (max-width: 768px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-y: hidden;
        overflow-x: auto;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #ddd;
    }
}

/* Link di avviso (Clear): rosso per enfatizzare */
a[title*="delete all entries"] {
    color: #cc0000;
    font-weight: bold;
}

/* Fine CSS acp_home */
/* ======================== Inizio CSS tools_hubfromip (Stile Tabella) - CORRETTO ======================== */

/* Contenitore principale: Simula la testata della tabella */
.tools_hubfromip-grid {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
    border: 1px solid #ccc; /* Bordo esterno della "tabella" */
    border-radius: 4px;
    overflow: hidden; /* Nasconde bordi esterni extra */
}

/* Header/Intestazione (simulato) */
.tools_hubfromip-grid::before {
    content: "Address IP Time (HL)"; /* Testata predefinita, da nascondere/sostituire via PHP se possibile */
    /* Modificato da display: flex a display: grid per allineamento perfetto con le righe */
    display: grid; 
    grid-template-columns: 2fr 1fr 1fr; /* Layout Colonne Header */
    padding: 8px 10px;
    font-weight: bold;
    background-color: #e0e0e0;
    color: #333;
    border-bottom: 1px solid #ccc;
}

/* Stile per ogni riga di risultato (Hub Item) */
.hub-item.tools_hubfromip {
    display: grid;
    /* Definisce 3 colonne: Address (largo), IP, Time */
    grid-template-columns: 2fr 1fr 1fr; 
    padding: 8px 10px;
    align-items: center;
    border-bottom: 1px solid #eee; /* Separatore di riga */
    background-color: #fff;
}

/* Righe alternate per leggibilità (effetto striato) */
.tools_hubfromip-grid .hub-item.tools_hubfromip:nth-child(even) {
    background-color: #f7f7f7;
}

/* Rimuove il bordo inferiore dall'ultima riga */
.tools_hubfromip-grid .hub-item.tools_hubfromip:last-child {
    border-bottom: none;
}

/* Stile per i singoli campi Address, IP, Time (le celle) */
.hub-field {
    padding-right: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hub-field a {
    font-weight: normal;
    color: #0056b3;
    text-decoration: none;
}

.hub-field a:hover {
    text-decoration: underline;
}

/* L'etichetta (label) è nascosta su desktop/tabella */
.hub-label {
    display: none !important;
}

/* 🛑 CORREZIONE: Stile per il Totale dei risultati */
.hub-total.tools_hubfromip {
    display: flex; /* Usa flex per allineare testo ed etichetta */
    justify-content: flex-end; /* Sposta il totale a destra */
    padding: 10px 15px;
    background-color: #f0f0ff; 
    border: 1px solid #ccc;
    border-top: none; 
    border-radius: 0 0 4px 4px;
    font-weight: bold;
}

/* 🛑 CORREZIONE: Rendi l'etichetta Total visibile e allineata */
.hub-total.tools_hubfromip .hub-label {
    /* Sovrascrive il display: none !important; */
    display: inline-block !important; 
    margin-right: 10px;
    font-weight: normal; /* L'etichetta è meno grassettata del valore */
    color: #333;
}

/* Messaggio di nessun risultato/placeholder */
.tools_hubfromip.no-results {
    padding: 15px;
    text-align: center;
    color: #999;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
}

/* Media Query per la Responsività (Dispositivi Mobili) */
@media (max-width: 600px) {
    /* Nasconde l'header simulato su mobile per risparmiare spazio */
    .tools_hubfromip-grid::before {
        display: none;
    }

    /* Le righe diventano una colonna singola su mobile */
    .hub-item.tools_hubfromip {
        grid-template-columns: 1fr; /* Unica colonna */
        flex-direction: column;
        align-items: flex-start;
        border: 1px solid #ddd;
        margin-bottom: 10px;
    }
    
    .hub-field {
        width: 100%; 
        padding: 5px 0;
        border-bottom: 1px dotted #ccc;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }

    .hub-field:last-child {
        border-bottom: none;
    }

    /* Mostra l'etichetta (label) su schermi piccoli (mobile) */
    .hub-label {
        display: inline-block !important;
        font-weight: bold;
        color: #555;
        margin-right: 10px;
        min-width: 60px; /* Larghezza fissa per etichetta */
    }
    
    /* 🛑 CORREZIONE: Stile per il Totale sui dispositivi mobili */
    .hub-total.tools_hubfromip {
        display: flex; /* Assicura che rimanga allineato a destra */
        justify-content: flex-end;
        border-radius: 4px; /* Aggiunge i bordi arrotondati anche in basso */
        border-top: 1px solid #ccc; 
    }
}

/* ======================== Fine CSS tools_hubfromip ======================== */
/* ======================== Inizio CSS tools_portal ======================== */

/* Contenitore della griglia */
.tools_portal-grid {
    display: grid;
    /* Su desktop, 3 colonne con spazio tra loro */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px; /* Spazio tra le card */
    margin-top: 10px;
    margin-bottom: 20px;
}

/* Stile per la singola card/link */
.tool-item {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 6px;
    transition: all 0.2s ease-in-out;
    padding: 0; /* Il padding va sul link */
    min-height: 50px; /* Altezza minima per la coerenza visiva */
    display: flex; /* Centra il testo */
}

/* Stile del link all'interno della card */
.tool-item a {
    display: flex;
    align-items: center; /* Allineamento verticale */
    width: 100%;
    padding: 10px 15px;
    text-decoration: none;
    font-size: 1.05em;
    font-weight: 500;
    color: #0056b3;
}

/* Effetto Hover sulla card */
.tool-item:hover {
    background-color: #eef;
    border-color: #0056b3;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

/* Stile specifico per i link esterni (opzionale: puoi usare un'icona se il tuo tema lo supporta) */
.tool-item.external-link a::after {
    content: ' 🔗'; /* Simbolo link */
    margin-left: auto; /* Spinge il simbolo a destra */
    font-size: 0.8em;
    color: #888;
}

/* Media Query per la Responsività (Dispositivi Mobili) */
@media (max-width: 650px) {
    /* Su mobile, passa a 1 colonna per tutta la larghezza */
    .tools_portal-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tool-item {
        min-height: 45px;
    }
    
    .tool-item a {
        padding: 8px 12px;
        font-size: 1em;
    }
}

/* ======================== Fine CSS tools_portal ======================== */
/* ======================== START CSS cab_list ======================== */

.cab_list {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0; /* Aumentato il margine superiore/inferiore */
    font-size: 0.9em;
    min-width: 400px;
    border: 1px solid #ccc; /* Aggiunto bordo principale al tavolo */
}

.cab_list thead tr {
    /* Stile sobrio per l'intestazione, simile a hublist */
    background-color: #e5e5e5;
    color: #333;
    text-align: left;
    font-weight: bold;
    border-bottom: 2px solid #ccc;
}

.cab_list th,
.cab_list td {
    padding: 12px 18px; /* Aumentato il padding per un maggiore respiro */
    border: 1px solid #ddd;
}

/* Specific column alignment */
.cab_list th.actions-column {
    width: 150px;
    text-align: right;
}

.cab_list td.action-links {
    text-align: right;
}

/* Row styling */
.cab_list tbody tr {
    border-bottom: 1px solid #dddddd;
}

.cab_list tbody tr:nth-of-type(even):not(.create-row) {
    background-color: #f7f7f7; /* Colore alternato leggero */
}

.cab_list tbody tr.acp-row-alt:not(.create-row) {
    background-color: #ffffff;
}

.cab_list tbody tr:last-of-type {
    border-bottom: 1px solid #ddd;
}

/* Create row styling - Semplificato */
.cab_list tr.create-row {
    background-color: #ffffff; 
    font-weight: bold;
    border-bottom: 1px solid #ddd;
}

/* Action button styling - Semplificati i link a testo puro */
.cab_list .action-links a {
    text-decoration: underline; /* Sottolineatura standard per i link */
    padding: 0; /* Rimosso padding dei bottoni per renderli link semplici */
    border-radius: 0;
    font-weight: normal;
    margin-left: 12px; /* Leggermente aumentato lo spazio tra i link */
    transition: color 0.2s;
}

.cab_list .button-create {
    color: #008000; /* Verde per 'Crea' */
    text-decoration: none; /* Rimosso underline per 'Crea' per distinguerlo */
    font-weight: bold;
}

.cab_list .button-modify {
    color: #007bff;
}

.cab_list .button-delete {
    color: #ff0000;
}

.cab_list .button-create:hover,
.cab_list .button-modify:hover,
.cab_list .button-delete:hover { 
    color: #000; /* Nero o colore scuro on hover */
    text-decoration: underline; 
}


/* --- RESPONSIVENESS FOR SMALL SCREENS (MOBILE) --- */
@media screen and (max-width: 600px) {
    .cab_list {
        border: 0;
        min-width: 100%;
        margin-top: 20px; /* Aumentato il margine superiore su mobile */
    }

    .cab_list thead {
        display: none;
    }

    .cab_list tr {
        display: block;
        margin-bottom: 20px; /* Aumentato lo spazio tra le righe su mobile */
        border: 1px solid #ccc;
        border-radius: 4px; 
        box-shadow: none; 
    }

    .cab_list td {
        display: block;
        text-align: right !important;
        border-bottom: 1px solid #eee; 
        padding: 12px 15px; /* Aumentato il padding interno delle celle su mobile */
        position: relative;
        font-size: 1em;
    }

    .cab_list td:before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        font-weight: bold;
        text-align: left;
        color: #555;
    }

    .cab_list td:last-child {
        border-bottom: 0;
    }
    
    /* Adjust action links for mobile layout */
    .cab_list td.action-links {
        text-align: center !important;
        padding: 12px; /* Spaziatura mobile action aumentata */
    }

    .cab_list td.action-links a {
        display: inline-block;
        margin: 5px 12px; /* Spaziatura link mobile aumentata */
    }
}

/* Error message styling - Mantenuto semplice */
.error-message {
    padding: 10px;
    background-color: #fff0f0;
    color: #cc0000;
    border: 1px solid #cc0000;
    border-radius: 4px;
    margin-top: 15px;
}

/* Style for "No cabinets" message - Mantenuto semplice */
.no-cabinets-info {
    padding: 10px;
    margin-top: 20px; 
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1em;
}
/* ======================== END CSS cab_list ======================== */
/* ======================== START CSS cab_mod ======================== */

/* General container for the modification form */
.cab_mod_container {
    max-width: 1200px; /* Aumentata la larghezza massima per desktop */
    margin: 30px auto; /* Centrato orizzontalmente */
    padding: 20px;
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 95%; /* Garantisce che non superi i bordi dello schermo */
}

/* Form Grouping and spacing */
.cab_mod_container form {
    display: flex;
    flex-direction: column;
}

.form-group {
    margin-bottom: 20px;
}

/* Labels and error messages */
.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
    color: #333;
}

.error-message {
    color: #ff0000;
    font-weight: normal;
    font-size: 0.9em;
    margin-left: 5px;
}

/* Input Fields and Textarea */
.input-field,
.textarea-field {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Ensures padding doesn't affect total width */
    font-size: 1em;
    transition: border-color 0.2s;
}

.textarea-field {
    min-height: 400px; /* Altezza verticale mantenuta */
    resize: vertical;
}

.input-field:focus,
.textarea-field:focus {
    border-color: #007bff;
    outline: none;
}

/* Error highlighting */
.input-error {
    border-color: #ff0000 !important;
    background-color: #fff0f0;
}

/* BBCode Links */
.bbcode-links {
    margin-bottom: 8px;
    font-size: 0.9em;
}
.bbcode-links a {
    color: #007bff;
    text-decoration: none;
}
.bbcode-links a:hover {
    text-decoration: underline;
}

/* Action Buttons */
.action-buttons {
    margin-top: 25px;
    display: flex;
    gap: 10px; /* Space between buttons */
}

.button {
    padding: 10px 20px;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
    transition: background-color 0.2s, border-color 0.2s;
}

.button-primary {
    background-color: #007bff;
    color: #ffffff;
    border-color: #007bff;
}

.button-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
}

.button-secondary {
    background-color: #f8f9fa;
    color: #333;
    border-color: #ccc;
}

.button-secondary:hover {
    background-color: #e2e6ea;
    border-color: #adadad;
}

/* Responsiveness for small screens */
@media screen and (max-width: 600px) {
    .cab_mod_container {
        padding: 15px;
        margin: 15px 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
        max-width: 100%; /* Massima larghezza su mobile */
        width: auto;
    }

    .action-buttons {
        flex-direction: column; /* Stack buttons vertically on mobile */
    }

    .button {
        width: 100%; /* Full width buttons */
    }
}
/* ======================== END CSS cab_mod ======================== */

/* ======================== START CSS cat_list ======================== */

.cat_list_container {
    margin-top: 15px;
    margin-bottom: 20px;
    overflow-x: auto; /* Permette lo scrolling orizzontale su schermi stretti se la tabella è troppo larga */
}

/* Base Table Style */
.cat_list_table {
    width: 100%;
    border-collapse: collapse; /* Rimuove lo spazio tra le celle */
    font-size: 0.95em;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
}

/* Header (Desktop View) */
.cat_list_table th {
    background-color: #f1f1f1;
    color: #333;
    padding: 12px 15px;
    text-align: left;
    border-bottom: 2px solid #ddd;
    font-weight: bold;
}

/* Body Rows */
.cat_list_table td {
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.cat_list_table tbody tr:nth-child(odd) {
    background-color: #f9f9f9; /* Colore di sfondo alternato */
}

.cat_list_table tbody tr:hover {
    background-color: #f0f8ff; /* Evidenziazione al passaggio del mouse */
}

/* Colonna Azione (sempre allineata a destra su desktop) */
.cat_list_action_col, 
.cat_list_table td:last-child {
    text-align: right;
    white-space: nowrap; /* Impedisce che i pulsanti vadano a capo */
    width: 150px; /* Larghezza fissa per le azioni su desktop */
}

/* Stile per i link Azione (per un aspetto più pulito) */
.cat_list_table a {
    color: #0073aa; /* Colore link WordPress */
    text-decoration: none;
    transition: color 0.2s;
}

.cat_list_table a:hover {
    color: #005177;
    text-decoration: underline;
}

/* Link di creazione (Riga speciale) */
.cat_list_create_row td:first-child {
    font-style: italic;
    color: #6c757d;
}

.cat_list_create_row a {
    font-weight: bold;
}

/* Stili specifici per i link Modify e Delete */
.button-action-delete {
    color: #a00; /* Rosso per l'azione "elimina" */
}
.button-action-delete:hover {
    color: #f00;
}


/* ================== MEDIA QUERY (RESPONSIVE VIEW) ================== */

@media screen and (max-width: 768px) {
    
    /* Nasconde l'intestazione della tabella su mobile */
    .cat_list_table thead {
        display: none;
    }
    
    .cat_list_table, 
    .cat_list_table tbody, 
    .cat_list_table tr, 
    .cat_list_table td {
        display: block;
        width: 100%;
    }

    /* Ogni riga (tr) diventa una "card" separata */
    .cat_list_table tr {
        margin-bottom: 15px;
        border: 1px solid #ddd;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
        border-radius: 4px;
        background-color: #fff !important; /* Forza lo sfondo bianco per la card */
    }
    
    /* Nasconde la riga di creazione come card (viene visualizzata in modo diverso) */
    .cat_list_create_row {
        display: table-row; /* La riga di creazione può rimanere come riga, o gestita separatamente fuori dalla tabella */
    }

    /* Ogni cella (td) ora gestisce la sua etichetta */
    .cat_list_table td {
        text-align: right;
        padding-left: 50%; /* Spazio per l'etichetta a sinistra */
        position: relative;
        border: none;
        border-bottom: 1px solid #eee;
    }
    
    /* Etichetta della cella (ottenuta dall'attributo data-label) */
    .cat_list_table td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        color: #555;
    }
    
    /* La colonna Azione su mobile */
    .cat_list_table td:last-child {
        text-align: left; /* Allinea a sinistra l'azione per leggibilità */
        padding-right: 10px;
        padding-bottom: 10px;
        padding-left: 10px;
        border-bottom: none;
    }
    
    /* Allineamento della Colonna Titolo su mobile (perché non ha etichetta) */
    .cat_list_table td:first-child {
        text-align: left;
        font-weight: bold;
        border-top: 1px solid #eee;
        padding-top: 15px;
    }
}
/* ======================== END CSS cat_list ======================== */
/* ======================== 1. INIZIO CSS LISTE (acp_cat_list.php) ======================== */

/* Stile per entrambe le tabelle (Categorie e Client) */
.cat_list_container,
.client_list_container {
    margin-top: 15px;
    margin-bottom: 30px;
    overflow-x: auto;
}

.cat_list_table,
.client_list_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
}

/* Header */
.cat_list_table th,
.client_list_table th {
    background-color: #f1f1f1;
    color: #333;
    padding: 12px 15px;
    text-align: left;
    border-bottom: 2px solid #ddd;
    font-weight: bold;
}

/* Body Rows */
.cat_list_table td,
.client_list_table td {
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.cat_list_table tbody tr:nth-child(even),
.client_list_table tbody tr:nth-child(even) {
    background-color: #f9f9f9; 
}

.cat_list_table tbody tr:hover,
.client_list_table tbody tr:hover {
    background-color: #f0f8ff;
}

/* Colonna Azioni e Pulsanti */
.cat_list_action_col,
.client_list_table .col-download {
    width: 150px;
    text-align: center;
}

.cat_list_title_col {
    width: auto;
}

.button-link,
.button-action-modify,
.button-action-delete {
    display: inline-block;
    padding: 4px 8px;
    margin: 2px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 0.9em;
    font-weight: 600;
}

.button-link { background-color: #28a745; color: white; }
.button-action-modify { background-color: #ffc107; color: #333; }
.button-action-delete { background-color: #dc3545; color: white; }

/* Stili specifici Client DC++ */
.client-icon { display: block; width: 32px; height: 32px; margin: 0 auto; }
.client_list_table .col-icon { width: 50px; text-align: center; }
.client_list_table .col-version { width: 80px; text-align: center; }

/* Responsive View (Listati) */
@media screen and (max-width: 768px) {
    .cat_list_table thead,
    .client_list_table thead {
        display: none;
    }
    
    .cat_list_table, .cat_list_table tbody, .cat_list_table tr, .cat_list_table td,
    .client_list_table, .client_list_table tbody, .client_list_table tr, .client_list_table td {
        display: block;
        width: 100%;
    }

    .cat_list_table tr, .client_list_table tr {
        margin-bottom: 15px;
        border: 1px solid #ddd;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
        border-radius: 4px;
        background-color: #fff !important; 
    }
    
    .cat_list_table td, .client_list_table td {
        text-align: right;
        padding-left: 50%;
        position: relative;
        border: none;
        border-bottom: 1px solid #eee;
    }
    
    .cat_list_table td::before, .client_list_table td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        color: #555;
    }
    
    .client_list_table td.col-icon { text-align: left; padding-left: 10px; border-top: 1px solid #eee; }
    .client_list_table td.col-icon .client-icon { display: inline-block; margin-left: 10px; }
    .client_list_table td.col-icon::before { display: none; }
    
    .cat_list_create_row td:first-child { display: none; }
    .cat_list_create_row td:last-child { text-align: center; }
}

/* ======================== 2. INIZIO CSS FORM (acp_catmod.php / acp_catadd.php) ======================== */

.cat_mod_container {
    max-width: 1200px;
    margin: 30px auto;
    padding: 20px;
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 95%; 
}

.cat_mod_container form {
    display: flex;
    flex-direction: column;
}

.form-group {
    margin-bottom: 20px;
}

/* Labels and error messages */
.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
    color: #333;
}

.required-star {
    color: #ff0000;
    font-weight: bold;
    padding: 0;
    border: none;
    margin-right: 5px;
}

.error-message {
    color: #ff0000;
    font-weight: normal;
    font-size: 0.9em;
    margin-left: 5px;
}
.bbcode-links {
    font-weight: normal;
    font-size: 0.9em;
    margin-left: 10px;
}

/* Base Input Fields and Textarea styles */
.input-field,
.textarea-field {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 1em;
    transition: border-color 0.2s;
}

.textarea-field {
    min-height: 100px; 
    resize: vertical;
}

/* Specific heights for textareas - (Basato sull'ordine nel form) */
.form-group:nth-of-type(3) .textarea-field { min-height: 80px; } /* Summary */
.form-group:nth-of-type(4) .textarea-field { min-height: 200px; } /* Description */
.form-group:nth-of-type(5) .textarea-field, 
.form-group:nth-of-type(6) .textarea-field { min-height: 150px; } /* Copyright, License */

.input-field:focus,
.textarea-field:focus {
    border-color: #007bff;
    outline: none;
}

/* Error highlighting */
.input-error {
    border-color: #ff0000 !important;
    background-color: #fff0f0;
}

/* Icon Management (modifica) */
.icon-management-row {
    margin-bottom: 15px; /* Spaziatura aggiustata */
    display: flex;
    align-items: center;
}

.icon-management-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    cursor: pointer;
}

.icon-management-row label.delete-label {
    display: inline;
    font-weight: normal;
    color: #333;
    margin-bottom: 0; 
}

/* File input and help text */
.form-group.file-group {
    margin-top: 25px;
    margin-bottom: 25px; 
}

.input-file {
    margin-top: 10px;
    display: block; 
}

.help-text {
    font-size: 0.85em;
    color: #6c757d;
    margin-top: 5px;
}

/* === Desktop Specific Widths (Aggiustamento per campi più piccoli) === */
@media screen and (min-width: 768px) {
    /* Riduciamo URL e Title */
    .url-group .input-field { max-width: 250px; }
    .title-group .input-field { max-width: 450px; }
    
    /* Limitiamo le Textareas */
    .textarea-field { max-width: 800px; }
}

/* Action Buttons */
.action-buttons {
    margin-top: 25px;
    display: flex;
    gap: 10px;
}

/* Stili dei pulsanti unificati */
.button {
    padding: 10px 20px;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s;
}

.button-primary {
    background-color: #007bff;
    color: #ffffff;
    border-color: #007bff;
}

.button-secondary {
    background-color: #f8f9fa;
    color: #333;
    border-color: #ccc;
}

/* Responsiveness per piccoli schermi (Form) */
@media screen and (max-width: 600px) {
    .cat_mod_container {
        padding: 15px;
        margin: 15px 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
        max-width: 100%;
        width: auto;
    }
    .action-buttons {
        flex-direction: column; 
    }
    .button {
        width: 100%; 
    }
}
/* fine css cat_mod (Form) */
/* inizio css vhcs */

/* Stile Contenitore e Titoli */
.vhcs-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}
.vhcs-main-title {
    font-size: 24px;
    font-weight: bold;
    color: #CC0000; /* Rosso Scuro */
    margin-bottom: 10px;
}
.vhcs-content-box {
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.vhcs-section-title {
    font-size: 20px;
    font-weight: bold;
    color: #333333;
    border-bottom: 2px solid #EEEEEE;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.vhcs-no-data {
    color: #333333;
    padding: 15px;
    background-color: #F0F8FF;
    border: 1px solid #ADD8E6;
    border-radius: 4px;
}
.vhcs-error {
    color: red;
    padding: 10px;
    border: 1px solid red;
    background: #fee;
    margin-bottom: 15px;
}

/* Stile Menu Tools (Navigazione Superiore) */
.vhcs-tools-header {
    background: #F8F8F8;
    border: 1px solid #CCCCCC;
    padding: 15px 20px 0 20px;
    margin-bottom: 20px;
    border-radius: 6px 6px 0 0;
}
.vhcs-tool-menu {
    border-bottom: 2px solid #CCCCCC;
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}
.vhcs-tool-link {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: #555555;
    background-color: #EFEFEF;
    border: 1px solid #CCCCCC;
    border-bottom: none;
    margin-bottom: -2px; /* Allinea al bordo inferiore */
    border-radius: 4px 4px 0 0;
    margin-right: 5px;
}
.vhcs-tool-link:hover {
    background-color: #FFFFFF;
    color: #CC0000;
}
.vhcs-tool-active {
    background-color: #FFFFFF;
    color: #CC0000;
    border-top: 2px solid #CC0000; /* Bordo rosso attivo */
    font-weight: bold;
    padding-top: 9px; /* Compensazione per il bordo superiore */
}

/* Stile Tabella */
.vhcs-table-wrapper {
    overflow-x: auto;
}
.vhcs-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    border: 1px solid #DDDDDD;
}
.vhcs-thead {
    background-color: #F5F5F5;
}
.vhcs-th {
    padding: 12px 8px;
    text-align: left;
    font-size: 11px;
    color: #444444;
    text-transform: uppercase;
    border-bottom: 1px solid #DDDDDD;
}
.vhcs-td {
    padding: 8px;
    font-size: 13px;
    color: #333333;
    border-bottom: 1px solid #EEEEEE;
    vertical-align: top;
}
.vhcs-td-strong {
    font-weight: bold;
}
.vhcs-row:hover {
    background-color: #FFF0F0; /* Sfondo rosso chiaro all'hover */
}
.vhcs-trace-pre {
    background: #F9F9F9;
    padding: 5px;
    border: 1px solid #EAEAEA;
    border-radius: 3px;
    font-size: 11px;
    overflow-x: auto;
}

/* fine css vhcs */