
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',sans-serif;background:#f7f7fb;color:#111}
header{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #eaeaea;position:sticky;top:0;z-index:10}
header .logo{height:36px;border-radius:8px}
header nav a,header nav button{margin:0 8px;text-decoration:none;color:#111;background:#f1f5f9;border:1px solid #e5e7eb;padding:6px 10px;border-radius:8px}
.container{padding:16px;max-width:1100px;margin:0 auto}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:800px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.card .content{padding:12px}
.btn{background:#0a4dff;color:#fff;border:none;padding:8px 12px;border-radius:10px;cursor:pointer}
.btn.secondary{background:#e5e7eb;color:#111}
.btn.warn{background:#ef4444;color:#fff}
.btn.full{grid-column:1/-1}
.product-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:1100px){.product-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.product-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.product-list{grid-template-columns:1fr}}
.product img{width:100%;height:180px;object-fit:cover;background:#f2f2f2}
.badge{display:inline-block;background:#eef2ff;color:#0a4dff;border:1px solid #c7d2fe;padding:2px 8px;border-radius:999px;font-size:12px}
.price{font-weight:700;font-size:18px;margin-top:6px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid #e5e7eb;padding:8px;text-align:left}
.action-bar{display:flex;gap:8px;margin-top:8px}
.slider{position:relative;height:240px;border-radius:12px;overflow:hidden;border:1px solid #eaeaea;background:#fff}
.slider img{width:100%;height:100%;object-fit:cover}
.slider .nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;width:100%;padding:0 8px}
.dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.dots span{width:8px;height:8px;border-radius:999px;background:#e5e7eb}
.dots .active{background:#0a4dff}
