:root{
  --navy:#2f3e8f; --navy2:#3b4fa0; --navy-dark:#283575;
  --red:#e23b3b; --red2:#d12b2b; --green:#1f9d57; --green2:#178a4a;
  --orange:#f08a24; --teal:#2fa3a3; --purple:#7a3fbf; --blue:#2f6fe8;
  --bg:#eef1f6; --card:#fff; --line:#e3e7ef; --txt:#2b3245; --muted:#7a829a;
  --shadow:0 1px 3px rgba(20,30,70,.08),0 1px 2px rgba(20,30,70,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:14px}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}

/* ---------- Top bar ---------- */
.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:8px 16px;position:sticky;top:0;z-index:50}
.brand{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px}
.brand .pill{background:#fff;color:var(--red);padding:2px 9px;border-radius:6px;font-weight:800;font-size:12px}
.brand .pill2{background:#fff;color:var(--navy);padding:2px 9px;border-radius:6px;font-weight:700;font-size:12px}
.topbar .spacer{flex:1}
.topbar .userbox{display:flex;align-items:center;gap:8px;font-size:12px}
.topbar .avatar{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:800}
.topbar .uname{font-weight:700;line-height:1.1}.topbar .urole{opacity:.75;font-size:10px}
.btn-logout{background:var(--red);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-weight:700}
.bell{position:relative}.bell .dot{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;border-radius:50%;font-size:10px;min-width:16px;height:16px;display:grid;place-items:center;font-weight:700}

/* ---------- Tabs nav ---------- */
.tabs{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:2px;padding:0 8px;overflow-x:auto}
.tabs a{padding:11px 16px;color:#4a5270;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent;display:flex;align-items:center;gap:7px}
.tabs a .ic{font-size:15px}
.tabs a:hover{background:#f5f7fb}
.tabs a.active{color:var(--navy);border-bottom-color:var(--red);background:#fff}

/* ---------- Layout ---------- */
.wrap{padding:16px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;margin-bottom:16px}
.stat{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);border-left:5px solid var(--navy2)}
.stat .lbl{color:var(--muted);font-size:12px;margin-bottom:6px}
.stat .val{font-size:24px;font-weight:800;color:#222b45}
.stat.green{border-left-color:var(--green)} .stat.red{border-left-color:var(--red)}
.stat.orange{border-left-color:var(--orange)} .stat.blue{border-left-color:var(--blue)}
.stat.teal{border-left-color:var(--teal)} .stat.purple{border-left-color:var(--purple)}

.panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.panels{grid-template-columns:1fr}}
.panel{background:#fff;border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.panel .head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-weight:800;color:#2b3464;border-bottom:1px solid var(--line)}
.panel .head .sub{font-size:12px;color:var(--muted);font-weight:600}
.panel .body{padding:6px 0}

.list-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid #f1f3f8}
.list-row:last-child{border-bottom:none}
.list-row .lead{width:9px;height:9px;border-radius:50%;background:var(--red);flex:none}
.list-row .lead.amber{background:#f0a818}.list-row .lead.green{background:var(--green)}
.list-row .info{flex:1}.list-row .info .t{font-weight:700}.list-row .info .s{font-size:12px;color:var(--muted)}
.list-row .amt{font-weight:800;margin-right:8px}
.over{color:var(--red);font-weight:700}

/* ---------- Tables ---------- */
.tbl{width:100%;border-collapse:collapse}
.tbl th{background:var(--red);color:#fff;text-align:left;padding:10px 14px;font-size:13px}
.tbl td{padding:10px 14px;border-bottom:1px solid #f1f3f8}
.tbl tr:hover td{background:#fafbfe}
.tbl .empty{text-align:center;color:var(--muted);padding:26px}

/* ---------- Buttons & badges ---------- */
.btn{border:none;border-radius:7px;padding:8px 14px;font-weight:700;color:#fff;background:var(--navy2)}
.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.orange{background:var(--orange)}
.btn.gray{background:#e4e8f1;color:#3a4260}.btn.sm{padding:5px 10px;font-size:12px}
.btn:hover{filter:brightness(.95)}
.badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;display:inline-block}
.b-paid{background:#dff5e8;color:#178a4a}.b-partial{background:#fff2d6;color:#b9791b}.b-pending{background:#fde2e2;color:#c62828}
.b-open{background:#e2ecfd;color:#2557c4}.b-preparing{background:#fff2d6;color:#b9791b}.b-ready{background:#e3fbef;color:#178a4a}.b-completed{background:#e8eaf0;color:#5a6280}.b-cancelled{background:#fde2e2;color:#c62828}
.tag{background:#eef1f8;color:#4a5478;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}

/* ---------- Forms ---------- */
label{display:block;font-size:12px;color:var(--muted);margin:8px 0 4px;font-weight:600}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid #d6dbe8;border-radius:7px;font-size:14px;background:#fff;color:var(--txt)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy2);box-shadow:0 0 0 3px rgba(59,79,160,.12)}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.toolbar input,.toolbar select{width:auto;min-width:150px}

/* ---------- POS ---------- */
.pos{display:grid;grid-template-columns:1fr 380px;gap:14px;height:calc(100vh - 104px)}
@media(max-width:1050px){.pos{grid-template-columns:1fr}}
.pos-left{background:#fff;border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.cat-bar{display:flex;gap:8px;padding:12px;overflow-x:auto;border-bottom:1px solid var(--line);flex:none}
.cat-chip{padding:8px 14px;border-radius:20px;background:#eef1f8;color:#3a4260;font-weight:700;white-space:nowrap;border:2px solid transparent;font-size:13px}
.cat-chip.active{color:#fff}
.search-bar{padding:10px 12px;border-bottom:1px solid var(--line);flex:none}
.items{padding:12px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;align-content:start}
.item-card{background:#fff;border:1px solid #e6eaf3;border-radius:10px;padding:12px;cursor:pointer;transition:.12s;border-top:4px solid var(--navy2)}
.item-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(30,40,90,.12)}
.item-card .nm{font-weight:700;font-size:13px;line-height:1.25;min-height:34px}
.item-card .ar{font-size:11px;color:var(--muted);direction:rtl;text-align:right}
.item-card .pr{margin-top:7px;font-weight:800;color:var(--green)}

/* cart */
.cart{background:#fff;border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.cart .ctop{padding:12px;border-bottom:1px solid var(--line);flex:none}
.types{display:flex;gap:6px;margin-bottom:8px}
.type-btn{flex:1;padding:8px;border-radius:8px;background:#eef1f8;border:2px solid transparent;font-weight:700;color:#3a4260;font-size:12px}
.type-btn.active{background:var(--navy2);color:#fff}
.cart-items{flex:1;overflow:auto;padding:6px 12px}
.ci{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f1f3f8}
.ci .nm{flex:1;font-weight:600;font-size:13px}
.qtybox{display:flex;align-items:center;gap:6px}
.qtybox button{width:24px;height:24px;border-radius:6px;border:none;background:#e4e8f1;color:#333;font-weight:800}
.qtybox span{min-width:20px;text-align:center;font-weight:700}
.ci .lt{font-weight:700;min-width:62px;text-align:right}
.ci .rm{color:var(--red);background:none;border:none;font-size:16px}
.cart .totals{padding:12px;border-top:1px solid var(--line);flex:none}
.tline{display:flex;justify-content:space-between;padding:3px 0;font-size:13px}
.tline.grand{font-size:18px;font-weight:800;border-top:1px dashed #cfd5e6;margin-top:6px;padding-top:8px}
.cart .actions{display:flex;gap:8px;padding:0 12px 12px}
.cart .actions .btn{flex:1}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(20,28,60,.5);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:12px;width:100%;max-width:520px;max-height:92vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.modal .mhead{padding:14px 18px;border-bottom:1px solid var(--line);font-weight:800;font-size:16px;display:flex;justify-content:space-between;align-items:center}
.modal .mbody{padding:16px 18px}.modal .mfoot{padding:14px 18px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}
.x{background:none;border:none;font-size:22px;color:var(--muted);cursor:pointer}

.notice{padding:40px;text-align:center;color:var(--muted)}
.flash{position:fixed;bottom:20px;right:20px;background:#222b45;color:#fff;padding:12px 18px;border-radius:8px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transform:translateY(10px);transition:.25s}
.flash.show{opacity:1;transform:none}.flash.err{background:var(--red2)}
.muted{color:var(--muted)}.right{text-align:right}.center{text-align:center}
.mini{font-size:12px}
