:root{
  --radius-control:15px;
  --radius-card:21px;
  --radius-panel:26px;
  --radius-pill:999px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select,
textarea{
  border-radius:var(--radius-control) !important;
}

input[type="color"]{border-radius:12px}

.button,
button.button,
.button-primary,
.button-secondary,
.trial-next,
.trial-submit,
.owner-button-primary,
.owner-open-button,
.vl-button,
.login-v2 [type="submit"],
.customer-v2 [type="submit"]{
  border-radius:var(--radius-pill);
}

.search-input,
.filter-chip,
.period,
.badge,
.trial-quick-rewards button,
.trial-palette{
  border-radius:var(--radius-pill);
}

.workspace,
.help-box,
.metric,
.panel,
.business-card,
.table-wrap,
.notice,
.empty-state,
.loyalty-card,
.wallet-pass,
.wallet-device,
.wallet-phone,
.owner-panel,
.owner-banner,
.settings-card,
.stat-card,
.customer-row,
.product-card,
.pricing-card,
.feature-card,
.faq-item,
.modal,
.dialog,
.auth-card,
.login-card,
.form-panel,
.customer-card,
.owner-card,
.owner-ticket,
.invite-card,
.onboarding-pause-card,
.trial-form-panel,
.trial-advanced,
.trial-mobile-preview-slot,
.owner-invite-card,
.owner-new-ticket{
  border-radius:var(--radius-card);
}

/* Reuse the same softer shape for page-specific panels and cards. */
:where(main, .vuelve-landing, .trial-onboarding, .owner-layout) :where(
  article,
  [class*="-card"],
  [class*="_card"],
  [class*="-panel"],
  [class*="_panel"],
  [class*="-notice"],
  [class*="-banner"]
){
  border-radius:var(--radius-card);
}

.nav-item,
.nav-group-toggle,
.workspace-avatar,
.metric-icon,
.business-logo,
.trial-industry,
.trial-counter,
.trial-safe-note,
.trial-error,
.trial-consent,
.trial-advanced>summary,
.owner-ticket-message,
.invite-identity,
.login-v2 .industry-strip>div{
  border-radius:15px;
}

.vuelve-landing .vl-button{border-radius:var(--radius-pill)}
.loyalty-card,
.card-layout-editorial,
.card-layout-minimal,
.card-layout-bold,
.wallet-pass{border-radius:var(--radius-card)!important}
.vuelve-landing .vl-step-art,
.vuelve-landing .vl-plan,
.vuelve-landing .vl-ledger,
.vuelve-landing .vl-pass,
.vuelve-landing .vl-card-art>div,
.vuelve-landing .vl-qr-row,
.vuelve-landing .vl-cafe-table{
  border-radius:var(--radius-panel);
}

@media(max-width:700px){
  :root{--radius-control:14px;--radius-card:19px;--radius-panel:23px}
  .trial-mobile-preview-slot .trial-preview>.loyalty-card{border-radius:19px!important}
}
