.sf-voucher{border-bottom:1px dashed var(--line);gap:6px;padding-block:4px 8px;display:grid}.sf-voucher__label{font-size:.88rem;font-weight:700}.sf-voucher__row{gap:8px;min-width:0;display:flex}.sf-voucher__input{border:1.5px solid var(--line-strong,var(--line));border-radius:var(--radius-btn,var(--r-sm,var(--radius-sm)));background:var(--surface);min-width:0;min-height:40px;color:var(--ink);font:inherit;letter-spacing:.06em;text-transform:uppercase;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;flex:auto;padding:0 12px;font-size:.95rem;font-weight:600}.sf-voucher__input::placeholder{color:var(--ink-muted);letter-spacing:0;text-transform:none;font-weight:500}.sf-voucher__input:focus{border-color:var(--samudra);box-shadow:0 0 0 3px var(--samudra-soft);outline:none}.sf-voucher__input[aria-invalid=true]{border-color:var(--danger)}.sf-voucher__row .sf-btn{flex:none}.sf-voucher__error{color:var(--danger);animation:sf-voucher-in var(--duration-base,.2s) ease both;font-size:.86rem}.sf-voucher--on{border:1px dashed var(--success);border-radius:var(--radius-md);background:var(--success-soft);color:var(--ink);animation:sf-voucher-in var(--duration-base,.2s) ease both;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px}.sf-voucher--on.is-pending{border-color:var(--warning);background:var(--warning-soft)}.sf-voucher__tag{background:var(--surface-raised);width:34px;height:34px;color:var(--success);border-radius:50%;place-items:center;display:grid}.is-pending .sf-voucher__tag{color:var(--warning)}.sf-voucher__body{min-width:0;display:grid}.sf-voucher__body strong{letter-spacing:.06em;overflow-wrap:anywhere}.sf-voucher__body small{color:var(--ink-muted);overflow-wrap:anywhere;font-size:.84rem}.sf-voucher__x{min-height:36px;color:var(--ink-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:.88rem;font-weight:600;text-decoration:underline}.sf-voucher__x:hover{color:var(--danger)}.sf-summary__row--save{color:var(--success);font-weight:600}@keyframes sf-voucher-in{0%{opacity:0;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.sf-voucher--on,.sf-voucher__error{animation:none}.sf-voucher__input{transition:none}}
