:root {
    --pa-backend-blue: #174a7c;
    --pa-backend-blue-dark: #10385f;
    --pa-backend-cyan: #0f6f8f;
    --pa-backend-green: #24724f;
    --pa-backend-red: #b42318;
    --pa-backend-ink: #17324d;
    --pa-backend-muted: #5d7083;
    --pa-backend-border: #d7e2ec;
    --pa-backend-soft: #f4f8fb;
    --pa-backend-white: #ffffff;
    --pa-backend-shadow: 0 12px 32px rgba(23, 50, 77, .14);
}

/* Bootstrap outline blue has insufficient text contrast on striped rows.
   Set Bootstrap variables too: the shared input.btn.pa-btn rules use them. */
.pa-private-shell .btn.btn-outline-primary {
    --bs-btn-color: var(--pa-backend-blue);
    --bs-btn-border-color: var(--pa-backend-blue);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--pa-backend-blue);
    --bs-btn-hover-border-color: var(--pa-backend-blue);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--pa-backend-blue);
    --bs-btn-active-border-color: var(--pa-backend-blue);
    --bs-btn-disabled-color: var(--pa-backend-blue);
    --bs-btn-disabled-border-color: var(--pa-backend-blue);
    color: var(--pa-backend-blue);
    border-color: var(--pa-backend-blue);
}

.pa-private-shell .btn.btn-outline-primary:hover,
.pa-private-shell .btn.btn-outline-primary:focus,
.pa-private-shell .btn.btn-outline-primary:active,
.pa-private-shell .btn.btn-outline-primary.active {
    color: #fff;
    background-color: var(--pa-backend-blue);
    border-color: var(--pa-backend-blue);
}

/* Upload DNA/Genetica R1-R2. Il loader resta nella modale e blocca la chiusura lato script. */
.pa-fastq-modal-content {
    position: relative;
}

.pa-storage-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.pa-storage-parent {
    margin-bottom: 14px;
}

.pa-fastq-file-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.pa-fastq-file-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #fff;
}

.pa-fastq-loader {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 10px;
    background: var(--pa-backend-soft);
}

.pa-fastq-loader__heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.pa-fastq-progress-row {
    display: grid;
    gap: 6px;
    margin-top: 12px;
}

.pa-fastq-progress-row > div,
.pa-fastq-metrics {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pa-fastq-progress-row progress {
    width: 100%;
    height: 14px;
    accent-color: var(--pa-backend-blue);
}

.pa-fastq-progress-row--total {
    padding-top: 12px;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-fastq-metrics {
    margin-top: 14px;
    color: var(--pa-backend-muted);
    font-size: .88rem;
}

.pa-alert--danger {
    border-color: #f2b8b5;
    color: #8a1c13;
    background: #fff3f2;
}

@media (max-width: 760px) {
    .pa-fastq-file-grid {
        grid-template-columns: 1fr;
    }

    .pa-fastq-metrics {
        align-items: flex-start;
        flex-direction: column;
    }
}

.pa-private-shell {
    --pa-backend-layout-offset: 18px;
    --pa-backend-sidebar-gap: 16px;
    --pa-backend-page-gutter: clamp(12px, 2vw, 24px);
    --pa-backend-sidebar-width: clamp(220px, 18vw, 280px);
}

.pa-backend-shell {
    position: relative;
    z-index: 20;
    --pa-backend-layout-offset: 18px;
    --pa-backend-sidebar-gap: 16px;
    color: var(--pa-backend-ink);
    font-family: "Titillium Web", Arial, sans-serif;
}

.pa-backend-shell .pa-topbar,
.pa-backend-shell .pa-header,
.pa-backend-shell .pa-public-nav {
    font-family: "Titillium Web", Arial, sans-serif;
}

.pa-backend-shell .pa-container {
    width: min(100% - 32px, 100%);
    max-width: none;
}

.pa-header__logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pa-backend-shell .pa-logo--enternet-public {
    width: 122px;
    height: auto;
    max-height: 47px;
    object-fit: contain;
}

.pa-backend-shell .pa-header__actions {
    justify-self: end;
}

.pa-backend-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.pa-backend-topbar {
    background: linear-gradient(90deg, var(--pa-backend-blue-dark), var(--pa-backend-blue) 58%, var(--pa-backend-cyan));
    color: var(--pa-backend-white);
    box-shadow: var(--pa-backend-shadow);
}

.pa-backend-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 104px;
    padding: 18px 0;
}

.pa-backend-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--pa-backend-white);
    text-decoration: none;
    min-width: 0;
}

.pa-backend-brand:hover,
.pa-backend-brand:focus {
    color: var(--pa-backend-white);
    text-decoration: none;
}

.pa-backend-brand__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    flex: 0 0 auto;
}

.pa-backend-brand__mark .bi {
    font-size: 30px;
    line-height: 1;
}

.pa-backend-brand__text {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.pa-backend-brand__text strong {
    font-size: 25px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: 0;
}

.pa-backend-brand__text small,
.pa-backend-brand__kicker {
    display: block;
    color: rgba(255, 255, 255, .86);
    font-size: 15px;
    line-height: 1.25;
    letter-spacing: 0;
}

.pa-backend-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.pa-user-menu {
    position: relative;
    z-index: 70;
}

.pa-user-menu__summary {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    color: var(--pa-backend-ink);
    background: var(--pa-backend-white);
    cursor: pointer;
    list-style: none;
}

.pa-user-menu__summary::-webkit-details-marker {
    display: none;
}

.pa-user-menu__summary .bi-person-circle {
    font-size: 25px;
}

.pa-user-menu__summary span {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.pa-user-menu__chevron {
    font-size: 13px;
}

.pa-user-menu[open] .pa-user-menu__summary {
    background: var(--pa-backend-soft);
}

.pa-user-menu__panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 75;
    width: 286px;
    padding: 8px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: var(--pa-backend-shadow);
}

.pa-user-menu__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--pa-backend-ink);
    font-size: 15px;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.pa-user-menu__item:hover,
.pa-user-menu__item:focus {
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
    text-decoration: none;
}

.pa-user-menu__item .bi {
    width: 23px;
    color: var(--pa-backend-blue);
    font-size: 20px;
    text-align: center;
}

.pa-user-menu__logout {
    color: var(--pa-backend-red);
}

.pa-user-menu__logout .bi {
    color: var(--pa-backend-red);
}

.pa-backend-nav {
    position: relative;
    z-index: 40;
    border-bottom: 0;
    background: var(--pa-primary);
}

.pa-backend-nav__inner {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 58px;
}

.pa-backend-nav__link,
.pa-backend-nav__group > summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 58px;
    padding: 0 8px;
    border: 0;
    border-bottom: 0;
    background: transparent;
    color: #fff;
    font-size: .92rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    list-style: none;
}

.pa-backend-nav__group > summary::-webkit-details-marker {
    display: none;
}

.pa-backend-nav__link .bi,
.pa-backend-nav__group > summary .bi {
    color: #fff;
    font-size: 1.05rem;
}

.pa-backend-nav__link:hover,
.pa-backend-nav__link:focus,
.pa-backend-nav__group > summary:hover,
.pa-backend-nav__group > summary:focus,
.pa-backend-nav__link.is-active,
.pa-backend-nav__group.is-active > summary {
    background: var(--pa-dark);
    color: #fff;
    text-decoration: none;
}

.pa-backend-nav__group {
    position: relative;
}

.pa-backend-nav__chevron {
    margin-left: 2px;
    font-size: 12px !important;
}

.pa-backend-nav__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 60;
    width: 288px;
    max-height: min(68vh, 560px);
    overflow-y: auto;
    padding: 8px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: var(--pa-backend-shadow);
}

.pa-backend-nav__group--wide .pa-backend-nav__dropdown {
    left: auto;
    right: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    width: min(560px, calc(100vw - 32px));
}

.pa-backend-nav__group--align-end .pa-backend-nav__dropdown {
    left: auto;
    right: 0;
}

.pa-backend-nav__dropdown-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 10px;
    border-radius: 6px;
    color: var(--pa-backend-ink);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.pa-backend-nav__dropdown-link .bi {
    width: 23px;
    color: var(--pa-backend-blue);
    font-size: 20px;
    text-align: center;
}

.pa-backend-nav__dropdown-link:hover,
.pa-backend-nav__dropdown-link:focus,
.pa-backend-nav__dropdown-link.is-active {
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
    text-decoration: none;
}

.pa-backend-sidebar {
    width: min(280px, calc(100% - 32px));
    margin: 18px auto 0;
    padding: 12px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 20px rgba(23, 50, 77, .09);
}

.pa-backend-sidebar-toggle-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 12px;
}

.pa-backend-shell:not(.has-sidebar) .pa-backend-sidebar-toggle-row {
    display: none;
}

.pa-backend-sidebar-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
    font: 700 14px/1.2 "Titillium Web", Arial, sans-serif;
    box-shadow: 0 4px 14px rgba(23, 50, 77, .08);
    cursor: pointer;
}

.pa-backend-sidebar-toggle:hover,
.pa-backend-sidebar-toggle:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .16);
    outline: 0;
}

.pa-backend-sidebar-toggle .bi {
    font-size: 19px;
    line-height: 1;
}

.pa-backend-sidebar__title {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 7px 12px;
    border-bottom: 1px solid var(--pa-backend-border);
    color: var(--pa-backend-blue);
    font-size: 16px;
    font-weight: 700;
}

.pa-backend-sidebar__title .bi {
    font-size: 22px;
}

.pa-backend-sidebar__links {
    display: grid;
    gap: 4px;
    padding-top: 10px;
}

.pa-backend-sidebar__link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 9px;
    border-radius: 6px;
    color: var(--pa-backend-ink);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.pa-backend-sidebar__link .bi {
    width: 22px;
    color: var(--pa-backend-blue);
    font-size: 20px;
    text-align: center;
}

.pa-backend-sidebar__link:hover,
.pa-backend-sidebar__link:focus,
.pa-backend-sidebar__link.is-active {
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    text-decoration: none;
}

.pa-backend-shell.has-sidebar ~ .center,
.pa-backend-shell.has-sidebar ~ main.center,
.pa-backend-shell.has-sidebar ~ .pa-main--with-sidebar {
    max-width: none;
}

.pa-private-shell .center,
.pa-private-shell main.center {
    width: calc(100% - 2 * var(--pa-backend-page-gutter));
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    min-width: 0;
}

.pa-private-shell .center .pa-container,
.pa-private-shell main.center .pa-container {
    width: 100%;
    max-width: none;
}

.pa-private-shell .pa-private-content {
    padding-top: 1.25rem;
}

.pa-private-shell .pa-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    gap: 1.25rem;
    align-items: start;
}

.pa-private-shell .pa-workspace > * {
    min-width: 0;
}

.pa-mail-preview {
    display: block;
    width: 100%;
    min-height: 520px;
    border: 1px solid var(--pa-backend-border);
    background: #fff;
}

.pa-private-shell .pa-workspace > .pa-page-heading {
    margin-bottom: 0;
}

.pa-private-shell .pa-workspace > .pa-kpi-grid {
    margin-top: 0;
    margin-bottom: 0;
}

.pa-private-shell .pa-workspace > .pa-panel + .pa-panel {
    margin-top: .15rem;
}

.pa-private-shell .pa-private-content > .pa-panel + .pa-panel {
    margin-top: 1.25rem;
}

.pa-notifiche-search-panel + .pa-notifiche-results-panel {
    margin-top: 1.25rem;
}

.pa-page-title,
.pa-section-title {
    color: var(--pa-backend-ink);
    letter-spacing: 0;
}

.pa-page-title {
    display: block;
    margin-bottom: 1rem;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
}

.pa-page-title::after {
    display: block;
    width: 72px;
    margin-top: 10px;
}

.pa-page-title .bi {
    margin-right: 10px;
    vertical-align: -.08em;
}

.pa-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pa-section-lead {
    font-size: .98rem;
    line-height: 1.45;
}

.pa-page-title .bi,
.pa-section-title .bi,
.pa-panel__title .bi {
    color: var(--pa-backend-blue);
    font-size: 26px;
}

.pa-panel {
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
    padding: 0;
}

.pa-panel__header,
.pa-panel__head,
.pa-panel__body,
.pa-panel__footer {
    padding: 18px;
}

.pa-panel__header,
.pa-panel__head {
    border-bottom: 1px solid var(--pa-backend-border);
    margin-bottom: 0;
}

.pa-panel__title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--pa-backend-ink);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}

.pa-panel__subtitle {
    margin: 6px 0 0;
    color: var(--pa-backend-muted);
    font-size: 15px;
    line-height: 1.45;
}

.pa-panel > .pa-form-grid,
.pa-panel > .pa-table-wrap,
.pa-panel > .pa-detail-grid,
.pa-panel > .pa-form-actions,
.pa-panel > .pa-note,
.pa-panel > .pa-panel__text,
.pa-panel > .alert,
.pa-panel > .visually-hidden + .pa-form-grid {
    margin: 18px;
}

.pa-panel > .pa-table-wrap {
    width: auto;
}

.pa-panel > .pa-form-actions {
    margin-top: 0;
}

.pa-panel__text {
    margin: 6px 0 0;
    color: var(--pa-backend-muted);
    font-size: 15px;
    line-height: 1.45;
}

.pa-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 20px 0;
}

.pa-kpi-grid--admin {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.pa-kpi-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    min-height: 118px;
    padding: 18px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
}

a.pa-kpi-card {
    color: inherit;
    text-decoration: none;
}

a.pa-kpi-card:hover,
a.pa-kpi-card:focus {
    border-color: var(--pa-backend-blue);
    box-shadow: 0 12px 28px rgba(23, 50, 77, .13);
    text-decoration: none;
}

.pa-kpi-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 8px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

.pa-kpi-card__icon .bi {
    font-size: 25px;
}

.pa-kpi-card__value {
    display: block;
    color: var(--pa-backend-ink);
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
}

.pa-kpi-card__label {
    display: block;
    margin-top: 5px;
    color: var(--pa-backend-muted);
    font-size: 15px;
    line-height: 1.25;
}

.pa-kpi-card--warning .pa-kpi-card__icon {
    background: #fff4d8;
    color: #8a5a00;
}

.pa-kpi-card--danger .pa-kpi-card__icon {
    background: #fde7e5;
    color: var(--pa-backend-red);
}

.pa-kpi-card--success .pa-kpi-card__icon {
    background: #e8f5ee;
    color: var(--pa-backend-green);
}

.pa-import-kpi-grid {
    margin-top: 0;
}

.pa-import-chart-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.pa-import-chart-card {
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #fff;
    padding: 1rem;
}

.pa-import-chart {
    height: 260px;
    margin-top: .75rem;
}

.pa-import-chart canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.pa-import-issue-summary ul {
    margin: .5rem 0 0;
    padding-left: 1.25rem;
}

.pa-log-row {
    cursor: pointer;
}

.pa-log-row:hover,
.pa-log-row:focus {
    background: #eaf3f8;
    outline: 2px solid rgba(36, 131, 162, .32);
    outline-offset: -2px;
}

.pa-table__actions-cell,
.pa-table__actions-header {
    width: 5.5rem;
    text-align: center;
}

.pa-table .pa-table__actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.pa-table .pa-table-action-btn,
.pa-table a.pa-table-action-btn,
.pa-table button.pa-table-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    min-width: 2.55rem;
    height: 2.55rem;
    padding: 0;
    border: 2px solid var(--pa-backend-blue);
    border-radius: 8px;
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(23, 50, 77, .12);
}

.pa-table .pa-table-action-btn:hover,
.pa-table .pa-table-action-btn:focus,
.pa-table a.pa-table-action-btn:hover,
.pa-table a.pa-table-action-btn:focus,
.pa-table button.pa-table-action-btn:hover,
.pa-table button.pa-table-action-btn:focus {
    border-color: var(--pa-backend-blue-dark);
    background: var(--pa-backend-blue-dark);
    color: var(--pa-backend-white);
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .18);
}

.pa-table .pa-table-action-btn i,
.pa-table .pa-table-action-btn .bi {
    color: currentColor;
    font-size: 1.18rem;
    line-height: 1;
}

.pa-table .pa-table-action-btn--secondary,
.pa-table a.pa-table-action-btn--secondary,
.pa-table button.pa-table-action-btn--secondary {
    border-color: #9db7cc;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-table a.pa-table-action-btn--secondary:visited {
    color: var(--pa-backend-blue);
}

.pa-table .pa-table-action-btn--secondary:hover,
.pa-table .pa-table-action-btn--secondary:focus,
.pa-table a.pa-table-action-btn--secondary:hover,
.pa-table a.pa-table-action-btn--secondary:focus,
.pa-table button.pa-table-action-btn--secondary:hover,
.pa-table button.pa-table-action-btn--secondary:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

.pa-table .pa-table-action-btn--info,
.pa-table a.pa-table-action-btn--info,
.pa-table button.pa-table-action-btn--info {
    border-color: #78b9c7;
    background: #e3f4f7;
    color: var(--pa-backend-blue-dark);
}

.pa-table a.pa-table-action-btn--info:visited {
    color: var(--pa-backend-blue-dark);
}

.pa-table .pa-table-action-btn--info:hover,
.pa-table .pa-table-action-btn--info:focus,
.pa-table a.pa-table-action-btn--info:hover,
.pa-table a.pa-table-action-btn--info:focus,
.pa-table button.pa-table-action-btn--info:hover,
.pa-table button.pa-table-action-btn--info:focus {
    border-color: var(--pa-backend-blue);
    background: #cceaf0;
    color: var(--pa-backend-blue-dark);
}

.pa-table .pa-table-action-btn--warning,
.pa-table a.pa-table-action-btn--warning,
.pa-table button.pa-table-action-btn--warning {
    border-color: #d9a63b;
    background: #fff4d8;
    color: #754f00;
}

.pa-table a.pa-table-action-btn--warning:visited {
    color: #754f00;
}

.pa-table .pa-table-action-btn--warning:hover,
.pa-table .pa-table-action-btn--warning:focus,
.pa-table a.pa-table-action-btn--warning:hover,
.pa-table a.pa-table-action-btn--warning:focus,
.pa-table button.pa-table-action-btn--warning:hover,
.pa-table button.pa-table-action-btn--warning:focus {
    border-color: #a87300;
    background: #ffe5a6;
    color: #5c3d00;
}

.pa-table .pa-table-action-btn--danger,
.pa-table a.pa-table-action-btn--danger,
.pa-table button.pa-table-action-btn--danger {
    border-color: var(--pa-backend-red);
    background: var(--pa-backend-red);
    color: var(--pa-backend-white);
}

.pa-table a.pa-table-action-btn--danger:visited {
    color: var(--pa-backend-white);
}

.pa-table .pa-table-action-btn--danger:hover,
.pa-table .pa-table-action-btn--danger:focus,
.pa-table a.pa-table-action-btn--danger:hover,
.pa-table a.pa-table-action-btn--danger:focus,
.pa-table button.pa-table-action-btn--danger:hover,
.pa-table button.pa-table-action-btn--danger:focus {
    border-color: #8f1d14;
    background: #8f1d14;
    color: var(--pa-backend-white);
}

.pa-table .pa-table-action-btn--success,
.pa-table a.pa-table-action-btn--success,
.pa-table button.pa-table-action-btn--success {
    border-color: var(--pa-backend-green);
    background: var(--pa-backend-green);
    color: var(--pa-backend-white);
}

.pa-table a.pa-table-action-btn--success:visited {
    color: var(--pa-backend-white);
}

.pa-table .pa-table-action-btn--success:hover,
.pa-table .pa-table-action-btn--success:focus,
.pa-table a.pa-table-action-btn--success:hover,
.pa-table a.pa-table-action-btn--success:focus,
.pa-table button.pa-table-action-btn--success:hover,
.pa-table button.pa-table-action-btn--success:focus {
    border-color: #1f5e43;
    background: #1f5e43;
    color: var(--pa-backend-white);
}

.pa-log-detail {
    display: grid;
    gap: 10px;
    margin: 0;
}

.pa-log-detail__row {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--pa-backend-border);
}

.pa-log-detail__row dt {
    color: var(--pa-backend-muted);
    font-weight: 700;
}

.pa-log-detail__row dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.pa-muted {
    color: var(--pa-backend-muted);
}

.pa-form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.pa-button,
.pa-btn,
input.pa-button,
input.pa-btn,
button.pa-button,
button.pa-btn,
a.pa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid var(--pa-backend-blue);
    border-radius: 6px;
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
}

.pa-button:hover,
.pa-button:focus,
.pa-btn:hover,
.pa-btn:focus {
    border-color: var(--pa-backend-blue-dark);
    background: var(--pa-backend-blue-dark);
    color: var(--pa-backend-white);
    text-decoration: none;
}

.pa-private-shell .pa-btn,
.pa-private-shell input.pa-btn,
.pa-private-shell button.pa-btn,
.pa-private-shell a.pa-btn {
    border-color: var(--pa-backend-blue);
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
}

.pa-private-shell .pa-btn:hover,
.pa-private-shell .pa-btn:focus,
.pa-private-shell input.pa-btn:hover,
.pa-private-shell input.pa-btn:focus,
.pa-private-shell button.pa-btn:hover,
.pa-private-shell button.pa-btn:focus,
.pa-private-shell a.pa-btn:hover,
.pa-private-shell a.pa-btn:focus {
    border-color: var(--pa-backend-blue-dark);
    background: var(--pa-backend-blue-dark);
    color: var(--pa-backend-white);
}

.pa-button--secondary {
    border-color: var(--pa-backend-border);
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-btn--outline {
    border-color: #9db7cc;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-private-shell .pa-btn--outline,
.pa-private-shell input.pa-btn--outline,
.pa-private-shell button.pa-btn--outline,
.pa-private-shell a.pa-btn--outline {
    border-color: #9db7cc;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-button--secondary:hover,
.pa-button--secondary:focus,
.pa-btn--outline:hover,
.pa-btn--outline:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

.pa-private-shell .pa-btn--outline:hover,
.pa-private-shell .pa-btn--outline:focus,
.pa-private-shell input.pa-btn--outline:hover,
.pa-private-shell input.pa-btn--outline:focus,
.pa-private-shell button.pa-btn--outline:hover,
.pa-private-shell button.pa-btn--outline:focus,
.pa-private-shell a.pa-btn--outline:hover,
.pa-private-shell a.pa-btn--outline:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

.pa-button--danger {
    border-color: var(--pa-backend-red);
    background: var(--pa-backend-red);
}

.pa-private-shell .pa-btn--danger,
.pa-private-shell input.pa-btn--danger,
.pa-private-shell button.pa-btn--danger {
    border-color: var(--pa-backend-red);
    background: var(--pa-backend-red);
    color: #fff;
}

.pa-private-shell .pa-btn--danger:hover,
.pa-private-shell .pa-btn--danger:focus {
    border-color: #8a1c13;
    background: #8a1c13;
    color: #fff;
}

.pa-private-shell .pa-btn:disabled,
.pa-private-shell input.pa-btn:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.pa-button--compact,
input.pa-button--compact,
button.pa-button--compact,
a.pa-button--compact {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 14px;
}

.pa-button .bi,
.pa-btn .bi {
    font-size: 1.08em;
    line-height: 1;
}

.pa-button--compact .bi {
    font-size: 1.15em;
}

.pa-btn--secondary {
    border-color: var(--pa-backend-border);
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-btn--secondary:hover,
.pa-btn--secondary:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

/* Bootstrap variants own the visual state when both class systems are present. */
.pa-private-shell .btn.pa-btn,
.pa-private-shell input.btn.pa-btn,
.pa-private-shell button.btn.pa-btn,
.pa-private-shell a.btn.pa-btn {
    min-height: 38px;
    padding: .375rem .75rem;
    border-color: var(--bs-btn-border-color);
    border-radius: var(--bs-border-radius);
    background: var(--bs-btn-bg);
    color: var(--bs-btn-color);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

.pa-private-shell .btn.pa-btn:hover,
.pa-private-shell .btn.pa-btn:focus,
.pa-private-shell input.btn.pa-btn:hover,
.pa-private-shell input.btn.pa-btn:focus,
.pa-private-shell button.btn.pa-btn:hover,
.pa-private-shell button.btn.pa-btn:focus,
.pa-private-shell a.btn.pa-btn:hover,
.pa-private-shell a.btn.pa-btn:focus {
    border-color: var(--bs-btn-hover-border-color);
    background: var(--bs-btn-hover-bg);
    color: var(--bs-btn-hover-color);
}

.pa-private-shell .btn.btn-sm.pa-btn,
.pa-private-shell input.btn.btn-sm.pa-btn,
.pa-private-shell button.btn.btn-sm.pa-btn {
    min-height: 31px;
    padding: .25rem .5rem;
    font-size: .875rem;
}

.pa-button-group,
.pa-flex-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pa-flex-wrap {
    flex-wrap: wrap;
}

.pa-flex-between {
    justify-content: space-between;
}

.pa-flex-end {
    justify-content: flex-end;
}

.pa-gap-sm {
    gap: 8px;
}

.pa-width-full {
    width: 100%;
}

.pa-nowrap {
    white-space: nowrap;
}

.pa-align-center {
    align-self: center;
}

.pa-text-small {
    font-size: .85rem;
}

.pa-text-danger {
    color: var(--pa-backend-red);
}

.pa-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pa-list-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--pa-backend-border);
}

.pa-list-item:last-child {
    border-bottom: 0;
}

.pa-modal-close {
    width: 34px;
    height: 34px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 6px;
    background: var(--pa-backend-white);
    color: var(--pa-backend-ink);
    cursor: pointer;
}

.pa-modal-close::before {
    content: "x";
    font-weight: 800;
}

.pa-form-field,
.pa-form-row {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pa-form-field--wide,
.pa-form-row--wide {
    grid-column: 1 / -1;
}

.pa-code-field {
    font-family: Consolas, "Courier New", monospace;
}

.pa-panel-title {
    margin: 0 0 14px;
    color: var(--pa-backend-ink);
    font-size: 1.2rem;
    font-weight: 800;
}

.pa-table--compact th,
.pa-table--compact td {
    padding: .55rem .65rem;
    font-size: .88rem;
}

.pa-message {
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-ink);
}

.pa-message--error {
    border-color: #f4b4ae;
    background: #fff3f2;
    color: var(--pa-backend-red);
}

.pa-message--success {
    border-color: #b9dfcb;
    background: #f0faf5;
    color: var(--pa-backend-green);
}

.pa-message--info {
    border-color: #b8d6f0;
    background: #f5f9fd;
    color: var(--pa-backend-blue);
}

.pa-help-text {
    margin-top: 8px;
    color: var(--pa-backend-muted);
    font-size: .88rem;
}

.pa-help-list {
    margin: 10px 0 14px 1.15rem;
    padding-left: 1rem;
    color: var(--pa-backend-muted);
    line-height: 1.5;
}

.pa-help-list li + li {
    margin-top: 4px;
}

.pa-export-password-panel {
    max-width: 720px;
}

.pa-export-password {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    margin: .25rem 0 .75rem;
    padding: .45rem .7rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    color: var(--pa-backend-ink);
    font-family: Consolas, "Courier New", monospace;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
}

.pa-open-data-table {
    table-layout: auto;
}

.pa-open-data-table th,
.pa-open-data-table td {
    vertical-align: middle;
}

.pa-open-data-table__all td {
    background: #f8fbfd;
}

.pa-table-action-col {
    width: 12rem;
}

.pa-table-actions {
    text-align: right;
    white-space: nowrap;
}

.pa-open-data-table .pa-table-actions .pa-export-action-button {
    min-width: 9.5rem;
    justify-content: center;
    border-color: var(--pa-backend-blue);
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
}

.pa-open-data-table .pa-table-actions .pa-export-action-button:hover,
.pa-open-data-table .pa-table-actions .pa-export-action-button:focus {
    border-color: var(--pa-backend-blue-dark);
    background: var(--pa-backend-blue-dark);
    color: var(--pa-backend-white);
}

.pa-open-data-table .pa-table-actions .pa-export-action-button .bi,
.pa-open-data-table .pa-table-actions .pa-export-action-button span {
    color: inherit;
}

.pa-table-wrap {
    /* Keep absolutely positioned accessible labels inside the scroll region. */
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.pa-grid-pager > td {
    padding: .75rem 0;
    border-bottom: 0;
}

.pa-grid-pager table {
    width: auto;
    margin-left: auto;
}

.pa-grid-pager table td {
    padding: 0 .2rem;
    border: 0;
}

.pa-grid-pager a,
.pa-grid-pager span {
    display: inline-flex;
    min-width: 2.25rem;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    padding: .3rem .6rem;
    border: 1px solid var(--bs-primary);
    border-radius: var(--bs-border-radius);
    background: var(--bs-body-bg);
    color: var(--bs-primary);
    text-decoration: none;
}

.pa-grid-pager span {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.pa-admin-tabelle .pa-private-shell .pa-table-wrap,
.pa-admin-tabelle .pa-private-shell .pa-table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.pa-admin-tabelle .pa-private-shell table.pa-table {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.pa-admin-tabelle .pa-private-shell table.pa-table th,
.pa-admin-tabelle .pa-private-shell table.pa-table td {
    white-space: nowrap;
}

.pa-admin-tabelle .pa-private-shell table.pa-table td {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
}

.pa-admin-tabelle .pa-private-shell .pa-table-form-wide {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
}

.pa-admin-tabelle .pa-private-shell .pa-admin-table-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin: .6rem 0 1rem;
}

.pa-admin-tabelle .pa-private-shell .pa-admin-table-meta__info {
    color: var(--pa-backend-muted);
    font-size: .85rem;
    font-weight: 700;
}

.pa-admin-tabelle .pa-private-shell .pa-admin-table-pager {
    width: max-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.pa-admin-tabelle .pa-private-shell .pa-admin-table-pager .pa-pager__current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .8rem;
    white-space: nowrap;
}

.pa-admin-tabelle .pa-private-shell .pa-admin-table-pager input.pa-btn[disabled],
.pa-admin-tabelle .pa-private-shell .pa-admin-table-pager input.pa-btn[disabled]:hover,
.pa-admin-tabelle .pa-private-shell .pa-admin-table-pager input.pa-btn[disabled]:focus {
    border-color: var(--pa-backend-border) !important;
    background: #eef2f5 !important;
    color: #7c8a97 !important;
    opacity: 1;
    cursor: default;
    box-shadow: none !important;
}

.pa-hidden-template {
    display: none;
}

.pa-private-shell .yui-grid,
.pa-private-shell table.pa-table {
    width: 100%;
    margin: 0;
    border: 1px solid var(--pa-backend-border);
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    background: var(--pa-backend-white);
    color: var(--pa-backend-ink);
    font-size: .92rem;
}

.pa-private-shell table.pa-focolai-grid,
.pa-private-shell table.pa-open-data-table,
.pa-private-shell table.pa-focolai-report-table,
.pa-private-shell table.pa-focolai-detail-grid,
.pa-private-shell table.pa-focolai-summary-table,
.pa-private-shell table.pa-focolai-vaccini-table {
    table-layout: auto;
}

.pa-private-shell .pa-focolai-table-wrap {
    width: auto;
    max-width: 100%;
    overflow-x: hidden;
}

.pa-private-shell table.pa-focolai-grid {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.pa-private-shell table.pa-focolai-grid th,
.pa-private-shell table.pa-focolai-grid td {
    box-sizing: border-box;
    padding: .62rem .65rem;
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.pa-private-shell table.pa-focolai-grid th {
    white-space: normal;
}

.pa-private-shell table.pa-focolai-grid .pa-focolai-command-cell,
.pa-private-shell table.pa-focolai-grid .pa-focolai-check-cell,
.pa-private-shell table.pa-focolai-grid .pa-focolai-status-cell {
    width: 3rem;
    max-width: 3rem;
    text-align: center;
}

.pa-private-shell table.pa-focolai-grid .pa-focolai-name-cell {
    width: auto;
    min-width: 0;
    max-width: none;
    white-space: normal;
    overflow-wrap: break-word;
}

.pa-private-shell table.pa-focolai-grid .pa-focolai-date-cell,
.pa-private-shell table.pa-focolai-grid .pa-focolai-region-cell {
    width: 8rem;
    min-width: 0;
    white-space: normal;
}

.pa-private-shell table.pa-focolai-grid .pa-focolai-count-cell {
    width: 4.25rem;
    max-width: 4.25rem;
    text-align: right;
    white-space: nowrap;
}

.pa-private-shell table.pa-log-table {
    table-layout: fixed;
}

.pa-private-shell table.pa-log-table th,
.pa-private-shell table.pa-log-table td {
    padding: .58rem .55rem;
    vertical-align: middle;
    overflow-wrap: break-word;
    word-break: normal;
}

.pa-private-shell table.pa-log-table th {
    font-size: .72rem;
    line-height: 1.15;
    white-space: normal;
}

.pa-private-shell table.pa-log-table .pa-log-actions-cell,
.pa-private-shell table.pa-log-table th:first-child {
    width: 3.8rem;
    max-width: 3.8rem;
    text-align: center;
}

.pa-private-shell table.pa-log-table .pa-table__actions {
    justify-content: center;
}

.pa-private-shell table.pa-log-table .pa-log-detail-trigger {
    margin: 0 auto;
}

.pa-private-shell table.pa-log-table--audit th:nth-child(2),
.pa-private-shell table.pa-log-table--audit td:nth-child(2),
.pa-private-shell table.pa-log-table--accessi th:nth-child(2),
.pa-private-shell table.pa-log-table--accessi td:nth-child(2),
.pa-private-shell table.pa-log-table--errori th:nth-child(2),
.pa-private-shell table.pa-log-table--errori td:nth-child(2),
.pa-private-shell table.pa-log-table--sicurezza th:nth-child(2),
.pa-private-shell table.pa-log-table--sicurezza td:nth-child(2) {
    width: 9.2rem;
    white-space: nowrap;
}

.pa-private-shell table.pa-log-table--accessi th:nth-child(7),
.pa-private-shell table.pa-log-table--accessi td:nth-child(7),
.pa-private-shell table.pa-log-table--errori th:nth-child(5),
.pa-private-shell table.pa-log-table--errori td:nth-child(5),
.pa-private-shell table.pa-log-table--sicurezza th:nth-child(9),
.pa-private-shell table.pa-log-table--sicurezza td:nth-child(9) {
    width: 18%;
}

.pa-private-shell table.pa-log-table--errori th:nth-child(7),
.pa-private-shell table.pa-log-table--errori td:nth-child(7) {
    width: 22%;
}

.pa-private-shell table.pa-log-table--accessi th:nth-child(7),
.pa-private-shell table.pa-log-table--accessi td:nth-child(7),
.pa-private-shell table.pa-log-table--errori th:nth-child(5),
.pa-private-shell table.pa-log-table--errori td:nth-child(5),
.pa-private-shell table.pa-log-table--errori th:nth-child(6),
.pa-private-shell table.pa-log-table--errori td:nth-child(6),
.pa-private-shell table.pa-log-table--sicurezza th:nth-child(9),
.pa-private-shell table.pa-log-table--sicurezza td:nth-child(9) {
    overflow-wrap: anywhere;
}

.pa-log-preview {
    display: -webkit-box;
    max-height: 3.4em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.7;
}

.pa-private-shell .pa-input-highlight {
    background: #fffdf3 !important;
}

.pa-private-shell .pa-focolai-metric,
.pa-private-shell table.pa-focolai-summary-table td:nth-child(n+2),
.pa-private-shell table.pa-focolai-vaccini-table td:nth-child(n+2) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pa-private-shell table.pa-focolai-summary-table td,
.pa-private-shell table.pa-focolai-vaccini-table td {
    vertical-align: middle;
}

.pa-private-shell .pa-focolai-page__content {
    display: grid;
    gap: 1.15rem;
}

.pa-private-shell .pa-focolai-filter-grid {
    grid-template-columns: repeat(2, minmax(220px, 320px));
}

.pa-private-shell .pa-focolai-detail-row > .pa-focolai-detail-cell {
    padding: 0;
    border-bottom: 1px solid var(--pa-backend-border);
    background: #f7fbfd;
}

.pa-private-shell .pa-focolai-detail-cell .pa-focolai-detail-grid {
    border: 0;
    border-radius: 0;
}

.pa-private-shell .pa-focolai-legend {
    margin-top: 1rem;
}

.pa-private-shell .pa-focolaio-edit-panel {
    margin-top: 1rem;
}

.pa-private-shell .pa-focolaio-edit-panel__body {
    display: grid;
    gap: 1rem;
}

.pa-private-shell .pa-focolaio-edit-panel .pa-form-row {
    display: grid;
    gap: .45rem;
    max-width: none;
}

.pa-private-shell .pa-focolaio-textarea {
    width: 100% !important;
    min-height: 150px;
    resize: vertical;
}

.pa-private-shell .yui-grid th,
.pa-private-shell .yui-grid td,
.pa-private-shell table.pa-table th,
.pa-private-shell table.pa-table td {
    padding: .7rem .78rem;
    border-right: 0;
    border-bottom: 1px solid var(--pa-backend-border);
    vertical-align: top;
    overflow-wrap: anywhere;
}

.pa-private-shell .yui-grid th,
.pa-private-shell table.pa-table th,
.pa-private-shell .yui-grid .pa-table-head th,
.pa-private-shell .yui-grid tr.pa-table-head th {
    background: #eaf3f8;
    color: var(--pa-backend-ink);
    font-weight: 800;
}

.pa-private-shell .yui-grid tr:nth-child(even) td,
.pa-private-shell table.pa-table tr:nth-child(even) td {
    background: #f8fafc;
}

.pa-private-shell .yui-grid tr.alternate td,
.pa-private-shell table.pa-table tr.alternate td,
.pa-private-shell .yui-grid tr.AlternatingRowStyle td,
.pa-private-shell table.pa-table tr.AlternatingRowStyle td {
    background: #f8fafc !important;
}

.pa-private-shell .yui-grid tr td,
.pa-private-shell table.pa-table tr td {
    background: var(--pa-backend-white);
}

.pa-private-shell .yui-grid tr:hover td,
.pa-private-shell table.pa-table tr:hover td {
    background: #eef6fb;
}

.pa-private-shell .yui-grid a,
.pa-private-shell table.pa-table a {
    color: var(--pa-backend-blue);
    font-weight: 700;
}

.pa-private-shell .pa-table__actions,
.pa-private-shell .grid-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    justify-content: flex-end;
    white-space: normal;
}

.pa-private-shell .pa-table__actions .pa-user-detail-trigger {
    min-height: 2.7rem;
    border: 2px solid var(--pa-backend-blue);
    border-radius: 8px;
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
    font-weight: 800;
    box-shadow: 0 1px 2px rgba(23, 50, 77, .12);
}

.pa-private-shell .pa-table__actions .pa-user-detail-trigger i {
    color: inherit;
    font-size: 1.05rem;
}

.pa-private-shell .pa-table__actions .pa-user-detail-trigger:hover,
.pa-private-shell .pa-table__actions .pa-user-detail-trigger:focus {
    border-color: var(--pa-backend-blue-dark);
    background: var(--pa-backend-blue-dark);
    color: var(--pa-backend-white);
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .18);
}

.pa-private-shell .pa-table-action-btn,
.pa-private-shell a.pa-table-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    min-width: 2.55rem;
    height: 2.55rem;
    padding: 0;
    border: 2px solid var(--pa-backend-blue);
    border-radius: 8px;
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(23, 50, 77, .12);
}

.pa-private-shell table.pa-table a.pa-table-action-btn,
.pa-private-shell table.pa-table a.pa-table-action-btn:visited {
    color: var(--pa-backend-white);
}

.pa-private-shell .pa-table-action-btn .bi {
    color: currentColor;
    font-size: 1.18rem;
    line-height: 1;
}

.pa-private-shell .pa-table-action-btn i,
.pa-private-shell .pa-table-action-btn em,
.pa-private-shell table.pa-table a.pa-table-action-btn i,
.pa-private-shell table.pa-table a.pa-table-action-btn em {
    color: currentColor;
    font-size: 1.18rem;
    font-style: normal;
    line-height: 1;
}

.pa-private-shell .pa-table-action-btn:hover,
.pa-private-shell .pa-table-action-btn:focus,
.pa-private-shell a.pa-table-action-btn:hover,
.pa-private-shell a.pa-table-action-btn:focus {
    border-color: var(--pa-backend-blue-dark);
    background: var(--pa-backend-blue-dark);
    color: var(--pa-backend-white);
    text-decoration: none;
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .18);
}

.pa-private-shell .pa-table-action-btn--secondary,
.pa-private-shell a.pa-table-action-btn--secondary {
    border-color: #9db7cc;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-private-shell table.pa-table a.pa-table-action-btn--secondary,
.pa-private-shell table.pa-table a.pa-table-action-btn--secondary:visited {
    color: var(--pa-backend-blue);
}

.pa-private-shell .pa-table-action-btn--secondary:hover,
.pa-private-shell .pa-table-action-btn--secondary:focus,
.pa-private-shell a.pa-table-action-btn--secondary:hover,
.pa-private-shell a.pa-table-action-btn--secondary:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

.pa-private-shell .pa-table-action-btn--danger,
.pa-private-shell a.pa-table-action-btn--danger {
    border-color: var(--pa-backend-red);
    background: var(--pa-backend-red);
    color: var(--pa-backend-white);
}

.pa-private-shell table.pa-table a.pa-table-action-btn--danger,
.pa-private-shell table.pa-table a.pa-table-action-btn--danger:visited {
    color: var(--pa-backend-white);
}

.pa-private-shell .pa-table-action-btn--danger:hover,
.pa-private-shell .pa-table-action-btn--danger:focus,
.pa-private-shell a.pa-table-action-btn--danger:hover,
.pa-private-shell a.pa-table-action-btn--danger:focus {
    border-color: #8f1d14;
    background: #8f1d14;
    color: var(--pa-backend-white);
}

.pa-private-shell .pa-table-action-btn--success,
.pa-private-shell a.pa-table-action-btn--success {
    border-color: var(--pa-backend-green);
    background: var(--pa-backend-green);
    color: var(--pa-backend-white);
}

.pa-private-shell table.pa-table a.pa-table-action-btn--success,
.pa-private-shell table.pa-table a.pa-table-action-btn--success:visited {
    color: var(--pa-backend-white);
}

.pa-private-shell .pa-table-action-btn--success:hover,
.pa-private-shell .pa-table-action-btn--success:focus,
.pa-private-shell a.pa-table-action-btn--success:hover,
.pa-private-shell a.pa-table-action-btn--success:focus {
    border-color: #1f5e43;
    background: #1f5e43;
    color: var(--pa-backend-white);
}

.pa-private-shell .pa-table-action-btn--disabled {
    border-color: var(--pa-backend-border);
    background: #eef2f5;
    color: #7c8a97;
    box-shadow: none;
    cursor: default;
    pointer-events: none;
}

.pa-private-shell .pa-table-warning-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-left: .4rem;
    border-radius: 8px;
    background: #fff4d8;
    color: #8a5a00;
    font-size: 1.08rem;
    vertical-align: middle;
}

.pa-scheda-status-icons {
    display: inline-grid;
    grid-template-columns: repeat(3, 2.55rem);
    gap: .4rem;
    align-items: center;
    justify-content: start;
    min-width: calc((2.55rem * 3) + (.4rem * 2));
}

.pa-scheda-status-slot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    min-width: 2.55rem;
    height: 2.55rem;
}

.pa-scheda-status-slot .pa-table-action-btn,
.pa-scheda-status-slot .pa-table-warning-icon {
    margin-left: 0;
}

.pa-scheda-status-slot .pa-table-warning-icon {
    width: 2.55rem;
    height: 2.55rem;
}

.pa-table-primary {
    display: block;
    color: var(--pa-backend-ink);
    font-weight: 800;
}

.pa-table-muted {
    display: block;
    color: var(--pa-backend-muted);
    font-size: .92rem;
}

.pa-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    min-width: 2.7rem;
    height: 2.7rem;
    min-height: 2.7rem;
    border: 2px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
    font-size: 1.35rem;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(23, 50, 77, .1);
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.pa-row-action:hover,
.pa-row-action:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .16);
    outline: 0;
    text-decoration: none;
}

.pa-row-action--delete,
.pa-row-action--reset {
    color: var(--pa-backend-blue);
}

.pa-row-action--reset:hover,
.pa-row-action--reset:focus,
.pa-row-action--delete:hover,
.pa-row-action--delete:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
}

.pa-private-shell .jtable-edit-command-button,
.pa-private-shell .jtable-delete-command-button,
.pa-private-shell .jtable-close-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.7rem !important;
    height: 2.7rem !important;
    border: 2px solid var(--pa-backend-border) !important;
    border-radius: 8px;
    background: var(--pa-backend-white) !important;
    color: var(--pa-backend-blue);
    font-size: 1.25rem;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(23, 50, 77, .1);
}

.pa-private-shell .jtable-edit-command-button::before,
.pa-private-shell .jtable-delete-command-button::before,
.pa-private-shell .jtable-close-button::before {
    display: inline-block;
    font-family: "bootstrap-icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pa-private-shell .jtable-edit-command-button::before {
    content: "\f4ca";
}

.pa-private-shell .jtable-delete-command-button::before,
.pa-private-shell .jtable-close-button::before {
    color: inherit;
    content: "\f78a";
}

.pa-private-shell .yui-grid table,
.pa-private-shell .yui-grid table td {
    border: 0;
}

.pa-private-shell .yui-grid .pag,
.pa-private-shell .yui-grid tr:last-child td {
    border-bottom: 0;
}

.pa-private-shell .pa-pager,
.pa-private-shell .GridPager,
.pa-private-shell .PagerStyle {
    justify-content: center;
    flex-wrap: wrap;
    gap: .45rem;
    max-width: 100%;
    margin-top: 1rem;
    padding: .8rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #f7fafc !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75);
}

.pa-private-shell .pa-pager > span {
    gap: .45rem;
    flex-wrap: wrap;
    justify-content: center;
}

.pa-private-shell .pa-pager a,
.pa-private-shell .GridPager a,
.pa-private-shell .PagerStyle a,
.pa-private-shell .pa-pager .pa-pager__link,
.pa-private-shell .pa-pager .pa-pager__current,
.pa-private-shell .GridPager span,
.pa-private-shell .PagerStyle span {
    min-width: 2.55rem;
    min-height: 2.55rem;
    border: 1px solid #b7c9d8 !important;
    border-radius: 8px;
    background: var(--pa-backend-white) !important;
    color: var(--pa-backend-blue) !important;
    font-size: 1rem;
    font-weight: 800;
    box-shadow: none !important;
}

.pa-private-shell .pa-pager a:hover,
.pa-private-shell .GridPager a:hover,
.pa-private-shell .PagerStyle a:hover,
.pa-private-shell .pa-pager a:focus,
.pa-private-shell .GridPager a:focus,
.pa-private-shell .PagerStyle a:focus {
    border-color: var(--pa-backend-blue) !important;
    background: #eaf3f8 !important;
    color: var(--pa-backend-blue) !important;
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .16);
}

.pa-private-shell .pa-pager .pa-pager__current,
.pa-private-shell .GridPager span,
.pa-private-shell .PagerStyle span {
    border-color: var(--pa-backend-blue) !important;
    background: var(--pa-backend-blue) !important;
    color: var(--pa-backend-white) !important;
    box-shadow: none !important;
}

.pa-detail-grid,
.pa-admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pa-detail-grid {
    gap: 12px;
}

.pa-admin-summary-grid {
    gap: 16px;
}

.pa-detail-grid--wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
    margin-bottom: 16px;
}

.pa-detail-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pa-form-grid--single {
    grid-template-columns: 1fr;
}

.pa-detail-item,
.pa-admin-summary-item {
    padding: 12px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
}

.pa-detail-item span,
.pa-admin-summary-item span {
    display: block;
    margin-bottom: 4px;
    color: var(--pa-backend-muted);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.pa-detail-item strong,
.pa-admin-summary-item strong {
    display: block;
    color: var(--pa-backend-ink);
    font-size: .98rem;
    font-weight: 700;
    word-break: break-word;
}

.pa-admin-tile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.pa-admin-tile {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 20px rgba(23, 50, 77, .08);
    overflow: hidden;
}

.pa-admin-tile__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--pa-backend-border);
    color: var(--pa-backend-ink);
    font-size: 1.05rem;
    font-weight: 800;
}

.pa-admin-tile__header .bi {
    color: var(--pa-backend-blue);
    font-size: 1.25rem;
}

.pa-admin-tile__body {
    padding: 12px 16px 16px;
}

.pa-template-picker .pa-panel__body {
    max-width: 720px;
}

.pa-template-editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 18px;
    align-items: start;
}

.pa-template-main-panel {
    min-width: 0;
}

.pa-template-side {
    display: grid;
    gap: 18px;
}

.pa-template-body-editor {
    min-height: 28rem;
}

.pa-template-placeholder-list {
    min-height: 12rem;
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: .9rem;
    line-height: 1.45;
}

.pa-template-check {
    display: flex;
    align-items: center;
    min-height: 2.45rem;
    padding: .48rem .65rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 4px;
    background: var(--pa-backend-soft);
}

.pa-template-code-field input[readonly] {
    background: var(--pa-backend-soft);
    color: var(--pa-backend-muted);
    font-family: Consolas, "Liberation Mono", monospace;
}

.pa-template-editor .tox-tinymce {
    border-color: var(--pa-backend-border);
    border-radius: 8px;
}

.pa-genetica-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.pa-genetica-summary__item {
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
}

.pa-genetica-summary__item span {
    display: block;
    margin-bottom: 5px;
    color: var(--pa-backend-muted);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.pa-genetica-summary__item strong {
    display: block;
    color: var(--pa-backend-ink);
    font-size: 1.05rem;
    line-height: 1.25;
}

.pa-genetica-search-panel,
.pa-genetica-results-panel {
    margin-top: 16px;
}

.pa-genetica-search-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    gap: 18px;
    align-items: start;
}

.pa-genetica-query,
.pa-genetica-options {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.pa-genetica-query-input {
    min-height: 13rem;
    font-family: Consolas, "Liberation Mono", monospace;
    line-height: 1.45;
}

.pa-genetica-options {
    align-content: start;
    padding: 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
}

.pa-genetica-note {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pa-genetica-file-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 24rem;
    color: var(--pa-backend-blue);
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    word-break: break-word;
}

.pa-genetica-file-link:hover,
.pa-genetica-file-link:focus {
    color: var(--pa-backend-blue-dark);
    text-decoration: underline;
}

.pa-genetica-file-link .bi {
    flex: 0 0 auto;
    font-size: 1.1rem;
}

.pa-genetica-job-panel {
    margin-top: 16px;
}

.pa-genetica-job-panel.is-complete .pa-genetica-loader {
    border-color: #8cc5a3;
    border-top-color: #237a48;
}

.pa-genetica-job-panel.is-error .pa-genetica-loader {
    border-color: #f2b8b5;
    border-top-color: #b42318;
}

.pa-genetica-loader-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pa-genetica-loader {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border: 4px solid #d8e5ec;
    border-top-color: var(--pa-backend-blue);
    border-radius: 50%;
    animation: pa-spin .9s linear infinite;
}

.pa-genetica-job-panel.is-complete .pa-genetica-loader,
.pa-genetica-job-panel.is-error .pa-genetica-loader {
    animation: none;
}

.pa-genetica-file-name {
    max-width: 18rem;
    margin-top: 6px;
    color: var(--pa-backend-ink);
    font-size: .86rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.pa-genetica-association-summary {
    display: grid;
    gap: 4px;
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
}

.pa-genetica-association-summary span {
    color: var(--pa-backend-muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pa-genetica-association-summary strong {
    color: var(--pa-backend-ink);
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.pa-hidden-submit {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

@keyframes pa-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 900px) {
    .pa-genetica-summary,
    .pa-genetica-search-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    .pa-template-editor {
        grid-template-columns: 1fr;
    }
}

.pa-action-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    font-weight: 800;
}

.pa-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 999px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: normal;
}

.pa-badge--success {
    border-color: #b9dfcb;
    background: #f0faf5;
    color: var(--pa-backend-green);
}

.pa-badge--warning {
    border-color: #f5d38a;
    background: #fff8e8;
    color: #7a5200;
}

.pa-badge--danger {
    border-color: #f4b4ae;
    background: #fff3f2;
    color: var(--pa-backend-red);
}

.pa-badge--muted {
    border-color: var(--pa-backend-border);
    background: #f3f6f8;
    color: var(--pa-backend-muted);
}

.pa-modal .modal-content {
    border: 0;
    border-radius: 8px;
    box-shadow: var(--pa-backend-shadow);
}

.pa-modal .modal-header {
    border-bottom-color: var(--pa-backend-border);
}

.pa-modal .modal-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--pa-backend-ink);
    font-size: 1.2rem;
    font-weight: 800;
}

.pa-modal .modal-footer {
    border-top-color: var(--pa-backend-border);
}

.pa-modal .pa-log-modal-text {
    width: 100%;
    min-height: 7rem;
    resize: vertical;
    font-family: Consolas, "Courier New", monospace;
    font-size: .9rem;
}

.pa-form-shell {
    padding: 24px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
}

.pa-scheda-form {
    display: grid;
    gap: 1.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.pa-scheda-layout {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.pa-scheda-layout--single {
    grid-template-columns: minmax(0, 1fr);
}

.pa-scheda-layout__content {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.pa-scheda-switch {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: .55rem;
    width: fit-content;
    max-width: 100%;
    padding: .42rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #f7fbfd;
}

.pa-scheda-switch__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 40px;
    padding: .56rem .9rem;
    border: 1px solid transparent;
    border-radius: 6px;
    background: var(--pa-backend-white);
    color: var(--pa-backend-ink);
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
}

.pa-scheda-switch__button .bi {
    color: var(--pa-backend-blue);
    font-size: 1.08rem;
}

.pa-scheda-switch__button:hover,
.pa-scheda-switch__button:focus {
    border-color: #d7e5f0;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
}

.pa-scheda-switch__button.is-active {
    border-color: var(--pa-backend-blue);
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
}

.pa-scheda-switch__button.is-active .bi {
    color: var(--pa-backend-white);
}

.pa-scheda-switch__button.is-disabled {
    color: var(--pa-backend-muted);
    cursor: default;
    opacity: .65;
    pointer-events: none;
}

.pa-scheda-nav {
    position: sticky;
    top: 1rem;
    overflow: hidden;
}

.pa-scheda-nav .pa-panel__header {
    padding: 14px;
}

.pa-scheda-nav .pa-panel__title {
    font-size: 1.05rem;
}

.pa-scheda-nav__list {
    display: grid;
    gap: .25rem;
    padding: .75rem;
}

.pa-scheda-nav__group {
    display: grid;
    gap: .22rem;
    padding: .25rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #f7fbfd;
}

.pa-scheda-nav__item {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    min-height: 42px;
    padding: .62rem .7rem;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--pa-backend-ink);
    font-weight: 700;
    text-align: left;
    text-decoration: none;
}

.pa-scheda-nav__item--subitem {
    position: relative;
    margin-left: 1.05rem;
    width: calc(100% - 1.05rem);
    min-height: 38px;
    padding-top: .52rem;
    padding-bottom: .52rem;
    font-size: .94rem;
}

.pa-scheda-nav__item--subitem::before {
    content: "";
    position: absolute;
    top: -0.24rem;
    bottom: 50%;
    left: -.52rem;
    width: .52rem;
    border-left: 2px solid #d7e5f0;
    border-bottom: 2px solid #d7e5f0;
    border-bottom-left-radius: 6px;
}

.pa-scheda-nav__item .bi {
    color: var(--pa-backend-blue);
    font-size: 1.15rem;
}

.pa-scheda-nav__item:hover,
.pa-scheda-nav__item:focus,
.pa-scheda-nav__item.is-active {
    border-color: #d7e5f0;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
}

.pa-scheda-nav__item.is-disabled {
    color: var(--pa-backend-muted);
    cursor: default;
    opacity: .65;
    pointer-events: none;
}

.pa-scheda-summary {
    box-shadow: 0 6px 18px rgba(23, 50, 77, .05);
}

.pa-scheda-summary .pa-panel__header {
    padding: 12px 14px;
}

.pa-scheda-summary .pa-panel__title {
    font-size: 1.05rem;
}

.pa-scheda-summary .pa-detail-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .5rem;
    margin: 0;
    padding: 12px 14px;
}

.pa-scheda-summary .pa-detail-item {
    min-height: auto;
    padding: .55rem .65rem;
}

.pa-scheda-summary .pa-detail-label {
    font-size: .72rem;
}

.pa-scheda-summary .pa-detail-value {
    font-size: .88rem;
}

.pa-scheda-form .pa-form-subpanel {
    border-color: var(--pa-backend-border);
    box-shadow: 0 6px 16px rgba(23, 50, 77, .04);
}

.pa-scheda-form .pa-form-subpanel__header {
    border-bottom-color: var(--pa-backend-border);
    background: #f7fbfd;
}

.pa-scheda-form .pa-form-subpanel__header h3,
.pa-scheda-form .pa-form-subpanel__header p {
    margin-bottom: 0;
}

.pa-scheda-form .pa-choice-pair {
    border-color: var(--pa-backend-border);
    background: #fbfdff;
}

.pa-scheda-form .pa-choice-pair:hover {
    border-color: #bdd5e8;
    background: var(--pa-backend-soft);
}

.pa-esito-form .pa-panel__body {
    display: grid;
    gap: 1rem;
}

.pa-esito-form .pa-form-actions {
    margin-top: 0;
}

.pa-scheda-form > p:first-child {
    margin: 0;
}

.pa-scheda-form > p:first-child .pa-validation-message,
.pa-scheda-form > p:first-child .pa-message {
    display: block;
    margin-bottom: .45rem;
}

.pa-scheda-form > p:not(.pa-form-section-title):not(.pa-form-actions),
.pa-scheda-form .pa-form-card > p:not(.pa-form-section-title):not(.pa-form-actions),
.pa-scheda-form .pa-form-card > div > p {
    display: grid;
    grid-template-columns: minmax(180px, 300px) minmax(220px, 480px) minmax(0, 1fr);
    gap: .45rem .75rem;
    align-items: center;
    max-width: 1220px;
    margin: 0 0 .55rem;
}

.pa-scheda-form .pa-form-card.pa-panel > .pa-panel__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 1rem 1.15rem;
    align-items: start;
}

.pa-scheda-form .pa-panel__body > .pa-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: .36rem;
    min-width: 0;
    max-width: none;
    align-content: start;
}

.pa-scheda-form .pa-panel__body > .pa-form-row > .pa-label,
.pa-scheda-form .pa-panel__body > .pa-form-row > label {
    order: 1;
    margin: 0;
}

.pa-scheda-form .pa-panel__body > .pa-form-row > div,
.pa-scheda-form .pa-panel__body > .pa-form-row > input[type="checkbox"] {
    order: 2;
    min-width: 0;
}

.pa-scheda-form .pa-panel__body > .pa-form-row > input[type="checkbox"] {
    justify-self: start;
    margin: .35rem 0 0;
}

.pa-scheda-form .pa-panel__body > .pa-form-row > .pa-message,
.pa-scheda-form .pa-panel__body > .pa-form-row > .error,
.pa-scheda-form .pa-panel__body > .pa-form-row > em {
    order: 3;
    margin: 0;
    font-size: .86rem;
    line-height: 1.35;
}

.pa-scheda-form .pa-panel__body > .pa-form-row > .pa-message,
.pa-scheda-form .pa-panel__body > .pa-form-row > .error {
    padding: 0;
    border: 0;
    background: transparent;
}

.pa-scheda-form .pa-panel__body > .pa-form-row > em {
    color: var(--pa-backend-muted);
}

.pa-scheda-form .pa-panel__body > .pa-form-grid,
.pa-scheda-form .pa-panel__body > #messaggio_controllo,
.pa-scheda-form .pa-panel__body > .pa-form-subsection-title {
    grid-column: 1 / -1;
}

.pa-scheda-form .pa-panel__body > #messaggio_controllo {
    margin: .1rem 0 0;
    padding: .75rem .85rem;
    border-left: 4px solid var(--pa-backend-blue);
    border-radius: 6px;
    background: #f4f8fb;
    color: var(--pa-backend-muted);
    font-size: .9rem;
    line-height: 1.4;
}

.pa-scheda-form .pa-panel__body > #messaggio_controllo p {
    margin: 0;
}

.pa-scheda-form .pa-form-subsection-title {
    margin: .15rem 0 -.25rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid var(--pa-backend-border);
    color: var(--pa-backend-blue);
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.3;
}

.pa-scheda-form .pa-form-grid--dependency {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: .85rem 1rem;
    margin: 0;
}

.pa-scheda-form .pa-form-grid--dependency > div {
    display: grid;
    gap: .36rem;
    min-width: 0;
    align-content: start;
}

.pa-scheda-form .pa-driver-field {
    min-width: 0;
}

.pa-scheda-form .pa-driver-field--important {
    padding: .7rem .8rem;
    border-left: 4px solid var(--pa-backend-blue);
    border-radius: 4px;
    background: #f4f8fb;
}

.pa-scheda-form .pa-driver-field--important .pa-label {
    color: var(--pa-backend-blue);
}

.pa-scheda-form .pa-dependent-field {
    min-width: 0;
}

.pa-scheda-form input.pa-form-control:disabled,
.pa-scheda-form select.pa-form-control:disabled,
.pa-scheda-form textarea.pa-form-control:disabled {
    background-color: #e9ecef;
    color: var(--pa-backend-muted);
    opacity: 1;
}

.pa-scheda-form .pa-form-grid--age {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(110px, .6fr) minmax(110px, .6fr);
    gap: .85rem;
    margin: 0;
}

.pa-scheda-form .pa-form-grid--age > div,
.pa-scheda-form .pa-form-grid--ngs > div {
    display: grid;
    gap: .36rem;
    min-width: 0;
    align-content: start;
}

.pa-scheda-form .pa-form-grid--age .pa-label,
.pa-scheda-form .pa-form-grid--ngs .pa-label {
    margin: 0;
}

.pa-scheda-form .pa-form-grid__message {
    grid-column: 1 / -1;
}

.pa-scheda-form .pa-form-grid--ngs {
    display: grid;
    grid-template-columns: minmax(140px, .75fr) repeat(3, minmax(160px, 1fr));
    gap: .85rem;
    margin: 0;
}

.pa-scheda-form .pa-ngs-check {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 38px;
}

.pa-scheda-form .pa-ngs-check input[type="checkbox"] {
    margin: 0;
}

.pa-scheda-form .pa-ngs-check span {
    color: var(--pa-backend-ink);
    font-size: .92rem;
    line-height: 1.3;
}

@media (max-width: 900px) {
    .pa-scheda-form .pa-form-card.pa-panel > .pa-panel__body,
    .pa-scheda-form .pa-form-grid--age,
    .pa-scheda-form .pa-form-grid--dependency,
    .pa-scheda-form .pa-form-grid--ngs {
        grid-template-columns: 1fr;
    }
}

.pa-scheda-form .pa-form-indent {
    display: grid;
    gap: .75rem;
    margin: 0;
    padding: 0;
}

.pa-scheda-form .pa-form-card {
    display: grid;
    gap: .85rem;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
}

.pa-scheda-form .pa-form-card + .pa-form-card {
    margin-top: .35rem;
}

.pa-scheda-form .pa-form-card.pa-panel {
    gap: 0;
    padding: 0;
}

.pa-scheda-form .pa-form-card.pa-panel > .pa-panel__header,
.pa-scheda-form .pa-form-card.pa-panel > .pa-panel__body,
.pa-scheda-form .pa-form-card.pa-panel > .pa-panel__footer {
    padding: 18px;
}

.pa-scheda-form .pa-form-card > .pa-form-section-title {
    margin-top: 0;
}

.pa-scheda-form .pa-form-card > p:last-child,
.pa-scheda-form .pa-form-card > div:last-child {
    margin-bottom: 0;
}

.pa-scheda-form .textBox,
.pa-scheda-form .dropdown,
.pa-scheda-form textarea,
.pa-scheda-form select,
.pa-scheda-form input[type="text"] {
    width: 100% !important;
    min-width: 0;
}

.pa-private-shell .pa-label,
.pa-private-shell .pa-form-label-xl,
.pa-private-shell .pa-form-label-table,
.pa-private-shell .pa-panel__eyebrow {
    width: auto !important;
    padding-left: 0 !important;
    color: var(--pa-backend-ink);
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.35;
}

.pa-private-shell .textBox,
.pa-private-shell .dropdown,
.pa-private-shell input[type="text"],
.pa-private-shell input[type="password"],
.pa-private-shell textarea,
.pa-private-shell select {
    max-width: 100%;
    border-color: #b7cce0;
    border-radius: 6px;
    background-color: var(--pa-backend-white);
    color: var(--pa-backend-ink);
}

.pa-private-shell .textBox:focus,
.pa-private-shell .dropdown:focus,
.pa-private-shell input[type="text"]:focus,
.pa-private-shell input[type="password"]:focus,
.pa-private-shell textarea:focus,
.pa-private-shell select:focus {
    border-color: var(--pa-backend-blue);
    box-shadow: 0 0 0 .18rem rgba(23, 74, 124, .14);
    outline: 0;
}

.pa-private-shell select option.pa-select-group-label,
.pa-private-shell .dropdown option.pa-select-group-label {
    color: var(--pa-backend-blue);
    background: var(--pa-backend-soft);
    font-weight: 800;
}

.pa-private-shell select option.pa-select-group-item,
.pa-private-shell .dropdown option.pa-select-group-item {
    color: var(--pa-backend-ink);
    background: var(--pa-backend-white);
}

.pa-private-shell .paragrafo,
.pa-private-shell .pa-content-text {
    color: var(--pa-backend-ink);
    font-size: .98rem;
    line-height: 1.55;
}

.pa-private-shell .pa-form-actions,
.pa-private-shell p.pa-form-actions {
    justify-content: flex-end;
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-private-shell .pa-form-note,
.pa-private-shell .pa-note {
    display: block;
    width: 100%;
    max-width: 760px;
    margin: .45rem 0 0;
    padding: .52rem .7rem;
    border-left: 4px solid var(--pa-backend-blue);
    border-radius: 4px;
    background: #f4f8fb;
    color: var(--pa-backend-muted);
    font-size: .86rem;
    line-height: 1.35;
}

.pa-private-shell .pa-form-note--inline {
    max-width: none;
    margin-top: .35rem;
    padding: .45rem .62rem;
}

.pa-private-shell .pa-form-row > .pa-form-note,
.pa-private-shell .pa-form-row > .pa-note {
    align-self: start;
}

.pa-mail-rule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.pa-mail-rule-grid .pa-form-row--wide {
    grid-column: 1 / -1;
}

@media (max-width: 700px) {
    .pa-mail-rule-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.pa-import-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}

.pa-import-modal-danger {
    border-top: 1px solid var(--pa-backend-border);
    padding-top: 1rem;
}

.pa-user-credentials .pa-form-grid {
    align-items: start;
}

.pa-user-credentials .pa-form-row > label:first-child {
    display: flex;
    align-items: end;
    min-height: 2.2rem;
}

.pa-user-credentials .pa-form-row > .pa-form-control {
    width: 100%;
}

.pa-user-credentials .pa-field-errors:empty {
    display: none;
}

.pa-user-credentials .pa-form-help {
    margin: .35rem 0 0;
}

.pa-news-editor .pa-panel__body {
    display: grid;
    gap: 1.25rem;
}

.pa-news-editor .pa-form-row,
.pa-news-editor .mcetiny,
.pa-news-editor .tox-tinymce {
    min-width: 0;
    width: 100%;
}

.pa-news-editor .pa-form-actions {
    justify-content: flex-end;
}

.pa-scheda-form .pa-form-note {
    grid-column: 2 / 4;
    max-width: 720px;
    margin: .15rem 0 .35rem;
}

.pa-scheda-form .pa-form-note strong {
    color: var(--pa-backend-ink);
}

.pa-private-shell .pa-check-note-stack {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .55rem .7rem;
    align-items: start;
    max-width: 760px;
}

.pa-private-shell .pa-check-note-stack .checkBox,
.pa-private-shell .pa-check-note-stack input[type="checkbox"] {
    margin-top: .16rem;
}

.pa-private-shell .pa-check-note-stack .pa-form-note,
.pa-private-shell .pa-check-note-stack .pa-note {
    grid-column: 2;
    margin: 0;
}

.pa-scheda-form .pa-form-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 1.3rem 0 .85rem;
    padding: 0 0 .55rem;
    border-bottom: 1px solid var(--pa-backend-border);
}

.pa-scheda-form .pa-form-section-title .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    font-size: 17px;
    flex: 0 0 auto;
}

.pa-scheda-form .pa-form-section-title__text {
    margin: 0;
    color: var(--pa-backend-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
}

.pa-scheda-form .alert,
.pa-private-shell .alert {
    color: var(--pa-backend-red);
}

.pa-scheda-form input[type="submit"],
.pa-scheda-form input[type="button"],
.pa-scheda-form button,
.pa-form-shell input[type="submit"],
.pa-form-shell input[type="button"],
.pa-form-shell button {
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid var(--pa-backend-blue);
    border-radius: 6px;
    background: var(--pa-backend-blue);
    color: var(--pa-backend-white);
    font-weight: 700;
}

.pa-scheda-form > p,
.pa-form-shell > p,
.pa-scheda-form .pa-form-card > p {
    margin-bottom: .95rem;
}

.pa-twofa-grid {
    display: grid;
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: 22px;
    align-items: start;
}

.pa-twofa-qr {
    display: grid;
    place-items: center;
    min-height: 260px;
    padding: 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
}

.pa-twofa-qr img {
    max-width: 240px;
    width: 100%;
    height: auto;
}

.pa-code-box {
    display: inline-block;
    margin: 6px 0;
    padding: 8px 10px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 6px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-ink);
    font-family: Consolas, "Courier New", monospace;
    font-size: 15px;
    word-break: break-all;
}

.pa-recovery-codes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
    padding: 0;
    list-style: none;
}

.pa-recovery-codes li {
    padding: 8px 10px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 6px;
    background: var(--pa-backend-soft);
    font-family: Consolas, "Courier New", monospace;
}

.pa-dashboard-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.pa-dashboard-link {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    min-height: 92px;
    padding: 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-ink);
    text-decoration: none;
}

.pa-dashboard-link:hover,
.pa-dashboard-link:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    text-decoration: none;
}

.pa-dashboard-link > .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
    font-size: 23px;
}

.pa-dashboard-link strong {
    display: block;
    font-size: 17px;
    line-height: 1.25;
}

.pa-dashboard-link small {
    display: block;
    margin-top: 4px;
    color: var(--pa-backend-muted);
    font-size: 14px;
    line-height: 1.35;
}

.pa-dashboard-layout {
    display: grid;
    gap: 16px;
    align-items: start;
    margin-top: 1rem;
}

.pa-dashboard-layout--operator {
    display: block;
}

.pa-dashboard-layout--operator > .row {
    margin-inline: 0;
}

.pa-dashboard-layout--operator > .row + .row {
    margin-top: 0;
}

.pa-dashboard-profile-column,
.pa-dashboard-guide-column,
.pa-dashboard-kpi-column,
.pa-dashboard-actions-column {
    min-width: 0;
}

.pa-dashboard-profile-column .pa-panel,
.pa-dashboard-guide-column .pa-panel {
    height: 100%;
    margin: 0;
}

.pa-dashboard-kpi-column .pa-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.pa-dashboard-aside,
.pa-dashboard-news-card {
    margin: 0;
}

.pa-dashboard-aside .pa-panel__header,
.pa-dashboard-aside .pa-panel__body {
    padding: 14px;
}

.pa-dashboard-aside .pa-dashboard-link-grid {
    grid-template-columns: 1fr;
}

.pa-dashboard-aside .pa-dashboard-link {
    min-height: 82px;
}

.pa-dashboard-news-card {
    height: 100%;
}

.pa-dashboard-news-card .pa-panel__body {
    padding: 16px;
}

.pa-dashboard-news-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 16px;
    border-left: 4px solid var(--pa-primary);
    border-radius: 6px;
    background: var(--pa-soft);
    color: var(--pa-backend-ink);
    font-weight: 800;
    text-align: center;
}

.pa-profile-card__name {
    margin: 0;
    color: var(--pa-backend-ink);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
}

.pa-profile-card__username,
.pa-profile-card__email {
    margin: .3rem 0 0;
    color: var(--pa-backend-muted);
    font-size: .92rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.pa-profile-card__details {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}

.pa-profile-card__detail {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
}

.pa-profile-card__detail > .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    font-size: .95rem;
}

.pa-profile-card__detail span {
    min-width: 0;
}

.pa-profile-card__detail small,
.pa-profile-card__detail strong {
    display: block;
    line-height: 1.25;
}

.pa-profile-card__detail small {
    color: var(--pa-backend-muted);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pa-profile-card__detail strong {
    margin-top: .12rem;
    color: var(--pa-backend-ink);
    font-size: .92rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.pa-infographic-page .pa-workspace {
    gap: 1.3rem;
}

.pa-infographic-hero .pa-panel__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.pa-infographic-hero__text {
    min-width: 0;
}

.pa-infographic-hero__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.3rem;
    height: 5.3rem;
    border-radius: 8px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    flex: 0 0 auto;
}

.pa-infographic-hero__mark .fa,
.pa-infographic-hero__mark .bi {
    font-size: 2.45rem;
}

.pa-infographic-updated {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: .8rem 0 0;
    color: var(--pa-backend-muted);
    font-size: .92rem;
    font-weight: 700;
}

.pa-infographic-kpi-grid,
.pa-infographic-analysis-grid,
.pa-region-infographic-grid {
    display: grid;
    gap: 1rem;
}

.pa-infographic-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pa-infographic-analysis-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pa-region-infographic-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pa-infographic-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .35rem .75rem;
    min-height: 132px;
    padding: 1rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
}

.pa-infographic-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 8px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    grid-row: span 3;
}

.pa-infographic-card__icon .fa,
.pa-infographic-card__icon .bi {
    font-size: 1.35rem;
}

.pa-infographic-card__value {
    color: var(--pa-backend-ink);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
}

.pa-infographic-card__label {
    color: var(--pa-backend-ink);
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.2;
}

.pa-infographic-card__text {
    color: var(--pa-backend-muted);
    font-size: .88rem;
    line-height: 1.35;
}

.pa-infographic-card--success .pa-infographic-card__icon {
    background: #e8f5ee;
    color: var(--pa-backend-green);
}

.pa-infographic-card--warning .pa-infographic-card__icon {
    background: #fff4d8;
    color: #8a5a00;
}

.pa-infographic-card--danger .pa-infographic-card__icon {
    background: #fde7e5;
    color: var(--pa-backend-red);
}

.pa-region-card {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    gap: .65rem .8rem;
    align-items: center;
    min-height: 92px;
    padding: .8rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    overflow: hidden;
}

.pa-region-card--button {
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pa-region-card--button:hover,
.pa-region-card--button:focus {
    border-color: var(--pa-backend-blue);
    box-shadow: 0 10px 24px rgba(23, 50, 77, .12);
    outline: 0;
    transform: translateY(-1px);
}

.pa-region-card__crest {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 50%;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
    font-weight: 800;
    overflow: hidden;
}

.pa-region-card__crest img {
    max-width: 82%;
    max-height: 82%;
    object-fit: contain;
}

.pa-region-card__body {
    display: grid;
    gap: .15rem;
    min-width: 0;
    overflow: hidden;
}

.pa-region-card__body strong {
    color: var(--pa-backend-ink);
    font-size: .96rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.pa-region-card__body span {
    color: var(--pa-backend-muted);
    font-size: .78rem;
    line-height: 1.25;
}

.pa-region-card__value {
    color: var(--pa-backend-blue);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.pa-region-card--laboratories {
    align-items: flex-start;
}

.pa-region-card--laboratories .pa-region-card__crest,
.pa-region-card--laboratories .pa-region-card__value {
    margin-top: .1rem;
}

.pa-region-card__labs {
    display: grid;
    gap: .24rem;
    margin-top: .45rem;
    min-width: 0;
}

.pa-region-card__labs-title {
    color: var(--pa-backend-ink);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pa-region-card__lab {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .5rem;
    padding: .24rem .38rem;
    border-radius: 6px;
    background: #f7fbfd;
    color: var(--pa-backend-muted);
    min-width: 0;
}

.pa-region-card__lab span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .72rem;
    line-height: 1.25;
}

.pa-region-card__lab strong {
    color: var(--pa-backend-blue);
    font-size: .76rem;
    line-height: 1;
    white-space: nowrap;
}

.pa-region-card__lab--empty,
.pa-region-card__lab--more {
    background: var(--pa-backend-soft);
}

.pa-infographic-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1rem;
}

.pa-infographic-export-actions .pa-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.pa-region-detail-panel {
    display: grid;
    gap: 1rem;
    margin-top: 1.15rem;
    padding: 1rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #f7fbfd;
}

.pa-region-detail-panel[hidden] {
    display: none;
}

.pa-region-detail-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.pa-region-detail-panel__header h3 {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    color: var(--pa-backend-ink);
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.25;
}

.pa-region-detail-panel__header h3 .bi {
    color: var(--pa-backend-blue);
}

.pa-region-detail-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.pa-region-detail-kpi-grid .pa-infographic-card {
    min-height: 118px;
    padding: .9rem;
}

.pa-region-detail-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.pa-region-detail-chart-grid .pa-infographic-chart-card h4 {
    margin: 0 0 12px;
    color: var(--pa-backend-ink);
    font-size: .98rem;
    font-weight: 800;
}

.pa-tabs {
    margin-top: 1.15rem;
}

.pa-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--pa-backend-border);
}

.pa-tabs__button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.65rem;
    margin: 0 0 -1px;
    padding: .62rem 1rem;
    border: 1px solid transparent;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    background: transparent;
    color: var(--pa-backend-ink);
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.pa-tabs__button:hover,
.pa-tabs__button:focus {
    border-color: var(--pa-backend-border) var(--pa-backend-border) transparent;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
    outline: 0;
}

.pa-tabs__button.is-active {
    border-color: var(--pa-backend-border) var(--pa-backend-border) var(--pa-backend-white);
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-tabs__button .bi {
    color: currentColor;
    font-size: 1.05rem;
    line-height: 1;
}

.pa-tabs__panel {
    display: none;
    margin-top: 0;
    padding: 1.25rem;
    border: 1px solid var(--pa-backend-border);
    border-top: 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    background: var(--pa-backend-white);
}

.pa-tabs__panel.is-active {
    display: block;
}

.pa-tabs--plain .pa-tabs__panel {
    padding: 1rem 0 0;
    border: 0;
    background: transparent;
}

.pa-tabs .pa-panel {
    margin: 0 0 1.1rem;
    box-shadow: none;
}

.pa-report-filter-grid {
    grid-template-columns: minmax(280px, 1.25fr) minmax(220px, 1fr) minmax(220px, 1fr);
    align-items: end;
}

.pa-report-filter-grid .pa-form-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}

.pa-report-controls {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(360px, 1.4fr);
    gap: 18px;
    align-items: stretch;
    margin-bottom: 18px;
}

.pa-report-control-column {
    min-width: 0;
}

.pa-report-controls .pa-panel {
    height: 100%;
}

.pa-report-options {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
    padding: .85rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-soft);
}

.pa-report-options .pa-panel__subtitle {
    margin: 0 0 .15rem;
}

.pa-report-options .pa-form-gap {
    display: none;
}

.pa-report-options .check-box-custom {
    display: block;
    margin: 0;
}

.pa-report-pivot-panel {
    margin-top: 18px;
}

.pa-report-pivot-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: .4rem;
}

.pa-section-actions { margin-bottom: 1rem; }
.pa-report-pivot { width: 100%; }

.pa-report-pivot-wrapper .dxpivControl,
.pa-report-pivot-wrapper [id$="_grid"] {
    max-width: 100%;
}

@media (max-width: 900px) {
    .pa-report-controls {
        grid-template-columns: 1fr;
    }
}

.pa-report-classification {
    align-items: start;
}

.pa-report-classification .pa-panel__text {
    margin: .2rem 0 .4rem;
}

.pa-check-list--inline {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    margin: .35rem 0 0;
    padding: 0;
    list-style: none;
}

.pa-check-list--inline li {
    margin: 0;
    padding: 0;
}

.pa-report-video-table {
    table-layout: fixed;
    min-width: 1120px;
}

.pa-report-video-table col.pa-report-video-table__asl {
    width: 260px;
}

.pa-report-video-table col.pa-report-video-table__num {
    width: 64px;
}

.pa-report-video-table col.pa-report-video-table__gap {
    width: 14px;
}

.pa-report-video-table th,
.pa-report-video-table td {
    padding: .55rem .45rem;
    text-align: center;
    vertical-align: top;
}

.pa-report-video-table th:first-child,
.pa-report-video-table td:first-child {
    text-align: left;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

.pa-report-video-table td:not(:first-child) {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.pa-report-video-table .pa-table-separator-cell {
    padding: 0;
    background: var(--pa-backend-soft);
    border-left: 0;
    border-right: 0;
}

.pa-notifica-form {
    padding: 20px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .07);
}

.pa-notifica-form > p:first-child {
    margin-bottom: .8rem;
}

.pa-notifica-form > p:not(.pa-form-section-title),
.pa-notifica-form > div > p {
    max-width: 1020px;
}

.pa-notifica-form > p:not(.pa-form-section-title):not(.pa-form-actions),
.pa-notifica-form .pa-form-card > p:not(.pa-form-section-title):not(.pa-form-actions) {
    grid-template-columns: minmax(190px, 270px) minmax(260px, 470px) auto;
    column-gap: .7rem;
    row-gap: .25rem;
    margin-bottom: .72rem;
}

.pa-notifica-form .pa-notifica-section {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 1rem 0 .6rem;
    padding: 0 0 .45rem;
    border: 0;
    border-bottom: 1px solid var(--pa-backend-border);
    background: transparent;
}

.pa-notifica-form .pa-notifica-section .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #eaf3f8;
    color: var(--pa-backend-blue);
    font-size: 17px;
    flex: 0 0 auto;
}

.pa-notifica-form .pa-notifica-section .pa-form-section-title__text {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--pa-backend-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.pa-notifica-form .pa-form-actions {
    justify-content: flex-end;
    margin-top: .9rem;
}

.pa-notifica-form .pa-form-note {
    grid-column: 2 / 4;
    display: block;
    max-width: 620px;
    margin-top: .2rem;
    padding: .65rem .8rem;
    border-left: 4px solid var(--pa-backend-blue);
    border-radius: 4px;
    background: #f4f8fb;
    color: var(--pa-backend-muted);
    font-size: .88rem;
    line-height: 1.4;
}

.pa-notifica-form .pa-form-note strong {
    color: var(--pa-backend-ink);
}

/* Contagio uses the shared sanitary form package: _css/pa/pa-medical-forms.css. */
.pa-contagio-form {
    min-width: 0;
}

.pa-laboratorio-form {
    display: grid;
    gap: 1rem;
}

.pa-laboratorio-form p {
    margin: 0;
}

.pa-laboratorio-form .pa-panel__eyebrow {
    margin: 0 0 .25rem;
}

.pa-laboratorio-form .pa-panel__text {
    margin: 6px 0 0;
}

.pa-laboratorio-form > p:first-child {
    margin-bottom: .25rem;
}

.pa-laboratorio-form .pa-form-section-title {
    margin: .25rem 0 0;
}

.pa-laboratorio-form .pa-lab-test {
    display: grid;
    grid-template-columns: minmax(145px, 180px) minmax(0, 1fr);
    gap: .65rem 1rem;
    align-items: start;
    padding: .9rem 0;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-laboratorio-form .pa-lab-test:first-of-type {
    padding-top: .2rem;
    border-top: 0;
}

.pa-laboratorio-form .pa-lab-test__name {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: 100% !important;
    min-height: 2.3rem;
    margin: 0 !important;
    padding: .45rem .65rem;
    border: 1px solid #c7dceb;
    border-radius: 8px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-ink);
    font-weight: 800;
}

.pa-laboratorio-form .pa-lab-test__name label {
    margin: 0;
}

.pa-laboratorio-form .pa-lab-grid {
    display: grid;
    grid-template-columns: minmax(82px, 120px) minmax(140px, 1fr) minmax(58px, 90px) minmax(118px, 1fr);
    gap: .5rem .7rem;
    align-items: center;
    min-width: 0;
}

.pa-laboratorio-form .pa-lab-genotype {
    padding-top: .85rem;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-laboratorio-form .pa-lab-send-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(190px, 1fr));
    gap: 1rem;
}

.pa-laboratorio-form .pa-lab-send-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
    padding: .9rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #fbfdff;
}

.pa-laboratorio-form .pa-lab-grid .pa-label,
.pa-laboratorio-form .pa-lab-grid .pa-form-label-table,
.pa-laboratorio-form .pa-lab-send-item .pa-label {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.pa-laboratorio-form .pa-lab-grid .textBox,
.pa-laboratorio-form .pa-lab-grid .dropdown,
.pa-laboratorio-form .pa-lab-send-item .textBox,
.pa-laboratorio-form .pa-lab-send-item .dropdown {
    width: 100% !important;
    min-width: 0;
}

.pa-laboratorio-form .pa-lab-send-item .textBox {
    max-width: 12rem;
}

.pa-laboratorio-form hr {
    width: 100%;
    margin: .2rem 0 .35rem;
    border: 0;
    border-top: 1px solid var(--pa-backend-border);
    opacity: 1;
}

.pa-laboratorio-form #misurazione,
.pa-laboratorio-form .pa-note {
    display: block;
    max-width: 920px;
    margin: .25rem 0;
    padding: .75rem .9rem;
    border-left: 4px solid var(--pa-backend-blue);
    border-radius: 4px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.pa-laboratorio-form .pa-form-actions {
    margin-top: .2rem;
}

.pa-private-shell .alert,
.pa-private-shell .Validator,
.pa-private-shell span[id*="req"],
.pa-private-shell span[id*="Req"] {
    color: var(--pa-backend-red);
    font-size: .85rem;
    font-weight: 700;
}

.pa-private-shell span[id*="req"][style*="inline"],
.pa-private-shell span[id*="Req"][style*="inline"],
.pa-private-shell .Validator[style*="inline"] {
    display: inline-flex !important;
}

.pa-private-shell span[id*="req"]:empty,
.pa-private-shell span[id*="Req"]:empty,
.pa-private-shell .Validator:empty {
    display: none !important;
}

.pa-private-shell .pa-validation-summary,
.pa-private-shell .ValidationSummary,
.pa-private-shell div[id*="valSummary"],
.pa-private-shell div[id*="ValidationSummary"] {
    width: min(720px, 100%);
    margin: .75rem 0 0;
    padding: .85rem 1rem;
    border: 1px solid #f2b8b4;
    border-left: 4px solid var(--pa-backend-red);
    border-radius: 8px;
    background: #fff7f6;
    color: var(--pa-backend-ink);
    font-size: .94rem;
    font-weight: 600;
}

.pa-private-shell .pa-validation-summary ul,
.pa-private-shell .ValidationSummary ul,
.pa-private-shell div[id*="valSummary"] ul,
.pa-private-shell div[id*="ValidationSummary"] ul {
    margin: .45rem 0 0 1.1rem;
    padding: 0;
}

@media (min-width: 992px) {
    .pa-backend-shell.has-sidebar:not(.sidebar-collapsed) .pa-backend-sidebar-toggle-row {
        position: absolute;
        z-index: 12;
        top: calc(100% + var(--pa-backend-layout-offset));
        left: var(--pa-backend-page-gutter);
        width: var(--pa-backend-sidebar-width);
        margin: 0;
        padding: 0;
    }

    .pa-backend-shell.has-sidebar.sidebar-collapsed .pa-backend-sidebar-toggle-row {
        width: calc(100% - 2 * var(--pa-backend-page-gutter));
        margin: 12px var(--pa-backend-page-gutter) 0;
        padding: 0;
    }

    .pa-backend-sidebar {
        position: absolute;
        z-index: 10;
        top: calc(100% + var(--pa-backend-layout-offset) + 52px);
        left: var(--pa-backend-page-gutter);
        width: var(--pa-backend-sidebar-width);
        max-height: calc(100vh - 220px);
        overflow-y: auto;
        overflow-x: hidden;
        margin: 0;
    }

    .pa-backend-shell.has-sidebar.sidebar-collapsed .pa-backend-sidebar {
        display: none;
    }

    .pa-backend-shell.has-sidebar ~ .center,
    .pa-backend-shell.has-sidebar ~ main.center,
    .pa-backend-shell.has-sidebar ~ .pa-main--with-sidebar {
        width: calc(100% - 2 * var(--pa-backend-page-gutter) - var(--pa-backend-sidebar-width) - var(--pa-backend-sidebar-gap));
        max-width: none;
        margin-left: calc(var(--pa-backend-page-gutter) + var(--pa-backend-sidebar-width) + var(--pa-backend-sidebar-gap));
        margin-right: var(--pa-backend-page-gutter);
        padding-left: 0;
    }

    .pa-backend-shell.has-sidebar.sidebar-collapsed ~ .center,
    .pa-backend-shell.has-sidebar.sidebar-collapsed ~ main.center,
    .pa-backend-shell.has-sidebar.sidebar-collapsed ~ .pa-main--with-sidebar {
        width: calc(100% - 2 * var(--pa-backend-page-gutter));
        margin-left: var(--pa-backend-page-gutter);
        margin-right: var(--pa-backend-page-gutter);
    }
}

@media (max-width: 900px) {
    .pa-region-detail-kpi-grid,
    .pa-region-detail-chart-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .pa-infographic-export-actions,
    .pa-region-detail-panel__header {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pa-region-detail-kpi-grid,
    .pa-region-detail-chart-grid {
        grid-template-columns: 1fr;
    }

    .pa-infographic-export-actions .pa-btn {
        width: 100%;
        justify-content: center;
    }
}

.pa-report-editor-layout {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) minmax(0, 10fr);
    gap: 18px;
    align-items: start;
}

.pa-report-index {
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    box-shadow: var(--pa-backend-shadow);
    padding: 14px;
    position: sticky;
    top: 92px;
}

.pa-report-index__title {
    margin: 0 0 12px;
    font-size: 1rem;
    color: var(--pa-backend-ink);
}

.pa-report-index__link {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 6px;
    color: var(--pa-backend-ink);
    text-decoration: none;
}

.pa-report-index__link:hover,
.pa-report-index__link:focus {
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
}

.pa-report-index__link small {
    color: var(--pa-backend-muted);
}

.pa-report-editor-panel {
    min-width: 0;
}

.pa-report-edit-area {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-report-revision-log {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-report-revision-log h3 {
    margin: 0 0 12px;
    color: var(--pa-backend-ink);
    font-size: 1rem;
}

.pa-report-revision-log__list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 20px;
}

.pa-report-revision-log__list li {
    color: var(--pa-backend-muted);
}

.pa-report-revision-log__list strong,
.pa-report-revision-log__list span {
    display: inline-block;
    margin-right: 8px;
    color: var(--pa-backend-ink);
}

.pa-report-revision-log__list em {
    display: block;
    margin-top: 2px;
    color: var(--pa-backend-muted);
    font-style: normal;
}

.pa-bollettino-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 42px 54px;
    border: 1px solid #d7e2ec;
    background: #fff;
    color: #1d1d1d;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.55;
    box-shadow: 0 16px 36px rgba(10, 38, 58, .08);
}

.pa-bollettino-page--modal {
    width: 100%;
    max-width: none;
    margin: 0 0 28px;
    box-shadow: none;
}

.pa-bollettino-page--cover {
    min-height: 220px;
}

.pa-report-preview-modal .modal-dialog {
    max-width: min(1480px, calc(100% - 32px));
}

.pa-report-full-preview {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.pa-report-full-preview__index {
    position: sticky;
    top: 0;
    padding: 16px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
}

.pa-report-full-preview__index h3 {
    margin: 0 0 12px;
    color: var(--pa-backend-ink);
    font-size: 1rem;
}

.pa-report-full-preview__index a {
    display: block;
    padding: 8px 0;
    border-top: 1px solid #e7eef5;
    color: var(--pa-backend-blue);
    font-weight: 700;
    text-decoration: none;
}

.pa-report-full-preview__pages {
    min-width: 0;
}

.pa-bollettino-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 4px solid #c43b4b;
}

.pa-bollettino-kicker {
    margin: 0 0 4px;
    color: #8b1d2c;
    font-size: 2rem;
    font-style: italic;
    font-weight: 700;
    line-height: 1.05;
}

.pa-bollettino-header h3 {
    margin: 0;
    color: #17324d;
    font-size: 1.35rem;
    font-weight: 700;
}

.pa-bollettino-section-header {
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 4px solid #c43b4b;
}

.pa-bollettino-section-header h3 {
    margin: 4px 0 0;
    color: #17324d;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.2;
}

.pa-bollettino-number {
    color: #17324d;
    font-family: Calibri, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
}

.pa-bollettino-meta {
    margin: -10px 0 18px;
    color: #586f7c;
    font-family: Calibri, Arial, sans-serif;
    font-size: .9rem;
}

.pa-bollettino-table {
    table-layout: fixed;
    width: 100%;
    margin: 18px 0 24px;
    border-collapse: collapse;
    font-family: Calibri, Arial, sans-serif;
    font-size: .95rem;
}

.pa-bollettino-table th,
.pa-bollettino-table td {
    overflow-wrap: anywhere;
    padding: 8px 10px;
    border: 1px solid #c8d8e8;
    text-align: left;
    vertical-align: top;
}

.pa-bollettino-table th {
    background: #e9f2f7;
    color: #17324d;
    font-weight: 700;
}

.pa-bollettino-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 0 24px;
}

.pa-bollettino-chart {
    margin: 0;
    padding: 14px;
    border: 1px solid #d7e2ec;
    background: #f9fcfe;
}

.pa-bollettino-chart figcaption {
    margin-bottom: 10px;
    color: #17324d;
    font-family: Calibri, Arial, sans-serif;
    font-weight: 700;
}

.pa-bollettino-text {
    font-size: 1rem;
}

.pa-bollettino-text h1,
.pa-bollettino-text h2,
.pa-bollettino-text h3 {
    color: #17324d;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

.pa-bollettino-text p {
    margin: 0 0 1rem;
}

.pa-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-blue);
    font-size: .85rem;
    font-weight: 700;
}

.pa-chart-frame {
    position: relative;
    width: 100%;
    height: 260px;
    max-height: 260px;
    overflow: hidden;
}

.pa-chart-frame--bollettino {
    height: 220px;
    max-height: 220px;
}

.pa-chart-frame--quality {
    height: 520px;
    max-height: 520px;
}

.pa-quality-filter-grid {
    align-items: start;
}

.pa-chart-frame canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
}

.pa-infographic-chart-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.pa-infographic-trend-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 14px;
    padding: 14px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: #f7fbfd;
}

.pa-infographic-trend-toolbar__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(170px, 230px));
    gap: 12px;
    align-items: end;
}

.pa-infographic-trend-toolbar__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pa-infographic-range-message {
    margin: 0;
}

.pa-infographic-range-label,
.pa-chart-card-note {
    margin: 0 0 12px;
    color: var(--pa-backend-muted);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.35;
}

.pa-infographic-chart-card {
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    padding: 16px;
    min-width: 0;
}

.pa-infographic-chart-card h3 {
    margin: 0 0 12px;
    font-size: 1rem;
    color: var(--pa-backend-ink);
}

.pa-infographic-chart-card[hidden] {
    display: none;
}

.pa-infographic-chart-card--comparison {
    grid-column: 1 / -1;
}

.pa-infographic-chart-card__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.pa-infographic-chart-card__heading h3 {
    margin: 0;
}

.pa-laboratory-breakdown {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--pa-backend-border);
}

.pa-laboratory-breakdown__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.pa-laboratory-breakdown__header h3 {
    margin: 0 0 4px;
    color: var(--pa-backend-ink);
    font-size: 1rem;
}

.pa-laboratory-breakdown__header p {
    margin: 0;
    color: var(--pa-backend-muted);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.35;
}

.pa-laboratory-breakdown__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.pa-laboratory-breakdown__item {
    min-width: 0;
    border: 1px solid var(--pa-backend-border);
    border-radius: 8px;
    background: var(--pa-backend-white);
    overflow: hidden;
}

.pa-laboratory-breakdown__summary {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: center;
    padding: .8rem;
    background: #f7fbfd;
}

.pa-laboratory-breakdown__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid var(--pa-backend-border);
    border-radius: 50%;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
    font-size: 1.15rem;
}

.pa-laboratory-breakdown__text {
    display: grid;
    gap: .16rem;
    min-width: 0;
}

.pa-laboratory-breakdown__text strong {
    min-width: 0;
    color: var(--pa-backend-ink);
    font-size: .94rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.pa-laboratory-breakdown__text em {
    color: var(--pa-backend-muted);
    font-size: .78rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
}

.pa-laboratory-breakdown__value {
    color: var(--pa-backend-blue);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.pa-laboratory-breakdown__origins {
    display: grid;
    gap: .3rem;
    max-height: 260px;
    padding: .8rem;
    overflow: auto;
}

.pa-laboratory-breakdown__origins:focus-visible,
.pa-infographic-data summary:focus-visible,
.pa-infographic-data .pa-table-wrap:focus-visible {
    outline: 3px solid var(--pa-backend-blue-dark);
    outline-offset: 2px;
}

.pa-infographic-data {
    min-width: 0;
    margin-top: .75rem;
    color: var(--pa-backend-ink);
}

.pa-infographic-data summary {
    padding: .45rem;
    cursor: pointer;
    font-weight: 600;
}

.pa-infographic-data .pa-bollettino-table {
    width: 100%;
    border-collapse: collapse;
}

.pa-infographic-data th,
.pa-infographic-data td {
    padding: .4rem;
    border-bottom: 1px solid var(--pa-backend-border);
    text-align: left;
}

.pa-theme-enternet .pa-private-shell .pa-infographic-trend-toolbar__actions .btn-outline-primary {
    color: #084298;
}

.pa-theme-enternet .pa-private-shell .pa-infographic-trend-toolbar__actions .btn-outline-primary:hover,
.pa-theme-enternet .pa-private-shell .pa-infographic-trend-toolbar__actions .btn-outline-primary:focus {
    color: #fff;
    background: #084298;
}

.pa-laboratory-breakdown__origin {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .34rem .48rem;
    border-radius: 6px;
    background: var(--pa-backend-soft);
    color: var(--pa-backend-muted);
}

.pa-laboratory-breakdown__origin span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .78rem;
    line-height: 1.25;
}

.pa-laboratory-breakdown__origin strong {
    color: var(--pa-backend-blue);
    font-size: .82rem;
    line-height: 1;
    white-space: nowrap;
}

.pa-laboratory-breakdown__origin--empty {
    background: #fff4d8;
}

.pa-chart-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--pa-backend-border);
    border-radius: 50%;
    background: var(--pa-backend-white);
    color: var(--pa-backend-blue);
}

.pa-chart-close:hover,
.pa-chart-close:focus {
    border-color: var(--pa-backend-blue);
    background: #eaf3f8;
    color: var(--pa-backend-blue-dark);
}

#chartRegions {
    cursor: pointer;
}

@media (max-width: 900px) {
    .pa-backend-topbar__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .pa-backend-actions,
    .pa-user-menu,
    .pa-user-menu__summary {
        width: 100%;
    }

    .pa-user-menu__summary {
        justify-content: space-between;
    }

    .pa-user-menu__panel {
        position: static;
        width: 100%;
        margin-top: 8px;
    }

    .pa-backend-nav__inner {
        align-items: stretch;
        flex-direction: column;
        padding: 8px 0;
    }

    .pa-backend-nav__link,
    .pa-backend-nav__group > summary {
        min-height: 48px;
        border-bottom: 0;
        border-left: 4px solid transparent;
        border-radius: 6px;
    }

    .pa-backend-nav__link.is-active,
    .pa-backend-nav__group.is-active > summary {
        border-left-color: var(--pa-backend-green);
        background: var(--pa-backend-soft);
        color: var(--pa-backend-blue);
    }

    .pa-backend-nav__link.is-active .bi,
    .pa-backend-nav__group.is-active > summary .bi {
        color: var(--pa-backend-blue);
    }

    .pa-backend-nav__dropdown {
        position: static;
        width: 100%;
        margin-top: 4px;
        box-shadow: none;
    }

    .pa-kpi-grid,
    .pa-dashboard-link-grid,
    .pa-dashboard-layout,
    .pa-twofa-grid,
    .pa-report-editor-layout,
    .pa-laboratory-breakdown__grid {
        grid-template-columns: 1fr;
    }

    .pa-report-index {
        position: static;
    }

    .pa-dashboard-main .pa-kpi-grid,
    .pa-dashboard-kpi-column .pa-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pa-infographic-kpi-grid,
    .pa-infographic-analysis-grid,
    .pa-region-infographic-grid,
    .pa-infographic-chart-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pa-infographic-hero .pa-panel__body {
        align-items: flex-start;
        flex-direction: column;
    }

    .pa-infographic-trend-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .pa-infographic-trend-toolbar__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pa-report-full-preview {
        grid-template-columns: 1fr;
    }

    .pa-laboratorio-form .pa-lab-test,
    .pa-laboratorio-form .pa-lab-send-grid {
        grid-template-columns: 1fr;
    }

    .pa-laboratorio-form .pa-lab-grid {
        grid-template-columns: minmax(92px, 130px) minmax(0, 1fr);
    }

    .pa-report-full-preview__index {
        position: static;
    }

    .pa-chart-frame {
        height: 240px;
        max-height: 240px;
    }

    .pa-chart-frame--bollettino {
        height: 200px;
        max-height: 200px;
    }
}

@media (max-width: 560px) {
    .pa-backend-container {
        width: min(100% - 20px, 1180px);
    }

    .pa-backend-shell .pa-logo--enternet-public {
        width: 108px;
        height: auto;
        max-height: 42px;
    }

    .pa-backend-brand__mark {
        width: 48px;
        height: 48px;
    }

    .pa-backend-brand__text strong {
        font-size: 21px;
    }

    .pa-kpi-card {
        grid-template-columns: 1fr;
    }

    .pa-dashboard-main .pa-kpi-grid,
    .pa-dashboard-kpi-column .pa-kpi-grid {
        grid-template-columns: 1fr;
    }

    .pa-infographic-kpi-grid,
    .pa-infographic-analysis-grid,
    .pa-region-infographic-grid,
    .pa-infographic-chart-grid {
        grid-template-columns: 1fr;
    }

    .pa-infographic-trend-toolbar__fields,
    .pa-infographic-trend-toolbar__actions {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .pa-infographic-trend-toolbar__actions {
        display: grid;
    }

    .pa-infographic-trend-toolbar__actions .pa-btn,
    .pa-infographic-trend-toolbar__actions input.pa-btn {
        width: 100%;
    }

    .pa-recovery-codes {
        grid-template-columns: 1fr;
    }

    .pa-laboratorio-form .pa-lab-grid {
        grid-template-columns: 1fr;
    }

    .pa-chart-frame {
        height: 220px;
        max-height: 220px;
    }
}
