/* ===========================================================
   Zapf-App — final screens, additional Bernstein components
   (extends final-design.css; light = Bedienmodus)
   =========================================================== */

.s-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:13px 18px 6px;flex:none;}

/* Tischübersicht tiles */
.tgrid{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:12px 16px;align-content:start;overflow:hidden;}
.tgrp{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;padding:9px 2px 1px;}
.tgrp:first-child{padding-top:1px;}
.tgrp .gl{font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--amber-d);}
.tgrp .gc{font-size:11.5px;font-weight:700;color:var(--ink-3);}
.tgrp::after{content:"";flex:1;height:1px;background:var(--line);align-self:center;}
.ttile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px;min-height:80px;}
.ttile .tn{font-weight:800;font-size:16px;}
.ttile .ts{font-size:12px;color:var(--ink-3);margin-top:auto;}
.ttile.open{border-color:var(--amber-1);}
.ttile.open .ts{color:var(--amber-d);font-weight:700;}
.ttile.ready{border-color:var(--green);background:var(--green-soft);}
.ttile.ready .ts{color:#2c5a3a;font-weight:700;display:flex;align-items:center;gap:5px;}
.ttile.ready .ts::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);}
.ttile.add{border-style:dashed;color:var(--ink-3);align-items:center;justify-content:center;}
.ttile.add .tn{color:var(--ink-3);font-weight:700;}

/* notification banner (light) */
.notif{display:flex;align-items:center;gap:11px;margin:12px 16px 0;padding:11px 13px;border-radius:14px;background:var(--green-soft);border:1px solid #C2DAC5;flex:none;}
.notif .nb{width:32px;height:32px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center;flex:none;}
.notif .nb svg{width:17px;height:17px;}
.notif .nt{flex:1;font-size:13.5px;color:#2c4a36;line-height:1.25;}
.notif .nt b{font-weight:800;}
.notif .nc{color:var(--green);display:flex;}
.notif .nc svg{width:18px;height:18px;}

/* summary strip */
.osum{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:13px;color:var(--ink-2);flex:none;}
.osum b{font-weight:800;color:var(--ink);}

/* order rows */
.scrolly{flex:1;overflow:hidden;}
.orow{display:flex;align-items:center;gap:12px;padding:14px 18px;}
.orow+.orow{box-shadow:inset 0 1px 0 var(--line);}
.orow .om{flex:1;min-width:0;}
.orow .ot{font-weight:700;font-size:16px;}
.orow .os{font-size:13px;color:var(--ink-3);margin-top:2px;}
.orow .chev{color:var(--ink-3);display:flex;flex:none;}
.orow .chev svg{width:18px;height:18px;}
.orow.pickup{background:var(--green-soft);}
.orow.muted{opacity:.6;}

/* status pills */
.pill2{font-size:12px;font-weight:700;padding:4px 11px;border-radius:100px;white-space:nowrap;flex:none;}
.pill2.arbeit{color:var(--amber-d);background:var(--amber-soft);}
.pill2.fertig{color:#2c5a3a;background:var(--green-soft);}
.pill2.gebracht{color:var(--ink-3);background:var(--surface-2);}
.tx2{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:100px;white-space:nowrap;flex:none;}
.tx2 svg{width:12px;height:12px;}
.tx2.pending{color:var(--amber-d);background:var(--amber-soft);}
.tx2.synced{color:#2c5a3a;background:var(--green-soft);}
.pickbtn{background:var(--green);color:#fff;border:none;border-radius:10px;padding:9px 15px;font-weight:700;font-size:13px;white-space:nowrap;flex:none;}
.ol-grp{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:13px 18px 5px;display:flex;align-items:center;gap:7px;}
.ol-grp.hot{color:#2c5a3a;}
.ol-grp.hot svg{width:15px;height:15px;}

/* big footer buttons */
.gbtns{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface);flex:none;}
.gbtn2{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:14px;font-weight:800;font-size:15px;border:1px solid var(--line);background:var(--surface);color:var(--ink);}
.gbtn2 svg{width:18px;height:18px;}
.gbtn2.primary{background:var(--amber-1);border-color:var(--amber-1);color:#fff;}

/* split segmented */
.seg2{display:flex;gap:7px;padding:12px 16px 6px;flex:none;}
.seg2 .sg{flex:1;text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 4px;font-weight:700;font-size:14px;color:var(--ink-2);}
.seg2 .sg.on{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.seg2-l{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:12px 18px 0;flex:none;}

/* bill */
.brow{display:flex;align-items:baseline;gap:10px;padding:13px 18px;}
.brow+.brow{box-shadow:inset 0 1px 0 var(--line);}
.brow .bq{width:30px;color:var(--ink-3);font-weight:600;}
.brow .bn{flex:1;font-size:16px;}
.brow .bp{font-weight:800;}
.btotal{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;border-top:2px solid var(--line);background:var(--surface);flex:none;}
.btotal .bl{font-weight:700;font-size:16px;}
.btotal .bv{font-family:'Bricolage Grotesque';font-weight:800;font-size:26px;}
.pay{display:flex;gap:10px;padding:12px 16px;flex:none;}
.pay .pb{flex:1;text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 4px;font-weight:700;font-size:15px;}
.pay .pb.primary{background:var(--amber-1);border-color:var(--amber-1);color:#fff;}

/* pro gast */
.gstep{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line);flex:none;}
.gstep .gl{font-weight:700;font-size:16px;}
.perhead{text-align:center;padding:14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2);flex:none;}
.perhead b{display:block;font-family:'Bricolage Grotesque';font-weight:800;font-size:30px;color:var(--ink);margin-top:3px;}
.share{display:flex;align-items:center;gap:12px;padding:14px 18px;}
.share+.share{box-shadow:inset 0 1px 0 var(--line);}
.share .sn{flex:1;font-size:16px;font-weight:600;}
.share .sa{font-weight:800;}
.share .spay{background:var(--amber-1);color:#fff;border:none;border-radius:10px;padding:9px 15px;font-weight:700;font-size:13px;}
.share.paid .sn,.share.paid .sa{color:var(--ink-3);}
.share.paid .sd{color:#2c5a3a;font-size:13px;font-weight:700;display:flex;align-items:center;gap:5px;}
.share.paid .sd svg{width:14px;height:14px;}

/* einzeln select rows */
.selrow{display:flex;align-items:center;gap:12px;padding:13px 18px;}
.selrow+.selrow{box-shadow:inset 0 1px 0 var(--line);}
.selrow .sm{flex:1;min-width:0;}
.selrow .snm{font-weight:700;font-size:16px;}
.selrow .ss{font-size:12.5px;color:var(--ink-3);margin-top:1px;}
.selrow .ss.on{color:var(--amber-d);font-weight:600;}
.partbar{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;background:var(--surface-2);border-top:1px solid var(--line);font-size:14px;color:var(--ink-2);flex:none;}
.partbar b{font-family:'Bricolage Grotesque';font-weight:800;font-size:19px;color:var(--ink);}

/* success (beglichen) */
.success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;text-align:center;}
.success .ok{width:74px;height:74px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;}
.success .ok svg{width:38px;height:38px;}
.success .st{font-weight:800;font-size:21px;}
.success .sd{font-size:15px;color:var(--ink-2);line-height:1.45;max-width:255px;}
.success .sbtn{margin-top:4px;background:var(--amber-1);color:#fff;border:none;border-radius:12px;padding:13px 26px;font-weight:800;font-size:16px;}

/* ---- Block 2: dialogs, offline, outbox, conflict ---- */
.conn.off{color:var(--amber-d);background:var(--amber-soft);}
.conn.off .d{background:var(--amber-1);}
.menu-b{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;background:var(--amber-1);color:#fff;border:2px solid var(--surface);border-radius:100px;font-size:10.5px;font-weight:800;line-height:14px;text-align:center;}

/* amber offline banner */
.offbar{display:flex;align-items:flex-start;gap:11px;margin:12px 16px 0;padding:12px 13px;border-radius:14px;background:var(--amber-soft);border:1px solid #E9CFA4;flex:none;}
.offbar .ob{width:32px;height:32px;border-radius:9px;background:var(--amber-1);color:#fff;display:grid;place-items:center;flex:none;}
.offbar .ob svg{width:17px;height:17px;}
.offbar .ot{flex:1;font-size:13px;color:#7a4f12;line-height:1.3;}
.offbar .ot b{font-weight:800;}

/* disabled exclusive action */
.is-off{opacity:.42;filter:grayscale(.5);}
.lockhint{display:flex;align-items:center;gap:7px;justify-content:center;padding:9px 16px;font-size:13px;font-weight:600;color:var(--amber-d);background:var(--amber-soft);flex:none;}
.lockhint svg{width:15px;height:15px;}

.orow.outbox{background:#FBF1E0;}

/* outbox screen */
.obhead{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:13px 18px 5px;}
.obrow{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#FBF1E0;}
.obrow+.obrow{box-shadow:inset 0 1px 0 var(--line);}
.obrow .om{flex:1;min-width:0;}
.obrow .ot{font-weight:700;font-size:16px;}
.obrow .os{font-size:12.5px;color:var(--ink-3);margin-top:2px;}
.obresend{display:flex;align-items:center;gap:6px;border:1.5px solid var(--amber-1);color:var(--amber-d);background:var(--surface);border-radius:10px;padding:8px 13px;font-weight:700;font-size:13px;white-space:nowrap;flex:none;}
.obresend svg{width:14px;height:14px;}
.syncfoot{display:flex;align-items:center;gap:8px;padding:11px 18px;border-top:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--ink-2);flex:none;}
.syncfoot svg{width:15px;height:15px;color:var(--ink-3);}

/* modal */
.modal-ov{position:absolute;inset:0;background:rgba(35,26,17,.5);display:flex;align-items:center;justify-content:center;padding:22px;z-index:25;}
.dlg{width:100%;background:var(--surface);border-radius:22px;padding:22px 20px 18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.5);}
.dlg .di{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin:0 auto 14px;}
.dlg .di svg{width:28px;height:28px;}
.dlg .di.danger{background:var(--danger-soft);color:var(--danger);}
.dlg .di.ok{background:var(--green-soft);color:var(--green);}
.dlg .dh{font-weight:800;font-size:20px;text-align:center;}
.dlg .dm{font-size:14.5px;color:var(--ink-2);text-align:center;margin:8px 0 18px;line-height:1.4;}
.dlg .da{display:flex;gap:10px;}
.dlg .db{flex:1;text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:13px;font-weight:700;font-size:15px;color:var(--ink);}
.dlg .db.danger{background:var(--danger);border-color:var(--danger);color:#fff;}
.dlg .db.ok{background:var(--green);border-color:var(--green);color:#fff;}
.screen-p.dim .statusbar,.screen-p.dim .appbar,.screen-p.dim .scrolly,.screen-p.dim .seg2,.screen-p.dim .seg2-l,.screen-p.dim .ol-grp,.screen-p.dim .osum{filter:grayscale(.25);opacity:.9;}

/* conflict screen */
.ccard{margin:12px 16px 0;border:1px solid #E2B6AC;background:var(--danger-soft);border-radius:14px;padding:13px 15px;}
.ccard .ch{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;color:var(--danger-ink);}
.ccard .ch svg{width:17px;height:17px;flex:none;}
.ccard .cd{font-size:13px;color:var(--ink-2);margin:6px 0 11px;line-height:1.35;}
.ccard .ca{display:flex;gap:8px;}
.ccard .cb{flex:1;text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:9px;font-weight:700;font-size:13.5px;}
.ccard .cb.primary{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.ccard.info{border-color:#B9C7E6;background:#EEF2FB;}
.ccard.info .ch{color:#2b3f76;}

/* ---- Block 3: Einrichtung (light tablet) ---- */
.device-tablet.sm{width:840px;height:600px;}
.screen-tl{width:100%;height:100%;border-radius:22px;overflow:hidden;background:var(--cream);display:flex;flex-direction:column;}
.screen-tl.row{flex-direction:row;}

/* wizard */
.wz{flex:1;display:flex;flex-direction:column;padding:34px 40px;}
.wz-top{display:flex;align-items:center;justify-content:space-between;}
.wz-step{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}
.wz-dots{display:flex;gap:8px;}
.wz-dots i{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);display:block;}
.wz-dots i.on{background:var(--ink);}
.wz-h{font-family:'Bricolage Grotesque';font-weight:800;font-size:34px;letter-spacing:-.02em;margin:18px 0 4px;}
.wz-sub{font-size:16px;color:var(--ink-2);margin-bottom:26px;}
.choices{display:flex;gap:18px;flex:1;}
.choice2{flex:1;border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;}
.choice2 .ci{width:54px;height:54px;border-radius:14px;border:1.5px solid var(--line);display:grid;place-items:center;}
.choice2 .ci svg{width:30px;height:30px;}
.choice2 .ct{font-weight:800;font-size:22px;}
.choice2 .cdd{font-size:14px;color:var(--ink-2);line-height:1.4;}
.choice2 .ctag{margin-top:auto;display:flex;align-items:center;gap:6px;font-weight:700;color:var(--amber-d);font-size:14px;}
.choice2 .ctag svg{width:16px;height:16px;}
.choice2.sel{border-color:var(--amber-1);box-shadow:inset 0 0 0 2px var(--amber-soft);}
.choice2.sel .ci{border-color:var(--amber-1);color:var(--amber-d);}
.wz-foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;}
.wz-foot .hint{font-size:13px;color:var(--ink-3);}
.wz-btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 26px;font-weight:800;font-size:16px;color:var(--ink);}
.wz-btn.primary{background:var(--amber-1);border-color:var(--amber-1);color:#fff;}

/* QR (light) */
.qrwrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;}
.qr2{width:184px;height:184px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink);}
.qr2 svg{width:100%;height:100%;display:block;}
.qrcap{font-size:15px;color:var(--ink-2);text-align:center;max-width:300px;line-height:1.4;}
.qrinfo{border:1px dashed var(--ink-3);border-radius:12px;padding:9px 16px;font-size:13px;color:var(--ink-2);text-align:center;line-height:1.5;}
.qrinfo b{color:var(--ink);}
.tlhead{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line);background:var(--surface);}
.tlhead .ht{font-weight:800;font-size:19px;flex:1;}
.tlhead .hbtn{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:9px 14px;font-weight:700;font-size:14px;}
.tlhead .hbtn svg{width:16px;height:16px;}
.tlhead .hbtn.primary{background:var(--amber-1);border-color:var(--amber-1);color:#fff;}

/* pair request banner (server) */
.pairreq{display:flex;align-items:center;gap:14px;margin:18px 22px;padding:16px 18px;border:1.5px solid var(--amber-1);background:var(--amber-soft);border-radius:16px;}
.pairreq .pi{width:46px;height:46px;border-radius:12px;background:var(--amber-1);color:#fff;display:grid;place-items:center;flex:none;}
.pairreq .pi svg{width:24px;height:24px;}
.pairreq .pm{flex:1;}
.pairreq .pt{font-weight:800;font-size:18px;}
.pairreq .pd{font-size:14px;color:var(--ink-2);}
.pairreq .pa{border:none;background:var(--amber-1);color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;font-size:15px;white-space:nowrap;}
.pairreq .pa.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line);}

/* scanner (phone) */
.scan2{flex:1;background:#1a1510;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;}
.scan2 .fr{width:176px;height:176px;position:relative;}
.scan2 .fr span{position:absolute;width:32px;height:32px;border:4px solid #fff;}
.scan2 .fr .tl{top:0;left:0;border-right:none;border-bottom:none;border-radius:13px 0 0 0;}
.scan2 .fr .tr{top:0;right:0;border-left:none;border-bottom:none;border-radius:0 13px 0 0;}
.scan2 .fr .bl{bottom:0;left:0;border-right:none;border-top:none;border-radius:0 0 0 13px;}
.scan2 .fr .br{bottom:0;right:0;border-left:none;border-top:none;border-radius:0 0 13px 0;}
.scan2 .fr .gh{position:absolute;inset:28px;color:rgba(255,255,255,.3);}
.scan2 .fr .gh svg{width:100%;height:100%;}
.scan2 .sh{color:#fff;font-size:14px;opacity:.9;text-align:center;max-width:220px;line-height:1.35;}
.success .ok.wait{background:none;border:3px dashed var(--amber-1);color:var(--amber-d);}

/* setup */
.setnav{width:176px;background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;flex:none;}
.setnav .sh{font-family:'Bricolage Grotesque';font-weight:800;font-size:20px;padding:16px 16px 12px;border-bottom:1px solid var(--line);}
.setnav .sn{padding:12px 16px;font-size:15px;color:var(--ink-2);display:flex;align-items:center;gap:10px;}
.setnav .sn svg{width:18px;height:18px;}
.setnav .sn.sub{padding-left:30px;font-size:14px;}
.setnav .sn.on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--amber-1);}
.setmain{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--cream);}
.mdtabs{display:flex;gap:8px;padding:14px 20px 4px;}
.mdtabs span{border:1px solid var(--line);background:var(--surface);border-radius:100px;padding:7px 18px;font-weight:700;font-size:14px;color:var(--ink-2);}
.mdtabs span.on{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.mdcat{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:14px 22px 4px;}
/* table groups in Setup */
.mdgrp{display:flex;align-items:center;gap:10px;padding:17px 22px 7px;}
.mdgrp .gn{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-d);}
.mdgrp .gc{font-size:12px;font-weight:700;color:var(--ink-3);}
.mdgrp .gsp{flex:1;}
.mdgrp .ga{width:32px;height:30px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;place-items:center;color:var(--ink-2);}
.mdgrp .ga svg{width:15px;height:15px;}
.gsel{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:0 12px;height:44px;font-weight:700;font-size:14px;color:var(--ink-2);white-space:nowrap;flex:none;}
.gsel .gd{width:8px;height:8px;border-radius:50%;background:var(--amber-1);}
.gsel svg{width:15px;height:15px;color:var(--ink-3);}
.mdgadd{margin:16px 22px 4px;border:1.5px dashed var(--amber-1);border-radius:12px;padding:12px;text-align:center;font-weight:800;font-size:14px;color:var(--amber-d);display:flex;align-items:center;justify-content:center;gap:8px;background:var(--amber-soft);}
.mdgadd svg{width:16px;height:16px;}
.mdrow{display:flex;align-items:center;gap:12px;padding:13px 22px;}
.mdrow+.mdrow{box-shadow:inset 0 1px 0 var(--line);}
.mdrow .mh{color:var(--ink-3);font-size:16px;letter-spacing:2px;}
.mdrow .mn{flex:1;font-size:17px;font-weight:600;}
.mdrow .msub{font-size:13px;color:var(--ink-3);}
.mdrow .ma{width:36px;height:34px;border:1px solid var(--line);background:var(--surface);border-radius:9px;display:grid;place-items:center;color:var(--ink-2);}
.mdrow .ma svg{width:16px;height:16px;}
.mdadd{margin:14px 22px;border:1.5px dashed var(--line);border-radius:12px;padding:13px;text-align:center;font-weight:700;font-size:15px;color:var(--ink-2);display:flex;align-items:center;justify-content:center;gap:8px;}
.mdadd svg{width:17px;height:17px;}
.devrow{display:flex;align-items:center;gap:14px;padding:15px 22px;}
.devrow+.devrow{box-shadow:inset 0 1px 0 var(--line);}
.devrow .dvi{width:40px;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:11px;display:grid;place-items:center;color:var(--ink-2);flex:none;}
.devrow .dvi svg{width:20px;height:20px;}
.devrow .dvm{flex:1;}
.devrow .dvn{font-weight:800;font-size:17px;}
.devrow .dvs{font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:6px;margin-top:1px;}
.devrow .dvs .dot{width:8px;height:8px;border-radius:50%;}
.devrow .dvs .dot.on{background:var(--green);}
.devrow .dvs .dot.off{background:var(--amber-1);}
.devrow .dvr{border:1px solid #D9A99B;color:var(--danger-ink);background:var(--surface);border-radius:10px;padding:8px 14px;font-weight:700;font-size:13px;white-space:nowrap;}
.devrow .self{font-size:13px;color:var(--amber-d);background:var(--amber-soft);border-radius:100px;padding:4px 12px;font-weight:700;white-space:nowrap;}

/* ---- Stammdaten: anlegen-Dialog, Empty, Kategorien ---- */
.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;text-align:center;}
.empty .ei{width:66px;height:66px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-3);}
.empty .ei svg{width:30px;height:30px;}
.empty .et{font-weight:800;font-size:20px;}
.empty .ed{font-size:14.5px;color:var(--ink-2);max-width:300px;line-height:1.45;}
.empty .eb{margin-top:4px;background:var(--amber-1);color:#fff;border:none;border-radius:12px;padding:13px 24px;font-weight:800;font-size:16px;display:flex;align-items:center;gap:8px;}
.empty .eb svg{width:18px;height:18px;}

.dlg.form{width:540px;text-align:left;padding:24px 24px 20px;}
.dlg.form .fh{font-family:'Bricolage Grotesque';font-weight:800;font-size:22px;margin-bottom:18px;}
.field{margin-bottom:16px;}
.field>label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-2);margin-bottom:7px;}
.inp{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font:inherit;font-size:16px;font-weight:600;background:var(--surface-2);color:var(--ink);box-sizing:border-box;}
.inp.ph{color:var(--ink-3);font-weight:500;}
.row2{display:flex;gap:12px;}
.row2 .field{flex:1;margin-bottom:0;}
.chipsel{display:flex;flex-wrap:wrap;gap:8px;}
.chipsel .ch{border:1px solid var(--line);background:var(--surface);border-radius:100px;padding:8px 15px;font-weight:600;font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:6px;}
.chipsel .ch.on{background:var(--amber-1);color:#fff;border-color:var(--amber-1);}
.chipsel .ch.add{border-style:dashed;color:var(--amber-d);background:var(--surface);}
.chipsel .ch.add svg{width:14px;height:14px;}
.form-acts{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}
.form-acts .fb{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:11px 22px;font-weight:700;font-size:15px;color:var(--ink);}
.form-acts .fb.primary{background:var(--amber-1);border-color:var(--amber-1);color:#fff;}
.newcat{display:flex;gap:8px;margin-top:9px;}
.newcat .inp{flex:1;padding:10px 12px;font-size:14px;}
.newcat .nb{border:none;background:var(--ink);color:var(--cream);border-radius:10px;padding:0 16px;font-weight:700;font-size:14px;}
.catdot{width:11px;height:11px;border-radius:50%;flex:none;}

/* toggle switch */
.tgl{display:inline-flex;align-items:center;gap:10px;}
.tgl .sw{width:48px;height:28px;border-radius:100px;background:var(--line);position:relative;flex:none;}
.tgl .sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.tgl.on .sw{background:var(--amber-1);}
.tgl.on .sw::after{left:23px;}
.tgl .tl{font-weight:700;font-size:15px;}
.field .hintline{font-size:12.5px;color:var(--ink-3);margin-top:6px;}
.field .tglrow{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:11px 14px;}

/* image picker */
.imgpick{display:flex;align-items:center;gap:13px;}
.imgpick .ip{width:64px;height:64px;border-radius:12px;border:1px dashed var(--ink-3);background:var(--surface-2);display:grid;place-items:center;color:var(--ink-3);flex:none;}
.imgpick .ip svg{width:24px;height:24px;}
.imgpick .ipb{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 14px;font-weight:700;font-size:13.5px;display:inline-block;}
.imgpick .ipt{font-size:12.5px;color:var(--ink-3);margin-top:5px;}

/* zapf tag on drink rows */
.ztag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--amber-d);background:var(--amber-soft);border-radius:100px;padding:3px 9px;white-space:nowrap;}
.ztag svg{width:12px;height:12px;}
.ztag.no{color:var(--ink-3);background:var(--surface-2);}

/* inline add row */
.inrow{display:flex;align-items:center;gap:10px;padding:11px 22px;background:var(--surface-2);box-shadow:inset 0 1px 0 var(--line);}
.inrow .inp{flex:1;padding:10px 12px;font-size:15px;background:var(--surface);}
.inrow .ib{border:none;background:var(--amber-1);color:#fff;border-radius:10px;padding:0 18px;height:44px;font-weight:800;font-size:14px;}
.inrow .ix{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:grid;place-items:center;color:var(--ink-2);flex:none;}
.inrow .ix svg{width:18px;height:18px;}

/* category sections within Getränke */
.catbar{display:flex;align-items:center;gap:9px;padding:15px 22px 4px;}
.catbar .cdot{width:10px;height:10px;border-radius:50%;flex:none;}
.catbar .cn{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);flex:1;}
.catbar .ce{width:30px;height:28px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;place-items:center;color:var(--ink-3);}
.catbar .ce svg{width:15px;height:15px;}
.subadd{margin:8px 22px 6px;border:1px dashed var(--line);border-radius:10px;padding:10px;text-align:center;font-weight:700;font-size:13.5px;color:var(--amber-d);display:flex;align-items:center;justify-content:center;gap:7px;}
.subadd svg{width:15px;height:15px;}
.catnew{margin:14px 22px;border:1.5px dashed var(--amber-1);border-radius:12px;padding:13px;text-align:center;font-weight:800;font-size:15px;color:var(--amber-d);display:flex;align-items:center;justify-content:center;gap:8px;background:var(--amber-soft);}
.catnew svg{width:17px;height:17px;}

/* ===== Bedienmodus · Hauptmenü (Drawer von links) ===== */
.drawer-ov{position:absolute;inset:0;z-index:25;display:flex;}
.drawer-ov .scrim{flex:1;background:rgba(35,26,17,.42);}
.drawer{width:296px;background:var(--cream);display:flex;flex-direction:column;box-shadow:18px 0 60px -10px rgba(0,0,0,.4);}
.drawer-top{display:flex;align-items:center;gap:13px;padding:22px 20px 18px;border-bottom:1px solid var(--line);}
.drawer-top .dbrand{width:46px;height:46px;border-radius:13px;background:var(--amber-1);color:#fff;display:grid;place-items:center;flex:none;}
.drawer-top .dbrand svg{width:25px;height:25px;}
.drawer-top .dnm{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.01em;line-height:1.05;white-space:nowrap;}
.drawer-top .drole{display:block;font-size:12.5px;font-weight:600;color:var(--ink-3);margin-top:3px;}
.drawer-nav{padding:14px 12px;display:flex;flex-direction:column;gap:7px;}
.dnav{display:flex;align-items:center;gap:14px;padding:14px 14px;border-radius:13px;color:var(--ink-2);background:transparent;}
.dnav .di{width:24px;height:24px;display:grid;place-items:center;color:var(--ink-3);flex:none;}
.dnav .di svg{width:23px;height:23px;}
.dnav .dl{display:block;font-weight:700;font-size:17px;line-height:1.15;}
.dnav .dd{display:block;font-size:12.5px;font-weight:600;color:var(--ink-3);margin-top:3px;}
.dnav.on{background:var(--amber-soft);color:var(--amber-d);box-shadow:inset 3px 0 0 var(--amber-1);}
.dnav.on .di{color:var(--amber-d);}
.dnav.on .dd{color:var(--amber-d);opacity:.8;}
.dnav.hidden-entry{opacity:.4;}
.dnav.hidden-entry .dl{display:flex;align-items:center;gap:8px;}
.dnav-note{margin:2px 16px;display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink-3);line-height:1.4;border-top:1px dashed var(--line);padding-top:13px;}
.dnav-note svg{width:15px;height:15px;flex:none;margin-top:1px;color:var(--ink-3);}
.drawer-foot{margin-top:auto;padding:14px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;}
.drawer-foot .dvi{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-2);flex:none;}
.drawer-foot .dvi svg{width:18px;height:18px;}
.drawer-foot .dfm{flex:1;min-width:0;}
.drawer-foot .dfn{display:block;font-weight:800;font-size:14.5px;}
.drawer-foot .dfs{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;}
.drawer-foot .dtag{font-size:12px;font-weight:700;color:var(--amber-d);background:var(--amber-soft);border-radius:100px;padding:4px 11px;flex:none;}

/* ===== Empty-States ===== */
/* light phone — erweitert die vorhandene .empty-Komponente */
.empty .ei.accent{color:var(--amber-d);background:var(--amber-soft);border-color:#EAD6B4;}
.empty .ei.ok{color:var(--green);background:var(--green-soft);border-color:#C4DEC3;}
.empty .ehint{margin-top:2px;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:100px;padding:7px 14px;}
.empty .ehint svg{width:14px;height:14px;color:var(--ink-3);}

/* dark tablet (Thekenmodus) */
.zempty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center;min-height:0;}
.zempty .zei{width:96px;height:96px;border-radius:26px;background:var(--d-2);border:1px solid var(--d-line);display:grid;place-items:center;color:var(--d-amber);}
.zempty .zei.ok{color:var(--d-green);}
.zempty .zei svg{width:44px;height:44px;}
.zempty .zeh{font-family:'Bricolage Grotesque';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--d-ink);}
.zempty .zed{font-size:16.5px;color:var(--d-ink-2);max-width:450px;line-height:1.55;}
.zempty .zehint{margin-top:2px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--d-ink-2);background:var(--d-2);border:1px solid var(--d-line);border-radius:100px;padding:9px 16px;}
.zempty .zehint svg{width:16px;height:16px;color:var(--d-amber);}
