:root{
  --brand:#b91c1c;
  --brand-dark:#7f1d1d;
  --ok:#16a34a;
  --warn:#f59e0b;
  --ink:#1f2937;
}
*{ -webkit-tap-highlight-color: transparent; }
body{ background:#f3f4f6; color:var(--ink); padding-bottom:70px; }
body.page-kitchen{ background:#111827; color:#f9fafb; }

.app-navbar{ background:var(--brand); }
.app-navbar .navbar-brand{ font-weight:700; font-size:1.05rem; }

/* Amharic font support */
html[data-lang="am"] body{ font-family:"Century Gothic",system-ui,sans-serif; }

/* ---------- Login ---------- */
.login-wrap{ min-height:80vh; display:flex; align-items:center; justify-content:center; }
.login-card{ width:100%; max-width:380px; border:none; border-radius:1rem; }
/* .login-logo{ width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:2rem; } */

/* ---------- Waiter table grid ---------- */
.table-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:.5rem; }
.table-cell{ border:none; border-radius:.75rem; padding:.6rem .3rem; text-align:center; cursor:pointer;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); transition:transform .05s; position:relative; }
.table-cell:active{ transform:scale(.96); }
.table-cell .tno{ font-size:1.4rem; font-weight:700; line-height:1; }
.table-cell .tinfo{ font-size:.7rem; color:#6b7280; }
.table-cell.free{ border-bottom:4px solid #d1d5db; }
.table-cell.occupied{ border-bottom:4px solid var(--brand); }
.table-cell.mine{ background:#fef2f2; }
.table-cell.hasready{ border-bottom:4px solid var(--ok); animation:pulse 1.2s infinite; }
.table-cell .dot{ position:absolute; top:6px; right:8px; width:9px;height:9px;border-radius:50%; }
.dot.ready{ background:var(--ok); } .dot.pay{ background:var(--warn); }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(22,163,74,.4);} 50%{ box-shadow:0 0 0 6px rgba(22,163,74,0);} }

/* ---------- Menu / cart ---------- */
.cat-tabs{ display:flex; gap:.3rem; overflow-x:auto; padding-bottom:.25rem; }
.cat-tabs .cat-btn{ white-space:nowrap; border:1px solid var(--brand); color:var(--brand);
  background:#fff; border-radius:2rem; padding:.25rem .8rem; font-size:.85rem; }
.cat-tabs .cat-btn.active{ background:var(--brand); color:#fff; }
.menu-list{ max-height:38vh; overflow-y:auto; }
.menu-row{ display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.5rem .25rem; border-bottom:1px solid #f0f0f0; }
.menu-row .mi-name{ font-weight:600; font-size:.95rem; }
.menu-row .mi-price{ color:#6b7280; font-size:.8rem; }
.qty-ctrl{ display:flex; align-items:center; gap:.3rem; }
.qty-ctrl button{ width:32px;height:32px;border-radius:50%;border:1px solid var(--brand);
  background:#fff;color:var(--brand);font-weight:700;line-height:1; }
.qty-ctrl .qv{ min-width:22px; text-align:center; font-weight:700; }

.cart-panel{ background:#fff; border-radius:.75rem; padding:.75rem; box-shadow:0 1px 4px rgba(0,0,0,.1); }
.cart-header{ font-weight:700; margin-bottom:.5rem; }
.cart-line{ display:flex; justify-content:space-between; font-size:.9rem; padding:.2rem 0; }
.cart-total{ font-weight:700; border-top:1px solid #eee; margin-top:.4rem; padding-top:.4rem; margin-bottom:.6rem; }

/* existing tab orders */
.order-card{ background:#fff; border-radius:.6rem; padding:.6rem; margin-bottom:.5rem; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.order-card .oc-head{ display:flex; justify-content:space-between; align-items:center; font-size:.85rem; }
.badge-pending{ background:#6b7280; } .badge-preparing{ background:var(--warn); color:#111; }
.badge-ready{ background:var(--ok); } .badge-served{ background:#3b82f6; } .badge-cancelled{ background:#9ca3af; }

/* ---------- Kitchen ---------- */
.kitchen-board{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:.75rem; }
.ticket{ background:#1f2937; border:1px solid #374151; border-radius:.6rem; overflow:hidden; }
.ticket.pending{ border-color:#9ca3af; }
.ticket.preparing{ border-color:var(--warn); }
.ticket.ready{ border-color:var(--ok); }
.ticket .tk-head{ padding:.5rem .7rem; display:flex; justify-content:space-between; align-items:center;
  font-weight:700; background:#111827; }
.ticket.pending .tk-head{ background:#374151; }
.ticket.preparing .tk-head{ background:#78350f; }
.ticket.ready .tk-head{ background:#14532d; }
.ticket .tk-table{ font-size:1.2rem; }
.ticket .tk-time{ font-size:.75rem; color:#d1d5db; font-weight:400; }
.ticket .tk-items{ padding:.5rem .7rem; }
.tk-item{ display:flex; justify-content:space-between; padding:.15rem 0; font-size:.95rem; }
.tk-item .q{ color:var(--warn); font-weight:700; margin-right:.4rem; }
.tk-item .note{ display:block; font-size:.75rem; color:#9ca3af; }
.ticket .tk-actions{ padding:.5rem .7rem; display:flex; gap:.4rem; }
.ticket .tk-actions .btn{ flex:1; }

/* ---------- Admin ---------- */
.admin-item{ display:flex; justify-content:space-between; align-items:center; background:#fff;
  padding:.55rem .7rem; border-radius:.5rem; margin-bottom:.4rem; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.admin-item .ai-name{ font-weight:600; }
.admin-item .ai-cat{ font-size:.75rem; color:#6b7280; }
.admin-table-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.5rem; }
.assign-cell{ background:#fff; border-radius:.5rem; padding:.5rem; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.assign-cell .at-no{ font-weight:700; }
.report-card{ background:#fff; border-radius:.6rem; padding:.75rem; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.report-card .rc-val{ font-size:1.4rem; font-weight:700; color:var(--brand); }
.report-card .rc-lbl{ font-size:.75rem; color:#6b7280; }

/* ---------- Install bar ---------- */
.install-bar{ position:fixed; left:0; right:0; bottom:0; background:var(--brand-dark); color:#fff;
  padding:.6rem 1rem; display:flex; align-items:center; gap:.5rem; z-index:1090; }
.install-bar span{ flex:1; font-size:.9rem; }

.badge{ font-weight:600; }
.text-brand{ color:var(--brand); }
