/* /Components/AIChatOverlay.razor.rz.scp.css */
.ai-chat-fab[b-ptpqb79268] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--icon-accent-color, #2C462C);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    z-index: 10000;
    transition: filter 0.2s, transform 0.2s;
}

.ai-chat-fab:hover[b-ptpqb79268] {
    filter: brightness(0.9);
    transform: scale(1.05);
}

.ai-chat-window[b-ptpqb79268] {
    position: fixed;
    bottom: 92px;
    right: 24px;
    width: 480px;
    height: 680px;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ai-chat-header[b-ptpqb79268] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background-color: var(--icon-accent-color, #2C462C);
    color: white;
    font-weight: 600;
    font-size: 15px;
    flex-shrink: 0;
}

.ai-chat-close[b-ptpqb79268] {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.ai-chat-close:hover[b-ptpqb79268] {
    background-color: rgba(255, 255, 255, 0.2);
}

.ai-chat-body[b-ptpqb79268] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

[b-ptpqb79268] .ai-chat-component {
    width: 100%;
    height: 100%;
}

[b-ptpqb79268] .ai-chat-content > p:last-child {
    margin-bottom: 0;
}

[b-ptpqb79268] .ai-chat-content code {
    background-color: #f4f4f4;
    padding: 2px 4px;
    border-radius: 3px;
    font-size: 0.9em;
}

[b-ptpqb79268] .ai-chat-content pre {
    background-color: #f4f4f4;
    padding: 8px 12px;
    border-radius: 6px;
    overflow-x: auto;
}

@media (max-width: 480px) {
    .ai-chat-window[b-ptpqb79268] {
        bottom: 0;
        right: 0;
        width: 100vw;
        height: calc(100vh - 60px);
        border-radius: 12px 12px 0 0;
    }

    .ai-chat-fab[b-ptpqb79268] {
        bottom: 16px;
        right: 16px;
    }
}
/* /Components/TemplateQuestionarioCompositoreView.razor.rz.scp.css */
/* CSS isolation per il compositore — niente text-uppercase su label,
   sentence case ovunque (vincolo UX). Uso variabili Bootstrap per
   restare coerenti con il tema chiaro/scuro globale. */

[b-r4skxzbimh] .tqc-shell {
    position: fixed;
    inset: 0;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    display: flex;
    flex-direction: column;
    z-index: 1;
    font-family: inherit;
}

[b-r4skxzbimh] .tqc-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem 1rem;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
    flex: 0 0 auto;
}

[b-r4skxzbimh] .tqc-toolbar-left {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

[b-r4skxzbimh] .tqc-toolbar-title {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    min-width: 0;
}

[b-r4skxzbimh] .tqc-toolbar-eyebrow {
    font-size: .72rem;
    color: var(--bs-secondary-color);
    letter-spacing: .02em;
}

[b-r4skxzbimh] .tqc-toolbar-name {
    font-size: 1rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 50vw;
}

[b-r4skxzbimh] .tqc-toolbar-right {
    display: flex;
    align-items: center;
    gap: .5rem;
}

[b-r4skxzbimh] .tqc-autosave {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
    color: var(--bs-secondary-color);
    padding: .25rem .5rem;
    border-radius: 6px;
}

[b-r4skxzbimh] .tqc-autosave.is-error {
    color: var(--bs-danger);
}

[b-r4skxzbimh] .tqc-btn {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: .35rem .7rem;
    font-size: .9rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    cursor: pointer;
    text-decoration: none;
}

[b-r4skxzbimh] .tqc-btn-ghost {
    background: transparent;
    border-color: var(--bs-border-color);
}
[b-r4skxzbimh] .tqc-btn-ghost:hover {
    background: var(--bs-tertiary-bg);
}

[b-r4skxzbimh] .tqc-btn-primary {
    background: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
    font-weight: 500;
}
[b-r4skxzbimh] .tqc-btn-primary:hover {
    filter: brightness(1.05);
}

[b-r4skxzbimh] .tqc-btn-soft {
    background: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}
[b-r4skxzbimh] .tqc-btn-soft:hover {
    background: var(--bs-secondary-bg);
}

[b-r4skxzbimh] .tqc-icon-btn {
    background: transparent;
    border: none;
    color: var(--bs-body-color);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}
[b-r4skxzbimh] .tqc-icon-btn:hover {
    background: var(--bs-tertiary-bg);
}
[b-r4skxzbimh] .tqc-icon-btn:disabled {
    opacity: .35;
    cursor: not-allowed;
}
[b-r4skxzbimh] .tqc-icon-btn-danger:hover {
    background: rgba(220, 53, 69, .12);
    color: var(--bs-danger);
}

[b-r4skxzbimh] .tqc-body {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
}
[b-r4skxzbimh] .tqc-body.with-preview {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
}

[b-r4skxzbimh] .tqc-main {
    overflow: auto;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

[b-r4skxzbimh] .tqc-main > * {
    width: 100%;
    max-width: 820px;
}

[b-r4skxzbimh] .tqc-empty {
    text-align: center;
    color: var(--bs-secondary-color);
    margin-top: 6rem;
}

[b-r4skxzbimh] .tqc-card {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

[b-r4skxzbimh] .tqc-card-header {
    border-top: 4px solid var(--bs-primary);
    padding-top: 1.25rem;
}

[b-r4skxzbimh] .tqc-card-row + .tqc-card-row {
    margin-top: .6rem;
}

[b-r4skxzbimh] .tqc-meta-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding-top: .25rem;
}

[b-r4skxzbimh] .tqc-input-titolo {
    font-size: 1.5rem;
    font-weight: 600;
    width: 100%;
    border: none;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: inherit;
    padding: .25rem 0;
    outline: none;
}
[b-r4skxzbimh] .tqc-input-titolo:focus {
    border-bottom-color: var(--bs-primary);
}

[b-r4skxzbimh] .tqc-input-descrizione {
    width: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    background: var(--bs-body-bg);
    color: inherit;
    padding: .5rem .75rem;
    font-size: .95rem;
    resize: vertical;
    outline: none;
}
[b-r4skxzbimh] .tqc-input-descrizione:focus {
    border-color: var(--bs-primary);
}

[b-r4skxzbimh] .tqc-input-titolo-sezione {
    font-size: 1.15rem;
    font-weight: 600;
    flex: 1 1 auto;
    border: none;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: inherit;
    padding: .25rem 0;
    min-width: 0;
    outline: none;
}
[b-r4skxzbimh] .tqc-input-titolo-sezione:focus {
    border-bottom-color: var(--bs-primary);
}

[b-r4skxzbimh] .tqc-input-domanda,
[b-r4skxzbimh] .tqc-input-suggerimento,
[b-r4skxzbimh] .tqc-input-mono,
[b-r4skxzbimh] .tqc-input-num,
[b-r4skxzbimh] .tqc-input-opzione,
[b-r4skxzbimh] .tqc-input-chiave {
    width: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    background: var(--bs-body-bg);
    color: inherit;
    padding: .4rem .6rem;
    font-size: .95rem;
    outline: none;
}
[b-r4skxzbimh] .tqc-input-domanda:focus,
[b-r4skxzbimh] .tqc-input-suggerimento:focus,
[b-r4skxzbimh] .tqc-input-mono:focus,
[b-r4skxzbimh] .tqc-input-num:focus,
[b-r4skxzbimh] .tqc-input-opzione:focus,
[b-r4skxzbimh] .tqc-input-chiave:focus {
    border-color: var(--bs-primary);
}
[b-r4skxzbimh] .tqc-input-suggerimento {
    background: var(--bs-tertiary-bg);
    font-size: .88rem;
    color: var(--bs-secondary-color);
}
[b-r4skxzbimh] .tqc-input-mono {
    font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: .85rem;
}
[b-r4skxzbimh] .tqc-input-chiave {
    flex: 0 0 160px;
    font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: .8rem;
    color: var(--bs-secondary-color);
}

[b-r4skxzbimh] .tqc-toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .9rem;
    cursor: pointer;
    user-select: none;
}
[b-r4skxzbimh] .tqc-toggle-mini {
    font-size: .8rem;
    color: var(--bs-secondary-color);
}

[b-r4skxzbimh] .tqc-pill {
    display: inline-flex;
    align-items: center;
    background: var(--bs-tertiary-bg);
    border-radius: 999px;
    padding: .15rem .55rem;
    font-size: .78rem;
    color: var(--bs-secondary-color);
}

[b-r4skxzbimh] .tqc-link-btn {
    background: transparent;
    border: none;
    padding: 0;
    color: var(--bs-primary);
    cursor: pointer;
    font-size: .9rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}
[b-r4skxzbimh] .tqc-link-btn:hover { text-decoration: underline; }

[b-r4skxzbimh] .tqc-mini-label {
    display: block;
    font-size: .75rem;
    color: var(--bs-secondary-color);
    margin-bottom: .2rem;
}

[b-r4skxzbimh] .tqc-note-block { margin-top: .75rem; }
[b-r4skxzbimh] .tqc-note-block .tqc-input-descrizione + .tqc-mini-label { margin-top: .6rem; }

/* --- sezione card --- */

[b-r4skxzbimh] .tqc-card-sezione {
    border-left: 4px solid var(--bs-info, #0dcaf0);
}

[b-r4skxzbimh] .tqc-card-head {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .5rem;
}

[b-r4skxzbimh] .tqc-card-head-actions {
    display: inline-flex;
    align-items: center;
    gap: .15rem;
}

[b-r4skxzbimh] .tqc-grip {
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    gap: 0;
    color: var(--bs-secondary-color);
    font-size: .65rem;
}
[b-r4skxzbimh] .tqc-grip-btn {
    width: 24px;
    height: 22px;
}
[b-r4skxzbimh] .tqc-grip-index { font-size: .7rem; padding: 1px 0; }

[b-r4skxzbimh] .tqc-domande-list {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    margin-top: .5rem;
}

[b-r4skxzbimh] .tqc-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .75rem;
    flex-wrap: wrap;
}

[b-r4skxzbimh] .tqc-add-domanda-menu {
    position: relative;
}

[b-r4skxzbimh] .tqc-add-domanda-popover {
    position: absolute;
    bottom: calc(100% + .35rem);
    left: 0;
    min-width: 260px;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
    padding: .35rem;
    display: grid;
    gap: 2px;
    z-index: 5;
}
[b-r4skxzbimh] .tqc-add-domanda-item {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .6rem;
    background: transparent;
    border: none;
    border-radius: 6px;
    color: inherit;
    cursor: pointer;
    font-size: .92rem;
    text-align: left;
}
[b-r4skxzbimh] .tqc-add-domanda-item:hover {
    background: var(--bs-tertiary-bg);
}
[b-r4skxzbimh] .tqc-add-domanda-item i {
    width: 18px;
    text-align: center;
    color: var(--bs-secondary-color);
}

[b-r4skxzbimh] .tqc-regole-hint {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .8rem;
    color: var(--bs-warning-text-emphasis, #997404);
    background: var(--bs-warning-bg-subtle, rgba(255, 193, 7, .15));
    padding: .2rem .5rem;
    border-radius: 6px;
}
[b-r4skxzbimh] .tqc-regole-hint-mini { font-size: .75rem; padding: .1rem .4rem; }

/* --- domanda card --- */

[b-r4skxzbimh] .tqc-card-domanda {
    display: flex;
    gap: .5rem;
    align-items: stretch;
    padding: .75rem .9rem;
    background: var(--bs-tertiary-bg);
    border-radius: 8px;
    border: 1px solid var(--bs-border-color);
}

[b-r4skxzbimh] .tqc-card-domanda-grip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    color: var(--bs-secondary-color);
    padding-top: .25rem;
}
[b-r4skxzbimh] .tqc-grip-icon {
    font-size: 1rem;
    margin: .15rem 0;
}

[b-r4skxzbimh] .tqc-card-domanda-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

[b-r4skxzbimh] .tqc-card-domanda-row {
    display: flex;
    gap: .5rem;
    align-items: center;
    flex-wrap: wrap;
}

[b-r4skxzbimh] .tqc-select-tipo {
    flex: 0 0 auto;
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    background: var(--bs-body-bg);
    color: inherit;
    padding: .35rem .5rem;
    font-size: .9rem;
}

[b-r4skxzbimh] .tqc-tipo-config {
    background: var(--bs-body-bg);
    border-radius: 6px;
    padding: .6rem .75rem;
    border: 1px dashed var(--bs-border-color);
}

[b-r4skxzbimh] .tqc-row-double {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    align-items: end;
}

[b-r4skxzbimh] .tqc-field {
    display: flex;
    flex-direction: column;
}

[b-r4skxzbimh] .tqc-opzioni {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin-bottom: .5rem;
}

[b-r4skxzbimh] .tqc-opzione-row {
    display: flex;
    align-items: center;
    gap: .35rem;
}

[b-r4skxzbimh] .tqc-opzione-marker {
    color: var(--bs-secondary-color);
    flex: 0 0 18px;
    text-align: center;
}

[b-r4skxzbimh] .tqc-btn-add-opzione {
    width: fit-content;
}

[b-r4skxzbimh] .tqc-card-domanda-foot {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .25rem;
    border-top: 1px solid var(--bs-border-color);
    padding-top: .5rem;
    flex-wrap: wrap;
}

[b-r4skxzbimh] .tqc-flex-spacer { flex: 1 1 auto; }

[b-r4skxzbimh] .tqc-add-sezione {
    display: flex;
    justify-content: center;
    padding: 1rem 0 4rem;
}

/* --- anteprima live --- */

[b-r4skxzbimh] .tqc-preview {
    border-left: 1px solid var(--bs-border-color);
    overflow: auto;
    background: var(--bs-tertiary-bg);
    display: flex;
    flex-direction: column;
}

[b-r4skxzbimh] .tqc-preview-header {
    padding: .6rem 1rem;
    font-size: .85rem;
    color: var(--bs-secondary-color);
    border-bottom: 1px solid var(--bs-border-color);
    display: flex;
    align-items: center;
    gap: .35rem;
    flex: 0 0 auto;
}

[b-r4skxzbimh] .tqc-preview-body {
    padding: 1rem 1.25rem 3rem;
    flex: 1 1 auto;
}

[b-r4skxzbimh] .tqc-preview-body h2 {
    margin: 0 0 .5rem;
    font-size: 1.25rem;
}

[b-r4skxzbimh] .tqc-preview-intro {
    color: var(--bs-secondary-color);
    margin-bottom: 1rem;
}

[b-r4skxzbimh] .tqc-preview-sezione {
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
    background: var(--bs-body-bg);
}

[b-r4skxzbimh] .tqc-preview-sezione legend {
    width: auto;
    padding: 0 .35rem;
    font-size: .95rem;
    font-weight: 600;
}

[b-r4skxzbimh] .tqc-preview-sezione-desc {
    color: var(--bs-secondary-color);
    font-size: .85rem;
    margin-bottom: .6rem;
}

[b-r4skxzbimh] .tqc-preview-domanda {
    margin-bottom: .85rem;
}

[b-r4skxzbimh] .tqc-preview-label {
    display: block;
    font-size: .9rem;
    margin-bottom: .25rem;
}

[b-r4skxzbimh] .tqc-req {
    color: var(--bs-danger);
    margin-left: .2rem;
}

[b-r4skxzbimh] .tqc-preview-hint {
    color: var(--bs-secondary-color);
    font-size: .8rem;
    margin-bottom: .25rem;
}

[b-r4skxzbimh] .tqc-preview-input {
    width: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    padding: .3rem .5rem;
    background: var(--bs-tertiary-bg);
}

[b-r4skxzbimh] .tqc-preview-options {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

[b-r4skxzbimh] .tqc-preview-options label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .9rem;
}

[b-r4skxzbimh] .tqc-preview-separatore h3 {
    font-size: 1rem;
    margin: .25rem 0;
}
[b-r4skxzbimh] .tqc-preview-separatore p {
    color: var(--bs-secondary-color);
    font-size: .85rem;
    margin: 0;
}

@media (max-width: 900px) {
    [b-r4skxzbimh] .tqc-body.with-preview {
        grid-template-columns: 1fr;
    }
    [b-r4skxzbimh] .tqc-preview {
        border-left: none;
        border-top: 1px solid var(--bs-border-color);
    }
}
/* /Layouts/PublicLayout.razor.rz.scp.css */
/*
 * Layout per pagine pubbliche (scheda asset, ecc.).
 * Usa position:fixed per creare un contesto di scroll indipendente
 * senza toccare html/body/app, evitando conflitti con il layout XAF.
 */
.public-layout[b-7gofto5i84] {
    position: fixed;
    inset: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    z-index: 10000;
}
/* /Pages/AssetPublicProfile.razor.rz.scp.css */
/* Container centrato */
.page[b-ys8hdapd5c] {
    max-width: 820px;
    margin: 0 auto;
    padding: 2rem 1.25rem 4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #1f2937;
}

/* Stato loading / not found */
.state[b-ys8hdapd5c] {
    text-align: center;
    padding: 4rem 1rem;
}

.state .spinner[b-ys8hdapd5c] {
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    border: 3px solid #e5e7eb;
    border-top-color: #1f497d;
    border-radius: 50%;
    animation: spin-b-ys8hdapd5c 0.9s linear infinite;
}

@keyframes spin-b-ys8hdapd5c {
    to { transform: rotate(360deg); }
}

.state .muted[b-ys8hdapd5c] {
    color: #6b7280;
    margin-top: 1rem;
    font-size: 0.95rem;
}

.state h2[b-ys8hdapd5c] {
    color: #1f2937;
    margin-bottom: 0.5rem;
}

/* Header */
.header[b-ys8hdapd5c] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.header-title[b-ys8hdapd5c] {
    flex: 1 1 auto;
    min-width: 0;
}

.badge-tipo[b-ys8hdapd5c] {
    display: inline-block;
    background-color: #1f497d;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.5rem;
}

.header-title h2[b-ys8hdapd5c] {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 0.25rem 0;
    line-height: 1.2;
    word-break: break-word;
}

.header-title .codice[b-ys8hdapd5c] {
    color: #6b7280;
    font-size: 0.9rem;
}

.badge-codice[b-ys8hdapd5c] {
    display: inline-block;
    background-color: #f3f4f6;
    color: #4b5563;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    font-family: "SF Mono", Monaco, Consolas, "Courier New", monospace;
    white-space: nowrap;
}

/* Sezioni */
.section-title[b-ys8hdapd5c] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1f497d;
    margin: 1.75rem 0 0.75rem 0;
}

/* Card */
.card[b-ys8hdapd5c] {
    background-color: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.card-grid[b-ys8hdapd5c] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
}

.field label[b-ys8hdapd5c] {
    display: block;
    font-size: 0.75rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

.field .value[b-ys8hdapd5c] {
    font-size: 1rem;
    font-weight: 500;
    color: #1f2937;
    word-break: break-word;
}

.value.exp-ok[b-ys8hdapd5c] { color: #374151; }
.value.exp-soon[b-ys8hdapd5c] { color: #b45309; font-weight: 600; }
.value.exp-late[b-ys8hdapd5c] { color: #b91c1c; font-weight: 600; }

/* Documenti */
.documenti-group[b-ys8hdapd5c] {
    margin-top: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
}

.documenti-group + .documenti-group[b-ys8hdapd5c] {
    margin-top: 0.75rem;
}

.documenti-group-header[b-ys8hdapd5c] {
    background-color: #f9fafb;
    padding: 0.85rem 1.25rem;
    font-weight: 600;
    color: #1f2937;
    border-bottom: 1px solid #e5e7eb;
    font-size: 0.95rem;
}

.documenti-list[b-ys8hdapd5c] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.documenti-list li[b-ys8hdapd5c] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f3f4f6;
}

.documenti-list li:last-child[b-ys8hdapd5c] {
    border-bottom: none;
}

.doc-title[b-ys8hdapd5c] {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.15rem;
}

.doc-tipo[b-ys8hdapd5c] {
    font-size: 0.8rem;
    color: #6b7280;
    margin-bottom: 0.5rem;
}

.doc-meta[b-ys8hdapd5c] {
    font-size: 0.85rem;
    color: #6b7280;
    margin-bottom: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.doc-meta .scad-ok[b-ys8hdapd5c] { color: #374151; }
.doc-meta .scad-soon[b-ys8hdapd5c] { color: #b45309; font-weight: 600; }
.doc-meta .scad-late[b-ys8hdapd5c] { color: #b91c1c; font-weight: 600; }

.doc-actions[b-ys8hdapd5c] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Pulsanti */
.btn[b-ys8hdapd5c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.9rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.btn-primary[b-ys8hdapd5c] {
    background-color: #1f497d;
    color: #fff;
    border-color: #1f497d;
}

.btn-primary:hover[b-ys8hdapd5c] {
    background-color: #17375e;
    border-color: #17375e;
    color: #fff;
}

.btn-outline[b-ys8hdapd5c] {
    background-color: #fff;
    color: #4b5563;
    border-color: #d1d5db;
}

.btn-outline:hover[b-ys8hdapd5c] {
    background-color: #f3f4f6;
    color: #1f2937;
}

/* Responsive */
@media (max-width: 600px) {
    .page[b-ys8hdapd5c] { padding: 1.25rem 1rem 3rem; }
    .header[b-ys8hdapd5c] { flex-direction: column; align-items: flex-start; }
    .card-grid[b-ys8hdapd5c] { grid-template-columns: 1fr; }
    .header-title h2[b-ys8hdapd5c] { font-size: 1.35rem; }
    .doc-actions .btn[b-ys8hdapd5c] { flex: 1 1 calc(50% - 0.25rem); }
}
/* /Pages/DipendentePublicProfile.razor.rz.scp.css */
/* Container centrato */
.page[b-zay3m13ulp] {
    max-width: 820px;
    margin: 0 auto;
    padding: 2rem 1.25rem 4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #1f2937;
}

/* Stato loading / not found */
.state[b-zay3m13ulp] {
    text-align: center;
    padding: 4rem 1rem;
}

.state .spinner[b-zay3m13ulp] {
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    border: 3px solid #e5e7eb;
    border-top-color: #1f497d;
    border-radius: 50%;
    animation: spin-b-zay3m13ulp 0.9s linear infinite;
}

@keyframes spin-b-zay3m13ulp {
    to { transform: rotate(360deg); }
}

.state .muted[b-zay3m13ulp] {
    color: #6b7280;
    margin-top: 1rem;
    font-size: 0.95rem;
}

.state h2[b-zay3m13ulp] {
    color: #1f2937;
    margin-bottom: 0.5rem;
}

/* Header */
.header[b-zay3m13ulp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.e-main[b-zay3m13ulp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1 1 auto;
    min-width: 0;
}

.e-photo[b-zay3m13ulp] {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    background-color: #f3f4f6;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.e-photo-placeholder[b-zay3m13ulp] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
}

.e-photo-placeholder svg[b-zay3m13ulp] {
    width: 60%;
    height: 60%;
}

.header-title[b-zay3m13ulp] {
    flex: 1 1 auto;
    min-width: 0;
}

.badge-tipo[b-zay3m13ulp] {
    display: inline-block;
    background-color: #1f497d;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.5rem;
}

.header-title h2[b-zay3m13ulp] {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 0.25rem 0;
    line-height: 1.2;
    word-break: break-word;
}

.header-title .codice[b-zay3m13ulp] {
    color: #6b7280;
    font-size: 0.9rem;
}

.badge-codice[b-zay3m13ulp] {
    display: inline-block;
    background-color: #f3f4f6;
    color: #4b5563;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    font-family: "SF Mono", Monaco, Consolas, "Courier New", monospace;
    white-space: nowrap;
}

/* Sezioni */
.section-title[b-zay3m13ulp] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1f497d;
    margin: 1.75rem 0 0.75rem 0;
}

/* Card */
.card[b-zay3m13ulp] {
    background-color: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.card-grid[b-zay3m13ulp] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
}

.field label[b-zay3m13ulp] {
    display: block;
    font-size: 0.75rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

.field .value[b-zay3m13ulp] {
    font-size: 1rem;
    font-weight: 500;
    color: #1f2937;
    word-break: break-word;
}

.field .value a[b-zay3m13ulp] {
    color: #1f497d;
    text-decoration: none;
}

.field .value a:hover[b-zay3m13ulp] {
    text-decoration: underline;
}

/* Documenti */
.documenti-group[b-zay3m13ulp] {
    margin-top: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
}

.documenti-group + .documenti-group[b-zay3m13ulp] {
    margin-top: 0.75rem;
}

.documenti-group-header[b-zay3m13ulp] {
    background-color: #f9fafb;
    padding: 0.85rem 1.25rem;
    font-weight: 600;
    color: #1f2937;
    border-bottom: 1px solid #e5e7eb;
    font-size: 0.95rem;
}

.documenti-list[b-zay3m13ulp] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.documenti-list li[b-zay3m13ulp] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f3f4f6;
}

.documenti-list li:last-child[b-zay3m13ulp] {
    border-bottom: none;
}

.doc-title[b-zay3m13ulp] {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.badge-aggiornamento[b-zay3m13ulp] {
    display: inline-block;
    background-color: #e5e7eb;
    color: #4b5563;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.doc-meta[b-zay3m13ulp] {
    font-size: 0.85rem;
    color: #6b7280;
    margin-bottom: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.doc-meta .scad-ok[b-zay3m13ulp] { color: #374151; }
.doc-meta .scad-soon[b-zay3m13ulp] { color: #b45309; font-weight: 600; }
.doc-meta .scad-late[b-zay3m13ulp] { color: #b91c1c; font-weight: 600; }

.doc-actions[b-zay3m13ulp] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Pulsanti */
.btn[b-zay3m13ulp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.9rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.btn-primary[b-zay3m13ulp] {
    background-color: #1f497d;
    color: #fff;
    border-color: #1f497d;
}

.btn-primary:hover[b-zay3m13ulp] {
    background-color: #17375e;
    border-color: #17375e;
    color: #fff;
}

.btn-outline[b-zay3m13ulp] {
    background-color: #fff;
    color: #4b5563;
    border-color: #d1d5db;
}

.btn-outline:hover[b-zay3m13ulp] {
    background-color: #f3f4f6;
    color: #1f2937;
}

/* Responsive */
@media (max-width: 600px) {
    .page[b-zay3m13ulp] { padding: 1.25rem 1rem 3rem; }
    .header[b-zay3m13ulp] { flex-direction: column; align-items: flex-start; }
    .card-grid[b-zay3m13ulp] { grid-template-columns: 1fr; }
    .header-title h2[b-zay3m13ulp] { font-size: 1.35rem; }
    .e-photo[b-zay3m13ulp] { width: 72px; height: 72px; }
    .doc-actions .btn[b-zay3m13ulp] { flex: 1 1 calc(50% - 0.25rem); }
}
/* /Pages/QuestionarioPublicPreview.razor.rz.scp.css */
.q-anteprima-badge[b-bclzhdhulz] {
    display: inline-block;
    background: #fef3c7;
    color: #92400e;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}
