:root{--primary: #5F6844;--primary-dark: #3F4630;--secondary: #6B8E3D;--accent: #A76821;--accent-light: #E7AD63;--brand-bg: #E7DABA;--bg: #F4EFE2;--surface: #FFFDF7;--line: #E7DABA;--soft: #EFE5CC;--ok-soft: #E9EDDC;--text: #2F3423;--muted: #6B6A55;--danger: #B3402A;--danger-soft: #FBEAE5;--font: Tajawal, system-ui, sans-serif;--r: 14px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--primary)}:focus-visible{outline:3px solid var(--accent-light);outline-offset:2px}.center-screen{min-height:100%;display:grid;place-items:center;padding:16px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.pad{padding:16px}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.ltr{direction:ltr;unicode-bidi:isolate}.btn{height:46px;padding:0 18px;border-radius:12px;border:1.5px solid var(--primary);background:var(--surface);color:var(--primary);font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn.primary{background:var(--primary);color:#fff}.btn.big{height:58px;font-size:18px;border-radius:14px}.btn.ghost{border-color:var(--line);color:var(--text)}.btn.danger{border-color:var(--danger);color:var(--danger)}.chip{height:40px;padding:0 14px;border-radius:20px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:14px}.chip.on{border-color:var(--primary);background:var(--ok-soft);color:var(--primary-dark);font-weight:800}.input{height:46px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;width:100%;font-size:15px}.label{font-size:13px;color:var(--muted);font-weight:600}.badge{height:26px;padding:0 10px;border-radius:13px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;white-space:nowrap}.error{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}.topbar{height:68px;flex-shrink:0;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar .logo{height:40px;width:auto;display:block}.topbar .sep{width:1px;height:30px;background:var(--line)}.screen{height:100%;display:flex;flex-direction:column}.bar{height:8px;border-radius:4px;background:var(--soft);position:relative;overflow:hidden}.bar>i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--secondary);border-radius:4px}.bar>b{position:absolute;inset-block:0;width:2px;background:var(--text);opacity:.35}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.tile{padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:6px;min-height:130px}.tile:hover{border-color:var(--primary)}.tile b{font-size:20px;color:var(--primary)}.pos{flex:1;min-height:0;display:grid;grid-template-columns:1fr 380px}.pos main{min-width:0;padding:18px;overflow:auto}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.product{padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;text-align:start}.product:hover{border-color:var(--primary)}.product .img{height:140px;border-radius:10px;background:var(--soft);display:grid;place-items:center;overflow:hidden}.product .img img{height:130px;width:auto}.product .name{font-size:17px;font-weight:800;padding:0 4px}.product .price{font-size:14px;color:var(--accent);font-weight:800;padding:0 4px}.cart{background:var(--surface);border-inline-start:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.cart .lines{flex:1;min-height:0;overflow:auto;padding:4px 18px}.cart .line{padding:10px 0;border-bottom:1px solid var(--soft);display:flex;gap:10px;align-items:flex-start}.qty{min-width:28px;height:28px;border-radius:8px;background:var(--primary);color:var(--brand-bg);display:grid;place-items:center;font-weight:800;font-size:14px}.totals{padding:14px 18px 18px;border-top:1px solid var(--soft);display:flex;flex-direction:column;gap:8px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e201473;display:grid;place-items:center;padding:16px;z-index:20}.modal{width:min(520px,100%);max-height:92vh;overflow:auto;background:var(--surface);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px}.prep{flex:1;min-height:0;display:grid;grid-template-columns:1fr 270px;gap:18px;padding:18px}.step{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:var(--bg)}.step.done{background:var(--ok-soft)}.step.current{background:#f6e6c8;outline:2px solid var(--accent-light)}.step .n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--line);color:var(--primary);flex-shrink:0}.step.done .n{background:var(--secondary);color:#fff}.scan{background:var(--text);color:var(--bg);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center}.scan input{background:transparent;border:1px dashed var(--accent-light);color:#fff;border-radius:8px;height:40px;padding:0 10px;width:100%;letter-spacing:2px;direction:ltr}.kds{background:#2b2f20;color:#f4efe2}.kds .topbar{background:#2b2f20;border-color:#41472f;color:#f4efe2}.kcols{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 18px 18px}.kcol{background:#363b29;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px;overflow:auto}.kcard{background:#41472f;border-radius:12px;padding:10px 12px;border-top:5px solid var(--secondary);display:flex;flex-direction:column;gap:4px}.kcard.warn{border-top-color:var(--accent-light)}.kcard.late{border-top-color:#d9573e}@media (max-width: 900px){.pos{grid-template-columns:1fr}.cart{border-inline-start:0;border-top:1px solid var(--line)}.prep,.kcols{grid-template-columns:1fr}}
