/* EasyResto — desktop restaurant views (Salle / Cuisine overview / Menu) */

.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:99px;background:var(--brand-gold);color:#1A1714;font-size:0.68rem;font-weight:800}

/* ── Primitives ──────────────────────────────────────────────── */
.rbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-weight:700;font-size:0.85rem;cursor:pointer;transition:all .15s}
.rbtn:hover{background:var(--bg-hover)}
.rbtn:disabled{opacity:.45;cursor:not-allowed}
.rbtn--sm{padding:6px 10px;font-size:0.78rem}
.rbtn--big{padding:15px 18px;font-size:1rem;border-radius:var(--radius-lg)}
.rbtn--primary{background:var(--brand-gold);border-color:var(--brand-gold);color:#1A1714}
.rbtn--primary:hover{background:var(--brand-gold-dark);border-color:var(--brand-gold-dark)}
.rbtn--warn{background:var(--brand-orange);border-color:var(--brand-orange);color:#fff}
.rbtn--warn:hover{filter:brightness(.95)}
.rbtn--danger{background:var(--danger);border-color:var(--danger);color:#fff}
.rbtn--accent{background:var(--accent);border-color:var(--accent);color:#fff}
.rbtn--ghost{background:transparent}
.rbtn--ghost.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.rinput{width:100%;padding:9px 12px;font-size:0.85rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);outline:none}
.rinput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:0.9rem}
.icon-btn:hover{background:var(--bg-hover)}
.resto-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:0.85rem}
.resto-loading{padding:16px;text-align:center;color:var(--text-muted)}
.rfield{display:flex;flex-direction:column;gap:5px;font-size:0.8rem}
.rfield>span{font-weight:700;color:var(--text-secondary);font-size:0.72rem;text-transform:uppercase;letter-spacing:.04em}
.rfield--full{grid-column:1/-1}
.rfield--check{flex-direction:row;align-items:center;gap:8px}
.rswitch{position:relative;display:inline-block;width:40px;height:23px;flex:none}
.rswitch input{opacity:0;width:0;height:0}
.rswitch span{position:absolute;inset:0;background:var(--border-light);border-radius:99px;transition:.2s;cursor:pointer}
.rswitch span:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.rswitch input:checked+span{background:var(--success)}
.rswitch input:checked+span:before{transform:translateX(17px)}

/* thumbnails */
.osdish__img,.mitem__img,.mcat__img,.oscat__img{object-fit:cover;background:var(--bg-card-alt)}
.osdish__img--ph,.mitem__img--ph,.mcat__img--ph,.oscat__img--ph{display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:var(--brand-orange)}

/* ── Salle: shell (main area + persistent ticket column) ─────── */
#view-salle{height:100%}
.salle-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;height:100%;min-height:0}
.salle-main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border)}
.salle-floor[hidden],.salle-menu[hidden]{display:none}
.salle-floor{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:16px;box-sizing:border-box;overflow:auto}
.salle-menu{flex:1;min-height:0;display:flex;flex-direction:column}
.salle-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.salle-bar h2{font-size:1.25rem;font-weight:800}
.salle-bar__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ap-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:0.82rem;font-weight:700;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:99px;padding:6px 12px 6px 8px}
.ap-toggle input{display:none}
.ap-slider{position:relative;width:36px;height:20px;border-radius:99px;background:var(--border-light);transition:.2s;flex:none}
.ap-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.ap-toggle input:checked+.ap-slider{background:var(--brand-gold)}
.ap-toggle input:checked+.ap-slider:before{transform:translateX(16px)}
.salle-zones{display:flex;flex-direction:column;gap:16px}
.zone-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.zone-tab{appearance:none;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-main);padding:13px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--ease)}
.zone-tab:hover{border-color:var(--accent);transform:translateY(-1px)}
.zone-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(237,28,36,.2)}
.zone-tab span{font-size:.9rem;font-weight:850}.zone-tab small{font-size:.66rem;opacity:.78;white-space:nowrap}
.zone--selected{background:var(--bg-card-alt);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:14px}
.zone__title{font-size:0.78rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.zone__tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.os-fast-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.tcard{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:var(--radius-lg);border:2px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left;min-height:92px;transition:all .15s}
.tcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.tc-name{font-weight:800;font-size:1.05rem}
.tc-status{margin-top:auto;font-size:0.78rem;font-weight:700}
.tc-total{font-size:0.85rem;color:var(--brand-gold-dark);font-weight:800}
.tc-seats{font-size:0.72rem;color:var(--text-muted)}
.tcard.is-free{border-style:dashed}
.tcard.is-open{border-color:var(--brand-red);background:var(--accent-subtle)}
.tcard.is-sent{border-color:var(--brand-red);background:rgba(237,28,36,.10)}
.tcard.is-preparing{border-color:var(--brand-orange);background:var(--warning-bg)}
.tcard.is-ready{border-color:var(--brand-gold);background:rgba(254,191,0,.16)}
.tcard.is-served{border-color:var(--border-light);background:var(--bg-card-alt)}
.salle-active-wrap h3{font-size:0.95rem;font-weight:800;margin-bottom:8px}
.active-orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.aorder{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left}
.aorder:hover{border-color:var(--accent)}
.aorder.is-ready{border-color:var(--brand-gold)}
.aorder__num{font-weight:800;font-size:0.82rem}
.aorder__type{font-size:0.72rem;color:var(--text-muted)}
.aorder__status{font-size:0.72rem;font-weight:800;color:var(--brand-orange)}
.aorder__total{font-weight:800;color:var(--brand-gold-dark);font-size:0.85rem;text-align:right}

/* ── Salle: ordering (menu) area ─────────────────────────────── */
.os-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border)}
.os-where b{font-size:1.05rem;font-weight:800}
.os-where small{display:block;font-size:0.74rem;color:var(--text-muted)}
.os-cats{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;flex:none}
.oscat{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:7px 12px 7px 7px;border-radius:99px;border:1px solid var(--border);background:var(--bg-card);font-weight:700;font-size:0.84rem;cursor:pointer;border-left:4px solid var(--cat,var(--border))}
.oscat>span{padding-left:2px}
.oscat.is-active{background:var(--cat,var(--accent));color:#fff;border-color:var(--cat,var(--accent))}
.oscat__img{width:26px;height:26px;border-radius:7px}
.os-dishes{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;padding:0 16px 16px;align-content:start}
.osdish{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left;overflow:hidden;min-height:108px;transition:all .12s}
.osdish:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.osdish__img{width:100%;height:58px}
.osdish__name{font-weight:700;font-size:0.78rem;line-height:1.15;padding:6px 8px 1px}
.osdish__price{font-weight:800;color:var(--brand-gold-dark);font-size:0.8rem;padding:0 8px 7px;margin-top:auto}
.osdish__var{position:absolute;margin:6px;background:var(--brand-orange);color:#fff;font-size:0.6rem;font-weight:800;text-transform:uppercase;padding:2px 6px;border-radius:6px}
.os-ticket{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--bg-pane)}
.os-ticket__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}
.os-ticket__head b{font-size:1rem;font-weight:800}
.os-count{background:var(--accent);color:#fff;font-size:0.74rem;font-weight:800;min-width:22px;height:22px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center}
.os-lines{flex:1;overflow:auto;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.oline{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-sm);background:var(--bg-card-alt)}
.oline__name{font-weight:700;font-size:0.84rem}
.oline__opts{font-size:0.7rem;color:var(--text-muted)}
.oline__qty{display:flex;align-items:center;gap:6px}
.oline__qty .icon-btn{width:26px;height:26px}
.oline__total{font-weight:800;font-size:0.84rem;min-width:64px;text-align:right}
.oline__del{width:28px;height:28px}
.line-status{font-size:0.6rem;padding:1px 6px;border-radius:99px;font-weight:800;text-transform:uppercase}
.line-status.is-preparing{background:var(--warning-bg);color:var(--brand-orange)}
.line-status.is-ready{background:rgba(254,191,0,.2);color:var(--brand-gold-dark)}
.line-status.is-served{background:var(--success-bg);color:var(--success)}
.os-foot{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-card-alt)}
.os-total-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.os-total{display:flex;flex-direction:column;line-height:1.1}
.os-total span{font-size:0.74rem;color:var(--text-secondary);font-weight:700}
.os-total strong{font-size:1.4rem;font-weight:800;color:var(--brand-gold-dark)}
.os-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ── Cuisine: all-orders overview ────────────────────────────── */
.resto-overview{display:flex;flex-direction:column;height:100%;padding:16px;box-sizing:border-box;gap:14px}
.ov-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ov-head h2{font-size:1.2rem;font-weight:800}
.ov-head__actions{display:flex;align-items:center;gap:12px}
.kds-auto{font-size:0.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}
.ov-board{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ovcol{display:flex;flex-direction:column;min-height:0;background:var(--bg-card-alt);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.ovcol__head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-weight:800;font-size:0.85rem;border-bottom:1px solid var(--border);background:var(--bg-pane)}
.ovcol__count{background:var(--bg-hover);color:var(--text-secondary);min-width:22px;height:22px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font-size:0.74rem}
.ovcol__body{flex:1;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:10px}
.ovcard{border-radius:var(--radius);border:1px solid var(--border);border-left:4px solid var(--border-light);background:var(--bg-card);padding:10px 12px}
.ovcard.is-open{border-left-color:var(--brand-red)}
.ovcard.is-sent,.ovcard.is-preparing{border-left-color:var(--brand-orange)}
.ovcard.is-ready{border-left-color:var(--brand-gold)}
.ovcard.is-served{border-left-color:var(--success)}
.ovcard__top{display:flex;justify-content:space-between;align-items:center}
.ovcard__where{font-weight:800;font-size:0.9rem}
.ovcard__time{font-size:0.74rem;font-weight:700;color:var(--brand-orange)}
.ovcard__meta{font-size:0.76rem;color:var(--text-secondary);margin:2px 0 6px}
.ovcard__bar{height:6px;border-radius:99px;background:var(--bg-hover);overflow:hidden}
.ovcard__bar span{display:block;height:100%;background:var(--brand-gold);border-radius:99px}
.ovcard__sub{font-size:0.72rem;color:var(--text-muted);margin-top:4px}
.ovcard__actions{display:flex;gap:6px;margin-top:8px}
.ovcard__actions .rbtn{flex:1}
.connect{text-align:center}
.connect p{color:var(--text-secondary);line-height:1.5;margin:0 0 14px}
.connect__qr{width:240px;height:240px;border-radius:var(--radius-lg);border:1px solid var(--border);margin:0 auto 14px;display:block}
.connect__row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 0;border-top:1px solid var(--border);font-size:0.82rem}
.connect__row span{color:var(--text-muted);font-weight:700}
.connect__row code{font-family:var(--font-mono);font-size:0.78rem;color:var(--text-primary);word-break:break-all}
.connect__code{font-size:1.1rem;font-weight:800;letter-spacing:.08em}

/* ── Menu management ─────────────────────────────────────────── */
.resto-menu{display:flex;flex-direction:column;height:100%;padding:16px;box-sizing:border-box;gap:14px}
.menu-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:6px}
.menu-tab{padding:8px 16px;border:none;background:transparent;font-weight:800;font-size:0.88rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius)}
.menu-tab--active{background:var(--accent-subtle);color:var(--accent)}
.menutab{display:none;flex:1;min-height:0;flex-direction:column;gap:12px}
.menutab--active{display:flex}
.menu-toolbar{display:flex;gap:10px;align-items:center}
.menu-toolbar .rinput{max-width:320px}
.menu-items-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px}
.mitem{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:14px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card)}
.mitem.is-off{opacity:.55}
.mitem__img{width:48px;height:48px;border-radius:var(--radius)}
.mitem__name{font-weight:700;font-size:0.92rem}
.mitem__meta{font-size:0.74rem;color:var(--text-muted);margin-top:2px}
.mitem__price{font-weight:800;color:var(--brand-gold-dark)}
.menu-cat-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px}
.mcat{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);border-left:4px solid var(--cat,var(--border))}
.mcat__img{width:44px;height:44px;border-radius:var(--radius)}
.mcat__name{font-weight:800}
.mcat__order{font-size:0.74rem;color:var(--text-muted)}

/* ── Modals ──────────────────────────────────────────────────── */
.resto-overlay{position:fixed;inset:0;background:rgba(26,23,20,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}
.resto-modal{width:100%;max-width:480px;max-height:92vh;display:flex;flex-direction:column;background:var(--bg-pane);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}
.resto-modal--wide{max-width:760px}
.resto-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}
.resto-modal__head h3{font-size:1rem;font-weight:800}
.resto-modal__body{padding:18px;overflow:auto}

.varmodal .vargroup{margin-bottom:16px}
.vargroup__title{font-weight:800;font-size:0.88rem;margin-bottom:8px}
.vargroup__hint{font-weight:500;color:var(--text-muted);font-size:0.74rem}
.vargroup__opts{display:flex;flex-direction:column;gap:6px}
.varopt{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}
.varopt:hover{background:var(--bg-hover)}
.varopt__name{flex:1;font-size:0.86rem;font-weight:600}
.varopt__delta{font-size:0.8rem;color:var(--brand-gold-dark);font-weight:800}
.varmodal__foot,.settle__foot,.iedit__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.varmodal__foot strong{font-size:1.1rem;color:var(--brand-gold-dark)}
.settle__methods{display:flex;gap:8px;margin-bottom:14px}
.settle__methods .pm{flex:1}
.settle .rfield{margin-bottom:12px}

/* item / category editor */
.iedit__top{display:flex;gap:16px;align-items:flex-start}
.iedit__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1}
.iedit__actions{justify-content:flex-start}
.imgzone{display:flex;flex-direction:column;align-items:center;gap:8px;flex:none;width:140px}
.imgzone__preview{width:140px;height:140px;border-radius:var(--radius-lg);border:1px dashed var(--border-light);background:var(--bg-card-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:2rem;color:var(--text-muted)}
.imgzone__preview img{width:100%;height:100%;object-fit:cover}

/* inline variations editor */
.iedit__variations{margin-top:18px;padding-top:14px;border-top:1px dashed var(--border)}
.vedit__head h4{font-size:0.95rem;font-weight:800;margin-bottom:10px}
.vgroups{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.vgroup{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--bg-card-alt)}
.vgroup__head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.vgroup__head .vg-name{flex:1;min-width:120px}
.vgroup__head .vg-type{width:auto;flex:none}
.vg-req{display:inline-flex;align-items:center;gap:5px;font-size:0.76rem;color:var(--text-secondary);white-space:nowrap}
.vgroup__opts{display:flex;flex-direction:column;gap:6px}
.vopt{display:grid;grid-template-columns:1fr 90px auto auto;gap:6px;align-items:center}
.vopt--add{grid-template-columns:1fr 90px auto}
.vgroup-add{display:flex;gap:8px}
.vgroup-add .rinput{flex:1}
.vgroup-add #vg-new-type{flex:none;width:auto}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:1100px){
  .salle-shell{grid-template-columns:minmax(0,1fr) 320px}
  .ov-board{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .salle-shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .salle-main{border-right:0;border-bottom:1px solid var(--border)}
  .os-ticket{height:auto;max-height:42vh;border-top:1px solid var(--border)}
  .iedit__top{flex-direction:column;align-items:stretch}
  .iedit__grid{grid-template-columns:1fr}
  .imgzone{width:100%}
}
