/* SmartFoodRent v101 */
:root{--bg:#f6f7fb;--card:#fff;--text:#1f2a37;--muted:#6b7280;--pri:#0ea5e9;--ok:#16a34a;--warn:#f59e0b;--bad:#ef4444;}
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,'Sarabun',sans-serif;}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);}
a{color:inherit}
.container{max-width:1100px;margin:0 auto;padding:14px;}
.topbar{position:sticky;top:0;z-index:50;background:#ffffffcc;backdrop-filter: blur(8px);border-bottom:1px solid #e5e7eb;}
.topbar .row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;}
.brand{display:flex;gap:10px;align-items:center;}
.brand img{width:36px;height:36px;border-radius:10px;object-fit:cover;background:#e5e7eb;}
.brand .name{font-weight:800}
.pill{display:inline-flex;gap:6px;align-items:center;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;background:#fff;font-size:12px;color:var(--muted);}
.btn{border:0;border-radius:14px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:8px;}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.pri{background:var(--pri);color:#fff;}
.btn.ok{background:var(--ok);color:#fff;}
.btn.bad{background:var(--bad);color:#fff;}
.btn.ghost{background:#fff;border:1px solid #e5e7eb;color:#111827;}
.grid{display:grid;gap:12px;}
.grid.two{grid-template-columns:1fr 1fr;}
.grid.three{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:18px;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.04);}
.card h2{margin:0 0 8px;font-size:16px;}
.input{width:100%;padding:12px 12px;border:1px solid #d1d5db;border-radius:14px;outline:none;background:#fff;font-size:14px;}
.input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.15);}
.row{display:flex;gap:10px;align-items:center;}
.row.wrap{flex-wrap:wrap;}
.badge{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;}
.badge.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534;}
.badge.bad{border-color:#fecaca;background:#fef2f2;color:#991b1b;}
.badge.warn{border-color:#fde68a;background:#fffbeb;color:#92400e;}
.small{font-size:12px;color:var(--muted);}
.table{width:100%;border-collapse:collapse;}
.table th,.table td{padding:10px;border-bottom:1px solid #e5e7eb;font-size:14px;text-align:left;}
.table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.hr{height:1px;background:#e5e7eb;margin:12px 0;}
#toastWrap{position:fixed;right:14px;bottom:14px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:min(420px, calc(100vw - 28px));}
.toast{background:#111827;color:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 14px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);animation:toastIn .18s ease-out forwards;}
.toast.good{background:#064e3b;}
.toast.bad{background:#7f1d1d;}
.toast .t{font-weight:800;margin-bottom:4px;font-size:13px;}
.toast .m{font-size:13px;opacity:.92;line-height:1.25;}
@keyframes toastIn{to{opacity:1;transform:translateY(0)}}
@keyframes toastOut{to{opacity:0;transform:translateY(10px)}}
#modalWrap{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:9998;padding:18px;}
.modal{max-width:520px;width:100%;background:#fff;border-radius:22px;padding:16px;border:1px solid #e5e7eb;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.modal .head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;}
.modal .head .title{font-weight:900;}
.modal .x{border:0;background:#f3f4f6;border-radius:14px;padding:8px 10px;cursor:pointer;font-weight:900;}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}
.keypad button{padding:14px;border-radius:16px;border:1px solid #e5e7eb;background:#fff;font-size:18px;font-weight:900;cursor:pointer;}
.keypad button:active{transform:scale(.98)}
.keypad .wide{grid-column:span 2;}
