/* Minimal custom CSS (works with Tailwind CDN, no @apply) */
.card { border: 1px solid rgb(226 232 240); background: #fff; border-radius: 1rem; padding: 1.5rem; box-shadow: 0 10px 30px -10px rgba(2,6,23,.15); }
.icon { display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:.75rem; background:#ecfdf5; }
.title { margin-top:.75rem; font-weight:600; font-size:1rem; color:#0f172a; }
.body { margin-top:.25rem; color:#475569; font-size:.95rem; line-height:1.5; }
.price { font-size:.9rem; color:#475569; }

.tag { display:inline-flex; align-items:center; gap:.25rem; padding:.25rem .5rem; border-radius:9999px; font-size:.75rem; color:#065f46; background:#d1fae5; }
.chip { display:inline-flex; align-items:center; padding:.35rem .6rem; border-radius:9999px; background:#f1f5f9; color:#0f172a; border:1px solid #e2e8f0; }

.mini { display:flex; gap:.75rem; align-items:flex-start; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; padding:1rem; }
.mini-icon { display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:.75rem; }

.check { position:relative; padding-left:1.25rem; }
.check::before { content:""; position:absolute; left:0; top:.2rem; width:.8rem; height:.8rem; border-radius:.2rem; background:#ecfdf5; box-shadow: inset 0 0 0 2px #059669; }

.label { display:block; font-size:.9rem; font-weight:500; color:#0f172a; }
.input { width:100%; border:1px solid #e2e8f0; border-radius: .75rem; padding:.6rem .75rem; color:#0f172a; background:#fff; box-shadow:0 1px 1px rgba(2,6,23,.03); }
.input:focus-visible { outline:2px solid #059669; outline-offset:2px; }

details[open] summary .chev { transform: rotate(45deg); }
.chev { display:inline-block; color:#64748b; transition: transform .2s ease; }
