:root{--p:#c62828;--s:#2e2a26;--bg:#faf7f2;--card:#fff;--txt:#26221e;--muted:#8a8178}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--txt);min-height:100vh}
header.top{position:sticky;top:0;z-index:50;background:var(--s);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
header.top img.logo{height:44px;border-radius:8px}
header.top h1{font-size:1.15rem}
header.top .tag{font-size:.75rem;opacity:.8}
.btn{border:none;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:600;cursor:pointer;background:var(--p);color:#fff;transition:.15s;min-height:44px}
.btn:active{transform:scale(.97)}
.btn.sec{background:#fff;color:var(--p);border:2px solid var(--p)}
.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.wrap{max-width:960px;margin:0 auto;padding:16px}
.banner{background:linear-gradient(135deg,var(--p),#8e1616);color:#fff;border-radius:16px;padding:28px 20px;margin:14px 0;text-align:center}
.cats{display:flex;gap:8px;overflow-x:auto;padding:8px 0;position:sticky;top:68px;background:var(--bg);z-index:40}
.cats button{white-space:nowrap;border:1px solid #ddd;background:#fff;border-radius:20px;padding:8px 16px;cursor:pointer}
.cats button.on{background:var(--p);color:#fff;border-color:var(--p)}
.prod{background:var(--card);border-radius:14px;padding:14px;margin:10px 0;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;gap:12px}
.prod img{width:86px;height:86px;object-fit:cover;border-radius:10px;background:#eee;flex-shrink:0}
.prod h3{font-size:1rem}
.prod .desc{font-size:.8rem;color:var(--muted);margin:4px 0}
.prod .price{font-weight:700;color:var(--p)}
.prod select,.prod input[type=text]{padding:8px;border:1px solid #ddd;border-radius:8px;width:100%;margin-top:6px;font-size:.9rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chips label{font-size:.78rem;border:1px solid #ddd;border-radius:14px;padding:5px 10px;cursor:pointer;user-select:none}
.chips input{display:none}
.chips input:checked+span{color:var(--p);font-weight:700}
.cartfab{position:fixed;bottom:16px;right:16px;z-index:60;border-radius:50px;padding:14px 22px;box-shadow:0 6px 20px rgba(0,0,0,.3);display:flex;gap:8px;align-items:center}
.drawer{position:fixed;inset:0;z-index:70;display:none}
.drawer.open{display:block}
.drawer .bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.drawer .panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:#fff;padding:18px;overflow-y:auto;animation:slide .2s}
@keyframes slide{from{transform:translateX(60px);opacity:0}}
.citem{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eee;font-size:.9rem}
input,textarea,select{font-size:16px}
.field{margin:10px 0}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}
.field input,.field textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px}
.row{display:flex;gap:8px}
.row>*{flex:1}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.kcard{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:5px solid var(--p)}
.kcard.late{border-left-color:#e65100;background:#fff8f0}
.kcard h3{font-size:.95rem}
.kcard .meta{font-size:.75rem;color:var(--muted);margin-bottom:6px}
.kcard .it{font-size:.85rem;padding:2px 0}
.kcard .obs{font-size:.8rem;color:#b71c1c;margin-top:4px}
.kcard .acts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.kcard .acts .btn{padding:8px 12px;font-size:.8rem;min-height:36px}
.statuspill{display:inline-block;font-size:.7rem;font-weight:700;border-radius:10px;padding:2px 8px;background:#eee}
table{width:100%;border-collapse:collapse;font-size:.85rem}
th,td{padding:8px;text-align:left;border-bottom:1px solid #eee}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#26221e;color:#fff;padding:12px 20px;border-radius:12px;z-index:99;font-size:.9rem;display:none}
.toast.err{background:#b71c1c}
.empty{text-align:center;color:var(--muted);padding:40px 0}
.tabs{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}
.tabs button{border:1px solid #ddd;background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:.85rem}
.tabs button.on{background:var(--p);color:#fff}
@media(max-width:560px){.prod img{width:64px;height:64px}.banner{padding:20px 14px}}
