.loyalty-wallet { font-size: var(--bp-fs-secondary); color: inherit; margin-bottom: var(--bp-space-3); }
.loyalty-wallet__summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; min-height: 44px; gap: var(--bp-space-1); }
.loyalty-wallet__available { font-weight: 600; }
.loyalty-wallet__total { grid-column: 3; text-align: right; opacity: .65; }
.loyalty-wallet .loyalty-wallet__reserve { display: flex; align-items: center; justify-content: center; gap: var(--bp-space-1); min-height: 44px; padding: 0; border: 0; border-radius: var(--bp-radius-sm); background: var(--bp-night-muted-a10); color: inherit; font: inherit; cursor: pointer; }
.loyalty-wallet__reserve:disabled { background: transparent; cursor: default; opacity: .65; }
.loyalty-wallet__reserve:focus-visible, .loyalty-wallet__cancel:focus-visible { outline: 2px solid #198754; outline-offset: 2px; }
.loyalty-wallet__chevron { width: 14px; height: 14px; flex-shrink: 0; opacity: .65; transition: transform .15s ease; }
.loyalty-wallet__chevron.is-open { transform: rotate(180deg); }
.loyalty-wallet__details { margin-top: var(--bp-space-2); padding: var(--bp-space-3); border: 1px solid var(--bp-night-muted-a35); border-radius: var(--bp-radius); background: var(--bp-night-muted-a10); }
.loyalty-wallet__row + .loyalty-wallet__row { margin-top: var(--bp-space-3); padding-top: var(--bp-space-3); border-top: 1px solid var(--bp-night-muted-a20); }
.loyalty-wallet__row-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--bp-space-2); }
.loyalty-wallet__row-head strong { font-weight: 600; overflow-wrap: anywhere; }
.loyalty-wallet__points { flex-shrink: 0; font-weight: 600; }
.loyalty-wallet__item { display: grid; gap: var(--bp-space-1); margin-top: var(--bp-space-1); }
.loyalty-wallet__context, .loyalty-wallet__reference { display: block; opacity: .65; }
.loyalty-wallet .loyalty-wallet__reason { margin: var(--bp-space-1) 0 var(--bp-space-2); line-height: 1.5; opacity: .7; }
.loyalty-wallet .loyalty-wallet__cancel { min-height: 44px; padding: 0 var(--bp-space-3); border: 1px solid rgba(148, 163, 184, 0.45); border-radius: var(--bp-radius-sm); background: transparent; color: inherit; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
@media (hover: hover) and (pointer: fine) { .loyalty-wallet__cancel:hover { background: var(--bp-night-muted-a10); } }
.loyalty-wallet__cancel:disabled { opacity: .6; cursor: wait; }
.bp-skeleton.loyalty-wallet__skeleton { height: 44px; border-radius: var(--bp-radius-sm); }
