:root{
  --navy:#1f3864; --navy2:#2e5496; --gold:#c9a227; --green:#2e9e5b;
  --red:#c0392b; --bg:#f4f6fa; --card:#fff; --line:#e3e8f0; --muted:#7a8699;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Tahoma,system-ui,sans-serif;background:var(--bg);
  color:#1c2331;direction:rtl}
a{color:var(--navy2);text-decoration:none}
.topbar{background:var(--navy);color:#fff;padding:10px 18px;display:flex;
  align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.topbar .brand{font-weight:700;font-size:18px;letter-spacing:.5px}
.topbar .brand span{color:var(--gold)}
.topbar .right{display:flex;align-items:center;gap:14px;font-size:13px}
.topbar a.btn,.topbar button{background:rgba(255,255,255,.15);color:#fff;border:none;
  padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}
.topbar a.btn:hover,.topbar button:hover{background:rgba(255,255,255,.28)}
.wrap{max-width:1200px;margin:18px auto;padding:0 14px}

/* login */
.login-box{max-width:360px;margin:8vh auto;background:var(--card);padding:30px;
  border-radius:14px;box-shadow:0 10px 40px rgba(31,56,100,.15)}
.login-box h1{margin:0 0 4px;color:var(--navy);font-size:22px;text-align:center}
.login-box h1 span{color:var(--gold)}
.login-box p.sub{text-align:center;color:var(--muted);margin:0 0 22px;font-size:13px}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px;color:#33415c}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;
  font-size:14px;font-family:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy2);
  box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.btn-primary{background:var(--navy);color:#fff;border:none;padding:11px;border-radius:8px;
  width:100%;font-size:15px;font-weight:600;cursor:pointer;margin-top:18px}
.btn-primary:hover{background:var(--navy2)}
.err{background:#fdecea;color:var(--red);padding:9px 12px;border-radius:8px;font-size:13px;
  margin-top:12px;text-align:center}

/* order page layout */
.cols{display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start}
.panel{background:var(--card);border-radius:12px;box-shadow:0 2px 10px rgba(31,56,100,.06);
  padding:16px;margin-bottom:16px}
.panel h2{margin:0 0 12px;font-size:15px;color:var(--navy);border-bottom:2px solid var(--line);
  padding-bottom:8px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>div{flex:1;min-width:120px}
.toolbar{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.toolbar input[type=search]{flex:1;min-width:160px}
.cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cat-chip{background:#eef2f9;border:1px solid var(--line);padding:5px 12px;border-radius:20px;
  font-size:12.5px;cursor:pointer;white-space:nowrap}
.cat-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;
  max-height:60vh;overflow:auto}
.item{border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;
  transition:.12s;background:#fff}
.item:hover{border-color:var(--navy2);box-shadow:0 3px 10px rgba(46,84,150,.12);transform:translateY(-1px)}
.item .nm{font-size:13px;font-weight:600;line-height:1.35;min-height:36px}
.item .en{font-size:11px;color:var(--muted)}
.item .pr{margin-top:6px;color:var(--navy);font-weight:700;font-size:14px}
.item .cat{font-size:10px;color:var(--gold);font-weight:600}

/* cart */
.cart-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line)}
.cart-item .ci-nm{flex:1;font-size:13px}
.cart-item .ci-pr{font-size:12px;color:var(--muted)}
.qty{display:flex;align-items:center;gap:4px}
.qty button{width:26px;height:26px;border:1px solid var(--line);background:#f3f5f9;border-radius:6px;
  cursor:pointer;font-size:16px;line-height:1}
.qty span{min-width:22px;text-align:center;font-weight:600}
.ci-x{color:var(--red);cursor:pointer;font-weight:700;padding:2px 6px}
.totes{margin-top:12px;font-size:14px}
.totes .t-row{display:flex;justify-content:space-between;padding:4px 0}
.totes .grand{font-size:18px;font-weight:700;color:var(--navy);border-top:2px solid var(--line);
  margin-top:6px;padding-top:8px}
.muted{color:var(--muted);font-size:12px}
.empty{color:var(--muted);text-align:center;padding:24px 0;font-size:13px}
.warn{background:#fff7e6;color:#9a6700;border:1px solid #f0d089;padding:8px 10px;
  border-radius:8px;font-size:12.5px;margin-top:8px}

.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg label{flex:1;margin:0;text-align:center;padding:9px;cursor:pointer;font-size:14px;background:#fff}
.seg input{display:none}
.seg input:checked+span{background:var(--navy);color:#fff;display:block;margin:-9px;padding:9px}
.seg label span{display:block}

/* branch dashboard */
.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.ocard{background:var(--card);border-radius:12px;box-shadow:0 2px 10px rgba(31,56,100,.07);
  padding:14px;border-top:4px solid var(--navy2)}
.ocard.st-جديد{border-top-color:var(--red)}
.ocard.st-قيد.التحضير{border-top-color:var(--gold)}
.ocard h3{margin:0 0 4px;font-size:15px;color:var(--navy);display:flex;justify-content:space-between}
.badge{font-size:11px;padding:3px 9px;border-radius:20px;background:#eef2f9;color:#33415c;font-weight:600}
.badge.delivery{background:#e7f4ec;color:var(--green)}
.badge.pickup{background:#eaf0fb;color:var(--navy2)}
.ocard .meta{font-size:12.5px;color:#445;line-height:1.7;margin:6px 0}
.ocard ul{margin:8px 0;font-size:13px;list-style:none;padding:0}
.ocard li{padding:3px 0;border-bottom:1px dashed var(--line)}
.ocard .tot{font-weight:700;color:var(--navy);font-size:15px;margin-top:8px}
.statusbar{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.statusbar button{font-size:11.5px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;
  background:#f5f7fb;cursor:pointer}
.statusbar button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.flash{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);
  color:#fff;padding:12px 22px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.2);
  font-size:14px;z-index:99;opacity:0;transition:.3s;pointer-events:none}
.flash.show{opacity:1}
.wa-btn{display:inline-block;background:#25d366;color:#fff;padding:10px 16px;border-radius:8px;
  font-weight:600;margin-top:10px}
@media(max-width:820px){.cols{grid-template-columns:1fr}}
