/* Form and clinical-document refinements. Screen styles never enter printed documents. */
@media screen {
    .sv-ui-form-page .vm-form,
    .sv-ui-form-page .sv-form-panel,
    .sv-ui-form-page .sv-editor-layout,
    .sv-ui-form-page .sv-editor-main,
    .sv-ui-form-page .sv-form-section,
    .sv-ui-form-page .sv-module-card {
        min-width: 0;
    }

    .sv-ui-form-page .vm-form [hidden],
    .sv-ui-form-page .sv-form-panel [hidden],
    .sv-ui-form-page .sv-module-card [hidden] {
        display: none !important;
    }

    .sv-ui-form-page .vm-field,
    .sv-ui-form-page .sv-field {
        min-width: 0;
        gap: 7px;
    }

    .sv-ui-form-page .vm-field > label,
    .sv-ui-form-page .sv-field > label {
        color: #475569;
        font-size: .875rem;
        font-weight: 650;
        line-height: 1.4;
        letter-spacing: 0;
        text-transform: none;
    }

    .sv-ui-form-page .vm-field input,
    .sv-ui-form-page .vm-field select,
    .sv-ui-form-page .vm-field textarea,
    .sv-ui-form-page .sv-field input,
    .sv-ui-form-page .sv-field select,
    .sv-ui-form-page .sv-field textarea,
    .sv-ui-form-page .sv-form-panel .form-control,
    .sv-ui-form-page .sv-form-panel .form-control2,
    .sv-ui-form-page .sv-form-panel .form-control3,
    .sv-ui-form-page .sv-form-panel .form-control4,
    .sv-ui-form-page .sv-form-panel .form-control6 {
        max-width: 100%;
        border-radius: 10px !important;
        font-size: 1rem !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
        text-shadow: none;
    }

    .sv-ui-form-page .vm-field textarea,
    .sv-ui-form-page .sv-field textarea,
    .sv-ui-form-page .sv-form-panel textarea {
        line-height: 1.65 !important;
        resize: vertical;
    }

    .sv-ui-form-page .vm-field input:focus-visible,
    .sv-ui-form-page .vm-field select:focus-visible,
    .sv-ui-form-page .vm-field textarea:focus-visible,
    .sv-ui-form-page .sv-field input:focus-visible,
    .sv-ui-form-page .sv-field select:focus-visible,
    .sv-ui-form-page .sv-field textarea:focus-visible,
    .sv-ui-form-page .sv-form-panel input:focus-visible,
    .sv-ui-form-page .sv-form-panel select:focus-visible,
    .sv-ui-form-page .sv-form-panel textarea:focus-visible {
        outline: 2px solid var(--sv-primary-dark, #08747d) !important;
        outline-offset: 2px;
    }

    .sv-ui-form-page .sv-form-section-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 0 0 18px;
    }

    .sv-ui-form-page .sv-form-section-nav a,
    .sv-ui-form-page .sv-section-jump {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 13px;
        border: 1px solid #dbe5e9;
        border-radius: 10px;
        background: #fff;
        color: #334155;
        font-size: .875rem;
        font-weight: 600;
        line-height: 1.35;
        text-decoration: none;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-form-section-nav a:hover,
    .sv-ui-form-page .sv-section-jump:hover {
        color: var(--sv-primary-dark, #08747d);
        border-color: var(--sv-primary, #119ca6);
        background: var(--sv-location-soft, #eef9fa);
        transform: none;
        box-shadow: none;
    }

    .sv-ui-form-page .vm-section,
    .sv-ui-form-page .sv-dynamic-section {
        min-width: 0;
        padding: 20px;
        border-radius: 16px;
        box-shadow: none;
        scroll-margin-top: 24px;
    }

    .sv-ui-form-page .vm-section-head h2 {
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1.3;
    }

    .sv-ui-form-page .vm-legacy-row.is-two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sv-ui-form-page .vm-contact-block,
    .sv-ui-form-page .vm-ptr-card {
        border-radius: 12px;
        box-shadow: none;
    }

    .sv-ui-form-page .vm-mini-action {
        min-height: 44px;
        border-radius: 9px;
    }

    .sv-ui-form-page .vm-savebar #salva,
    .sv-ui-form-page .vm-savebar-clone .btn,
    .sv-ui-form-page .sv-form-panel #salva,
    .sv-ui-form-page .sv-form-panel #salvacartella,
    .sv-ui-form-page .sv-cartella-save-float {
        border: 1px solid var(--sv-primary-dark, #08747d) !important;
        background: var(--sv-primary-dark, #08747d) !important;
        color: #fff !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, .12) !important;
    }

    .sv-ui-form-page .sv-form-panel .card.card-body {
        gap: 16px !important;
        padding: 16px !important;
    }

    .sv-ui-form-page .sv-dynamic-section {
        background: #fff;
    }

    .sv-ui-form-page .sv-dynamic-section::before {
        height: 3px;
        border-radius: 16px 16px 0 0;
    }

    .sv-ui-form-page .sv-dynamic-section > p,
    .sv-ui-form-page .sv-form-panel .sv-field-row {
        padding: 12px !important;
        border-radius: 10px !important;
        font-weight: 500;
        line-height: 1.5;
        box-shadow: none !important;
    }

    .sv-ui-form-page .sv-section-title-row {
        justify-content: flex-start;
        gap: 12px;
    }

    .sv-ui-form-page .sv-section-title-row h1,
    .sv-ui-form-page .sv-section-title-row h3,
    .sv-ui-form-page .sv-dynamic-section > h3,
    .sv-ui-form-page .sv-dynamic-section > h1 {
        font-size: 1.2rem !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
    }

    .sv-ui-form-page .sv-section-number {
        width: 32px;
        height: 32px;
        border-radius: 9px;
        box-shadow: none;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-field-control {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        min-width: 0 !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-mini-placeholder {
        position: static;
        display: block;
        max-width: 100% !important;
        margin: 0;
        padding: 0;
        overflow: visible;
        white-space: normal;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #475569;
        font-size: .875rem !important;
        font-weight: 600;
        line-height: 1.4;
        letter-spacing: 0 !important;
        text-transform: none;
        pointer-events: auto;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-field-control > input,
    .sv-ui-form-page.sv-cartella-polished .sv-field-control > textarea,
    .sv-ui-form-page.sv-cartella-polished .sv-field-control > select {
        flex: 0 0 auto !important;
        min-height: 48px !important;
        padding: 11px 12px !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-field-control.is-textarea > textarea {
        min-height: 120px !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-field-control.is-select > select {
        padding-right: 42px !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-field-control.is-select::after {
        top: auto;
        right: 10px;
        bottom: 10px;
        background: transparent;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-question-text {
        min-height: 44px !important;
        padding: 10px 12px !important;
        border-radius: 9px;
        font-weight: 600;
        line-height: 1.5 !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-row-has-choices .sv-choice-chip {
        min-height: 48px !important;
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-choice-label {
        font-weight: 600 !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-choice-chip:focus-within {
        outline: 2px solid var(--sv-primary-dark, #08747d);
        outline-offset: 2px;
    }

    .sv-ui-form-page .sv-family-table-wrap {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow: auto;
        border-radius: 12px;
        overscroll-behavior-x: contain;
    }

    .sv-ui-form-page .sv-family-table-wrap #table {
        min-width: 760px;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-form-actions,
    .sv-ui-form-page .sv-form-savebar {
        border-radius: 12px !important;
        box-shadow: 0 3px 12px rgba(15, 23, 42, .07) !important;
    }

    .sv-ui-form-page .sv-editor-main .sv-field textarea {
        min-height: 240px;
        padding: 15px;
    }

    .sv-ui-form-page .sv-form-section,
    .sv-ui-form-page .sv-assist-card,
    .sv-ui-form-page .sv-previous-review {
        border-radius: 16px;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-draft-bar {
        border-radius: 10px;
        font-weight: 600;
        line-height: 1.5;
    }

    .sv-ui-form-page .sv-draft-bar button {
        min-height: 44px;
        border-radius: 8px;
    }

    .sv-ui-form-page .sv-completion-row strong,
    .sv-ui-form-page .sv-completion-row em {
        font-weight: 600;
        line-height: 1.4;
    }

    .sv-ui-form-page .sv-rating-hero {
        border-width: 1px;
        border-radius: 18px;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-rating-hero::before {
        width: 4px;
    }

    .sv-ui-form-page .sv-rating-category-block,
    .sv-ui-form-page .sv-rating-stat {
        border-radius: 12px;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-rating-list-wrap,
    .sv-ui-form-page .sv-social-table-wrap {
        min-width: 0;
        border-radius: 12px;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-rating-therapist strong {
        white-space: normal;
        overflow-wrap: anywhere;
        font-weight: 600;
        line-height: 1.4;
    }

    .sv-ui-form-page .sv-rating-open,
    .sv-ui-form-page .sv-row-button {
        min-height: 44px;
        border-radius: 9px;
        font-weight: 650;
        box-shadow: none;
    }

    .sv-ui-form-page .sv-eval-card,
    .sv-ui-form-page .sv-module-card {
        min-width: 0;
        border-radius: 16px;
        box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
    }

    .sv-ui-form-page .sv-eval-card:hover,
    .sv-ui-form-page .sv-eval-card:focus {
        transform: none;
        box-shadow: 0 4px 14px rgba(15, 23, 42, .09);
    }

    .sv-ui-form-page .sv-eval-card::before,
    .sv-ui-form-page .sv-module-card::before {
        height: 4px;
    }

    .sv-ui-form-page .sv-eval-title {
        font-size: 1.15rem;
        font-weight: 700;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .sv-ui-form-page .sv-eval-meta,
    .sv-ui-form-page .sv-module-card p {
        font-weight: 500;
        line-height: 1.5;
    }

    .sv-ui-form-page .sv-module-card h2 {
        font-size: 1.2rem !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
    }

    .sv-ui-form-page .sv-module-card .sv-details {
        border-radius: 10px;
    }

    .sv-ui-form-page .sv-module-card .sv-details summary {
        min-height: 44px;
        font-weight: 600;
        line-height: 1.4;
        list-style: revert;
    }

    .sv-ui-form-page .sv-module-card .sv-details summary::-webkit-details-marker {
        display: inline;
    }

    .sv-ui-form-page .sv-download-button {
        border-radius: 10px;
        box-shadow: none;
        font-weight: 700;
    }
}

@media screen and (max-width: 820px) {
    .sv-ui-form-page .vm-legacy-row.is-two,
    .sv-ui-form-page .vm-legacy-row.is-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sv-ui-form-page .vm-section {
        padding: 16px;
    }

    .sv-ui-form-page .sv-cartella-section-nav {
        flex-wrap: wrap;
        padding: 0 12px 12px;
        overflow: visible;
    }

    .sv-ui-form-page .sv-form-panel .card.card-body {
        padding: 10px !important;
    }

    .sv-ui-form-page .sv-dynamic-section {
        padding: 12px;
    }

    .sv-ui-form-page .sv-dynamic-section > p,
    .sv-ui-form-page .sv-form-panel .sv-field-row {
        padding: 10px !important;
    }
}

@media screen and (max-width: 600px) {
    .sv-ui-form-page .vm-legacy-row.is-two,
    .sv-ui-form-page .vm-legacy-row.is-four {
        grid-template-columns: minmax(0, 1fr);
    }

    .sv-ui-form-page .sv-form-section-nav {
        gap: 6px;
    }

    .sv-ui-form-page .sv-form-section-nav a,
    .sv-ui-form-page .sv-section-jump {
        font-size: .8125rem;
        padding: 9px 11px;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-row-has-choices .sv-choice-chip:not(.sv-choice-person-type) {
        flex: 1 1 calc(50% - 6px) !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 10px 10px 10px 44px !important;
        justify-content: flex-start !important;
    }

    .sv-ui-form-page.sv-cartella-polished .sv-choice-chip::before,
    .sv-ui-form-page.sv-cartella-polished .sv-row-has-choices .sv-choice-chip::before {
        left: 11px !important;
    }

    .sv-ui-form-page .sv-compact-history {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .sv-ui-form-page .sv-compact-history thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .sv-ui-form-page .sv-compact-history tbody {
        display: grid;
    }

    .sv-ui-form-page .sv-compact-history tbody tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
        gap: 10px 12px;
        padding: 14px;
        border-bottom: 1px solid #e2e8f0;
    }

    .sv-ui-form-page .sv-compact-history tbody tr:last-child {
        border-bottom: 0;
    }

    .sv-ui-form-page .sv-compact-history tbody td {
        display: block;
        min-width: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        font-weight: 500;
        overflow-wrap: anywhere;
    }

    .sv-ui-form-page .sv-compact-history tbody td[data-label="Terapista"] {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .sv-ui-form-page .sv-compact-history tbody td[data-label="Stato"] {
        grid-column: 2;
        grid-row: 1;
    }

    .sv-ui-form-page .sv-compact-history td[data-label]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: #64748b;
        font-size: .75rem;
        font-weight: 600;
        line-height: 1.4;
    }

    .sv-ui-form-page .sv-compact-history .sv-history-action a,
    .sv-ui-form-page .sv-compact-history .sv-history-action button {
        width: 100%;
    }

    .sv-ui-form-page .sv-rating-list-table .sv-history-action {
        grid-column: 1 / -1;
    }

    .sv-ui-form-page .sv-social-table.sv-compact-history .sv-history-action {
        grid-row: 3;
    }

    .sv-ui-form-page .sv-rating-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sv-ui-form-page .sv-rating-stat:last-child {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .sv-ui-form-page .sv-rating-stat:last-child strong {
        margin: 0;
    }

    .sv-ui-form-page .sv-rating-stat span {
        text-transform: none;
        font-size: .8125rem;
        letter-spacing: 0;
        line-height: 1.4;
    }

    .sv-ui-form-page .sv-draft-bar {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .sv-ui-form-page .sv-completion-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sv-ui-form-page .sv-module-card {
        padding: 16px;
    }
}
