:root{--black:#000;--panel:#161616;--line:#2b2b2b;--red:#E3241B;--cheddar:#F5B323;--green:#2FB45A;--grey:#9a9a9a;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--black);color:var(--white);font-family:'Barlow',sans-serif;font-size:17px;line-height:1.45;min-height:100vh}
h1,h2,.anton{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.01em}
.wrap{max-width:560px;margin:0 auto;padding:20px 16px 120px}
.wrap.wide{max-width:900px}
header{border-left:6px solid var(--red);padding:4px 0 4px 14px;margin-bottom:22px}
header h1{font-size:44px;line-height:1}
header p{color:var(--grey);font-size:15px;margin-top:6px}
.burger{border-top:1px solid var(--line);padding:18px 0}
.burger h2{font-size:30px;line-height:1.05}
.burger h2 .hot{color:var(--red)}
.zutaten{color:var(--grey);font-size:15px;margin:4px 0 12px}
.row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.row .lbl b{display:block;font-size:17px}
.row .lbl span{color:var(--grey);font-size:14px}
.price{font-family:'Anton';font-size:22px;margin-right:12px}
.step{display:flex;align-items:center}
.step button{width:44px;height:44px;border:2px solid var(--white);background:none;color:var(--white);font-size:24px;font-weight:700;cursor:pointer}
.step button:first-child{border-radius:6px 0 0 6px}.step button:last-child{border-radius:0 6px 6px 0}
.step output{width:44px;height:44px;display:grid;place-items:center;border-top:2px solid var(--white);border-bottom:2px solid var(--white);font-family:'Anton';font-size:20px}
.step.on output{background:var(--red);border-color:var(--red)}
.notes{display:none;margin:4px 0 8px;padding:10px 12px;border-left:3px solid var(--red);background:var(--panel);border-radius:0 8px 8px 0}
.notes.show{display:block}
.note-item{display:flex;align-items:center;gap:10px;margin:6px 0}
.note-item label{font-size:14px;color:var(--grey);font-weight:600;white-space:nowrap;min-width:78px}
.note-item input{padding:9px;font-size:15px;background:var(--black)}
input{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--white);font:inherit;padding:12px;border-radius:6px}
input:focus,button:focus-visible{outline:3px solid var(--cheddar);outline-offset:2px}
label.f{display:block;font-weight:600;margin:16px 0 6px}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay label{border:2px solid var(--line);border-radius:8px;padding:14px;text-align:center;cursor:pointer;font-weight:700}
.pay input{display:none}
.pay label:has(input:checked){background:var(--white);border-color:var(--white);color:var(--black)}
.bar{position:fixed;left:0;right:0;bottom:0;background:var(--red);padding:12px 16px}
.bar .in{max-width:560px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bar .sum{font-family:'Anton';font-size:26px;line-height:1}
.bar .sum small{display:block;font-family:'Barlow';font-size:13px;font-weight:600}
.bar button{background:var(--black);color:var(--white);border:0;border-radius:8px;padding:14px 22px;font-family:'Anton';font-size:20px;cursor:pointer}
.bar button:disabled{opacity:.45}
.err{color:var(--cheddar);font-weight:600;margin-top:10px;min-height:1em}
/* Abholschein */
.ticket{text-align:center;padding:30px 16px;border-radius:16px}
.ticket .nr{font-family:'Anton';font-size:140px;line-height:1;margin:6px 0 4px}
.ticket.ready{background:var(--green);color:var(--black)}
.steps{display:flex;justify-content:space-between;margin:24px 0 8px;position:relative}
.steps::before{content:"";position:absolute;top:20px;left:16%;right:16%;height:3px;background:var(--line)}
.ticket.ready .steps::before{background:rgba(0,0,0,.3)}
.st{flex:1;position:relative}
.dot{width:42px;height:42px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;background:var(--line);color:var(--grey);font-weight:700}
.st span{font-size:13px;font-weight:700;color:var(--grey)}
.st.done .dot{background:var(--white);color:var(--black)}
.st.done span{color:var(--white)}
.st.active .dot{background:var(--cheddar);color:var(--black)}
.st.active span{color:var(--cheddar)}
.ticket.ready .st .dot{background:var(--black);color:var(--white)}
.ticket.ready .st span{color:var(--black)}
@media (prefers-reduced-motion:no-preference){.st.active .dot{animation:pulse 1.6s infinite}.ticket.ready .nr{animation:pop .5s ease}}
@keyframes pulse{50%{transform:scale(1.12)}}
@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.1)}100%{transform:scale(1)}}
.msg{font-size:20px;font-weight:700;margin:14px 0}
.ticket ul{list-style:none;margin:18px 0;text-align:left;border-top:1px solid var(--line)}
.ticket li{border-bottom:1px solid var(--line);padding:10px 0}
.ticket.ready ul,.ticket.ready li{border-color:rgba(0,0,0,.25)}
.ticket li small{display:block;color:var(--cheddar);font-weight:600}
.ticket.ready li small{color:var(--black)}
.hint{color:var(--grey);font-size:15px}
.btn2{background:none;border:2px solid currentColor;color:inherit;padding:12px 18px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;margin-top:14px}
/* Küche */
.k-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.k-head .btns{display:flex;gap:8px}
.k-head .btn2{margin:0;color:var(--white)}
.todo{background:var(--cheddar);color:var(--black);border-radius:8px;padding:12px 14px;font-weight:700;margin:14px 0}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}
.tabs button{padding:10px 4px;background:var(--panel);border:0;color:var(--white);font:inherit;font-size:15px;font-weight:700;border-radius:6px;cursor:pointer}
.tabs button.act{background:var(--white);color:var(--black)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.order{border-left:6px solid var(--red);background:var(--panel);border-radius:0 8px 8px 0;padding:14px}
.order.bearbeitung{border-color:var(--cheddar)}.order.fertig{border-color:var(--green)}.order.abgeholt{opacity:.55;border-color:var(--line)}
.order .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.order .top .anton{font-size:28px}
.tag{font-size:13px;font-weight:700;padding:3px 8px;border-radius:4px;white-space:nowrap}
.tag.no{background:var(--cheddar);color:var(--black)}.tag.yes{background:#2a2a2a}
.order .items{margin:8px 0}
.order .items div{padding:3px 0}
.order .items em{display:block;color:var(--cheddar);font-style:normal;font-weight:600;padding-left:14px}
.order .time{color:var(--grey);font-size:13px}
.order a{color:var(--white)}
.order .act button{width:100%;padding:13px;border:0;border-radius:6px;font:inherit;font-weight:700;cursor:pointer;margin-top:8px}
.b-work{background:var(--cheddar);color:var(--black)}.b-ready{background:var(--green);color:var(--black)}.b-done{background:var(--white);color:var(--black)}
.empty{color:var(--grey);padding:20px 0}
/* Statistik */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}
.stat{background:var(--panel);border-radius:8px;padding:14px}
.stat b{font-family:'Anton';font-size:34px;font-weight:400;display:block;line-height:1.1}
.stat span{color:var(--grey);font-size:14px}
.barrow{margin:10px 0}
.barrow .l{display:flex;justify-content:space-between;font-weight:600;font-size:15px}
.barrow .t{height:12px;background:var(--panel);border-radius:6px;overflow:hidden;margin-top:4px}
.barrow .t i{display:block;height:100%;background:var(--red)}
.link{color:var(--grey);background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer;margin-top:30px}
.login{max-width:340px;margin:80px auto;text-align:center}
.login input{text-align:center;font-size:28px;letter-spacing:.3em;margin:16px 0}
.login button{width:100%;padding:14px;background:var(--red);color:#fff;border:0;border-radius:8px;font-family:'Anton';font-size:22px;cursor:pointer}
.closed{text-align:center;padding:60px 0}
.live{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green);margin-right:6px}
.live.off{background:var(--red)}
.stat-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.stat-actions a{color:var(--white);text-decoration:none;display:inline-block}
