/* Atendimento guiado (nascimento, casamento): visual compartilhado das telas em etapas.
   Todas as cores derivam dos tokens de .guia-wizard; .guia-wizard.dark acompanha o tema escuro do Radzen. */
.guia-wizard {
    --guia-bg: var(--rz-base-background-color, #fff);
    --guia-text: var(--rz-text-color, #203c36);
    --guia-muted: #61716c;
    --guia-accent: #25635a;          /* preenchimentos (botão, etapa ativa) */
    --guia-accent-text: #25635a;     /* textos e ícones em destaque */
    --guia-on-accent: #fff;
    --guia-border: #dce5e2;
    --guia-input-border: #cbd8d1;
    --guia-surface: #f5f8f6;         /* barra lateral, blocos de resumo */
    --guia-surface-2: #edf4f1;       /* chip de status, ícone da etapa */
    --guia-readonly: #f1f5f2;
    --guia-warn-bg: #fdf7e7;
    --guia-warn-border: #e8cf8f;
    --guia-warn-strong: #c99a2e;
    --guia-warn-text: #5f4710;
    --guia-warn-icon: #b7861c;
    --guia-ok-bg: #eff7f2;
    --guia-ok-border: #bfdccb;
    --guia-ok-text: #1f5a3e;
    --guia-ok-icon: #2f8a5f;
    --guia-note-bg: #f7f4e9;
    --guia-note-border: #ba9850;
    --guia-note-text: #655326;
    --guia-badge-bg: #f3e7c9;
    --guia-badge-text: #7a5a14;
    --guia-shadow: 0 2px 5px #173e2410;
    color-scheme: light;
    color: var(--guia-text);
    max-width: 1520px;
    margin: 0 auto;
}
.guia-wizard.dark {
    --guia-muted: #a3b2ad;
    --guia-accent: #2f7d6e;
    --guia-accent-text: #7fd1bd;
    --guia-border: #34403c;
    --guia-input-border: #4a5853;
    --guia-surface: #232a28;
    --guia-surface-2: #2c3633;
    --guia-readonly: #262d2b;
    --guia-warn-bg: #33291a;
    --guia-warn-border: #6b5321;
    --guia-warn-strong: #d7a640;
    --guia-warn-text: #f1dcae;
    --guia-warn-icon: #e5b450;
    --guia-ok-bg: #1d2e26;
    --guia-ok-border: #2f5a44;
    --guia-ok-text: #b9e6cc;
    --guia-ok-icon: #5cc48e;
    --guia-note-bg: #2f2a1d;
    --guia-note-border: #a88a4a;
    --guia-note-text: #ead9ad;
    --guia-badge-bg: #4a3a17;
    --guia-badge-text: #f5d58b;
    --guia-shadow: 0 2px 6px #00000055;
    color-scheme: dark;
}

/* Cabeçalho */
.guia-header { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; padding: 22px 24px; border-bottom: 1px solid var(--guia-border); background: var(--guia-bg); }
.guia-heading { flex: 1; min-width: 240px; }
.guia-heading h1 { font-size: clamp(21px, 2vw, 28px); line-height: 1.25; margin: 6px 0; letter-spacing: -.5px; color: var(--guia-text); }
.guia-heading p { margin: 0; color: var(--guia-muted); font-size: 14px; }
.guia-eyebrow, .guia-wizard .guia-eyebrow { font-size: 10px; letter-spacing: 1.4px; font-weight: 700; color: var(--guia-accent-text); }
.guia-status { border-radius: 24px; padding: 7px 12px; background: var(--guia-surface-2); color: var(--guia-accent-text); border: 1px solid var(--guia-border); font-size: 12px; font-weight: 600; }

/* Estrutura */
.guia-workspace { display: grid; grid-template-columns: 230px minmax(0, 1fr); }
.guia-sidebar { padding: 24px 16px; background: var(--guia-surface); border-right: 1px solid var(--guia-border); }
.guia-progress { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; padding: 0 10px 24px; color: var(--guia-text); }
.guia-progress strong { margin-left: auto; color: var(--guia-accent-text); }
.guia-progress progress { width: 100%; height: 6px; accent-color: var(--guia-accent); }
.guia-progress small { color: var(--guia-muted); }
.guia-main { min-width: 0; padding: 28px; background: var(--guia-bg); }

/* Etapas */
.guia-step { display: flex; align-items: center; gap: 10px; width: 100%; background: transparent; border: 1px solid transparent; border-radius: 8px; padding: 12px 10px; text-align: left; font-size: 13px; color: var(--guia-text); cursor: pointer; margin: 3px 0; }
.guia-step:hover { background: var(--guia-surface-2); }
.guia-step-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--guia-surface-2); color: var(--guia-muted); flex-shrink: 0; }
.guia-step-icon .rzi, .guia-step .rzi { font-size: 18px; }
.guia-step-label { display: flex; flex-direction: column; gap: 1px; line-height: 1.25; min-width: 0; }
.guia-step-label small { font-size: 10px; font-weight: 500; color: var(--guia-muted); letter-spacing: .3px; text-transform: uppercase; }
.guia-step .guia-step-done { margin-left: auto; color: var(--guia-ok-icon); font-size: 18px; }
.guia-step-pending { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--guia-badge-bg); color: var(--guia-badge-text); font-size: 11px; font-weight: 700; display: grid; place-items: center; box-sizing: border-box; }
.guia-step.active { background: var(--guia-bg); border-color: var(--guia-border); color: var(--guia-accent-text); font-weight: 700; box-shadow: var(--guia-shadow); }
.guia-step.active .guia-step-icon { color: var(--guia-on-accent); background: var(--guia-accent); }
.guia-sidebar-note { border-top: 1px solid var(--guia-border); padding: 20px 10px; margin-top: 24px; font-size: 12px; color: var(--guia-muted); line-height: 1.6; }
.guia-sidebar-note strong { color: var(--guia-text); }

/* Abas do Radzen ficam ocultas: a navegação é pela barra lateral */
.guia-wizard .rz-tabview-nav { display: none; }
.guia-wizard .rz-tabview, .guia-wizard .rz-tabview-panels { border: 0 !important; padding: 0; background: transparent; box-shadow: none; }
.guia-wizard .guia-panel { margin-bottom: 24px; }

/* Títulos e campos */
.guia-section-title, .guia-wizard .guia-section-title { margin-bottom: 24px; }
.guia-section-title h2, .guia-wizard .guia-section-title h2 { font-size: 23px; margin: 8px 0; letter-spacing: -.4px; color: var(--guia-text); }
.guia-section-title p, .guia-wizard .guia-section-title p { color: var(--guia-muted); font-size: 14px; line-height: 1.6; }
.guia-wizard .guia-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.guia-wide, .guia-wizard .guia-wide { display: flex; flex-direction: column; gap: 8px; margin: 18px 0; max-width: 100%; }
.guia-wizard .guia-fields label, .guia-wide, .guia-wizard .guia-wide { font-size: 13px; font-weight: 600; color: var(--guia-text); }
.guia-wizard .guia-fields label { display: flex; flex-direction: column; gap: 8px; }
/* Caixinha com texto ("não consta", "já recolhido"): em linha, do tamanho do texto. */
.guia-wizard .guia-fields label:has(> .rz-chkbox) { flex-direction: row; align-items: center; gap: .4rem; font-weight: 500; }
.guia-wizard.compacto .guia-fields > label:has(> .rz-chkbox) { flex: 0 0 auto; }
.guia-wizard .guia-panel input:not([type=checkbox]), .guia-wizard .guia-panel select, .guia-wizard .guia-panel textarea,
.guia-wizard .guia-fields input:not([type=checkbox]), .guia-wizard .guia-fields select, .guia-wide textarea, .guia-wizard .guia-wide textarea {
    border: 1px solid var(--guia-input-border); background: var(--guia-bg); color: var(--guia-text); border-radius: 6px; min-height: 40px; padding: 9px 12px; font: inherit; font-weight: 400; max-width: 100%; width: 100%; box-sizing: border-box;
}
.guia-wizard select option { background: var(--guia-bg); color: var(--guia-text); }
.guia-wizard input[readonly] { background: var(--guia-readonly) !important; color: var(--guia-muted) !important; }
.guia-wizard textarea { resize: vertical; }
.guia-wizard input::placeholder, .guia-wizard textarea::placeholder { color: var(--guia-muted); opacity: .8; }
.guia-wizard input[type=checkbox], .guia-check input { accent-color: var(--guia-accent); width: 18px; height: 18px; flex-shrink: 0; }
.guia-wizard :focus-visible, .guia-wizard :focus-visible { outline: 3px solid color-mix(in srgb, var(--guia-accent) 60%, transparent); outline-offset: 2px; }
.guia-wizard .guia-q { display: inline-flex; align-items: center; gap: 6px; }
.guia-wizard .guia-q .rzi { font-size: 18px; color: var(--guia-accent-text); }

/* Avisos e cartões */
.guia-note, .guia-wizard .guia-note { background: var(--guia-note-bg); border-left: 3px solid var(--guia-note-border); padding: 14px 16px; border-radius: 4px; font-size: 13px; line-height: 1.6; color: var(--guia-note-text); margin: 20px 0; }
.guia-card, .guia-wizard .guia-card { border: 1px solid var(--guia-border); border-radius: 10px; padding: 22px; margin: 24px 0; background: var(--guia-bg); }
.guia-wizard .guia-card h3 { display: flex; align-items: center; gap: 8px; font-size: 16px; margin: 0 0 16px; color: var(--guia-text); }
.guia-wizard .guia-card h3 .rzi { font-size: 20px; color: var(--guia-accent-text); }
.guia-wizard .guia-card h3:not(:first-child) { margin-top: 24px; }
.guia-wizard .guia-card p { font-size: 13px; line-height: 1.6; }
.guia-wizard summary { cursor: pointer; font-weight: 600; color: var(--guia-text); }
.guia-check, .guia-wizard .guia-check { display: flex; align-items: center; gap: 10px; font-size: 13px; margin: 20px 0; line-height: 1.5; cursor: pointer; color: var(--guia-text); }
.guia-wizard .guia-muted { color: var(--guia-muted); }
.guia-wizard .rz-fieldset-legend .rzi { color: var(--guia-accent-text); }

/* Botões */
.guia-primary, .guia-secondary, .guia-wizard .guia-secondary, .guia-link, .guia-wizard .guia-link { display: inline-flex; align-items: center; gap: 6px; border-radius: 6px; min-height: 40px; padding: 10px 16px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.guia-secondary, .guia-wizard .guia-secondary { border: 1px solid var(--guia-input-border); background: var(--guia-bg); color: var(--guia-accent-text); }
.guia-secondary:hover:not(:disabled), .guia-wizard .guia-secondary:hover:not(:disabled) { background: var(--guia-surface-2); }
.guia-wizard .guia-secondary { margin-top: 14px; }
.guia-primary { border: 1px solid var(--guia-accent); background: var(--guia-accent); color: var(--guia-on-accent); }
.guia-primary:hover:not(:disabled) { filter: brightness(1.12); }
.guia-link, .guia-wizard .guia-link { min-height: 0; padding: 4px 8px; border: 0; background: transparent; color: var(--guia-accent-text); }
.guia-link:hover { background: var(--guia-surface-2); }
.guia-primary .rzi, .guia-secondary .rzi, .guia-link .rzi, .guia-wizard .guia-secondary .rzi { font-size: 18px; }
.guia-wizard button:disabled { opacity: .45; cursor: not-allowed; }
.guia-submit { min-height: 46px; padding: 12px 22px; font-size: 14px; }
.guia-submit-hint { display: block; margin-top: 8px; font-size: 12px; color: var(--guia-muted); }

/* Rodapé */
.guia-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--guia-border); font-size: 12px; color: var(--guia-muted); }
.guia-footer > span { display: inline-flex; align-items: center; gap: 6px; }
.guia-footer > span .rzi { font-size: 18px; color: var(--guia-accent-text); }
.guia-footer-acoes { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

/* Documentos */
.guia-wizard .guia-documents { border: 1px solid var(--guia-border); border-radius: 10px; overflow: hidden; }
.guia-wizard .guia-document { display: flex; gap: 14px; align-items: center; cursor: pointer; padding: 18px; border-bottom: 1px solid var(--guia-border); font-size: 14px; color: var(--guia-text); }
.guia-wizard .guia-document:last-child { border-bottom: 0; }
.guia-wizard .guia-document small { margin-left: auto; color: var(--guia-muted); }

/* Pendências da etapa atual */
.guia-pending-box { border: 1px solid var(--guia-warn-border); border-left: 4px solid var(--guia-warn-strong); background: var(--guia-warn-bg); border-radius: 8px; padding: 14px 18px; margin-bottom: 24px; color: var(--guia-warn-text); }
.guia-pending-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.guia-pending-head .rzi { font-size: 20px; color: var(--guia-warn-icon); }
.guia-pending-head span { font-size: 13px; opacity: .85; }
.guia-pending-box ul { margin: 10px 0 0; padding-left: 30px; display: grid; gap: 4px; font-size: 13px; line-height: 1.5; }
.guia-pending-box.ok { border-color: var(--guia-ok-border); border-left-color: var(--guia-ok-icon); background: var(--guia-ok-bg); color: var(--guia-ok-text); padding: 10px 18px; }
.guia-pending-box.ok .guia-pending-head .rzi { color: var(--guia-ok-icon); }
.guia-pending-box .guia-checklist { margin-top: 12px; }

/* Conferência */
.guia-checklist { display: grid; gap: 6px; }
.guia-check-item { display: flex; align-items: center; gap: 12px; border: 1px solid var(--guia-warn-border); border-radius: 6px; background: var(--guia-bg); padding: 11px 13px; color: var(--guia-text); text-align: left; cursor: pointer; font-size: 13px; }
.guia-check-item:hover { border-color: var(--guia-warn-strong); }
.guia-check-item .rzi { font-size: 18px; color: var(--guia-warn-icon); flex-shrink: 0; }
.guia-check-item small { margin-left: auto; flex-shrink: 0; color: var(--guia-accent-text); font-weight: 600; }
.guia-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 8px 0 24px; }
.guia-summary-card { border: 1px solid var(--guia-border); border-radius: 10px; background: var(--guia-surface); padding: 14px 16px 6px; min-width: 0; }
.guia-summary-card header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.guia-summary-card header .rzi { font-size: 20px; color: var(--guia-accent-text); }
.guia-summary-card h3 { font-size: 15px; margin: 0; color: var(--guia-text); }
.guia-summary-card header .guia-link { margin-left: auto; }
.guia-summary-card dl { margin: 0; }
.guia-summary-card dl > div { display: grid; grid-template-columns: minmax(110px, 38%) 1fr; gap: 10px; padding: 7px 0; border-top: 1px solid var(--guia-border); font-size: 13px; }
.guia-summary-card dt { color: var(--guia-muted); }
.guia-summary-card dd { margin: 0; color: var(--guia-text); font-weight: 600; overflow-wrap: anywhere; }
.guia-summary-card .vazio dd { color: var(--guia-warn-icon); font-weight: 500; font-style: italic; }
.guia-summary-card .opcional dd { color: var(--guia-muted); font-weight: 400; }
.guia-final-check { padding: 16px; background: var(--guia-surface); border: 1px solid var(--guia-border); border-radius: 6px; }

@media (max-width: 1100px) {
    .guia-summary { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .guia-workspace { grid-template-columns: 1fr; }
    .guia-sidebar { border-right: 0; border-bottom: 1px solid var(--guia-border); padding: 14px; }
    .guia-sidebar nav { display: flex; overflow-x: auto; gap: 6px; }
    .guia-step { width: auto; flex-shrink: 0; }
    .guia-sidebar-note { display: none; }
    .guia-progress { padding-bottom: 12px; }
    .guia-main { padding: 18px; }
}
@media (max-width: 580px) {
    .guia-header { padding: 16px; gap: 10px; }
    .guia-heading { min-width: 180px; }
    .guia-wizard .guia-fields { grid-template-columns: 1fr; }
    .guia-footer > span { max-width: 100px; text-align: center; }
    .guia-footer-com-salvar { flex-wrap: wrap; }
    .guia-footer-com-salvar > span { order: 1; flex-basis: 100%; max-width: none; justify-content: center; }
    .guia-wizard .guia-card { padding: 16px; }
    .guia-wizard .guia-document { align-items: flex-start; flex-wrap: wrap; }
    .guia-check-item small { display: none; }
    .guia-summary-card dl > div { grid-template-columns: 1fr; gap: 2px; }
}
.guia-wizard .guia-footer .guia-secondary { margin-top: 0; }

.guia-tabs { width: 100%; }
.guia-wizard .guia-panel { padding: 1rem .25rem .25rem; }

/* Campo genérico (GuiaCampo) */
.guia-wizard .guia-fields .largo, .guia-wizard .guia-fields .guia-campo.largo { grid-column: 1 / -1; }
.guia-wizard .guia-fields.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.guia-wizard .guia-req { color: var(--guia-warn-icon); margin-left: 2px; }
.guia-wizard .guia-ajuda { font-size: 12px; font-weight: 400; color: var(--guia-muted); line-height: 1.4; }
.guia-wizard .guia-card-sub { margin: -8px 0 16px; font-size: 13px; color: var(--guia-muted); }
.guia-wizard .guia-subtitulo { display: flex; align-items: center; gap: 8px; margin: 22px 0 12px; font-size: 14px; color: var(--guia-text); }
.guia-wizard .guia-subtitulo .rzi { font-size: 18px; color: var(--guia-accent-text); }
.guia-wizard .guia-step.oculta { display: none; }
@media (max-width: 1100px) { .guia-wizard .guia-fields.tres { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .guia-wizard .guia-fields.tres { grid-template-columns: 1fr; } }

/* Campos compartilhados (CampoData, CampoCep, CampoCadastro, BuscaCadastroDialog).
   Valem em qualquer tela; as cores vêm do tema do Radzen para acompanhar o modo escuro. */
.campo-data, .campo-cep, .campo-cadastro { display: flex; align-items: stretch; gap: 4px; width: 100%; position: relative; }
.campo-data-input, .campo-cep-input, .campo-cadastro-input { flex: 1; min-width: 0; width: auto !important; }
.campo-cep-input, .campo-data-input { min-width: 96px; }
.campo-cadastro-input.fechado { cursor: pointer; }
.campo-data-input.invalida { border-color: var(--rz-danger, #d32f2f) !important; box-shadow: 0 0 0 1px var(--rz-danger, #d32f2f); }
.campo-data-erro { display: block; margin-top: 4px; font-size: 12px; color: color-mix(in srgb, #d32f2f 75%, var(--rz-text-color, #424242)); }
.campo-acao {
    flex: 0 0 auto; display: inline-grid; place-items: center; width: 38px; min-height: 36px; padding: 0;
    border-radius: 6px; cursor: pointer; font: inherit;
    border: 1px solid color-mix(in srgb, var(--rz-primary, #4340d2) 55%, transparent);
    background: color-mix(in srgb, var(--rz-primary, #4340d2) 12%, var(--rz-base-background-color, #fff));
    color: color-mix(in srgb, var(--rz-primary, #4340d2) 80%, var(--rz-text-color, #212121));
}
.campo-acao:hover:not(:disabled) { background: var(--rz-primary, #4340d2); color: var(--rz-on-primary, #fff); }
.campo-acao.destaque { background: var(--rz-primary, #4340d2); border-color: var(--rz-primary, #4340d2); color: var(--rz-on-primary, #fff); }
.campo-acao.destaque:hover:not(:disabled) { filter: brightness(1.12); }
.campo-acao.discreta { border-color: transparent; background: transparent; color: var(--rz-text-secondary-color, #616161); width: 30px; }
.campo-acao:disabled { opacity: .4; cursor: not-allowed; }
.campo-acao .rzi { font-size: 20px; }
.campo-data-calendario { position: absolute; top: calc(100% + 4px); left: 0; z-index: 20; box-shadow: 0 6px 24px #0003; border-radius: 8px; background: var(--rz-base-background-color, #fff); }

.busca-cadastro { display: flex; flex-direction: column; gap: 10px; height: 100%; }
.busca-cadastro-topo { display: flex; gap: 8px; align-items: center; }
.busca-cadastro-novo { border: 1px solid var(--rz-primary, #4340d2); border-radius: 8px; padding: 10px 12px; display: grid; gap: 8px; font-size: 13px; }
.busca-cadastro-novo-campos { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.busca-cadastro-novo small { color: var(--rz-text-secondary-color, #616161); }
.busca-cadastro-lista { flex: 1; overflow: auto; border: 1px solid color-mix(in srgb, var(--rz-text-color, #212121) 15%, transparent); border-radius: 8px; }
.busca-cadastro-item { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 10px 14px; border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--rz-text-color, #212121) 10%, transparent); background: transparent; color: var(--rz-text-color, #212121);
    text-align: left; cursor: pointer; font: inherit; font-size: 14px; }
.busca-cadastro-item:hover, .busca-cadastro-item:focus-visible { background: color-mix(in srgb, var(--rz-primary, #4340d2) 12%, transparent); outline: none; }
.busca-cadastro-item small { color: var(--rz-text-secondary-color, #616161); }
.busca-cadastro-linha { display: flex; align-items: stretch; }
.busca-cadastro-linha .busca-cadastro-item { flex: 1 1 auto; }
.busca-cadastro-editar { flex: 0 0 40px; border: 0; background: transparent; color: var(--rz-text-tertiary-color, #888); cursor: pointer; border-radius: 6px; }
.busca-cadastro-editar:hover, .busca-cadastro-editar:focus-visible { background: color-mix(in srgb, var(--rz-primary, #4340d2) 12%, transparent); color: var(--rz-primary); outline: none; }
.busca-cadastro-uf { margin-left: 8px; font-size: 12px; padding: 1px 6px; border-radius: 4px; background: color-mix(in srgb, var(--rz-primary, #4340d2) 15%, transparent); }
.busca-cadastro-vazio { padding: 18px; text-align: center; color: var(--rz-text-secondary-color, #616161); font-size: 13px; }

/* Ficha de cadastro simples (FichaCadastro): sem barra de etapas. */
.guia-wizard.ficha .ficha-main { max-width: 1100px; width: 100%; margin: 0 auto; box-sizing: border-box; }
.guia-wizard.ficha .guia-card:first-child { margin-top: 0; }

/* Botão "Ler documento (QR)" nos blocos de pessoa (regra: todo cadastro de pessoa/documento tem o botão). */
.guia-ler-doc { display: flex; justify-content: flex-end; margin: .25rem 0 .5rem; }

/* Campos compactos (GuiaAtendimento Compacto, GuiaDialogo): cada campo do tamanho do que guarda, lado a lado, em vez de duas colunas iguais.
   Tamanhos do GuiaCampo: pp (UF, sexo), p (CPF, data, CEP, número), m (texto), g / largo (linha inteira). */
.guia-wizard.compacto .guia-fields { display: flex; flex-wrap: wrap; gap: 14px 16px; align-items: flex-end; }
.guia-wizard.compacto .guia-fields > * { flex: 1 1 15rem; min-width: 0; }
.guia-wizard.compacto .guia-fields .guia-campo.tam-pp { flex: 0 0 7.8rem; }
.guia-wizard.compacto .guia-fields .guia-campo.tam-p { flex: 0 1 11.5rem; }
.guia-wizard.compacto .guia-fields .guia-campo.tam-m { flex: 1 1 15rem; max-width: 30rem; }
.guia-wizard.compacto .guia-fields .guia-campo.tam-h { flex: 1 1 calc(50% - 8px); max-width: none; }
.guia-wizard.compacto .guia-fields .guia-campo.tam-f { flex: 1 1 20rem; max-width: none; }
.guia-wizard.compacto .guia-fields .guia-campo.tam-g { flex: 1 1 100%; max-width: none; }
.guia-wizard.compacto .guia-fields .rz-form-field { flex: 1 1 13rem; max-width: 32rem; }
/* Diálogo com o visual guiado: sem moldura própria, o fundo segue o tema. */
.guia-wizard.guia-dialogo { background: var(--guia-bg); color: var(--guia-text); border: 0; box-shadow: none; padding: 0; }
.guia-wizard.guia-dialogo .guia-card { margin: 12px 0; padding: 16px 18px; }

/* Grade do Radzen (RadzenRow/RadzenColumn) no modo compacto: colunas fluidas com mínimo pelo tamanho (1 ≈ UF, 2 ≈ data, 3 ≈ CEP),
   crescendo na proporção e quebrando de linha só quando não cabe; rótulos numa linha só. */
.guia-wizard.compacto .rz-row { flex-wrap: wrap; }
.guia-wizard.compacto .rz-row > .rz-col-md-1 { flex: 1 1 5rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-2 { flex: 2 1 9rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-3 { flex: 3 1 12.5rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-4 { flex: 4 1 16rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-5 { flex: 5 1 20rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-6 { flex: 6 1 23rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-7 { flex: 7 1 26rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-8 { flex: 8 1 29rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-9 { flex: 9 1 33rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-10 { flex: 10 1 37rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-11 { flex: 11 1 41rem; max-width: none; width: auto; }
.guia-wizard.compacto .rz-row > .rz-col-md-12 { flex: 1 1 100%; max-width: none; }
.guia-wizard.compacto .rz-row .rz-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }

/* REGRA: o título do campo fica na linha do contorno (como o RadzenFormField "outlined"), não em cima. Vale para o GuiaCampo e para
   todo label.guia-campo com um campo de borda (texto, lista, área, data, CEP, CPF, lupa de cadastro); perguntas de sim/não seguem como estão. */
.guia-wizard .guia-campo:has(> input:not([type=checkbox]):not([type=radio]), > select, > textarea, > .campo-data, > .campo-cep, > .cpf-field, > .cnpj-campo, > .campo-cadastro) {
    position: relative; gap: 0; margin-top: 7px;
}
.guia-wizard .guia-campo:has(> input:not([type=checkbox]):not([type=radio]), > select, > textarea, > .campo-data, > .campo-cep, > .cpf-field, > .cnpj-campo, > .campo-cadastro) > .guia-q {
    position: absolute; top: 0; left: 9px; transform: translateY(-50%); z-index: 2; pointer-events: none;
    padding: 0 5px; background: var(--guia-bg); color: var(--guia-muted); font-size: 11.5px; font-weight: 500; line-height: 1.25;
    max-width: calc(100% - 18px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; gap: 4px;
}
.guia-wizard .guia-campo:focus-within > .guia-q { color: var(--guia-accent-text); }
.guia-wizard .guia-campo > .guia-q .rzi { font-size: 14px; }
.guia-wizard.compacto .guia-fields { row-gap: 18px; }
