.stm-inv-slot:empty { display: none; }
.stm-inv { margin: 18px 0 0; padding: 18px; border: 1px solid #E7E9EF; border-radius: 18px; background: #fff; text-align: left; font-size: 14px; color: #0F172A; box-sizing: border-box; font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; }
.stm-inv-head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid #EEF0F4; flex-wrap: wrap; row-gap: 10px; }
.stm-inv-ic { flex: none; box-sizing: border-box; width: 40px; height: 40px; padding: 10px; border-radius: 12px; background: #F1F3F7; color: #475569; }
.stm-inv-ttl { display: grid; gap: 1px; min-width: 0; flex: 0 1 auto; }
.stm-inv-ttl strong { font-size: 16px; font-weight: 700; }
.stm-inv-ttl span { font-size: 13px; color: #64748B; font-variant-numeric: tabular-nums; letter-spacing: .02em; overflow-wrap: anywhere; }
.stm-inv-meta { display: grid; justify-items: end; gap: 4px; margin-left: auto; text-align: right; }
.stm-inv-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px 4px 7px; border-radius: 999px; background: #E7F6EC; color: #15803D; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.stm-inv-pill-ic { width: 14px; height: 14px; }
.stm-inv-date { font-size: 12px; color: #64748B; }
.stm-inv-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px solid #F1F3F7; }
.stm-inv-row span { color: #64748B; flex: none; }
.stm-inv-row b { font-weight: 600; text-align: right; overflow-wrap: anywhere; min-width: 0; }
.stm-inv-row--disc b { color: #15803D; }
.stm-inv-row--pay b { display: inline-flex; }
.stm-inv-pay { display: inline-flex; align-items: center; }
.stm-inv-logo { display: block; height: 26px; width: auto; max-width: 110px; object-fit: contain; }
.stm-inv-total { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding-top: 14px; }
.stm-inv-total span { font-weight: 700; }
.stm-inv-total b { font-size: 20px; font-weight: 800; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
@media (max-width: 380px) { .stm-inv-meta { margin-left: 0; justify-items: start; text-align: left; flex-basis: 100%; } }
.stm-inv-ic, .stm-inv-pill-ic { display: block; }
.stm-inv-ic svg, .stm-inv-pill-ic svg { display: block; width: 100%; height: 100%; }
.stm-inv-mail { margin: 10px 2px 0; font-size: 12.5px; color: #64748B; text-align: left; }
