:root{--brand:#2b5d34;--muted:#666;--admin-gold:#ffd700;--chef-dark:#111;--date-red:#c00}

body{font-family:system-ui,Arial,sans-serif;background:#f7f6f3;margin:0;color:#222}
.safe-header{padding-top:env(safe-area-inset-top,16px);background:#f7f6f3;position:sticky;top:0;z-index:99;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.container{max-width:1050px;margin:0 auto;padding:0 16px}
.brand{font-weight:700;color:var(--brand);font-size:28px;margin-bottom:12px}
.main-buttons{display:flex;gap:10px;margin-bottom:12px}
.btn,.btn.alt,.cat-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;padding:8px 12px;border-radius:8px;font-weight:600;border:none}
.btn{background:var(--brand);color:#fff}
.btn.alt{background:#444;color:#fff}
.btn:hover,.btn.alt:hover,.cat-btn:hover{opacity:.85}
.category-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;z-index:10}
.cat-btn{background:#2b5d34;color:#fff;font-size:14px;padding:6px 10px;border-radius:8px;text-decoration:none}
.cat-btn:hover{background:#1f4524}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:12px}
.card{background:#fff;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:170px;object-fit:cover}
.card .content{padding:12px}
h2{margin:6px 0 12px}
form{background:#fff;padding:12px;border-radius:10px;box-shadow:0 6px 12px rgba(0,0,0,.04);margin-bottom:12px}
label{display:block;margin:8px 0 4px;font-weight:600}
input[type=text],input[type=password],textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #ddd}
.msgs{margin:12px 0}
.msgs .ok{background:#e6f8ee;padding:10px;border-radius:8px;color:#064b2b}
.msgs .err{background:#ffecec;padding:10px;border-radius:8px;color:#6b0b0b}
.recipe-detail{background:#fff;padding:12px;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.recipe-block{background:#fff3e6;padding:10px;border-radius:8px;margin-bottom:12px}
.admin-name{color:var(--admin-gold);font-weight:700;text-shadow:1px 1px 0 #000}
.chef-name{color:var(--chef-dark);font-weight:700}
.recipe-date{color:var(--date-red);font-weight:600;margin-top:4px}
footer{margin:30px 0 80px;text-align:center;color:var(--muted)}
@media(max-width:600px){.brand{font-size:20px}.card img{height:140px}}