/* ===========================================================
   eDeckel — Final visual design (calibration)
   Warm gastro · Bedienmodus (light) + Thekenmodus (dark)
   List + Kachel (image) views · full-height Theke cards
   =========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap');

:root{
  --cream:#FBF6EE; --paper:#F1E8DA; --surface:#FFFFFF; --surface-2:#FBF4E9;
  --ink:#231A11; --ink-2:#6E6051; --ink-3:#A8997F; --line:#EBE0D0;
  --amber-1:#CA7A22; --amber-d:#A6611A; --amber-soft:#F7E7CC;
  --green:#3E7A4E; --green-soft:#E3EFE2;
  --danger:#C0392B; --danger-soft:#FBE6E2; --danger-ink:#8C2C20;
  --d-bg:#1C1610; --d-1:#272019; --d-2:#312920; --d-3:#3C3226; --d-line:#473b2c;
  --d-ink:#F4ECDC; --d-ink-2:#B7A48B; --d-ink-3:#7E6F5B;
  --d-amber:#E0913B; --d-green:#6FB283; --d-danger:#E27D6F; --d-danger-soft:#39231E;
  --shadow:0 18px 50px -18px rgba(40,28,12,.45);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:radial-gradient(1200px 600px at 50% -120px,#F3EADB 0%,transparent 70%),#E7DCC9;
  font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

/* studio */
.studio{max-width:1500px;margin:0 auto;padding:54px 40px 120px;}
.studio-head{margin-bottom:18px;max-width:820px;}
.studio-head .kicker{font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-d);}
.studio-head h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:46px;line-height:1.02;margin:10px 0 0;letter-spacing:-.02em;}
.studio-head p{font-size:17px;color:var(--ink-2);margin:14px 0 0;line-height:1.5;}

.showcase{margin-top:52px;}
.showcase>.cap{display:flex;align-items:center;gap:12px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;margin:0 0 20px 4px;}
.showcase>.cap .tag{font-family:'Hanken Grotesk';font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:4px 11px;border-radius:100px;}
.showcase>.cap .tag.alt{color:var(--amber-d);background:var(--amber-soft);border-color:transparent;}
.pair{display:flex;gap:48px;flex-wrap:wrap;}
.unit{display:flex;flex-direction:column;align-items:center;gap:15px;}
.devcap{font-weight:700;font-size:14.5px;color:var(--ink-2);}
.devcap b{color:var(--ink);}
.stage{display:flex;justify-content:center;}

/* device chrome */
.device-phone{width:392px;height:844px;border-radius:54px;background:#15100A;padding:13px;box-shadow:var(--shadow);position:relative;flex:none;}
.device-phone .glass{position:absolute;inset:13px;border-radius:42px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.06);pointer-events:none;z-index:30;}
.device-phone .island{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:118px;height:32px;background:#000;border-radius:100px;z-index:20;}
.screen-p{width:100%;height:100%;border-radius:42px;overflow:hidden;background:var(--cream);display:flex;flex-direction:column;position:relative;}

.device-tablet{width:1180px;height:790px;border-radius:34px;background:#15100A;padding:15px;box-shadow:var(--shadow);position:relative;flex:none;}
.device-tablet .cam{position:absolute;top:50%;left:26px;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:#2c2620;}
.screen-t{width:100%;height:100%;border-radius:22px;overflow:hidden;background:var(--d-bg);display:flex;}

.statusbar{height:54px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 30px 8px;font-size:15px;font-weight:700;flex:none;}
.statusbar .sb-r{display:flex;align-items:center;gap:7px;}
.statusbar .sb-r svg{width:18px;height:18px;}

/* ===== Bedienmodus app bar ===== */
.appbar{display:flex;align-items:center;gap:12px;padding:6px 18px 12px;flex:none;}
.iconbtn{width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink);flex:none;}
.iconbtn svg{width:20px;height:20px;}
.table-pick{flex:1;display:flex;justify-content:center;}
.table-pick .tp-inner{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:8px 16px;font-weight:700;font-size:18px;white-space:nowrap;}
.table-pick .tp-inner svg{width:16px;height:16px;color:var(--ink-3);}
.conn{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--green);background:var(--green-soft);border-radius:100px;padding:6px 12px;flex:none;}
.conn .d{width:8px;height:8px;border-radius:50%;background:var(--green);}

/* ===== body split: vertical category rail + content ===== */
.body-split{flex:1;display:flex;min-height:0;}
.catrail-v{width:80px;flex:none;background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:8px 0;}
.catv{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 4px;font-size:12.5px;font-weight:600;color:var(--ink-2);border-left:3px solid transparent;}
.catv svg{width:23px;height:23px;}
.catv.on{color:var(--amber-d);border-left-color:var(--amber-1);background:var(--surface);font-weight:700;}
.catv .catbadge{position:absolute;top:9px;right:12px;min-width:19px;height:19px;padding:0 5px;border-radius:100px;background:var(--amber-1);color:#fff;font-size:11.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 5px rgba(150,74,34,.35);}
.content{flex:1;display:flex;flex-direction:column;min-width:0;}
.content-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 6px;flex:none;}
.content-head .sl{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.viewtoggle{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:none;}
.viewtoggle button{border:none;background:none;width:36px;height:32px;display:grid;place-items:center;color:var(--ink-3);}
.viewtoggle button.on{background:var(--ink);color:var(--cream);}
.viewtoggle svg{width:17px;height:17px;}

/* list (text only) */
.items{flex:1;overflow:hidden;padding:2px 12px;}
.item{display:flex;align-items:center;gap:12px;padding:15px 12px;border-radius:12px;}
.item+.item{box-shadow:inset 0 1px 0 var(--line);}
.item .meta{flex:1;min-width:0;}
.item .nm{font-weight:700;font-size:18px;letter-spacing:-.01em;}
.item .sz{font-size:13.5px;color:var(--ink-3);margin-top:2px;}
.item.active{background:var(--surface);box-shadow:0 1px 0 var(--line),0 10px 24px -16px rgba(120,70,10,.4);}

.addbtn{width:44px;height:44px;border-radius:10px;border:1.5px solid var(--amber-1);color:var(--amber-d);background:var(--surface);display:grid;place-items:center;flex:none;}
.addbtn svg{width:20px;height:20px;}
.stepper{display:flex;align-items:center;gap:4px;background:var(--amber-1);border-radius:10px;padding:4px;flex:none;}
.stepper button{width:34px;height:34px;border:none;border-radius:8px;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;}
.stepper .q{min-width:26px;text-align:center;color:#fff;font-weight:800;font-size:18px;}
.stepper svg{width:18px;height:18px;}

/* kachel (image tiles) — phone */
.tiles{flex:1;overflow:hidden;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
.tile image-slot{display:block;width:100%;height:104px;}
.tile .tbody{padding:9px 11px 11px;display:flex;flex-direction:column;gap:9px;}
.tile .nm{font-weight:700;font-size:16px;}
.tile .pr{font-size:13px;color:var(--ink-3);margin-top:1px;}
.tile .tfoot{display:flex;align-items:center;justify-content:space-between;}
.tile.active{border-color:var(--amber-1);box-shadow:0 0 0 1px var(--amber-1),0 12px 26px -16px rgba(120,70,10,.5);}
.tile .stepper{padding:3px;}
.tile .stepper button{width:30px;height:30px;}
.tile .stepper .q{min-width:20px;font-size:16px;}
.tile .addbtn{width:38px;height:38px;}

/* order tray */
.tray{margin-top:auto;flex:none;background:var(--surface);border-top:1px solid var(--line);padding:14px 16px 8px;border-radius:14px 14px 0 0;box-shadow:0 -14px 30px -22px rgba(0,0,0,.25);}
.tray-row{display:flex;align-items:center;gap:12px;}
.tray .clearbtn{width:50px;height:54px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;flex:none;}
.tray .clearbtn svg{width:20px;height:20px;}
.tray .summary{flex:1;}
.tray .summary .s-t{font-weight:800;font-size:16px;}
.tray .summary .s-d{font-size:13px;color:var(--ink-3);}
.order-btn{display:flex;align-items:center;gap:10px;background:var(--amber-1);color:#fff;border:none;border-radius:12px;padding:0 22px;height:54px;font-weight:800;font-size:17px;box-shadow:0 10px 20px -10px var(--amber-1);}
.order-btn svg{width:20px;height:20px;}
.home-ind{height:22px;display:grid;place-items:center;}
.home-ind i{width:135px;height:5px;border-radius:100px;background:var(--ink);opacity:.18;display:block;}

/* ===== Thekenmodus (dark) ===== */
.znav{width:104px;background:var(--d-1);border-right:1px solid var(--d-line);display:flex;flex-direction:column;align-items:center;padding:18px 8px;flex:none;}
.zbrand{width:50px;height:50px;border-radius:12px;background:var(--d-amber);color:#1c1610;display:grid;place-items:center;margin-bottom:24px;}
.zbrand svg{width:27px;height:27px;}
.znav .nav{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 4px;border-radius:12px;color:var(--d-ink-3);font-size:12px;font-weight:600;}
.znav .nav svg{width:24px;height:24px;}
.znav .nav.on{background:var(--d-3);color:var(--d-amber);}
.znav .nav+.nav{margin-top:6px;}
.znav .spacer{flex:1;}
.znav .devs{font-size:11px;color:var(--d-ink-2);text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;}
.znav .devs .d{width:9px;height:9px;border-radius:50%;background:var(--d-green);}

.zmain{flex:1;display:flex;flex-direction:column;min-width:0;color:var(--d-ink);}
.ztop{display:flex;align-items:center;gap:16px;padding:22px 26px 16px;flex:none;flex-wrap:wrap;}
.ztop h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:26px;margin:0;letter-spacing:-.02em;}
.ztop .ztsub{font-size:13px;color:var(--d-ink-2);margin-top:2px;}
.zchips{display:flex;gap:10px;flex:1;flex-wrap:wrap;}
.zchip{display:flex;align-items:center;gap:9px;background:var(--d-2);border:1px solid var(--d-line);border-radius:100px;padding:8px 15px;font-size:15px;font-weight:600;color:var(--d-ink);}
.zchip svg{width:18px;height:18px;color:var(--d-amber);}
.zchip b{font-family:'Bricolage Grotesque';font-weight:800;font-size:18px;color:var(--d-amber);}
.zchip.muted{color:var(--d-ink-3);}
.zchip.muted b{color:var(--d-ink-2);}
.devpill{display:flex;align-items:center;gap:8px;background:var(--d-2);border:1px solid var(--d-line);border-radius:100px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--d-ink-2);flex:none;}
.devpill .d{width:8px;height:8px;border-radius:50%;background:var(--d-green);}

/* full-height cards: each column fills the grid height, lines scroll */
.zgrid{flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr);gap:16px;padding:4px 26px 26px;overflow:hidden;min-height:0;}
.ocard{background:var(--d-1);border:1px solid var(--d-line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;min-height:0;}
.ocard .head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px 12px;flex:none;}
.ocard .head .t{font-family:'Bricolage Grotesque';font-weight:800;font-size:20px;}
.ocard .head .tm{font-size:12.5px;color:var(--d-ink-3);background:var(--d-2);padding:3px 9px;border-radius:100px;white-space:nowrap;}
.lines{flex:1;overflow:auto;min-height:0;}
.lines::-webkit-scrollbar{width:6px;}
.lines::-webkit-scrollbar-thumb{background:var(--d-3);border-radius:6px;}
.zline{display:flex;align-items:center;gap:12px;padding:11px 16px;}
.zline+.zline{box-shadow:inset 0 1px 0 var(--d-line);}
.zline .q{font-family:'Bricolage Grotesque';font-weight:800;font-size:19px;color:var(--d-amber);min-width:32px;}
.zline .n{flex:1;font-size:16px;font-weight:500;}
.zthumb{width:46px;height:46px;border-radius:10px;overflow:hidden;flex:none;background:var(--d-2);}
.zthumb image-slot{display:block;width:100%;height:100%;}
.tick{width:34px;height:34px;border-radius:9px;border:2px solid var(--d-line);background:var(--d-2);display:grid;place-items:center;color:transparent;flex:none;}
.tick svg{width:19px;height:19px;}
.zline.done .q{color:var(--d-ink-3);}
.zline.done .n{color:var(--d-ink-3);text-decoration:line-through;text-decoration-color:var(--d-ink-3);}
.zline.done .tick{background:var(--d-green);border-color:var(--d-green);color:#15221a;}
.ocard .foot{flex:none;padding:12px;border-top:1px solid var(--d-line);}
.ready{width:100%;border:none;border-radius:11px;padding:13px;font-weight:800;font-size:15px;font-family:'Hanken Grotesk';background:var(--d-3);color:var(--d-amber);display:flex;align-items:center;justify-content:center;gap:8px;}
.ready svg{width:18px;height:18px;}
.ocard.alldone{border-color:var(--d-green);}
.ocard.alldone .ready{background:var(--d-green);color:#15221a;}
.ocard .countbadge{font-size:12px;color:var(--d-ink-3);padding:0 16px 8px;flex:none;}

/* device count in theke header (Anzahl, keine Live-Punkte) */
.devcount{display:flex;align-items:center;gap:9px;background:var(--d-2);border:1px solid var(--d-line);border-radius:100px;padding:8px 15px;font-size:14px;font-weight:600;color:var(--d-ink-2);flex:none;}
.devcount svg{width:17px;height:17px;color:var(--d-ink-3);}
.devcount b{font-family:'Bricolage Grotesque';font-weight:800;font-size:16px;color:var(--d-ink);}

/* ===== Thekenmodus · Verlauf (read-only history list) ===== */
.zhist{flex:1;overflow:auto;padding:2px 26px 26px;min-height:0;}
.zhist::-webkit-scrollbar{width:7px;}
.zhist::-webkit-scrollbar-thumb{background:var(--d-3);border-radius:7px;}
.zh-grp{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--d-ink-3);padding:20px 2px 10px;display:flex;align-items:center;gap:9px;}
.zh-grp:first-child{padding-top:6px;}
.zh-grp.hot{color:var(--d-green);}
.zh-grp.hot svg{width:16px;height:16px;}
.zh-row{display:flex;align-items:center;gap:18px;padding:15px 20px;background:var(--d-1);border:1px solid var(--d-line);border-radius:14px;}
.zh-row+.zh-row{margin-top:9px;}
.zh-row .zt{font-family:'Bricolage Grotesque';font-weight:800;font-size:21px;min-width:96px;flex:none;}
.zh-row .zi{flex:1;font-size:16px;font-weight:500;color:var(--d-ink-2);min-width:0;}
.zh-row .ztime{font-size:14px;color:var(--d-ink-3);white-space:nowrap;flex:none;}
.zh-row.pickup{border-color:var(--d-green);background:linear-gradient(0deg,rgba(111,178,131,.07),rgba(111,178,131,.07)),var(--d-1);}
.zh-row.muted{opacity:.55;}
.zpill{font-size:13px;font-weight:700;padding:6px 14px;border-radius:100px;white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:6px;}
.zpill svg{width:14px;height:14px;}
.zpill.fertig{color:var(--d-green);background:rgba(111,178,131,.16);}
.zpill.arbeit{color:var(--d-amber);background:rgba(224,145,59,.15);}
.zpill.gebracht{color:var(--d-ink-3);background:var(--d-2);}

/* ===== Thekenmodus · Tische (read-only overview) ===== */
.ztiles{flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:4px 26px 26px;align-content:start;overflow:auto;min-height:0;}
.ztgrp{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:18px 2px 3px;}
.ztgrp:first-child{padding-top:2px;}
.ztgrp .gl{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--d-ink-2);}
.ztgrp .gc{font-size:13px;font-weight:600;color:var(--d-ink-3);}
.ztgrp::after{content:"";flex:1;height:1px;background:var(--d-line);}
.ztiles::-webkit-scrollbar{width:7px;}
.ztiles::-webkit-scrollbar-thumb{background:var(--d-3);border-radius:7px;}
.ztile{background:var(--d-1);border:1px solid var(--d-line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;min-height:108px;}
.ztile .ztn{font-family:'Bricolage Grotesque';font-weight:800;font-size:25px;letter-spacing:-.01em;}
.ztile .zts{font-size:13.5px;color:var(--d-ink-3);margin-top:auto;}
.ztile.open{border-color:var(--d-amber);}
.ztile.open .zts{color:var(--d-amber);font-weight:700;}
.ztile.ready{border-color:var(--d-green);background:linear-gradient(0deg,rgba(111,178,131,.08),rgba(111,178,131,.08)),var(--d-1);}
.ztile.ready .zts{color:var(--d-green);font-weight:700;display:flex;align-items:center;gap:6px;}
.ztile.ready .zts::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--d-green);}

/* read-only hint strip under theke header */
.zread{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--d-ink-3);background:var(--d-2);border:1px solid var(--d-line);border-radius:100px;padding:6px 13px;flex:none;white-space:nowrap;}
.zread svg{width:15px;height:15px;}

/* dark danger banner (z. B. Koppel-Fehler auf dunklem Screen) */
.zerror{display:flex;align-items:flex-start;gap:12px;margin:0 26px 14px;padding:13px 15px;border-radius:14px;background:var(--d-danger-soft);border:1px solid color-mix(in srgb,var(--d-danger) 45%,var(--d-line));}
.zerror .ei{width:34px;height:34px;border-radius:9px;background:var(--d-danger);color:#2a0f0b;display:grid;place-items:center;flex:none;}
.zerror .ei svg{width:18px;height:18px;}
.zerror .et{flex:1;font-size:14px;color:var(--d-danger);line-height:1.35;}
.zerror .et b{font-weight:800;color:var(--d-ink);}
