.ui-button { min-height: var(--ep-target-touch); border: 0; border-radius: var(--ep-radius-sm); padding: 0 18px; font: inherit; font-weight: 700; cursor: pointer; transition: transform .12s ease, filter .12s ease; }
.ui-button:active, .action-card:active { transform: scale(.98); }
.ui-button:disabled { opacity: .55; cursor: not-allowed; }
.ui-button--primario { color: var(--ep-color-on-action); background: var(--ep-color-action-primary); }
.ui-button--secundario { color: var(--ep-color-action-primary); background: var(--ep-color-highlight-soft); }
.ui-button--neutro { color: var(--ep-color-text-primary); background: var(--ep-color-highlight-soft); }
.ui-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 9px; border-radius: var(--ep-radius-full); font-size: var(--ep-type-micro); font-weight: 700; }
.ui-badge--neutral { color: var(--ep-color-text-secondary); background: var(--ep-color-highlight-soft); }
.ui-badge--success { color: var(--ep-color-success); background: var(--ep-color-success-bg); }
.ui-badge--locked { color: var(--ep-purple-800); background: var(--ep-color-highlight-soft); }
.action-card { width: 100%; min-height: 72px; border: 1px solid var(--ep-color-border); border-radius: var(--ep-radius-md); padding: 16px; background: var(--ep-color-surface); color: var(--ep-color-action-primary); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.action-card strong, .action-card > span:not(.ui-badge) { display: block; }
.action-card > span:not(.ui-badge) { margin-top: 6px; color: var(--ep-color-text-secondary); font-size: .92rem; font-weight: 400; line-height: 1.45; }
.action-card--locked { display: grid; gap: 6px; }
.action-card--locked::after { content: "Bloqueado"; color: var(--ep-color-text-secondary); font-size: var(--ep-type-micro); font-weight: 600; }
