.list-card[data-purchase-id]{cursor:pointer}.list-card[data-purchase-id]:hover{border-color:#b8d8f4}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(7,31,51,.55);display:flex;align-items:flex-end;justify-content:center;padding-top:40px}.modal-backdrop[hidden]{display:none}.purchase-modal{width:min(500px,100%);max-height:90vh;overflow:hidden;background:var(--bg);border-radius:26px 26px 0 0;box-shadow:0 -20px 50px rgba(7,31,51,.25);animation:modal-up .22s ease}.modal-handle{width:42px;height:4px;border-radius:5px;background:#c9d8e4;margin:10px auto 4px}.modal-header{height:auto;margin:0;padding:12px 20px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--bg);color:var(--navy)}.modal-header small{color:var(--blue);font-size:9px;font-weight:700;letter-spacing:1.2px}.modal-header h2{font-size:21px;margin:3px 0 0}.modal-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-size:18px}.modal-body{max-height:calc(90vh - 86px);overflow:auto;padding:18px 20px 28px}.purchase-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.purchase-summary article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px}.purchase-summary small,.purchase-item small{display:block;color:var(--muted);font-size:9px}.purchase-summary b{display:block;margin-top:3px;font-family:var(--font-title);font-size:14px}.purchase-items{display:grid;gap:10px}.purchase-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.purchase-item-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#eaf4ff;color:var(--blue);font-size:18px}.purchase-item-copy{min-width:0;flex:1}.purchase-item-copy b{display:block;font-size:12px}.purchase-item-copy p{margin:3px 0 0;color:var(--muted);font-size:10px}.generated-badge{flex:0 0 auto;text-align:center;color:var(--blue)}.generated-badge b{font-family:var(--font-title);font-size:20px}.generated-badge small{font-size:8px}.combo-card{margin-top:12px;background:#eaf4ff;border:1px solid #cfe5fa;border-radius:15px;padding:13px;color:var(--blue);font-size:11px}.modal-loading{text-align:center;color:var(--muted);padding:42px 10px}@keyframes modal-up{from{transform:translateY(24px);opacity:.5}to{transform:none;opacity:1}}
