* { box-sizing: border-box; font-family: 'Segoe UI', Arial, sans-serif; }
body { margin:0; background:#f7f7f7; color:#222; padding-bottom:130px; }
header { background:#111; color:#fff; padding:20px; text-align:center; position:sticky; top:0; z-index:10; }
header h1 { margin:0; font-size:24px; }
header p { margin:5px 0 0; opacity:.7; font-size:13px; }
.cats { display:flex; gap:8px; overflow-x:auto; padding:12px; position:sticky; top:72px; background:#f7f7f7; }
.cats button { white-space:nowrap; padding:8px 16px; border-radius:20px; border:1px solid #ddd; background:#fff; cursor:pointer; }
.cats button.active { background:#111; color:#fff; }
.plat { background:#fff; margin:10px; padding:12px; border-radius:14px; display:flex; gap:12px; align-items:center; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.plat img { width:75px; height:75px; object-fit:cover; border-radius:10px; background:#eee; }
.plat-info { flex:1; }
.plat-info h3 { margin:0; font-size:16px; }
.plat-info p { margin:4px 0; font-size:13px; color:#666; }
.plat-info b { color:#e67e22; }
.btn-add { background:#25D366; color:#fff; border:none; padding:8px 14px; border-radius:20px; font-weight:bold; cursor:pointer; }
#panier { position:fixed; bottom:0; left:0; right:0; background:#fff; border-top:1px solid #ddd; padding:12px; max-height:55vh; overflow-y:auto; }
#panier input, #panier select { width:100%; padding:10px; margin:5px 0; border:1px solid #ddd; border-radius:8px; }
.btn-commander { width:100%; background:#111; color:#fff; padding:14px; border:none; border-radius:10px; font-size:16px; font-weight:bold; }
.pay-box { background:#fff3cd; padding:12px; border-radius:10px; margin-top:10px; font-size:14px; }
.resto-card { background:#fff; margin:12px; padding:16px; border-radius:14px; text-align:center; display:block; text-decoration:none; color:#111; }
.admin-wrap { max-width:800px; margin:20px auto; padding:20px; background:#fff; border-radius:12px; }
.admin-wrap input, .admin-wrap select, .admin-wrap textarea { width:100%; padding:10px; margin:6px 0; border:1px solid #ddd; border-radius:8px; }
.btn { padding:10px 16px; border:none; border-radius:8px; cursor:pointer; }
.btn-green { background:#25D366; color:#fff; }
.btn-red { background:#e74c3c; color:#fff; }
.btn-dark { background:#111; color:#fff; }
table { width:100%; border-collapse:collapse; } td,th { padding:8px; border-bottom:1px solid #eee; text-align:left; font-size:14px; }