/* Componentes do design system convertidos para CSS estático. */
.vx-btn{font-family:var(--font-body);font-weight:var(--fw-semibold);border-radius:var(--radius-m);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;outline:none;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.vx-btn-sm{padding:6px 14px;font-size:var(--text-body-s)}
.vx-btn-md{padding:10px 20px;font-size:var(--text-body-m)}
.vx-btn-lg{padding:13px 26px;font-size:var(--text-body-l)}
.vx-btn-primary{background:var(--brand-primary);color:var(--text-inverse);border:1px solid var(--brand-primary)}
.vx-btn-primary:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}
.vx-btn-primary:active{background:var(--brand-primary-active)}
.vx-btn-accent{background:var(--brand-accent);color:var(--text-inverse);border:1px solid var(--brand-accent)}
.vx-btn-accent:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover)}
.vx-btn-secondary{background:var(--surface-card);color:var(--brand-primary);border:1px solid var(--border-default)}
.vx-btn-secondary:hover{background:var(--blue-50);border-color:var(--brand-primary)}
.vx-btn-ghost{background:transparent;color:var(--text-primary);border:1px solid transparent}
.vx-btn-ghost:hover{background:var(--neutral-100)}
.vx-btn:focus-visible{box-shadow:var(--shadow-focus)}
.vx-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-l);box-shadow:var(--shadow-s);font-family:var(--font-body)}
.vx-card-elevated{box-shadow:var(--shadow-m)}
.vx-tag{font-family:var(--font-body);font-size:var(--text-body-s);font-weight:var(--fw-medium);color:var(--blue-700);background:var(--blue-50);border:1px solid var(--blue-200);padding:4px 10px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:6px}
.vx-field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body);width:100%}
.vx-label{font-size:var(--text-body-s);font-weight:var(--fw-medium);color:var(--text-secondary)}
.vx-input{font-family:var(--font-body);font-size:var(--text-body-m);padding:10px 14px;border-radius:var(--radius-m);border:1px solid var(--border-default);outline:none;background:var(--surface-card);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-standard)}
.vx-input:focus{border-color:var(--brand-primary);box-shadow:var(--shadow-focus)}
.vx-input.vx-erro{border-color:var(--status-error-fg)}
.vx-erro-msg{font-size:var(--text-caption);color:var(--status-error-fg)}
