/**
 * Tema PA/AGID - PNP 2030
 * 
 * Tema ispirato ai portali della Pubblica Amministrazione italiana:
 * - ChemicalsWeb (ISS)
 * - salute.gov.it (Ministero della Salute)
 * - iss.it (Istituto Superiore di Sanità)
 * 
 * Conforme alle linee guida AGID per i siti PA
 * Font: stack locale di sistema, senza dipendenze CDN
 * 
 * @author Studio MIT
 * @version 2.0.0
 */

/* ========================================
   TEMA PA/AGID - VARIABILI CSS
   ======================================== */
.theme-pa-agid {
    /* === COLORI PRIMARI PA (Stile ChemicalsWeb/ISS) === */
    --color-primary: #004080;           /* Blu istituzionale PA scuro */
    --color-primary-light: #0066CC;     /* Blu link/accent */
    --color-primary-dark: #002B55;      /* Blu molto scuro */
    --color-secondary: #17324D;         /* Blu navy header/card */
    --color-secondary-dark: #0D1E33;    /* Navy scurissimo */
    --color-accent: #FF9900;            /* Arancione accent (avvisi) */
    --color-accent-light: #FFB84D;
    
    /* === COLORI AZIONE === */
    --color-action-primary: #008758;    /* Verde azione principale (Nuovo, Aggiungi) */
    --color-action-primary-hover: #006B46;
    --color-action-secondary: #0066CC;  /* Blu azione secondaria (Cerca, Filtra) */
    --color-action-secondary-hover: #0052A3;
    
    /* === COLORI STATO RAG === */
    --color-rag-green: #008758;
    --color-rag-green-light: #E6F4ED;
    --color-rag-amber: #EB8317;
    --color-rag-amber-light: #FEF3E5;
    --color-rag-red: #D91E18;
    --color-rag-red-light: #FCE9E8;
    
    /* === COLORI UI === */
    --color-text: #1C2024;
    --color-text-muted: #5A6772;
    --color-text-light: #8E99A4;
    --color-background: #FFFFFF;
    --color-background-alt: #F5F7F9;
    --color-background-light: #FAFBFC;
    --color-background-dark: #17324D;
    --color-border: #D9E1E8;
    --color-border-light: #E8EEF2;
    --color-border-strong: #B8C6D1;
    
    /* === COLORI SEMANTICI === */
    --color-success: #008758;
    --color-success-bg: #E6F4ED;
    --color-warning: #EB8317;
    --color-warning-bg: #FEF3E5;
    --color-danger: #D91E18;
    --color-danger-bg: #FCE9E8;
    --color-info: #0066CC;
    --color-info-bg: #E6F0FA;
    
    /* === COMPONENTI - HEADER TOP (striscia superiore) === */
    --header-top-bg: #FFFFFF;
    --header-top-text: #004080;
    --header-top-subtitle: #5A6772;
    --header-top-border: #E8EEF2;
    
    /* === COMPONENTI - NAVBAR === */
    --navbar-bg: linear-gradient(180deg, #17324D 0%, #0D1E33 100%);
    --navbar-bg-solid: #17324D;
    --navbar-text: #FFFFFF;
    --navbar-text-hover: rgba(255, 255, 255, 0.85);
    --navbar-height: 56px;
    --navbar-border-bottom: none;
    --navbar-active-indicator: #0066CC;
    
    /* === COMPONENTI - CARD === */
    --card-header-bg: #17324D;
    --card-header-color: #FFFFFF;
    --card-header-icon-color: #FFFFFF;
    --card-header-special-bg: #0066CC;
    --card-header-special-color: #FFFFFF;
    --card-header-filter-bg: #E8EEF2;
    --card-header-filter-color: #17324D;
    --card-border-radius: 4px;
    --card-shadow: 0 1px 4px rgba(23, 50, 77, 0.08);
    --card-border: 1px solid #E8EEF2;
    --card-hover-shadow: 0 4px 12px rgba(23, 50, 77, 0.12);
    
    /* === COMPONENTI - SIDEBAR === */
    --sidebar-bg: #FFFFFF;
    --sidebar-border: #E8EEF2;
    --sidebar-link-hover-bg: #F5F7F9;
    --sidebar-link-active-bg: #E6F0FA;
    --sidebar-link-active-border: #0066CC;
    --sidebar-link-active-color: #004080;
    
    /* === COMPONENTI - FORM === */
    --input-border: #B8C6D1;
    --input-focus-border: #0066CC;
    --input-focus-shadow: rgba(0, 102, 204, 0.25);
    --input-bg: #FFFFFF;
    --input-disabled-bg: #F5F7F9;
    --input-border-radius: 4px;
    --input-label-color: #17324D;
    --input-label-weight: 600;
    
    /* === COMPONENTI - TABELLE === */
    --table-header-bg: #17324D;
    --table-header-color: #FFFFFF;
    --table-border: #E8EEF2;
    --table-stripe-bg: #FAFBFC;
    --table-hover-bg: #E6F0FA;
    --table-border-radius: 4px;
    
    /* === COMPONENTI - BOTTONI === */
    --btn-primary-bg: #008758;          /* Verde per azioni primarie */
    --btn-primary-hover: #006B46;
    --btn-primary-active: #005A3A;
    --btn-secondary-bg: #0066CC;        /* Blu per azioni secondarie */
    --btn-secondary-hover: #0052A3;
    --btn-tertiary-bg: #17324D;         /* Navy per azioni speciali */
    --btn-tertiary-hover: #0D1E33;
    --btn-success-bg: #008758;
    --btn-success-hover: #006B46;
    --btn-danger-bg: #D91E18;
    --btn-danger-hover: #B51915;
    --btn-outline-color: #0066CC;
    --btn-border-radius: 4px;
    
    /* === COMPONENTI - FOOTER === */
    --footer-bg: #F5F7F9;
    --footer-card-bg: #FFFFFF;
    --footer-bottom-bg: #17324D;
    --footer-bottom-text: #FFFFFF;
    --footer-link-color: #0066CC;
    
    /* === TIPOGRAFIA PA - font locali / di sistema === */
    --font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-heading: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-mono: 'Roboto Mono', 'Consolas', 'Monaco', monospace;
    
    /* === SPAZIATURE PA === */
    --spacing-section: 2rem;
    --spacing-component: 1.25rem;
    --spacing-card: 1rem;
    
    /* === BORDI E RAGGI PA (più squadrati, stile istituzionale) === */
    --border-radius-sm: 2px;
    --border-radius: 4px;
    --border-radius-lg: 6px;
    --border-radius-xl: 8px;
    
    /* === OMBRE PA (sottili e discrete) === */
    --shadow-sm: 0 1px 2px rgba(23, 50, 77, 0.06);
    --shadow: 0 1px 4px rgba(23, 50, 77, 0.08);
    --shadow-md: 0 2px 8px rgba(23, 50, 77, 0.10);
    --shadow-lg: 0 4px 16px rgba(23, 50, 77, 0.12);
    
    /* === TRANSIZIONI === */
    --transition-fast: 150ms ease;
    --transition-normal: 200ms ease;
    --transition-slow: 300ms ease;
}

/* ========================================
   RESET E BASE PA/AGID
   ======================================== */
.theme-pa-agid {
    font-family: var(--font-family);
    color: var(--color-text);
    background-color: var(--color-background-alt);
}

.theme-pa-agid body {
    background-color: var(--color-background-alt);
}

/* ========================================
   HEADER TOP PA/AGID (Logo + Titolo)
   ======================================== */
.theme-pa-agid .header-top,
.theme-pa-agid .site-header-top {
    background-color: var(--header-top-bg);
    border-bottom: 1px solid var(--header-top-border);
    padding: 1rem 0;
}

.theme-pa-agid .header-logo {
    max-height: 60px;
    width: auto;
}

.theme-pa-agid .header-title {
    color: var(--color-primary);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.25px;
    margin: 0;
}

.theme-pa-agid .header-subtitle {
    color: var(--header-top-subtitle);
    font-size: 0.875rem;
    font-weight: 400;
    margin: 0;
}

.theme-pa-agid .header-subtitle-highlight {
    color: var(--color-danger);
    font-weight: 600;
}

/* ========================================
   NAVBAR PA/AGID
   ======================================== */
.theme-pa-agid .navbar-custom,
.theme-pa-agid .navbar-main,
.theme-pa-agid .navbar {
    background: var(--navbar-bg) !important;
    background-color: var(--navbar-bg-solid) !important;
    border-bottom: var(--navbar-border-bottom);
    box-shadow: var(--shadow);
    min-height: var(--navbar-height);
    padding: 0;
}

.theme-pa-agid .navbar-custom .navbar-brand,
.theme-pa-agid .navbar-main .navbar-brand {
    color: var(--navbar-text) !important;
    font-weight: 600;
    padding: 0.75rem 0;
}

.theme-pa-agid .navbar-custom .nav-link,
.theme-pa-agid .navbar-custom .nav-link-custom,
.theme-pa-agid .navbar-main .nav-link {
    color: var(--navbar-text) !important;
    font-weight: 500;
    font-size: 0.9375rem;
    padding: 1rem 1.125rem;
    transition: var(--transition-fast);
    border-bottom: 3px solid transparent;
    position: relative;
}

.theme-pa-agid .navbar-custom .nav-link:hover,
.theme-pa-agid .navbar-custom .nav-link-custom:hover,
.theme-pa-agid .navbar-main .nav-link:hover {
    color: var(--navbar-text-hover) !important;
    background-color: rgba(255, 255, 255, 0.08);
}

.theme-pa-agid .navbar-custom .nav-link.active,
.theme-pa-agid .navbar-custom .nav-link-custom.active,
.theme-pa-agid .navbar-main .nav-link.active {
    border-bottom-color: var(--navbar-active-indicator);
    background-color: rgba(255, 255, 255, 0.05);
}

.theme-pa-agid .navbar-custom .nav-link i,
.theme-pa-agid .navbar-main .nav-link i {
    margin-right: 0.5rem;
    font-size: 0.875em;
}

.theme-pa-agid .navbar-custom .dropdown-menu,
.theme-pa-agid .navbar-main .dropdown-menu {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-md);
    padding: 0.5rem 0;
    margin-top: 0;
    border-top: 3px solid var(--color-primary-light);
}

.theme-pa-agid .navbar-custom .dropdown-item,
.theme-pa-agid .navbar-main .dropdown-item {
    color: var(--color-text);
    padding: 0.625rem 1.25rem;
    font-size: 0.9375rem;
    transition: var(--transition-fast);
}

.theme-pa-agid .navbar-custom .dropdown-item:hover,
.theme-pa-agid .navbar-main .dropdown-item:hover {
    background-color: var(--color-background-alt);
    color: var(--color-primary);
}

.theme-pa-agid .navbar-custom .dropdown-item i,
.theme-pa-agid .navbar-main .dropdown-item i {
    margin-right: 0.625rem;
    color: var(--color-text-muted);
    width: 1.25rem;
    text-align: center;
}

.theme-pa-agid .navbar-custom .dropdown-item:hover i,
.theme-pa-agid .navbar-main .dropdown-item:hover i {
    color: var(--color-primary);
}

/* User menu in navbar */
.theme-pa-agid .navbar-user,
.theme-pa-agid .user-menu {
    color: var(--navbar-text);
    font-weight: 500;
}

.theme-pa-agid .navbar-user i {
    margin-right: 0.5rem;
}

/* ========================================
   CARD PA/AGID
   ======================================== */
.theme-pa-agid .card {
    border: var(--card-border);
    border-radius: var(--card-border-radius);
    box-shadow: var(--card-shadow);
    transition: var(--transition-normal);
    overflow: hidden;
    background-color: var(--color-background);
}

.theme-pa-agid .card:hover {
    box-shadow: var(--card-hover-shadow);
}

/* Card Header Standard (blu navy scuro) */
.theme-pa-agid .card-header,
.theme-pa-agid .ph-card-header {
    background-color: var(--card-header-bg) !important;
    color: var(--card-header-color) !important;
    border-bottom: none;
    padding: 0.875rem 1.25rem;
    font-weight: 600;
    font-size: 0.9375rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 48px;
}

/* Icona nel card header */
.theme-pa-agid .card-header i,
.theme-pa-agid .ph-card-header i,
.theme-pa-agid .card-header .fa,
.theme-pa-agid .ph-card-header .fa,
.theme-pa-agid .card-header .fas,
.theme-pa-agid .ph-card-header .fas {
    color: var(--card-header-icon-color);
    font-size: 1rem;
}

/* Rimuovi il before che aggiungeva la barra laterale */
.theme-pa-agid .card-header::before,
.theme-pa-agid .ph-card-header::before {
    display: none;
}

/* Card Header Speciale (blu primario) */
.theme-pa-agid .ph-card-speciale-header,
.theme-pa-agid .card-header-primary {
    background-color: var(--card-header-special-bg) !important;
    color: var(--card-header-special-color) !important;
}

/* Card Header Filtro/Ricerca (grigio chiaro) */
.theme-pa-agid .card-header-filter,
.theme-pa-agid .card-header-search,
.theme-pa-agid .filter-card .card-header {
    background-color: var(--card-header-filter-bg) !important;
    color: var(--card-header-filter-color) !important;
}

.theme-pa-agid .card-header-filter i,
.theme-pa-agid .filter-card .card-header i {
    color: var(--color-primary) !important;
}

.theme-pa-agid .card-body {
    padding: 1.25rem;
    background-color: var(--color-background);
}

.theme-pa-agid .card-footer {
    background-color: var(--color-background-alt);
    border-top: 1px solid var(--color-border);
    padding: 0.875rem 1.25rem;
}

/* Card con badge contatore */
.theme-pa-agid .card-header .badge,
.theme-pa-agid .ph-card-header .badge {
    margin-left: auto;
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--card-header-color);
    font-weight: 600;
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--border-radius-sm);
}

/* Card varianti PA */
.theme-pa-agid .card-pa-highlight {
    border-left: 4px solid var(--color-primary);
}

.theme-pa-agid .card-pa-success {
    border-left: 4px solid var(--color-success);
}

.theme-pa-agid .card-pa-warning {
    border-left: 4px solid var(--color-warning);
}

.theme-pa-agid .card-pa-danger {
    border-left: 4px solid var(--color-danger);
}

/* ========================================
   PANNELLO FILTRI PA/AGID
   ======================================== */
.theme-pa-agid .panel-filtri,
.theme-pa-agid .filter-panel,
.theme-pa-agid .search-panel {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--card-border-radius);
    margin-bottom: 1.5rem;
}

.theme-pa-agid .panel-filtri .card-header,
.theme-pa-agid .filter-panel .card-header {
    background-color: var(--card-header-filter-bg) !important;
    color: var(--card-header-filter-color) !important;
    border-bottom: 1px solid var(--color-border);
}

.theme-pa-agid .panel-filtri .card-header i,
.theme-pa-agid .filter-panel .card-header i {
    color: var(--color-primary) !important;
}

.theme-pa-agid .panel-filtri .card-header .panel-title,
.theme-pa-agid .filter-panel .card-header .panel-title {
    font-weight: 600;
    display: flex;
    flex-direction: column;
}

.theme-pa-agid .panel-filtri .card-header .panel-subtitle,
.theme-pa-agid .filter-panel .card-header .panel-subtitle {
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--color-text-muted);
}

/* ========================================
   TABELLE PA/AGID
   ======================================== */
.theme-pa-agid .table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--table-border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--table-border);
    margin-bottom: 0;
}

.theme-pa-agid .table thead th {
    background-color: var(--table-header-bg) !important;
    color: var(--table-header-color) !important;
    font-weight: 600;
    padding: 0.875rem 1rem;
    border: none;
    font-size: 0.8125rem;
    letter-spacing: 0.25px;
    vertical-align: middle;
}

.theme-pa-agid .table thead th i {
    margin-right: 0.5rem;
    opacity: 0.8;
}

.theme-pa-agid .table thead th:first-child {
    border-top-left-radius: var(--table-border-radius);
}

.theme-pa-agid .table thead th:last-child {
    border-top-right-radius: var(--table-border-radius);
}

.theme-pa-agid .table tbody td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--table-border);
    vertical-align: middle;
    font-size: 0.9375rem;
}

.theme-pa-agid .table tbody tr:last-child td {
    border-bottom: none;
}

.theme-pa-agid .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--table-stripe-bg);
}

.theme-pa-agid .table-hover tbody tr:hover {
    background-color: var(--table-hover-bg);
}

/* Link in tabella */
.theme-pa-agid .table tbody td a {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

.theme-pa-agid .table tbody td a:hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
}

/* Tabella compatta PA */
.theme-pa-agid .table-pa-compact thead th {
    padding: 0.625rem 0.75rem;
    font-size: 0.75rem;
}

.theme-pa-agid .table-pa-compact tbody td {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}

/* ========================================
   BOTTONI PA/AGID
   ======================================== */
.theme-pa-agid .btn {
    border-radius: var(--btn-border-radius);
    font-weight: 600;
    font-family: var(--font-family);
    padding: 0.5rem 1rem;
    transition: var(--transition-fast);
    text-transform: none;
    letter-spacing: 0.25px;
    font-size: 0.9375rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.theme-pa-agid .btn i,
.theme-pa-agid .btn .fa,
.theme-pa-agid .btn .fas {
    font-size: 0.875em;
}

/* Bottone Primario (Verde - per azioni principali come Nuovo, Aggiungi) */
.theme-pa-agid .btn-primary {
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-bg);
    color: #FFFFFF;
}

.theme-pa-agid .btn-primary:hover {
    background-color: var(--btn-primary-hover);
    border-color: var(--btn-primary-hover);
    color: #FFFFFF;
}

.theme-pa-agid .btn-primary:active,
.theme-pa-agid .btn-primary:focus {
    background-color: var(--btn-primary-active);
    border-color: var(--btn-primary-active);
    box-shadow: 0 0 0 3px rgba(0, 135, 88, 0.25);
}

/* Bottone Secondario (Blu - per azioni secondarie come Cerca) */
.theme-pa-agid .btn-secondary,
.theme-pa-agid .btn-info {
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-bg);
    color: #FFFFFF;
}

.theme-pa-agid .btn-secondary:hover,
.theme-pa-agid .btn-info:hover {
    background-color: var(--btn-secondary-hover);
    border-color: var(--btn-secondary-hover);
    color: #FFFFFF;
}

/* Bottone Terziario (Navy - per azioni speciali) */
.theme-pa-agid .btn-tertiary,
.theme-pa-agid .btn-dark {
    background-color: var(--btn-tertiary-bg);
    border-color: var(--btn-tertiary-bg);
    color: #FFFFFF;
}

.theme-pa-agid .btn-tertiary:hover,
.theme-pa-agid .btn-dark:hover {
    background-color: var(--btn-tertiary-hover);
    border-color: var(--btn-tertiary-hover);
}

/* Bottone Success */
.theme-pa-agid .btn-success {
    background-color: var(--btn-success-bg);
    border-color: var(--btn-success-bg);
}

.theme-pa-agid .btn-success:hover {
    background-color: var(--btn-success-hover);
    border-color: var(--btn-success-hover);
}

/* Bottone Danger */
.theme-pa-agid .btn-danger {
    background-color: var(--btn-danger-bg);
    border-color: var(--btn-danger-bg);
}

.theme-pa-agid .btn-danger:hover {
    background-color: var(--btn-danger-hover);
    border-color: var(--btn-danger-hover);
}

/* Bottone Warning */
.theme-pa-agid .btn-warning {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #FFFFFF;
}

.theme-pa-agid .btn-warning:hover {
    background-color: #D47514;
    border-color: #D47514;
    color: #FFFFFF;
}

/* Bottone Outline */
.theme-pa-agid .btn-outline-primary {
    color: var(--btn-outline-color);
    border-color: var(--btn-outline-color);
    background-color: transparent;
}

.theme-pa-agid .btn-outline-primary:hover {
    background-color: var(--btn-outline-color);
    color: #FFFFFF;
}

.theme-pa-agid .btn-outline-secondary {
    color: var(--color-text-muted);
    border-color: var(--color-border);
    background-color: transparent;
}

.theme-pa-agid .btn-outline-secondary:hover {
    background-color: var(--color-background-alt);
    color: var(--color-text);
    border-color: var(--color-border-strong);
}

/* Bottone Light (per azioni neutre) */
.theme-pa-agid .btn-light {
    background-color: var(--color-background-alt);
    border-color: var(--color-border);
    color: var(--color-text);
}

.theme-pa-agid .btn-light:hover {
    background-color: var(--color-border-light);
    border-color: var(--color-border-strong);
}

/* Bottoni azione in tabella (edit, delete) */
.theme-pa-agid .btn-action-edit {
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-bg);
    color: #FFFFFF;
    padding: 0.375rem 0.625rem;
}

.theme-pa-agid .btn-action-delete {
    background-color: var(--btn-danger-bg);
    border-color: var(--btn-danger-bg);
    color: #FFFFFF;
    padding: 0.375rem 0.625rem;
}

/* Bottone con icona circolare */
.theme-pa-agid .btn-icon-circle {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ========================================
   FORM PA/AGID
   ======================================== */
.theme-pa-agid .form-control {
    border: 1px solid var(--input-border);
    border-radius: var(--input-border-radius);
    padding: 0.625rem 0.875rem;
    font-family: var(--font-family);
    font-size: 0.9375rem;
    transition: var(--transition-fast);
    color: var(--color-text);
}

.theme-pa-agid .form-control:focus {
    border-color: var(--input-focus-border);
    box-shadow: 0 0 0 3px var(--input-focus-shadow);
    outline: none;
}

.theme-pa-agid .form-control:disabled,
.theme-pa-agid .form-control[readonly] {
    background-color: var(--input-disabled-bg);
    color: var(--color-text-muted);
}

.theme-pa-agid .form-control::placeholder {
    color: var(--color-text-light);
    font-style: italic;
}

.theme-pa-agid .form-label {
    font-weight: var(--input-label-weight);
    color: var(--input-label-color);
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.25px;
}

.theme-pa-agid .form-label .required,
.theme-pa-agid .form-label .text-danger {
    color: var(--color-danger);
    margin-left: 0.25rem;
}

.theme-pa-agid .form-select {
    border: 1px solid var(--input-border);
    border-radius: var(--input-border-radius);
    padding: 0.625rem 2.25rem 0.625rem 0.875rem;
    font-family: var(--font-family);
    font-size: 0.9375rem;
}

.theme-pa-agid .form-select:focus {
    border-color: var(--input-focus-border);
    box-shadow: 0 0 0 3px var(--input-focus-shadow);
}

/* Gruppi di input PA */
.theme-pa-agid .input-group {
    border-radius: var(--input-border-radius);
}

.theme-pa-agid .input-group-text {
    background-color: var(--color-background-alt);
    border-color: var(--input-border);
    color: var(--color-text-muted);
    font-size: 0.9375rem;
}

/* Form text helper */
.theme-pa-agid .form-text {
    font-size: 0.8125rem;
    color: var(--color-text-muted);
    font-style: italic;
}

/* Sezioni form con titolo */
.theme-pa-agid .form-section-title {
    color: var(--color-primary);
    font-weight: 600;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    border-bottom: 2px solid var(--color-primary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-pa-agid .form-section-title i {
    color: var(--color-primary);
}

/* ========================================
   BADGE E ETICHETTE PA/AGID
   ======================================== */
.theme-pa-agid .badge {
    font-weight: 600;
    font-family: var(--font-family);
    padding: 0.375rem 0.625rem;
    border-radius: var(--border-radius-sm);
    font-size: 0.75rem;
    letter-spacing: 0.25px;
}

.theme-pa-agid .badge-pa-primary,
.theme-pa-agid .bg-primary {
    background-color: var(--color-primary) !important;
    color: #FFFFFF !important;
}

.theme-pa-agid .badge-pa-secondary,
.theme-pa-agid .bg-secondary {
    background-color: var(--color-secondary) !important;
    color: #FFFFFF !important;
}

.theme-pa-agid .badge-pa-success,
.theme-pa-agid .bg-success {
    background-color: var(--color-success) !important;
    color: #FFFFFF !important;
}

.theme-pa-agid .badge-pa-warning,
.theme-pa-agid .bg-warning {
    background-color: var(--color-warning) !important;
    color: #FFFFFF !important;
}

.theme-pa-agid .badge-pa-danger,
.theme-pa-agid .bg-danger {
    background-color: var(--color-danger) !important;
    color: #FFFFFF !important;
}

.theme-pa-agid .badge-pa-info,
.theme-pa-agid .bg-info {
    background-color: var(--color-info) !important;
    color: #FFFFFF !important;
}

/* Badge contatore (per header card/tabelle) */
.theme-pa-agid .badge-count {
    background-color: rgba(255, 255, 255, 0.2);
    color: inherit;
    font-weight: 600;
    min-width: 24px;
    text-align: center;
}

/* Badge outline PA */
.theme-pa-agid .badge-pa-outline-primary {
    background-color: transparent;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
}

.theme-pa-agid .badge-pa-outline-success {
    background-color: transparent;
    border: 1px solid var(--color-success);
    color: var(--color-success);
}

/* ========================================
   ALERT PA/AGID
   ======================================== */
.theme-pa-agid .alert {
    border-radius: var(--border-radius);
    border-left-width: 4px;
    border-left-style: solid;
    padding: 1rem 1.25rem;
    font-family: var(--font-family);
}

.theme-pa-agid .alert i {
    margin-right: 0.75rem;
}

.theme-pa-agid .alert-info {
    background-color: var(--color-info-bg);
    border-color: var(--color-info);
    border-left-color: var(--color-info);
    color: var(--color-primary-dark);
}

.theme-pa-agid .alert-success {
    background-color: var(--color-success-bg);
    border-color: var(--color-success-bg);
    border-left-color: var(--color-success);
    color: #006B46;
}

.theme-pa-agid .alert-warning {
    background-color: var(--color-warning-bg);
    border-color: var(--color-warning-bg);
    border-left-color: var(--color-warning);
    color: #8C4E0A;
}

.theme-pa-agid .alert-danger {
    background-color: var(--color-danger-bg);
    border-color: var(--color-danger-bg);
    border-left-color: var(--color-danger);
    color: #8B1311;
}

/* Alert con link evidenza */
.theme-pa-agid .alert-link {
    font-weight: 600;
    text-decoration: underline;
}

/* ========================================
   BREADCRUMB PA/AGID
   ======================================== */
.theme-pa-agid .breadcrumb {
    background-color: transparent;
    padding: 0.75rem 0;
    margin-bottom: 1rem;
    font-family: var(--font-family);
}

.theme-pa-agid .breadcrumb-item {
    font-size: 0.875rem;
}

.theme-pa-agid .breadcrumb-item a {
    color: var(--color-primary);
    text-decoration: none;
}

.theme-pa-agid .breadcrumb-item a:hover {
    text-decoration: underline;
}

.theme-pa-agid .breadcrumb-item.active {
    color: var(--color-text-muted);
}

.theme-pa-agid .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: var(--color-text-light);
    font-weight: 600;
}

/* ========================================
   SIDEBAR/MENU LATERALE PA/AGID
   ======================================== */
.theme-pa-agid .sidebar,
.theme-pa-agid .side-menu {
    background-color: var(--sidebar-bg);
    border-right: 1px solid var(--sidebar-border);
}

.theme-pa-agid .sidebar .nav-link,
.theme-pa-agid .side-menu .nav-link {
    color: var(--color-text);
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    transition: var(--transition-fast);
    font-size: 0.9375rem;
}

.theme-pa-agid .sidebar .nav-link i,
.theme-pa-agid .side-menu .nav-link i {
    margin-right: 0.75rem;
    width: 1.25rem;
    text-align: center;
    color: var(--color-text-muted);
}

.theme-pa-agid .sidebar .nav-link:hover,
.theme-pa-agid .side-menu .nav-link:hover {
    background-color: var(--sidebar-link-hover-bg);
    color: var(--color-primary);
}

.theme-pa-agid .sidebar .nav-link:hover i,
.theme-pa-agid .side-menu .nav-link:hover i {
    color: var(--color-primary);
}

.theme-pa-agid .sidebar .nav-link.active,
.theme-pa-agid .side-menu .nav-link.active {
    background-color: var(--sidebar-link-active-bg);
    border-left-color: var(--sidebar-link-active-border);
    color: var(--sidebar-link-active-color);
    font-weight: 600;
}

.theme-pa-agid .sidebar .nav-link.active i,
.theme-pa-agid .side-menu .nav-link.active i {
    color: var(--sidebar-link-active-color);
}

/* ========================================
   TABS PA/AGID
   ======================================== */
.theme-pa-agid .nav-tabs {
    border-bottom: 2px solid var(--color-border);
}

.theme-pa-agid .nav-tabs .nav-link {
    color: var(--color-text-muted);
    font-weight: 500;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 0.75rem 1.25rem;
    margin-bottom: -2px;
    transition: var(--transition-fast);
}

.theme-pa-agid .nav-tabs .nav-link:hover {
    color: var(--color-primary);
    border-bottom-color: var(--color-border-strong);
}

.theme-pa-agid .nav-tabs .nav-link.active {
    color: var(--color-primary);
    font-weight: 600;
    border-bottom-color: var(--color-primary);
    background-color: transparent;
}

/* ========================================
   ACCORDION PA/AGID
   ======================================== */
.theme-pa-agid .accordion-item {
    border: 1px solid var(--color-border);
    margin-bottom: 0.5rem;
    border-radius: var(--border-radius);
    overflow: hidden;
}

.theme-pa-agid .accordion-button {
    background-color: var(--color-background-alt);
    color: var(--color-text);
    font-weight: 600;
    font-family: var(--font-family);
    padding: 1rem 1.25rem;
}

.theme-pa-agid .accordion-button:not(.collapsed) {
    background-color: var(--color-secondary);
    color: #FFFFFF;
}

.theme-pa-agid .accordion-button:focus {
    box-shadow: 0 0 0 3px var(--input-focus-shadow);
}

.theme-pa-agid .accordion-body {
    padding: 1.25rem;
    background-color: var(--color-background);
}

/* ========================================
   MODAL PA/AGID
   ======================================== */
.theme-pa-agid .modal-content {
    border-radius: var(--border-radius-lg);
    border: none;
    box-shadow: var(--shadow-lg);
    font-family: var(--font-family);
}

.theme-pa-agid .modal-header {
    background-color: var(--color-secondary);
    color: #FFFFFF;
    border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
    padding: 1rem 1.5rem;
}

.theme-pa-agid .modal-title {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.theme-pa-agid .modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.8;
}

.theme-pa-agid .modal-header .btn-close:hover {
    opacity: 1;
}

.theme-pa-agid .modal-body {
    padding: 1.5rem;
}

.theme-pa-agid .modal-footer {
    background-color: var(--color-background-alt);
    border-top: 1px solid var(--color-border);
    padding: 1rem 1.5rem;
}

/* ========================================
   TIMELINE PA/AGID (Stile ChemicalsWeb)
   ======================================== */
.theme-pa-agid .timeline-pa {
    position: relative;
    padding: 1rem 0;
}

/* Badge Mese/Anno (es. "FEB 2026") */
.theme-pa-agid .timeline-month-badge,
.theme-pa-agid .timeline-pa .month-badge {
    display: inline-block;
    padding: 0.375rem 1rem;
    border: 2px solid var(--color-primary-light);
    border-radius: 20px;
    color: var(--color-primary-light);
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-color: transparent;
    margin-bottom: 1.5rem;
}

/* Linea verticale timeline */
.theme-pa-agid .timeline-pa::before {
    content: '';
    position: absolute;
    left: 50px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--color-border);
}

/* Container giorno */
.theme-pa-agid .timeline-day {
    position: relative;
    margin-bottom: 1.5rem;
    padding-left: 100px;
}

/* Badge Giorno (cerchio blu con numero e mese) */
.theme-pa-agid .timeline-day-badge,
.theme-pa-agid .timeline-pa .day-badge {
    position: absolute;
    left: 30px;
    width: 44px;
    height: 44px;
    background-color: var(--color-primary-light);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-weight: 700;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

.theme-pa-agid .timeline-day-badge .day-number,
.theme-pa-agid .timeline-pa .day-badge .day-number {
    font-size: 1.125rem;
    line-height: 1;
}

.theme-pa-agid .timeline-day-badge .day-month,
.theme-pa-agid .timeline-pa .day-badge .day-month {
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    margin-top: 2px;
}

/* Card evento timeline */
.theme-pa-agid .timeline-event,
.theme-pa-agid .timeline-pa .event-card {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary-light);
    border-radius: var(--border-radius);
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    box-shadow: var(--shadow-sm);
    position: relative;
}

.theme-pa-agid .timeline-event:hover,
.theme-pa-agid .timeline-pa .event-card:hover {
    box-shadow: var(--shadow);
}

/* Freccia connettore (opzionale) */
.theme-pa-agid .timeline-event::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 15px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid var(--color-border);
}

.theme-pa-agid .timeline-event-title,
.theme-pa-agid .timeline-pa .event-title {
    font-weight: 600;
    color: var(--color-text);
    font-size: 1rem;
    margin-bottom: 0.375rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-pa-agid .timeline-event-title i {
    color: var(--color-text-muted);
}

.theme-pa-agid .timeline-event-description,
.theme-pa-agid .timeline-pa .event-description {
    color: var(--color-text);
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
}

.theme-pa-agid .timeline-event-meta,
.theme-pa-agid .timeline-pa .event-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--color-text-muted);
}

.theme-pa-agid .timeline-event-meta .meta-user,
.theme-pa-agid .timeline-pa .event-meta .meta-user {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.theme-pa-agid .timeline-event-meta .meta-user i {
    font-size: 0.75rem;
}

.theme-pa-agid .timeline-event-meta .meta-date,
.theme-pa-agid .timeline-pa .event-meta .meta-date {
    color: var(--color-text-light);
}

/* Timeline varianti colore */
.theme-pa-agid .timeline-event.event-success {
    border-left-color: var(--color-success);
}

.theme-pa-agid .timeline-event.event-warning {
    border-left-color: var(--color-warning);
}

.theme-pa-agid .timeline-event.event-danger {
    border-left-color: var(--color-danger);
}

/* ========================================
   MODAL DETTAGLIO PA/AGID (Stile ChemicalsWeb)
   ======================================== */
/* Modal con header blu navy e sezioni */
.theme-pa-agid .modal-pa,
.theme-pa-agid .modal-dettaglio {
    font-family: var(--font-family);
}

.theme-pa-agid .modal-pa .modal-content,
.theme-pa-agid .modal-dettaglio .modal-content {
    border-radius: var(--border-radius-lg);
    border: none;
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

/* Header Modal */
.theme-pa-agid .modal-pa .modal-header,
.theme-pa-agid .modal-dettaglio .modal-header {
    background-color: var(--color-secondary);
    color: #FFFFFF;
    padding: 1rem 1.5rem;
    border-bottom: none;
}

.theme-pa-agid .modal-pa .modal-title,
.theme-pa-agid .modal-dettaglio .modal-title {
    font-weight: 600;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.theme-pa-agid .modal-pa .modal-title i,
.theme-pa-agid .modal-dettaglio .modal-title i {
    font-size: 1rem;
}

.theme-pa-agid .modal-pa .btn-close,
.theme-pa-agid .modal-dettaglio .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.8;
}

.theme-pa-agid .modal-pa .btn-close:hover,
.theme-pa-agid .modal-dettaglio .btn-close:hover {
    opacity: 1;
}

/* Body Modal con sezioni */
.theme-pa-agid .modal-pa .modal-body,
.theme-pa-agid .modal-dettaglio .modal-body {
    padding: 0;
    background-color: var(--color-background);
}

/* Sezione interna al modal (header blu + contenuto) */
.theme-pa-agid .modal-section,
.theme-pa-agid .detail-section {
    margin-bottom: 0;
}

.theme-pa-agid .modal-section-header,
.theme-pa-agid .detail-section-header {
    background-color: var(--color-secondary);
    color: #FFFFFF;
    padding: 0.75rem 1.25rem;
    font-weight: 600;
    font-size: 0.9375rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.theme-pa-agid .modal-section-header i,
.theme-pa-agid .detail-section-header i {
    font-size: 0.875rem;
}

.theme-pa-agid .modal-section-body,
.theme-pa-agid .detail-section-body {
    padding: 1.25rem;
    background-color: var(--color-background);
}

/* Titolo sezione dentro il body (es. "PRODOTTO", "TIPOLOGIA PRODOTTO") */
.theme-pa-agid .section-title-inline,
.theme-pa-agid .detail-group-title {
    color: var(--color-primary);
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--color-primary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-pa-agid .section-title-inline i,
.theme-pa-agid .detail-group-title i {
    color: var(--color-primary);
    font-size: 0.875rem;
}

/* Griglia dati dettaglio (label + valore) */
.theme-pa-agid .detail-grid,
.theme-pa-agid .data-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem 2rem;
    margin-bottom: 1.5rem;
}

.theme-pa-agid .detail-item,
.theme-pa-agid .data-item {
    display: flex;
    flex-direction: column;
}

.theme-pa-agid .detail-label,
.theme-pa-agid .data-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.25rem;
}

.theme-pa-agid .detail-value,
.theme-pa-agid .data-value {
    font-size: 0.9375rem;
    color: var(--color-text);
}

.theme-pa-agid .detail-value.empty,
.theme-pa-agid .data-value.empty {
    color: var(--color-text-light);
    font-style: italic;
}

/* Footer Modal */
.theme-pa-agid .modal-pa .modal-footer,
.theme-pa-agid .modal-dettaglio .modal-footer {
    background-color: var(--color-background-alt);
    border-top: 1px solid var(--color-border);
    padding: 0.875rem 1.25rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* ========================================
   MODAL FORM PA/AGID (Nuova richiesta, etc.)
   ======================================== */
.theme-pa-agid .modal-form .modal-header {
    background-color: var(--color-secondary);
    color: #FFFFFF;
    padding: 0.875rem 1.25rem;
}

.theme-pa-agid .modal-form .modal-title {
    font-weight: 600;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.theme-pa-agid .modal-form .modal-title i {
    font-size: 1rem;
}

.theme-pa-agid .modal-form .modal-body {
    padding: 1.5rem;
}

.theme-pa-agid .modal-form .form-label {
    font-weight: 700;
    color: var(--color-text);
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
}

.theme-pa-agid .modal-form .form-label .required,
.theme-pa-agid .modal-form .form-label .text-danger {
    color: var(--color-danger);
}

.theme-pa-agid .modal-form .form-text {
    font-size: 0.8125rem;
    color: var(--color-text-muted);
    font-style: italic;
    margin-top: 0.375rem;
}

.theme-pa-agid .modal-form .modal-footer {
    background-color: var(--color-background);
    border-top: 1px solid var(--color-border);
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}

/* Bottone Salva (Verde) nel modal form */
.theme-pa-agid .modal-form .btn-save,
.theme-pa-agid .modal-form .btn-primary {
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-bg);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.5rem 1.5rem;
}

.theme-pa-agid .modal-form .btn-save:hover,
.theme-pa-agid .modal-form .btn-primary:hover {
    background-color: var(--btn-primary-hover);
    border-color: var(--btn-primary-hover);
}

/* Bottone Annulla (Outline) nel modal form */
.theme-pa-agid .modal-form .btn-cancel,
.theme-pa-agid .modal-form .btn-outline-secondary {
    background-color: transparent;
    border-color: var(--color-border-strong);
    color: var(--color-text-muted);
    font-weight: 600;
    padding: 0.5rem 1.25rem;
}

.theme-pa-agid .modal-form .btn-cancel:hover,
.theme-pa-agid .modal-form .btn-outline-secondary:hover {
    background-color: var(--color-background-alt);
    border-color: var(--color-text-muted);
    color: var(--color-text);
}

/* ========================================
   BOTTONI AZIONE PA/AGID (Cerca, Reset, Chiudi)
   ======================================== */
/* Bottone Cerca (Blu) */
.theme-pa-agid .btn-search,
.theme-pa-agid .btn-cerca {
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-bg);
    color: #FFFFFF;
    font-weight: 600;
}

.theme-pa-agid .btn-search:hover,
.theme-pa-agid .btn-cerca:hover {
    background-color: var(--btn-secondary-hover);
    border-color: var(--btn-secondary-hover);
    color: #FFFFFF;
}

/* Bottone Reset (Grigio outline) */
.theme-pa-agid .btn-reset {
    background-color: var(--color-background-alt);
    border-color: var(--color-border-strong);
    color: var(--color-text);
    font-weight: 600;
}

.theme-pa-agid .btn-reset:hover {
    background-color: var(--color-border-light);
    border-color: var(--color-text-muted);
}

/* Bottone Chiudi (Grigio) */
.theme-pa-agid .btn-close-action,
.theme-pa-agid .btn-chiudi {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #FFFFFF;
    font-weight: 600;
}

.theme-pa-agid .btn-close-action:hover,
.theme-pa-agid .btn-chiudi:hover {
    background-color: #5a6268;
    border-color: #545b62;
    color: #FFFFFF;
}

/* Bottone con icona X */
.theme-pa-agid .btn-close-action i,
.theme-pa-agid .btn-chiudi i {
    margin-right: 0.375rem;
}

/* ========================================
   TITOLO PAGINA CENTRATO PA/AGID
   ======================================== */
.theme-pa-agid .page-title-centered,
.theme-pa-agid .list-title {
    text-align: center;
    font-weight: 600;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text);
    padding: 1rem 0;
    margin-bottom: 1rem;
}

/* ========================================
   ALERT/MESSAGGIO VUOTO PA/AGID
   ======================================== */
.theme-pa-agid .empty-message,
.theme-pa-agid .no-data-message {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    color: var(--color-text-muted);
    font-size: 0.9375rem;
    padding: 1rem;
}

.theme-pa-agid .empty-message i,
.theme-pa-agid .no-data-message i {
    color: var(--color-warning);
}

/* ========================================
   CARD RIEPILOGO/DETTAGLIO PA/AGID
   ======================================== */
.theme-pa-agid .card-riepilogo,
.theme-pa-agid .card-detail {
    border: none;
    box-shadow: var(--shadow-md);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
}

.theme-pa-agid .card-riepilogo .card-header,
.theme-pa-agid .card-detail .card-header {
    background-color: var(--color-secondary) !important;
    color: #FFFFFF !important;
    padding: 0.875rem 1.25rem;
    font-weight: 600;
}

.theme-pa-agid .card-riepilogo .card-body,
.theme-pa-agid .card-detail .card-body {
    padding: 0;
}

/* Sezioni dentro card riepilogo */
.theme-pa-agid .card-riepilogo .detail-section,
.theme-pa-agid .card-detail .detail-section {
    border-bottom: 1px solid var(--color-border);
}

.theme-pa-agid .card-riepilogo .detail-section:last-child,
.theme-pa-agid .card-detail .detail-section:last-child {
    border-bottom: none;
}

/* ========================================
   LINK TIMELINE (es. "Visualizza Timeline")
   ======================================== */
.theme-pa-agid .link-timeline,
.theme-pa-agid .action-link {
    color: var(--color-primary);
    text-decoration: none;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    transition: var(--transition-fast);
}

.theme-pa-agid .link-timeline:hover,
.theme-pa-agid .action-link:hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
}

.theme-pa-agid .link-timeline i,
.theme-pa-agid .action-link i {
    font-size: 0.75rem;
}

/* ========================================
   SELECT2 E DROPDOWN CUSTOM PA/AGID
   ======================================== */
.theme-pa-agid .select2-container--default .select2-selection--single {
    border: 1px solid var(--input-border);
    border-radius: var(--input-border-radius);
    height: 38px;
    padding: 0.375rem 0.75rem;
}

.theme-pa-agid .select2-container--default .select2-selection--single:focus {
    border-color: var(--input-focus-border);
    box-shadow: 0 0 0 3px var(--input-focus-shadow);
}

.theme-pa-agid .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 24px;
    color: var(--color-text);
}

.theme-pa-agid .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.theme-pa-agid .select2-dropdown {
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-md);
}

.theme-pa-agid .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-primary);
    color: #FFFFFF;
}

/* ========================================
   DATEPICKER PA/AGID
   ======================================== */
.theme-pa-agid .datepicker {
    font-family: var(--font-family);
}

.theme-pa-agid .datepicker table tr td.active,
.theme-pa-agid .datepicker table tr td.active:hover {
    background-color: var(--color-primary) !important;
    background-image: none;
}

.theme-pa-agid .datepicker table tr td.today {
    background-color: var(--color-info-bg);
    color: var(--color-primary);
}

/* ========================================
   TEXTAREA PA/AGID
   ======================================== */
.theme-pa-agid textarea.form-control {
    min-height: 100px;
    resize: vertical;
}

.theme-pa-agid textarea.form-control:focus {
    border-color: var(--input-focus-border);
    box-shadow: 0 0 0 3px var(--input-focus-shadow);
}

/* ========================================
   SPINNER/LOADING PA/AGID
   ======================================== */
.theme-pa-agid .spinner-border {
    color: var(--color-primary);
}

.theme-pa-agid .loading-overlay {
    background-color: rgba(255, 255, 255, 0.9);
}

.theme-pa-agid .loading-text {
    color: var(--color-text-muted);
    font-size: 0.875rem;
    margin-top: 0.75rem;
}

/* ========================================
   SCROLLBAR CUSTOM PA/AGID
   ======================================== */
.theme-pa-agid ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.theme-pa-agid ::-webkit-scrollbar-track {
    background: var(--color-background-alt);
    border-radius: 4px;
}

.theme-pa-agid ::-webkit-scrollbar-thumb {
    background: var(--color-border-strong);
    border-radius: 4px;
}

.theme-pa-agid ::-webkit-scrollbar-thumb:hover {
    background: var(--color-text-muted);
}

/* ========================================
   RESPONSIVE TIMELINE PA/AGID
   ======================================== */
@media (max-width: 768px) {
    .theme-pa-agid .timeline-pa::before {
        left: 25px;
    }
    
    .theme-pa-agid .timeline-day {
        padding-left: 70px;
    }
    
    .theme-pa-agid .timeline-day-badge,
    .theme-pa-agid .timeline-pa .day-badge {
        left: 5px;
        width: 38px;
        height: 38px;
    }
    
    .theme-pa-agid .timeline-day-badge .day-number {
        font-size: 1rem;
    }
    
    .theme-pa-agid .timeline-event {
        padding: 0.875rem 1rem;
    }
    
    .theme-pa-agid .detail-grid {
        grid-template-columns: 1fr;
        gap: 0.875rem;
    }
    
    .theme-pa-agid .modal-section-body,
    .theme-pa-agid .detail-section-body {
        padding: 1rem;
    }
}

/* ========================================
   DARK MODE SUPPORT (Opzionale)
   ======================================== */
@media (prefers-color-scheme: dark) {
    /* Placeholder per futura implementazione dark mode */
    /* Al momento il tema PA/AGID usa solo light mode */
}

/* ========================================
   TESTATA PA/AGID (Header + Navbar)
   ======================================== */

/* Header Top PA */
.theme-pa-agid .header-top-pa {
    background-color: var(--header-top-bg);
    border-bottom: 1px solid var(--header-top-border);
}

.theme-pa-agid .header-logo-pa {
    max-height: 70px;
    width: auto;
}

.theme-pa-agid .header-info-pa {
    padding-left: 1rem;
}

.theme-pa-agid .header-meta-pa {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-bottom: 0.25rem;
}

.theme-pa-agid .header-meta-pa span {
    margin-right: 1rem;
}

.theme-pa-agid .header-title-pa {
    color: var(--color-primary);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.25rem 0;
    text-transform: uppercase;
    letter-spacing: 0.25px;
}

.theme-pa-agid .header-subtitle-pa {
    color: var(--color-danger);
    font-size: 0.9375rem;
    font-weight: 500;
    margin: 0;
}

/* Navbar PA */
.theme-pa-agid .navbar-pa-wrapper {
    margin-top: 0;
}

.theme-pa-agid .navbar-pa {
    background: var(--navbar-bg) !important;
    background-color: var(--navbar-bg-solid) !important;
    padding: 0;
    min-height: var(--navbar-height);
}

.theme-pa-agid .navbar-pa .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3);
    padding: 0.375rem 0.75rem;
}

.theme-pa-agid .navbar-pa .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.theme-pa-agid .navbar-pa .nav-link {
    color: var(--navbar-text) !important;
    font-weight: 500;
    font-size: 0.9375rem;
    padding: 1rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: var(--transition-fast);
    border-bottom: 3px solid transparent;
}

.theme-pa-agid .navbar-pa .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--navbar-text-hover) !important;
}

.theme-pa-agid .navbar-pa .nav-link.active,
.theme-pa-agid .navbar-pa .nav-item.active > .nav-link {
    border-bottom-color: var(--navbar-active-indicator);
    background-color: rgba(255, 255, 255, 0.05);
}

.theme-pa-agid .navbar-pa .nav-link i {
    font-size: 0.875em;
    opacity: 0.9;
}

/* Dropdown nel navbar PA */
.theme-pa-agid .navbar-pa .dropdown-menu {
    background-color: var(--color-background);
    border: none;
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    box-shadow: var(--shadow-md);
    padding: 0.5rem 0;
    margin-top: 0;
    border-top: 3px solid var(--color-primary-light);
}

.theme-pa-agid .navbar-pa .dropdown-item {
    color: var(--color-text);
    padding: 0.625rem 1.25rem;
    font-size: 0.9375rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.theme-pa-agid .navbar-pa .dropdown-item i {
    color: var(--color-text-muted);
    width: 1.25rem;
    text-align: center;
    font-size: 0.875rem;
}

.theme-pa-agid .navbar-pa .dropdown-item:hover {
    background-color: var(--color-background-alt);
    color: var(--color-primary);
}

.theme-pa-agid .navbar-pa .dropdown-item:hover i {
    color: var(--color-primary);
}

.theme-pa-agid .navbar-pa .dropdown-divider {
    border-color: var(--color-border);
    margin: 0.375rem 0;
}

/* User menu PA */
.theme-pa-agid .navbar-pa .user-menu-pa {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius);
    padding: 0.5rem 1rem !important;
    margin: 0.5rem 0;
}

.theme-pa-agid .navbar-pa .user-menu-pa:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

/* ========================================
   INTESTAZIONE PAGINA PA/AGID
   ======================================== */
.theme-pa-agid .page-header-pa,
.theme-pa-agid .intestazione-pa {
    text-align: center;
    padding: 1.5rem 0;
    margin-bottom: 1.5rem;
}

.theme-pa-agid .page-header-pa .page-title,
.theme-pa-agid .intestazione-pa .page-title {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text);
    margin: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 0.75rem;
}

.theme-pa-agid .page-header-pa .page-title::after,
.theme-pa-agid .intestazione-pa .page-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: var(--color-primary);
    border-radius: 2px;
}

/* Adatta anche il componente intestazione esistente */
.theme-pa-agid .custom-title-menu {
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text);
    padding: 1.5rem 0 0.75rem;
}

.theme-pa-agid .about-border {
    width: 60px;
    height: 3px;
    background-color: var(--color-primary) !important;
    margin: 0 auto 1.5rem;
    border-radius: 2px;
}

/* ========================================
   CARD FILTRO/RICERCA PA/AGID
   ======================================== */
.theme-pa-agid .card-filtro,
.theme-pa-agid .card-search,
.theme-pa-agid .card-parametri-ricerca {
    border: 1px solid var(--color-border);
    border-radius: var(--card-border-radius);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.theme-pa-agid .card-filtro > .card-header,
.theme-pa-agid .card-search > .card-header,
.theme-pa-agid .card-parametri-ricerca > .card-header {
    background-color: var(--card-header-filter-bg) !important;
    color: var(--card-header-filter-color) !important;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-bottom: 1px solid var(--color-border);
}

.theme-pa-agid .card-filtro > .card-header i,
.theme-pa-agid .card-search > .card-header i,
.theme-pa-agid .card-parametri-ricerca > .card-header i {
    color: var(--color-primary) !important;
    font-size: 1.125rem;
}

.theme-pa-agid .card-filtro .card-header-content,
.theme-pa-agid .card-search .card-header-content {
    display: flex;
    flex-direction: column;
}

.theme-pa-agid .card-filtro .card-header-title,
.theme-pa-agid .card-search .card-header-title {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--card-header-filter-color);
}

.theme-pa-agid .card-filtro .card-header-subtitle,
.theme-pa-agid .card-search .card-header-subtitle {
    font-size: 0.8125rem;
    color: var(--color-text-muted);
    font-weight: 400;
}

.theme-pa-agid .card-filtro > .card-body,
.theme-pa-agid .card-search > .card-body,
.theme-pa-agid .card-parametri-ricerca > .card-body {
    padding: 1.25rem;
    background-color: var(--color-background);
}

/* ========================================
   CARD LISTA/TABELLA PA/AGID
   ======================================== */
.theme-pa-agid .card-lista,
.theme-pa-agid .card-table,
.theme-pa-agid .card-elenco {
    border: 1px solid var(--color-border);
    border-radius: var(--card-border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.theme-pa-agid .card-lista > .card-header,
.theme-pa-agid .card-table > .card-header,
.theme-pa-agid .card-elenco > .card-header {
    background-color: var(--card-header-bg) !important;
    color: var(--card-header-color) !important;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.theme-pa-agid .card-lista > .card-header i,
.theme-pa-agid .card-table > .card-header i,
.theme-pa-agid .card-elenco > .card-header i {
    font-size: 1rem;
}

.theme-pa-agid .card-lista .card-header-content,
.theme-pa-agid .card-table .card-header-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.theme-pa-agid .card-lista .card-header-title,
.theme-pa-agid .card-table .card-header-title {
    font-weight: 600;
    font-size: 0.9375rem;
}

.theme-pa-agid .card-lista .card-header-subtitle,
.theme-pa-agid .card-table .card-header-subtitle {
    font-size: 0.8125rem;
    opacity: 0.85;
    font-weight: 400;
}

/* Badge contatore nell'header */
.theme-pa-agid .card-lista .badge-count,
.theme-pa-agid .card-table .badge-count {
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--card-header-color);
    font-weight: 600;
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--border-radius-sm);
    margin-left: auto;
}

.theme-pa-agid .card-lista .badge-count i,
.theme-pa-agid .card-table .badge-count i {
    margin-right: 0.375rem;
    font-size: 0.75rem;
}

.theme-pa-agid .card-lista > .card-body,
.theme-pa-agid .card-table > .card-body,
.theme-pa-agid .card-elenco > .card-body {
    padding: 0;
    background-color: var(--color-background);
}

/* Tabella dentro card lista */
.theme-pa-agid .card-lista .table,
.theme-pa-agid .card-table .table,
.theme-pa-agid .card-elenco .table {
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: none;
    border: none;
}

.theme-pa-agid .card-lista .table thead th:first-child,
.theme-pa-agid .card-table .table thead th:first-child {
    border-top-left-radius: 0;
}

.theme-pa-agid .card-lista .table thead th:last-child,
.theme-pa-agid .card-table .table thead th:last-child {
    border-top-right-radius: 0;
}

/* ========================================
   BOTTONE "NUOVO" PA/AGID
   ======================================== */
.theme-pa-agid .btn-nuovo,
.theme-pa-agid .btn-add-new {
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-bg);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.625rem 1.25rem;
    border-radius: var(--btn-border-radius);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-pa-agid .btn-nuovo:hover,
.theme-pa-agid .btn-add-new:hover {
    background-color: var(--btn-primary-hover);
    border-color: var(--btn-primary-hover);
    color: #FFFFFF;
}

.theme-pa-agid .btn-nuovo i,
.theme-pa-agid .btn-add-new i {
    font-size: 0.875em;
}

/* ========================================
   AZIONI TABELLA PA/AGID
   ======================================== */
.theme-pa-agid .table-actions,
.theme-pa-agid .td-actions {
    white-space: nowrap;
    text-align: right;
}

.theme-pa-agid .btn-edit,
.theme-pa-agid .btn-action-edit {
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-bg);
    color: #FFFFFF;
    padding: 0.375rem 0.5rem;
    border-radius: var(--btn-border-radius);
    font-size: 0.875rem;
    line-height: 1;
    margin-right: 0.25rem;
}

.theme-pa-agid .btn-edit:hover,
.theme-pa-agid .btn-action-edit:hover {
    background-color: var(--btn-secondary-hover);
    border-color: var(--btn-secondary-hover);
    color: #FFFFFF;
}

.theme-pa-agid .btn-delete,
.theme-pa-agid .btn-action-delete {
    background-color: var(--btn-danger-bg);
    border-color: var(--btn-danger-bg);
    color: #FFFFFF;
    padding: 0.375rem 0.5rem;
    border-radius: var(--btn-border-radius);
    font-size: 0.875rem;
    line-height: 1;
}

.theme-pa-agid .btn-delete:hover,
.theme-pa-agid .btn-action-delete:hover {
    background-color: var(--btn-danger-hover);
    border-color: var(--btn-danger-hover);
    color: #FFFFFF;
}

/* Icone circolari per azioni */
.theme-pa-agid .btn-action-circle {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ========================================
   LAYOUT PAGINA PA/AGID
   ======================================== */
.theme-pa-agid .page-container {
    background-color: var(--color-background-alt);
    min-height: 100vh;
}

.theme-pa-agid .main-content {
    padding: 1.5rem;
}

/* Spazio per bottone nuovo sopra la card */
.theme-pa-agid .action-bar {
    margin-bottom: 1rem;
}

/* ========================================
   LINK IN TABELLA PA/AGID
   ======================================== */
.theme-pa-agid .table a.link-primary,
.theme-pa-agid .table td a:not(.btn) {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

.theme-pa-agid .table a.link-primary:hover,
.theme-pa-agid .table td a:not(.btn):hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
}

/* ========================================
   RESPONSIVE PA/AGID - Aggiuntivi
   ======================================== */
@media (max-width: 992px) {
    .theme-pa-agid .header-title-pa {
        font-size: 1rem;
    }
    
    .theme-pa-agid .header-subtitle-pa {
        font-size: 0.875rem;
    }
    
    .theme-pa-agid .navbar-pa .nav-link {
        padding: 0.75rem 1rem;
        border-bottom: none;
        border-left: 3px solid transparent;
    }
    
    .theme-pa-agid .navbar-pa .nav-link.active {
        border-bottom: none;
        border-left-color: var(--navbar-active-indicator);
    }
}

@media (max-width: 768px) {
    .theme-pa-agid .header-top-pa .row {
        flex-direction: column;
        text-align: center;
    }
    
    .theme-pa-agid .header-info-pa {
        padding-left: 0;
        margin-top: 1rem;
    }
    
    .theme-pa-agid .header-meta-pa {
        display: none;
    }
    
    .theme-pa-agid .header-logo-pa {
        max-height: 50px;
    }
    
    .theme-pa-agid .card-filtro > .card-header,
    .theme-pa-agid .card-lista > .card-header {
        flex-wrap: wrap;
    }
    
    .theme-pa-agid .card-lista .badge-count {
        margin-left: 0;
        margin-top: 0.5rem;
        width: 100%;
        text-align: center;
    }
}
