
/*
==============================================================
SISTEMA AMBIENTAL — DESIGN SYSTEM UNIFICADO 2026
==============================================================

Superfícies abrangidas:
1. Sistema interno
2. Portal do cliente
3. Autenticação

Não abrange:
- PDFs e documentos para impressão
- corpo HTML de e-mails
- contratos impressos e assinaturas públicas documentais

Esses materiais possuem objetivos tipográficos próprios.
==============================================================
*/

/* ==========================================================
   1. TOKENS GLOBAIS
   ========================================================== */

:root {
    --ds-bg: #f3f6f4;
    --ds-surface: #ffffff;
    --ds-surface-soft: #f7f9f8;
    --ds-surface-muted: #eef2f0;

    --ds-text: #111816;
    --ds-text-secondary: #39443f;
    --ds-text-muted: #627069;

    --ds-primary: #17664e;
    --ds-primary-hover: #12513f;
    --ds-primary-strong: #0d4434;
    --ds-primary-soft: #e8f2ed;

    --ds-line: #d4ddd8;
    --ds-line-soft: #e5ebe8;

    --ds-success: #18734c;
    --ds-success-soft: #e7f5ed;
    --ds-warning: #8b5b00;
    --ds-warning-soft: #fff4d6;
    --ds-danger: #b42318;
    --ds-danger-soft: #fdecea;
    --ds-info: #1d63a0;
    --ds-info-soft: #e8f2fb;

    --ds-radius: 10px;
    --ds-radius-small: 8px;
    --ds-shadow: 0 1px 3px rgba(15, 29, 23, .055);
    --ds-shadow-raised: 0 8px 22px rgba(15, 29, 23, .08);

    --ds-font:
        "Segoe UI Variable",
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;
}

/* ==========================================================
   2. BASE DO SISTEMA INTERNO
   ========================================================== */

body.sa-saude-verde-ui {
    color: var(--ds-text) !important;
    background: var(--ds-bg) !important;
    font-family: var(--ds-font) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

body.sa-saude-verde-ui button,
body.sa-saude-verde-ui input,
body.sa-saude-verde-ui select,
body.sa-saude-verde-ui textarea {
    font-family: var(--ds-font) !important;
}

body.sa-saude-verde-ui .main-area,
body.sa-saude-verde-ui .content-area {
    background: var(--ds-bg) !important;
}

body.sa-saude-verde-ui .content-area {
    padding: 22px 26px 34px !important;
}

body.sa-saude-verde-ui .content-area > * {
    max-width: 1600px;
    margin-right: auto;
    margin-left: auto;
}

body.sa-saude-verde-ui h1,
body.sa-saude-verde-ui h2,
body.sa-saude-verde-ui h3,
body.sa-saude-verde-ui h4,
body.sa-saude-verde-ui h5,
body.sa-saude-verde-ui h6 {
    color: var(--ds-text) !important;
    font-family: var(--ds-font) !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    text-shadow: none !important;
}

body.sa-saude-verde-ui p,
body.sa-saude-verde-ui li,
body.sa-saude-verde-ui dd,
body.sa-saude-verde-ui td {
    color: var(--ds-text-secondary);
}

body.sa-saude-verde-ui :focus-visible {
    outline: 3px solid rgba(29, 99, 160, .22) !important;
    outline-offset: 2px !important;
}

/* ==========================================================
   3. CABEÇALHO PADRÃO DE TODAS AS PÁGINAS
   ========================================================== */

body.sa-saude-verde-ui .content-area .page-heading,
body.sa-saude-verde-ui .content-area .registry-hero,
body.sa-saude-verde-ui .content-area .clients-hero,
body.sa-saude-verde-ui .content-area .client-form-hero,
body.sa-saude-verde-ui .content-area .enterprise-form-hero,
body.sa-saude-verde-ui .content-area .user-form-hero,
body.sa-saude-verde-ui .content-area .budget-flow-hero,
body.sa-saude-verde-ui .content-area .budget-services-hero,
body.sa-saude-verde-ui .content-area .deadline-hero,
body.sa-saude-verde-ui .content-area .contract-page-hero,
body.sa-saude-verde-ui .content-area .subscription-hero,
body.sa-saude-verde-ui .content-area .environment-page > .page-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 20px 22px !important;
    overflow: visible !important;
    border: 1px solid var(--ds-line) !important;
    border-left: 4px solid var(--ds-primary) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: var(--ds-surface) !important;
    background-image: none !important;
    box-shadow: var(--ds-shadow) !important;
    filter: none !important;
    backdrop-filter: none !important;
}

body.sa-saude-verde-ui .content-area .page-heading::before,
body.sa-saude-verde-ui .content-area .page-heading::after,
body.sa-saude-verde-ui .content-area .registry-hero::before,
body.sa-saude-verde-ui .content-area .registry-hero::after,
body.sa-saude-verde-ui .content-area .clients-hero::before,
body.sa-saude-verde-ui .content-area .clients-hero::after,
body.sa-saude-verde-ui .content-area .client-form-hero::before,
body.sa-saude-verde-ui .content-area .client-form-hero::after,
body.sa-saude-verde-ui .content-area .enterprise-form-hero::before,
body.sa-saude-verde-ui .content-area .enterprise-form-hero::after,
body.sa-saude-verde-ui .content-area .user-form-hero::before,
body.sa-saude-verde-ui .content-area .user-form-hero::after,
body.sa-saude-verde-ui .content-area .budget-flow-hero::before,
body.sa-saude-verde-ui .content-area .budget-flow-hero::after,
body.sa-saude-verde-ui .content-area .budget-services-hero::before,
body.sa-saude-verde-ui .content-area .budget-services-hero::after,
body.sa-saude-verde-ui .content-area .deadline-hero::before,
body.sa-saude-verde-ui .content-area .deadline-hero::after {
    display: none !important;
    content: none !important;
}

body.sa-saude-verde-ui .content-area .page-heading h2,
body.sa-saude-verde-ui .content-area .registry-hero h2,
body.sa-saude-verde-ui .content-area .clients-hero h2,
body.sa-saude-verde-ui .content-area .client-form-hero h2,
body.sa-saude-verde-ui .content-area .enterprise-form-hero h2,
body.sa-saude-verde-ui .content-area .user-form-hero h2,
body.sa-saude-verde-ui .content-area .budget-flow-hero h2,
body.sa-saude-verde-ui .content-area .budget-services-hero h2,
body.sa-saude-verde-ui .content-area .deadline-hero h2,
body.sa-saude-verde-ui .content-area .contract-page-hero h2,
body.sa-saude-verde-ui .content-area .subscription-hero h2 {
    margin: 3px 0 4px !important;
    color: #000000 !important;
    font-size: clamp(1.4rem, 2vw, 1.85rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

body.sa-saude-verde-ui .content-area .page-heading p,
body.sa-saude-verde-ui .content-area .registry-hero p,
body.sa-saude-verde-ui .content-area .clients-hero p,
body.sa-saude-verde-ui .content-area .client-form-hero p,
body.sa-saude-verde-ui .content-area .enterprise-form-hero p,
body.sa-saude-verde-ui .content-area .user-form-hero p,
body.sa-saude-verde-ui .content-area .budget-flow-hero p,
body.sa-saude-verde-ui .content-area .budget-services-hero p,
body.sa-saude-verde-ui .content-area .deadline-hero p,
body.sa-saude-verde-ui .content-area .contract-page-hero p {
    margin: 0 !important;
    color: var(--ds-text-secondary) !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

body.sa-saude-verde-ui .section-kicker,
body.sa-saude-verde-ui .registry-eyebrow,
body.sa-saude-verde-ui .registry-panel-eyebrow,
body.sa-saude-verde-ui .client-form-eyebrow,
body.sa-saude-verde-ui .enterprise-form-eyebrow,
body.sa-saude-verde-ui .user-form-eyebrow,
body.sa-saude-verde-ui .budget-flow-eyebrow,
body.sa-saude-verde-ui .budget-services-eyebrow {
    color: var(--ds-primary) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

/* ==========================================================
   4. AÇÕES E BOTÕES
   ========================================================== */

body.sa-saude-verde-ui .page-actions,
body.sa-saude-verde-ui .registry-hero-actions,
body.sa-saude-verde-ui .client-form-hero-actions,
body.sa-saude-verde-ui .enterprise-form-hero-actions,
body.sa-saude-verde-ui .user-form-hero-actions,
body.sa-saude-verde-ui .budget-flow-hero-actions,
body.sa-saude-verde-ui .budget-services-hero-actions,
body.sa-saude-verde-ui .deadline-hero-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

body.sa-saude-verde-ui .primary-button,
body.sa-saude-verde-ui .secondary-button,
body.sa-saude-verde-ui .button-inline,
body.sa-saude-verde-ui .table-action,
body.sa-saude-verde-ui .registry-primary-action,
body.sa-saude-verde-ui .registry-filter-submit,
body.sa-saude-verde-ui .registry-filter-clear,
body.sa-saude-verde-ui .registry-action,
body.sa-saude-verde-ui .client-form-back,
body.sa-saude-verde-ui .client-form-cancel,
body.sa-saude-verde-ui .client-form-submit,
body.sa-saude-verde-ui .enterprise-form-back,
body.sa-saude-verde-ui .enterprise-form-cancel,
body.sa-saude-verde-ui .enterprise-form-submit,
body.sa-saude-verde-ui .user-form-back,
body.sa-saude-verde-ui .user-form-cancel,
body.sa-saude-verde-ui .user-form-submit,
body.sa-saude-verde-ui .budget-flow-button,
body.sa-saude-verde-ui .budget-services-button,
body.sa-saude-verde-ui .report-filter-button {
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: var(--ds-radius-small) !important;
    box-shadow: none !important;
    font-family: var(--ds-font) !important;
    font-size: .82rem !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    transform: none !important;
}

body.sa-saude-verde-ui .primary-button,
body.sa-saude-verde-ui .registry-primary-action,
body.sa-saude-verde-ui .registry-filter-submit,
body.sa-saude-verde-ui .client-form-submit,
body.sa-saude-verde-ui .enterprise-form-submit,
body.sa-saude-verde-ui .user-form-submit,
body.sa-saude-verde-ui .budget-flow-button-primary,
body.sa-saude-verde-ui .budget-services-button-primary,
body.sa-saude-verde-ui .report-filter-button {
    border: 1px solid var(--ds-primary) !important;
    color: #ffffff !important;
    background: var(--ds-primary) !important;
    background-image: none !important;
}

body.sa-saude-verde-ui .primary-button:hover,
body.sa-saude-verde-ui .registry-primary-action:hover,
body.sa-saude-verde-ui .registry-filter-submit:hover,
body.sa-saude-verde-ui .client-form-submit:hover,
body.sa-saude-verde-ui .enterprise-form-submit:hover,
body.sa-saude-verde-ui .user-form-submit:hover {
    border-color: var(--ds-primary-hover) !important;
    background: var(--ds-primary-hover) !important;
}

body.sa-saude-verde-ui .secondary-button,
body.sa-saude-verde-ui .registry-filter-clear,
body.sa-saude-verde-ui .client-form-back,
body.sa-saude-verde-ui .client-form-cancel,
body.sa-saude-verde-ui .enterprise-form-back,
body.sa-saude-verde-ui .enterprise-form-cancel,
body.sa-saude-verde-ui .user-form-back,
body.sa-saude-verde-ui .user-form-cancel,
body.sa-saude-verde-ui .budget-flow-button-light,
body.sa-saude-verde-ui .budget-flow-button-outline,
body.sa-saude-verde-ui .budget-flow-button-muted,
body.sa-saude-verde-ui .budget-services-button-light,
body.sa-saude-verde-ui .budget-services-button-outline,
body.sa-saude-verde-ui .budget-services-button-muted {
    border: 1px solid var(--ds-line) !important;
    color: var(--ds-primary-strong) !important;
    background: #ffffff !important;
    background-image: none !important;
}

/* ==========================================================
   5. CARDS E PAINÉIS
   ========================================================== */

body.sa-saude-verde-ui .panel-card,
body.sa-saude-verde-ui .form-card,
body.sa-saude-verde-ui .registry-panel,
body.sa-saude-verde-ui .client-form-card,
body.sa-saude-verde-ui .client-form-side-card,
body.sa-saude-verde-ui .enterprise-form-card,
body.sa-saude-verde-ui .enterprise-form-side-card,
body.sa-saude-verde-ui .user-form-card,
body.sa-saude-verde-ui .user-form-side-card,
body.sa-saude-verde-ui .budget-flow-section,
body.sa-saude-verde-ui .budget-service-form-card,
body.sa-saude-verde-ui .budget-saved-services-card,
body.sa-saude-verde-ui .budget-payment-section,
body.sa-saude-verde-ui .deadline-panel,
body.sa-saude-verde-ui .finance-form-card,
body.sa-saude-verde-ui .finance-account-card,
body.sa-saude-verde-ui .finance-budget-card,
body.sa-saude-verde-ui .organization-preview-card,
body.sa-saude-verde-ui .report-section,
body.sa-saude-verde-ui .access-profile-card,
body.sa-saude-verde-ui .document-version,
body.sa-saude-verde-ui .notification-history-item {
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: var(--ds-surface) !important;
    background-image: none !important;
    box-shadow: var(--ds-shadow) !important;
    filter: none !important;
    backdrop-filter: none !important;
}

body.sa-saude-verde-ui .panel-card,
body.sa-saude-verde-ui .form-card,
body.sa-saude-verde-ui .registry-panel,
body.sa-saude-verde-ui .deadline-panel,
body.sa-saude-verde-ui .finance-form-card {
    padding: 20px !important;
}

body.sa-saude-verde-ui .panel-heading,
body.sa-saude-verde-ui .registry-panel-header,
body.sa-saude-verde-ui .client-form-section-header,
body.sa-saude-verde-ui .enterprise-form-section-header,
body.sa-saude-verde-ui .user-form-section-header,
body.sa-saude-verde-ui .budget-flow-section-heading,
body.sa-saude-verde-ui .budget-services-section-heading,
body.sa-saude-verde-ui .report-section-heading {
    margin: 0 0 16px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--ds-line-soft) !important;
    background: transparent !important;
}

body.sa-saude-verde-ui .panel-heading h3,
body.sa-saude-verde-ui .registry-panel-header h3,
body.sa-saude-verde-ui .client-form-section-header h3,
body.sa-saude-verde-ui .enterprise-form-section-header h3,
body.sa-saude-verde-ui .user-form-section-header h3,
body.sa-saude-verde-ui .budget-flow-section-heading h3,
body.sa-saude-verde-ui .budget-services-section-heading h3,
body.sa-saude-verde-ui .report-section-heading h3 {
    margin: 0 !important;
    color: #000000 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
}

/* ==========================================================
   6. MÉTRICAS E RESUMOS
   ========================================================== */

body.sa-saude-verde-ui .compact-metrics,
body.sa-saude-verde-ui .registry-metrics,
body.sa-saude-verde-ui .deadline-metrics,
body.sa-saude-verde-ui .finance-kpis,
body.sa-saude-verde-ui .finance-metrics,
body.sa-saude-verde-ui .report-metrics {
    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(170px, 1fr)
    ) !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
}

body.sa-saude-verde-ui .compact-metric,
body.sa-saude-verde-ui .registry-metric,
body.sa-saude-verde-ui .deadline-metric,
body.sa-saude-verde-ui .finance-kpis > *,
body.sa-saude-verde-ui .finance-metric,
body.sa-saude-verde-ui .report-metric,
body.sa-saude-verde-ui .budget-value-card {
    min-height: 112px !important;
    padding: 16px !important;
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: var(--ds-shadow) !important;
}

body.sa-saude-verde-ui .compact-metric span,
body.sa-saude-verde-ui .registry-metric span,
body.sa-saude-verde-ui .registry-metric-copy span,
body.sa-saude-verde-ui .finance-metric span,
body.sa-saude-verde-ui .report-metric span,
body.sa-saude-verde-ui .budget-value-card span {
    color: var(--ds-text-secondary) !important;
    font-size: .76rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui .compact-metric strong,
body.sa-saude-verde-ui .registry-metric strong,
body.sa-saude-verde-ui .registry-metric-copy strong,
body.sa-saude-verde-ui .finance-metric strong,
body.sa-saude-verde-ui .report-metric strong,
body.sa-saude-verde-ui .budget-value-card strong,
body.sa-saude-verde-ui .budget-total {
    color: #000000 !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

/* ==========================================================
   7. LISTAS REGISTRY
   ========================================================== */

body.sa-saude-verde-ui .registry-page {
    display: grid !important;
    gap: 18px !important;
}

body.sa-saude-verde-ui .registry-filters,
body.sa-saude-verde-ui .filter-bar,
body.sa-saude-verde-ui .deadline-filters {
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
    padding: 14px !important;
    border: 1px solid var(--ds-line-soft) !important;
    border-radius: var(--ds-radius-small) !important;
    background: var(--ds-surface-soft) !important;
}

body.sa-saude-verde-ui .registry-search-field,
body.sa-saude-verde-ui .registry-filter-field,
body.sa-saude-verde-ui .deadline-field,
body.sa-saude-verde-ui .filter-field {
    display: grid !important;
    gap: 6px !important;
}

body.sa-saude-verde-ui .registry-search-field {
    flex: 1 1 280px !important;
}

body.sa-saude-verde-ui .registry-filter-field {
    flex: 0 1 220px !important;
}

body.sa-saude-verde-ui .registry-table-shell,
body.sa-saude-verde-ui .deadline-table-shell,
body.sa-saude-verde-ui .budget-services-table-shell,
body.sa-saude-verde-ui .table-wrap {
    overflow-x: auto !important;
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    background: #ffffff !important;
    box-shadow: var(--ds-shadow) !important;
}

body.sa-saude-verde-ui .registry-table,
body.sa-saude-verde-ui .deadline-table,
body.sa-saude-verde-ui .budget-services-table,
body.sa-saude-verde-ui .data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
}

body.sa-saude-verde-ui .registry-table th,
body.sa-saude-verde-ui .deadline-table th,
body.sa-saude-verde-ui .budget-services-table th,
body.sa-saude-verde-ui .data-table th {
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--ds-line) !important;
    color: var(--ds-text-secondary) !important;
    background: #f5f7f6 !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui .registry-table td,
body.sa-saude-verde-ui .deadline-table td,
body.sa-saude-verde-ui .budget-services-table td,
body.sa-saude-verde-ui .data-table td {
    padding: 13px 14px !important;
    border-bottom: 1px solid var(--ds-line-soft) !important;
    color: var(--ds-text) !important;
    font-size: .86rem !important;
    vertical-align: middle !important;
}

body.sa-saude-verde-ui .registry-table tbody tr:hover,
body.sa-saude-verde-ui .deadline-table tbody tr:hover,
body.sa-saude-verde-ui .data-table tbody tr:hover {
    background: #fafcfb !important;
}

/* ==========================================================
   8. FORMULÁRIOS
   ========================================================== */

body.sa-saude-verde-ui .form-grid,
body.sa-saude-verde-ui .client-form-grid,
body.sa-saude-verde-ui .enterprise-form-grid,
body.sa-saude-verde-ui .user-form-grid,
body.sa-saude-verde-ui .budget-flow-grid,
body.sa-saude-verde-ui .budget-service-fields,
body.sa-saude-verde-ui .budget-payment-grid,
body.sa-saude-verde-ui .finance-form-grid,
body.sa-saude-verde-ui .workflow-form-grid {
    display: grid !important;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    ) !important;
    gap: 15px !important;
}

body.sa-saude-verde-ui .form-field,
body.sa-saude-verde-ui .client-form-field,
body.sa-saude-verde-ui .enterprise-form-field,
body.sa-saude-verde-ui .user-form-field,
body.sa-saude-verde-ui .budget-flow-field,
body.sa-saude-verde-ui .budget-services-field,
body.sa-saude-verde-ui .deadline-field,
body.sa-saude-verde-ui .finance-catalog-field {
    display: grid !important;
    gap: 6px !important;
}

body.sa-saude-verde-ui .form-field label,
body.sa-saude-verde-ui .client-form-field label,
body.sa-saude-verde-ui .enterprise-form-field label,
body.sa-saude-verde-ui .user-form-field label,
body.sa-saude-verde-ui .budget-flow-field label,
body.sa-saude-verde-ui .budget-services-field label,
body.sa-saude-verde-ui .deadline-field label,
body.sa-saude-verde-ui .finance-catalog-field label {
    color: var(--ds-text-secondary) !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui input:not([type="checkbox"]):not([type="radio"]),
body.sa-saude-verde-ui select,
body.sa-saude-verde-ui textarea,
body.sa-saude-verde-ui .finance-search-select,
body.sa-saude-verde-ui .form-control,
body.sa-saude-verde-ui .form-select {
    width: 100% !important;
    min-height: 42px !important;
    padding: 9px 11px !important;
    border: 1px solid #cbd5d0 !important;
    border-radius: var(--ds-radius-small) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    font-family: var(--ds-font) !important;
    font-size: .88rem !important;
    font-weight: 400 !important;
}

body.sa-saude-verde-ui textarea {
    min-height: 104px !important;
    resize: vertical !important;
}

body.sa-saude-verde-ui input:focus,
body.sa-saude-verde-ui select:focus,
body.sa-saude-verde-ui textarea:focus,
body.sa-saude-verde-ui .form-control:focus,
body.sa-saude-verde-ui .form-select:focus {
    border-color: #6b9b88 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(23, 102, 78, .11) !important;
}

body.sa-saude-verde-ui .form-actions,
body.sa-saude-verde-ui .client-form-actions,
body.sa-saude-verde-ui .enterprise-form-actions,
body.sa-saude-verde-ui .user-form-actions,
body.sa-saude-verde-ui .budget-flow-actions,
body.sa-saude-verde-ui .budget-service-form-actions,
body.sa-saude-verde-ui .budget-payment-actions {
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--ds-line-soft) !important;
}

/* ==========================================================
   9. PÁGINAS DE DETALHE
   ========================================================== */

body.sa-saude-verde-ui .detail-grid,
body.sa-saude-verde-ui .budget-summary-grid,
body.sa-saude-verde-ui .organization-layout,
body.sa-saude-verde-ui .notification-layout,
body.sa-saude-verde-ui .access-layout,
body.sa-saude-verde-ui .signature-layout {
    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(300px, 1fr)
    ) !important;
    gap: 18px !important;
}

body.sa-saude-verde-ui .detail-list,
body.sa-saude-verde-ui .summary-list {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
}

body.sa-saude-verde-ui .detail-list > div,
body.sa-saude-verde-ui .summary-list > div {
    display: grid !important;
    grid-template-columns: minmax(140px, .8fr) minmax(0, 1.4fr) !important;
    gap: 14px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--ds-line-soft) !important;
}

body.sa-saude-verde-ui .detail-list dt,
body.sa-saude-verde-ui .summary-list dt {
    color: var(--ds-text-secondary) !important;
    font-size: .76rem !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui .detail-list dd,
body.sa-saude-verde-ui .summary-list dd {
    margin: 0 !important;
    color: #000000 !important;
    font-size: .87rem !important;
    font-weight: 550 !important;
}

/* ==========================================================
   10. STATUS E ALERTAS
   ========================================================== */

body.sa-saude-verde-ui .status-chip,
body.sa-saude-verde-ui .registry-status,
body.sa-saude-verde-ui .status-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui .status-success,
body.sa-saude-verde-ui .registry-status-active,
body.sa-saude-verde-ui .is-success {
    border-color: #b9dfca !important;
    color: var(--ds-success) !important;
    background: var(--ds-success-soft) !important;
}

body.sa-saude-verde-ui .status-warning,
body.sa-saude-verde-ui .registry-status-warning,
body.sa-saude-verde-ui .deadline-warning {
    border-color: #ead49d !important;
    color: var(--ds-warning) !important;
    background: var(--ds-warning-soft) !important;
}

body.sa-saude-verde-ui .status-danger,
body.sa-saude-verde-ui .deadline-danger,
body.sa-saude-verde-ui .is-error {
    border-color: #edc3bf !important;
    color: var(--ds-danger) !important;
    background: var(--ds-danger-soft) !important;
}

body.sa-saude-verde-ui .status-info {
    border-color: #c6ddef !important;
    color: var(--ds-info) !important;
    background: var(--ds-info-soft) !important;
}

/* ==========================================================
   11. NAVEGAÇÃO INTERNA DE MÓDULOS
   ========================================================== */

body.sa-saude-verde-ui .deadline-nav,
body.sa-saude-verde-ui .finance-module-nav,
body.sa-saude-verde-ui .process-workflow-tabs {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 0 18px !important;
    padding: 6px !important;
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    background: #ffffff !important;
    box-shadow: var(--ds-shadow) !important;
}

body.sa-saude-verde-ui .deadline-nav a,
body.sa-saude-verde-ui .finance-module-nav a,
body.sa-saude-verde-ui .process-workflow-tabs a {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    color: var(--ds-text-secondary) !important;
    background: transparent !important;
    font-size: .79rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.sa-saude-verde-ui .deadline-nav a.is-active,
body.sa-saude-verde-ui .finance-module-nav a.is-active,
body.sa-saude-verde-ui .process-workflow-tabs a.is-active,
body.sa-saude-verde-ui .deadline-nav a[aria-current="page"],
body.sa-saude-verde-ui .finance-module-nav a[aria-current="page"] {
    border-color: #cfe0d8 !important;
    color: var(--ds-primary-strong) !important;
    background: var(--ds-primary-soft) !important;
}

/* ==========================================================
   12. MODAIS
   ========================================================== */

body.sa-saude-verde-ui .workflow-modal-backdrop,
body.sa-saude-verde-ui .signature-modal-backdrop,
body.sa-saude-verde-ui .finance-catalog-modal-backdrop,
body.sa-saude-verde-ui .finance-quick-modal-backdrop {
    background: rgba(12, 24, 19, .58) !important;
    backdrop-filter: blur(3px) !important;
}

body.sa-saude-verde-ui .workflow-modal-dialog,
body.sa-saude-verde-ui .signature-modal-dialog,
body.sa-saude-verde-ui .finance-catalog-modal-card,
body.sa-saude-verde-ui .finance-quick-dialog {
    border: 1px solid var(--ds-line) !important;
    border-radius: 12px !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(5, 23, 16, .24) !important;
}

body.sa-saude-verde-ui .workflow-modal-header,
body.sa-saude-verde-ui .signature-modal-header,
body.sa-saude-verde-ui .workflow-modal-footer,
body.sa-saude-verde-ui .signature-modal-footer {
    border-color: var(--ds-line-soft) !important;
    background: #ffffff !important;
}

/* ==========================================================
   13. DASHBOARD
   ========================================================== */

body.sa-saude-verde-ui .dashboard-hero {
    border: 1px solid var(--ds-line) !important;
    border-left: 4px solid var(--ds-primary) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background:
        linear-gradient(
            120deg,
            #ffffff 0%,
            #fbfcfb 70%,
            #eef4f1 100%
        ) !important;
    box-shadow: var(--ds-shadow) !important;
}

body.sa-saude-verde-ui .dashboard-hero h2 {
    color: #000000 !important;
}

body.sa-saude-verde-ui .dashboard-hero-content > p {
    color: var(--ds-text-secondary) !important;
}

body.sa-saude-verde-ui .dashboard-metric,
body.sa-saude-verde-ui .dashboard-section-card,
body.sa-saude-verde-ui .dashboard-company-card {
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: var(--ds-shadow) !important;
}

body.sa-saude-verde-ui .dashboard-metric-content > strong,
body.sa-saude-verde-ui .dashboard-section-header h3,
body.sa-saude-verde-ui .dashboard-client-data strong,
body.sa-saude-verde-ui .dashboard-enterprise-content strong {
    color: #000000 !important;
}

/* ==========================================================
   14. PORTAL DO CLIENTE
   ========================================================== */

body.portal-client-body {
    min-height: 100vh;
    margin: 0;
    color: var(--ds-text);
    background: var(--ds-bg);
    font-family: var(--ds-font);
}

.portal-client-header {
    border-bottom: 1px solid var(--ds-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.portal-client-main {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 24px !important;
}

body.portal-client-body .page-heading,
body.portal-client-body .portal-welcome {
    margin: 0 0 18px !important;
    padding: 20px 22px !important;
    border: 1px solid var(--ds-line) !important;
    border-left: 4px solid var(--ds-primary) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: var(--ds-shadow) !important;
}

body.portal-client-body .panel-card,
body.portal-client-body .report-metric,
body.portal-client-body .portal-deadline-item,
body.portal-client-body .portal-documents-shortcut {
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: var(--ds-shadow) !important;
}

/* ==========================================================
   15. AUTENTICAÇÃO
   ========================================================== */

body.login-page,
body.auth-page,
body:has(.auth-card) {
    color: var(--ds-text);
    background:
        linear-gradient(
            135deg,
            #f5f8f6,
            #edf3f0
        );
    font-family: var(--ds-font);
}

.login-card,
.auth-card {
    border: 1px solid var(--ds-line) !important;
    border-radius: 12px !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 42px rgba(15, 35, 28, .10) !important;
    backdrop-filter: none !important;
}

.login-card h1,
.login-card h2,
.auth-card h1,
.auth-card h2 {
    color: #000000 !important;
    font-family: var(--ds-font) !important;
    font-weight: 700 !important;
}

.login-form label,
.auth-card label {
    color: var(--ds-text-secondary) !important;
    font-family: var(--ds-font) !important;
    font-weight: 650 !important;
}

.login-form input,
.auth-card input {
    min-height: 44px !important;
    border: 1px solid #cbd5d0 !important;
    border-radius: var(--ds-radius-small) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    font-family: var(--ds-font) !important;
}

/* ==========================================================
   16. RESPONSIVIDADE
   ========================================================== */

@media (max-width: 900px) {
    body.sa-saude-verde-ui .content-area {
        padding: 18px 16px 28px !important;
    }

    body.sa-saude-verde-ui .content-area .page-heading,
    body.sa-saude-verde-ui .content-area .registry-hero,
    body.sa-saude-verde-ui .content-area .clients-hero,
    body.sa-saude-verde-ui .content-area .client-form-hero,
    body.sa-saude-verde-ui .content-area .enterprise-form-hero,
    body.sa-saude-verde-ui .content-area .user-form-hero,
    body.sa-saude-verde-ui .content-area .budget-flow-hero,
    body.sa-saude-verde-ui .content-area .budget-services-hero,
    body.sa-saude-verde-ui .content-area .deadline-hero,
    body.sa-saude-verde-ui .content-area .contract-page-hero {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.sa-saude-verde-ui .page-actions,
    body.sa-saude-verde-ui .registry-hero-actions,
    body.sa-saude-verde-ui .budget-flow-hero-actions,
    body.sa-saude-verde-ui .budget-services-hero-actions,
    body.sa-saude-verde-ui .deadline-hero-actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    body.sa-saude-verde-ui .form-grid,
    body.sa-saude-verde-ui .client-form-grid,
    body.sa-saude-verde-ui .enterprise-form-grid,
    body.sa-saude-verde-ui .user-form-grid,
    body.sa-saude-verde-ui .budget-flow-grid,
    body.sa-saude-verde-ui .budget-service-fields,
    body.sa-saude-verde-ui .budget-payment-grid,
    body.sa-saude-verde-ui .finance-form-grid,
    body.sa-saude-verde-ui .workflow-form-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    body.sa-saude-verde-ui .content-area {
        padding: 14px 12px 24px !important;
    }

    body.sa-saude-verde-ui .content-area .page-heading,
    body.sa-saude-verde-ui .content-area .registry-hero,
    body.sa-saude-verde-ui .content-area .clients-hero,
    body.sa-saude-verde-ui .content-area .client-form-hero,
    body.sa-saude-verde-ui .content-area .enterprise-form-hero,
    body.sa-saude-verde-ui .content-area .user-form-hero,
    body.sa-saude-verde-ui .content-area .budget-flow-hero,
    body.sa-saude-verde-ui .content-area .budget-services-hero,
    body.sa-saude-verde-ui .content-area .deadline-hero,
    body.sa-saude-verde-ui .content-area .contract-page-hero {
        padding: 17px !important;
    }

    body.sa-saude-verde-ui .primary-button,
    body.sa-saude-verde-ui .secondary-button,
    body.sa-saude-verde-ui .registry-primary-action,
    body.sa-saude-verde-ui .registry-filter-submit,
    body.sa-saude-verde-ui .registry-filter-clear {
        width: 100% !important;
        justify-content: center !important;
    }

    body.sa-saude-verde-ui .detail-list > div,
    body.sa-saude-verde-ui .summary-list > div {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .portal-client-main {
        padding: 16px 12px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sa-saude-verde-ui *,
    body.sa-saude-verde-ui *::before,
    body.sa-saude-verde-ui *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* INTERRUPTOR DE STATUS DO CLIENTE: INICIO */

body.sa-saude-verde-ui .client-status-form {
    margin: 18px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid var(--ds-line-soft) !important;
}

body.sa-saude-verde-ui .client-status-control {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 13px 14px !important;
    border: 1px solid var(--ds-line-soft) !important;
    border-radius: var(--ds-radius-small) !important;
    background: var(--ds-surface-soft) !important;
}

body.sa-saude-verde-ui .client-status-copy {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

body.sa-saude-verde-ui .client-status-copy strong {
    color: #000000 !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.sa-saude-verde-ui .client-status-copy small {
    color: var(--ds-text-muted) !important;
    font-size: .76rem !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

body.sa-saude-verde-ui .client-status-switch {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 9px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--ds-text-secondary) !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    font-family: var(--ds-font) !important;
    cursor: pointer !important;
    appearance: none !important;
    transform: none !important;
}

body.sa-saude-verde-ui .client-status-switch:hover,
body.sa-saude-verde-ui .client-status-switch:active,
body.sa-saude-verde-ui .client-status-switch:focus {
    border: 0 !important;
    color: var(--ds-text) !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body.sa-saude-verde-ui .client-status-switch:focus-visible {
    outline: 3px solid rgba(29, 99, 160, .22) !important;
    outline-offset: 2px !important;
}

body.sa-saude-verde-ui .client-status-switch-track {
    position: relative !important;
    display: inline-flex !important;
    width: 46px !important;
    height: 26px !important;
    flex: 0 0 46px !important;
    align-items: center !important;
    padding: 2px !important;
    border: 1px solid #88958f !important;
    border-radius: 999px !important;
    background: #9ba7a1 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .10) !important;
    transition:
        background-color .16s ease,
        border-color .16s ease !important;
}

body.sa-saude-verde-ui .client-status-switch-thumb {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .22) !important;
    transform: translateX(0) !important;
    transition: transform .16s ease !important;
}

body.sa-saude-verde-ui .client-status-switch.is-on
.client-status-switch-track {
    border-color: var(--ds-primary) !important;
    background: var(--ds-primary) !important;
}

body.sa-saude-verde-ui .client-status-switch.is-on
.client-status-switch-thumb {
    transform: translateX(20px) !important;
}

body.sa-saude-verde-ui .client-status-switch-label {
    min-width: 46px !important;
    color: var(--ds-text-secondary) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: left !important;
}

body.sa-saude-verde-ui .client-status-switch.is-on
.client-status-switch-label {
    color: var(--ds-primary-strong) !important;
}

@media (max-width: 620px) {
    body.sa-saude-verde-ui .client-status-control {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.sa-saude-verde-ui .client-status-switch {
        align-self: flex-end !important;
    }
}

/* INTERRUPTOR DE STATUS DO CLIENTE: FIM */

/* CORRECAO LAYOUT FORMS EMPRESAS: INICIO */

/*
A classe enterprise-form-side-status representa um card completo,
não uma etiqueta de status. O mesmo vale para client-form-side-status.
*/

/* ==========================================================
   ESTRUTURA GERAL DOS FORMULÁRIOS
   ========================================================== */

body.sa-saude-verde-ui .enterprise-form-page,
body.sa-saude-verde-ui .client-form-page {
    display: grid !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
}

body.sa-saude-verde-ui .enterprise-form-hero,
body.sa-saude-verde-ui .client-form-hero {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
}

body.sa-saude-verde-ui .enterprise-form-layout,
body.sa-saude-verde-ui .client-form-layout {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 340px) !important;
    gap: 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.sa-saude-verde-ui .enterprise-form-main,
body.sa-saude-verde-ui .client-form-main {
    display: grid !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.sa-saude-verde-ui .enterprise-form-sidebar,
body.sa-saude-verde-ui .client-form-sidebar {
    position: sticky !important;
    top: 96px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================
   CARDS LATERAIS
   ========================================================== */

body.sa-saude-verde-ui .enterprise-form-side-card,
body.sa-saude-verde-ui .client-form-side-card,
body.sa-saude-verde-ui .enterprise-form-side-status,
body.sa-saude-verde-ui .client-form-side-status {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: initial !important;
    justify-content: initial !important;
    gap: initial !important;
    margin: 0 !important;
    padding: 20px !important;
    overflow: visible !important;
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: var(--ds-shadow) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: normal !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
    transform: none !important;
}

body.sa-saude-verde-ui .enterprise-form-preview,
body.sa-saude-verde-ui .client-form-preview {
    text-align: center !important;
}

body.sa-saude-verde-ui .enterprise-form-side-card h3,
body.sa-saude-verde-ui .client-form-side-card h3 {
    margin: 12px 0 7px !important;
    color: #000000 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.015em !important;
    text-align: inherit !important;
    white-space: normal !important;
}

body.sa-saude-verde-ui .enterprise-form-side-card > p,
body.sa-saude-verde-ui .client-form-side-card > p {
    margin: 0 !important;
    color: var(--ds-text-muted) !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: inherit !important;
    white-space: normal !important;
}

body.sa-saude-verde-ui .enterprise-form-side-eyebrow,
body.sa-saude-verde-ui .client-form-side-eyebrow {
    display: block !important;
    color: var(--ds-primary) !important;
    font-size: .69rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: .04em !important;
    text-align: inherit !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

/* ==========================================================
   RESUMO DO EMPREENDIMENTO
   ========================================================== */

body.sa-saude-verde-ui .enterprise-preview-icon,
body.sa-saude-verde-ui .client-preview-icon {
    display: grid !important;
    width: 62px !important;
    height: 62px !important;
    place-items: center !important;
    margin: 12px auto 14px !important;
    border-radius: 16px !important;
    color: var(--ds-primary-strong) !important;
    background: var(--ds-primary-soft) !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
}

body.sa-saude-verde-ui .enterprise-preview-data,
body.sa-saude-verde-ui .client-preview-data {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 18px 0 0 !important;
    text-align: left !important;
}

body.sa-saude-verde-ui .enterprise-preview-data > div,
body.sa-saude-verde-ui .client-preview-data > div {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
    padding: 0 !important;
}

body.sa-saude-verde-ui .enterprise-preview-data dt,
body.sa-saude-verde-ui .client-preview-data dt {
    color: var(--ds-text-muted) !important;
    font-size: .66rem !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

body.sa-saude-verde-ui .enterprise-preview-data dd,
body.sa-saude-verde-ui .client-preview-data dd {
    overflow: hidden !important;
    margin: 0 !important;
    color: #000000 !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* ==========================================================
   SITUAÇÃO OPERACIONAL
   ========================================================== */

body.sa-saude-verde-ui .enterprise-status-field {
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
}

body.sa-saude-verde-ui .enterprise-status-field label {
    color: var(--ds-text-secondary) !important;
    font-size: .76rem !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui .enterprise-status-field select {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #cbd5d0 !important;
    border-radius: var(--ds-radius-small) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    font-size: .86rem !important;
}

/* Impede que badges internos alterem o tamanho do card. */
body.sa-saude-verde-ui .enterprise-form-side-status
.status-chip,
body.sa-saude-verde-ui .enterprise-form-side-status
.enterprise-status-badge,
body.sa-saude-verde-ui .client-form-side-status
.status-chip {
    display: inline-flex !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
}

/* ==========================================================
   CARDS PRINCIPAIS E CABEÇALHOS
   ========================================================== */

body.sa-saude-verde-ui .enterprise-form-card,
body.sa-saude-verde-ui .client-form-card {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 22px !important;
}

body.sa-saude-verde-ui .enterprise-form-section-header,
body.sa-saude-verde-ui .client-form-section-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
}

body.sa-saude-verde-ui .enterprise-form-section-header > span:last-child,
body.sa-saude-verde-ui .client-form-section-header > span:last-child {
    min-width: 0 !important;
}

body.sa-saude-verde-ui .enterprise-form-section-header p,
body.sa-saude-verde-ui .client-form-section-header p {
    max-width: none !important;
    white-space: normal !important;
}

/* ==========================================================
   RESPONSIVIDADE
   ========================================================== */

@media (max-width: 1180px) {
    body.sa-saude-verde-ui .enterprise-form-layout,
    body.sa-saude-verde-ui .client-form-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sa-saude-verde-ui .enterprise-form-sidebar,
    body.sa-saude-verde-ui .client-form-sidebar {
        position: static !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body.sa-saude-verde-ui .enterprise-form-actions,
    body.sa-saude-verde-ui .client-form-actions {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 760px) {
    body.sa-saude-verde-ui .enterprise-form-sidebar,
    body.sa-saude-verde-ui .client-form-sidebar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sa-saude-verde-ui .enterprise-preview-data,
    body.sa-saude-verde-ui .client-preview-data {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* CORRECAO LAYOUT FORMS EMPRESAS: FIM */

/* CORRECAO ICONES CEP CNPJ: INICIO */

/*
Os formulários modernos usam SVG posicionado dentro do campo.
O Design System global havia reduzido o padding esquerdo,
fazendo o texto ficar por baixo do ícone.
*/

body.sa-saude-verde-ui
.enterprise-form-page
.enterprise-input-with-icon,
body.sa-saude-verde-ui
.client-form-page
.client-input-with-icon {
    position: relative !important;
}

body.sa-saude-verde-ui
.enterprise-form-page
.enterprise-input-with-icon
> svg,
body.sa-saude-verde-ui
.client-form-page
.client-input-with-icon
> svg {
    position: absolute !important;
    top: 50% !important;
    left: 14px !important;
    z-index: 2 !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: var(--ds-primary) !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

/*
Regra deliberadamente mais específica que o seletor global
dos inputs para preservar espaço para o ícone.
*/
body.sa-saude-verde-ui
.enterprise-form-page
.enterprise-input-with-icon
> input.form-control,
body.sa-saude-verde-ui
.client-form-page
.client-input-with-icon
> input.form-control,
body.sa-saude-verde-ui
.enterprise-form-page
.enterprise-input-with-icon
> input,
body.sa-saude-verde-ui
.client-form-page
.client-input-with-icon
> input {
    padding-right: 11px !important;
    padding-left: 43px !important;
    text-indent: 0 !important;
}

/*
Proteção específica para os campos observados.
*/
body.sa-saude-verde-ui
.enterprise-form-page
.enterprise-input-with-icon
> input[name="cep"],
body.sa-saude-verde-ui
.enterprise-form-page
.enterprise-input-with-icon
> input[name="documento"],
body.sa-saude-verde-ui
.client-form-page
.client-input-with-icon
> input[name="documento"] {
    padding-left: 43px !important;
}

/* CORRECAO ICONES CEP CNPJ: FIM */

/* CORRECAO FORMULARIO USUARIO: INICIO */

/*
Restaura a composição própria da página de criação/edição
de usuários e neutraliza conflitos de regras globais.
*/

/* Estrutura geral */

body.sa-saude-verde-ui .user-form-page {
    display: grid !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
}

body.sa-saude-verde-ui .user-form-hero {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
}

body.sa-saude-verde-ui .user-form-layout {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 340px) !important;
    gap: 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.sa-saude-verde-ui .user-form-main {
    display: grid !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.sa-saude-verde-ui .user-form-sidebar {
    position: sticky !important;
    top: 96px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Cards */

body.sa-saude-verde-ui .user-form-card,
body.sa-saude-verde-ui .user-form-side-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: var(--ds-shadow) !important;
    filter: none !important;
    backdrop-filter: none !important;
    transform: none !important;
}

body.sa-saude-verde-ui .user-form-card {
    padding: 22px !important;
}

body.sa-saude-verde-ui .user-form-side-card {
    padding: 20px !important;
}

body.sa-saude-verde-ui .user-form-side-card h3 {
    margin: 8px 0 7px !important;
    color: #000000 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.015em !important;
    white-space: normal !important;
}

body.sa-saude-verde-ui .user-form-side-card > p {
    margin: 0 0 15px !important;
    color: var(--ds-text-muted) !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    white-space: normal !important;
}

body.sa-saude-verde-ui .user-form-side-eyebrow {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--ds-primary) !important;
    font-size: .69rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

/* Cabeçalhos dos cards */

body.sa-saude-verde-ui .user-form-section-header {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid var(--ds-line-soft) !important;
    background: transparent !important;
}

body.sa-saude-verde-ui
.user-form-section-header > span:last-child {
    min-width: 0 !important;
}

body.sa-saude-verde-ui .user-form-section-icon {
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    place-items: center !important;
    border-radius: 10px !important;
    color: var(--ds-primary) !important;
    background: var(--ds-primary-soft) !important;
}

body.sa-saude-verde-ui .user-form-section-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
}

body.sa-saude-verde-ui .user-form-section-header small {
    display: block !important;
    margin: 0 0 2px !important;
    color: var(--ds-primary) !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

body.sa-saude-verde-ui .user-form-section-header h3 {
    margin: 0 !important;
    color: #000000 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
}

body.sa-saude-verde-ui .user-form-section-header p {
    max-width: none !important;
    margin: 4px 0 0 !important;
    color: var(--ds-text-muted) !important;
    font-size: .79rem !important;
    line-height: 1.45 !important;
    white-space: normal !important;
}

/* Grade e campos */

body.sa-saude-verde-ui .user-form-grid {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
}

body.sa-saude-verde-ui .user-form-span-full,
body.sa-saude-verde-ui .user-form-checkbox-field {
    grid-column: 1 / -1 !important;
}

body.sa-saude-verde-ui .user-form-field {
    display: grid !important;
    min-width: 0 !important;
    align-content: start !important;
    gap: 7px !important;
}

body.sa-saude-verde-ui
.user-form-field > label:not(.user-checkbox-control) {
    color: var(--ds-text-secondary) !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.sa-saude-verde-ui
.user-form-field input:not([type="checkbox"]):not([type="radio"]),
body.sa-saude-verde-ui .user-form-field select,
body.sa-saude-verde-ui .user-form-field textarea {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid #cbd5d0 !important;
    border-radius: var(--ds-radius-small) !important;
    color: var(--ds-text) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    font-family: var(--ds-font) !important;
    font-size: .88rem !important;
    font-weight: 400 !important;
}

body.sa-saude-verde-ui .user-form-field textarea {
    min-height: 104px !important;
    resize: vertical !important;
}

body.sa-saude-verde-ui .user-input-with-icon {
    position: relative !important;
}

body.sa-saude-verde-ui .user-input-with-icon > svg {
    position: absolute !important;
    top: 50% !important;
    left: 14px !important;
    z-index: 2 !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: var(--ds-primary) !important;
    fill: none !important;
    stroke: currentColor !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

body.sa-saude-verde-ui
.user-input-with-icon > input {
    padding-left: 43px !important;
}

body.sa-saude-verde-ui .user-field-help,
body.sa-saude-verde-ui .user-password-help {
    display: block !important;
    color: var(--ds-text-muted) !important;
    font-size: .69rem !important;
    line-height: 1.45 !important;
}

/* Senhas */

body.sa-saude-verde-ui .user-password-control {
    position: relative !important;
    width: 100% !important;
}

body.sa-saude-verde-ui .user-password-control input {
    padding-right: 48px !important;
}

body.sa-saude-verde-ui .user-password-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 5px !important;
    z-index: 2 !important;
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: var(--ds-text-muted) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
}

body.sa-saude-verde-ui .user-password-toggle svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
}

/* Interruptor Ativo/Inativo */

body.sa-saude-verde-ui .user-checkbox-control {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 13px 14px !important;
    border: 1px solid var(--ds-line-soft) !important;
    border-radius: var(--ds-radius-small) !important;
    background: var(--ds-surface-soft) !important;
    cursor: pointer !important;
}

body.sa-saude-verde-ui .user-checkbox-switch {
    position: relative !important;
    display: block !important;
    width: 46px !important;
    height: 26px !important;
    flex: 0 0 46px !important;
}

body.sa-saude-verde-ui .user-checkbox-switch input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.sa-saude-verde-ui .user-checkbox-switch > span {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    border: 1px solid #89968f !important;
    border-radius: 999px !important;
    background: #9ba7a1 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .10) !important;
}

body.sa-saude-verde-ui .user-checkbox-switch > span::after {
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .22) !important;
    content: "" !important;
    transform: translateX(0) !important;
}

body.sa-saude-verde-ui
.user-checkbox-switch input:checked + span {
    border-color: var(--ds-primary) !important;
    background: var(--ds-primary) !important;
}

body.sa-saude-verde-ui
.user-checkbox-switch input:checked + span::after {
    transform: translateX(20px) !important;
}

body.sa-saude-verde-ui .user-checkbox-copy {
    display: grid !important;
    min-width: 0 !important;
    gap: 3px !important;
}

body.sa-saude-verde-ui .user-checkbox-copy strong {
    color: #000000 !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
}

body.sa-saude-verde-ui .user-checkbox-copy small {
    color: var(--ds-text-muted) !important;
    font-size: .7rem !important;
    line-height: 1.4 !important;
}

/* Prévia e orientações */

body.sa-saude-verde-ui .user-form-preview {
    text-align: center !important;
    background:
        linear-gradient(
            180deg,
            #f7fbf9,
            #ffffff
        ) !important;
}

body.sa-saude-verde-ui .user-preview-avatar {
    display: grid !important;
    width: 62px !important;
    height: 62px !important;
    place-items: center !important;
    margin: 8px auto 13px !important;
    border-radius: 16px !important;
    color: var(--ds-primary-strong) !important;
    background: var(--ds-primary-soft) !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
}

body.sa-saude-verde-ui .user-form-preview h3,
body.sa-saude-verde-ui .user-form-preview > p {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.sa-saude-verde-ui .user-preview-data {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 14px 0 0 !important;
    text-align: left !important;
}

body.sa-saude-verde-ui .user-preview-data > div {
    display: grid !important;
    min-width: 0 !important;
    gap: 3px !important;
    padding: 10px !important;
    border: 1px solid var(--ds-line-soft) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

body.sa-saude-verde-ui .user-preview-data dt {
    color: var(--ds-text-muted) !important;
    font-size: .63rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

body.sa-saude-verde-ui .user-preview-data dd {
    overflow: hidden !important;
    margin: 0 !important;
    color: #000000 !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.sa-saude-verde-ui .user-form-checklist {
    display: grid !important;
    gap: 12px !important;
    margin: 15px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.sa-saude-verde-ui .user-form-checklist li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body.sa-saude-verde-ui
.user-form-checklist li > span {
    display: grid !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    place-items: center !important;
    border-radius: 7px !important;
    color: var(--ds-primary) !important;
    background: var(--ds-primary-soft) !important;
    font-size: .67rem !important;
    font-weight: 700 !important;
}

body.sa-saude-verde-ui .user-form-checklist p {
    margin: 2px 0 0 !important;
    color: var(--ds-text-muted) !important;
    font-size: .73rem !important;
    line-height: 1.45 !important;
}

body.sa-saude-verde-ui .user-form-side-note {
    border-color: #d8dced !important;
    background: #f8f8fc !important;
}

/* Ações */

body.sa-saude-verde-ui .user-form-actions {
    display: grid !important;
    grid-template-columns:
        minmax(0, .82fr)
        minmax(0, 1.18fr) !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
}

body.sa-saude-verde-ui .user-form-cancel,
body.sa-saude-verde-ui .user-form-submit {
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 13px !important;
    border-radius: var(--ds-radius-small) !important;
    box-shadow: none !important;
    font-family: var(--ds-font) !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    transform: none !important;
}

body.sa-saude-verde-ui .user-form-cancel {
    border: 1px solid var(--ds-line) !important;
    color: var(--ds-primary-strong) !important;
    background: #ffffff !important;
}

body.sa-saude-verde-ui .user-form-submit {
    border: 1px solid var(--ds-primary) !important;
    color: #ffffff !important;
    background: var(--ds-primary) !important;
}

body.sa-saude-verde-ui .user-form-submit:hover {
    border-color: var(--ds-primary-hover) !important;
    background: var(--ds-primary-hover) !important;
}

/* Responsividade */

@media (max-width: 1180px) {
    body.sa-saude-verde-ui .user-form-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sa-saude-verde-ui .user-form-sidebar {
        position: static !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body.sa-saude-verde-ui .user-form-preview {
        grid-row: span 2 !important;
    }

    body.sa-saude-verde-ui .user-form-actions {
        grid-column: 1 / -1 !important;
        width: min(100%, 460px) !important;
        justify-self: end !important;
    }
}

@media (max-width: 760px) {
    body.sa-saude-verde-ui .user-form-grid,
    body.sa-saude-verde-ui .user-form-sidebar,
    body.sa-saude-verde-ui .user-preview-data {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sa-saude-verde-ui .user-form-span-full,
    body.sa-saude-verde-ui .user-form-checkbox-field,
    body.sa-saude-verde-ui .user-form-preview,
    body.sa-saude-verde-ui .user-form-actions {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    body.sa-saude-verde-ui .user-form-actions {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 520px) {
    body.sa-saude-verde-ui .user-form-card,
    body.sa-saude-verde-ui .user-form-side-card {
        padding: 17px !important;
    }

    body.sa-saude-verde-ui .user-form-actions {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* CORRECAO FORMULARIO USUARIO: FIM */
