/* Minimal CSS */
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin:0; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:10px 16px; background:#0b3d2e; color:#fff; }
.topbar a:not(.credit-pill) { color:#fff; margin-left:12px; text-decoration:none; }

.brand a { font-weight:700; }
.container { padding: 16px; }
.grid { display:grid; grid-template-columns: 240px 1fr 280px; gap:16px; }
.card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:12px; box-shadow:0 1px 2px rgba(0,0,0,0.04); }
.shop-list, .product-list { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap:12px; }
.badge { display:inline-block; padding:2px 8px; border-radius:9999px; background:#eef2ff; }
.btn { display:inline-block; padding:8px 12px; border:1px solid #0b3d2e; color:#0b3d2e; border-radius:8px; text-decoration:none; }
.btn-primary { background:#0b3d2e; color:#fff; }
.input, select, textarea { width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:8px; }
.table { width:100%; border-collapse: collapse; }
.table th,.table td { border-bottom:1px solid #eee; padding:8px; text-align:left; }
.sidebar { position:sticky; top:8px; }
.product-image { width:100%; height:160px; object-fit:cover; border-radius:8px; background:#f3f4f6; }
.banner { min-height:200px; }
.footer { padding:12px 16px; color:#64748b; border-top:1px solid #e5e7eb; }
.notice { padding:10px; background:#fff7ed; border:1px solid #fdba74; color:#7c2d12; border-radius:8px; }
.success { padding:10px; background:#ecfdf5; border:1px solid #6ee7b7; color:#065f46; border-radius:8px; }
