@charset "UTF-8";
/* Demo-Bestellsystem (Döner & Pizza) – eigenes, warmes Design; Kunden- und Admin-Ansicht */
:root{--red:#e63946;--red-d:#c1121f;--orange:#f59e0b;--cream:#fff7ed;--ink:#1f1a17;--muted:#6b625b;--card:#fff;--line:#f0e2d0;--green:#12a26b;--font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--head:'Space Grotesk','Inter',sans-serif}
*{box-sizing:border-box}
body.dbs{margin:0;font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
.dbs-demobar{position:sticky;top:0;z-index:80;background:#14104a;background-image:linear-gradient(90deg,#14104a,#1e1678 60%,#0b4f6e);color:#fff}
.dbs-demobar-in{max-width:1280px;margin:0 auto;padding:9px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.84rem}
.dbs-tag{background:linear-gradient(135deg,#fbbf24,#f43f5e);color:#1b0b2e;font-weight:800;letter-spacing:.1em;border-radius:999px;padding:3px 11px;font-size:.72rem}
.dbs-demotxt{color:#cfd5f3;flex:1 1 260px}
.dbs-switch{display:flex;background:rgba(255,255,255,.12);border-radius:999px;padding:3px}
.dbs-switch a{padding:6px 15px;border-radius:999px;text-decoration:none;font-weight:600;color:#dfe3ff}
.dbs-switch a.on{background:#fff;color:#14104a}
.dbs-back{text-decoration:none;color:#9ee7ff;font-weight:600}

/* ---------- Kundenansicht ---------- */
.dbs-hero{background:linear-gradient(135deg,#b3141f,#e63946 55%,#f59e0b);color:#fff}
.dbs-hero-in{max-width:1280px;margin:0 auto;padding:30px 18px;display:flex;align-items:center;gap:22px}
.dbs-logo{width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:1.5rem;flex-shrink:0}
.dbs-logo.big{width:84px;height:84px;border-radius:24px;font-size:2.8rem;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.dbs-hero h1{margin:0 0 4px;font-family:var(--head);font-size:2rem;letter-spacing:-.02em;line-height:1.1}
.dbs-hero p{margin:0 0 12px;opacity:.95}
.dbs-chips{display:flex;gap:8px;flex-wrap:wrap}
.dbs-chips span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 13px;font-size:.82rem;font-weight:500}
.dbs-layout{max-width:1280px;margin:0 auto;padding:22px 18px 90px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px;align-items:start}
.dbs-cats{position:sticky;top:48px;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 0;background:var(--cream);margin-bottom:6px}
.dbs-cats a{white-space:nowrap;text-decoration:none;padding:8px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:.9rem;color:var(--muted)}
.dbs-cats a.on{background:var(--red);border-color:var(--red);color:#fff}
.dbs-cat{scroll-margin-top:110px;margin-bottom:26px}
.dbs-cat h2{font-family:var(--head);font-size:1.35rem;margin:6px 0 12px}
.dbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.dbs-item{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;grid-template-columns:56px 1fr;gap:4px 14px;box-shadow:0 8px 22px -16px rgba(120,60,0,.5)}
.dbs-item-ico{width:56px;height:56px;border-radius:16px;background:var(--cream);display:grid;place-items:center;font-size:1.9rem}
.dbs-item h3{margin:0;font-size:1.02rem;font-family:var(--head)}
.dbs-item p{margin:2px 0 8px;color:var(--muted);font-size:.85rem;line-height:1.4}
.dbs-opt{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);margin-bottom:6px}
.dbs-opt select{flex:1;padding:6px 8px;border-radius:9px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.85rem}
.dbs-item-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.dbs-item-foot b{font-size:1.1rem;font-family:var(--head)}
.dbs-add{border:0;background:var(--red);color:#fff;font-weight:700;padding:9px 16px;border-radius:12px;font-size:.88rem;transition:transform .15s,background .15s}
.dbs-add:hover{background:var(--red-d)}
.dbs-add.pop{transform:scale(.92)}
.dbs-cart{position:sticky;top:60px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 18px 40px -26px rgba(120,60,0,.6)}
.dbs-cart h2{margin:0 0 12px;font-family:var(--head);font-size:1.2rem}
.dbs-empty{color:var(--muted);font-size:.9rem;margin:0;padding:10px 0}
.dbs-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.dbs-line-t b{display:block;font-size:.93rem}
.dbs-line-t small{color:var(--muted);font-size:.78rem}
.dbs-qty{display:flex;align-items:center;gap:6px}
.dbs-qty button{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:700;line-height:1}
.dbs-qty span{min-width:18px;text-align:center;font-weight:700;font-size:.9rem}
.dbs-line-p{font-weight:700;font-size:.92rem;min-width:62px;text-align:right}
.dbs-sum{padding:12px 0 6px;font-size:.92rem}
.dbs-sum div{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted)}
.dbs-sum .tot{color:var(--ink);font-weight:800;font-size:1.1rem;border-top:2px solid var(--ink);margin-top:6px;padding-top:9px}
.dbs-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--cream);padding:4px;border-radius:14px;margin:8px 0 12px}
.dbs-seg button{border:0;background:transparent;padding:10px;border-radius:11px;font-weight:700;color:var(--muted)}
.dbs-seg button.on{background:#fff;color:var(--red);box-shadow:0 4px 10px -6px rgba(0,0,0,.4)}
.dbs-f{margin-bottom:10px}
.dbs-f label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:4px}
.dbs-f input{width:100%;padding:11px 12px;border-radius:11px;border:1px solid #e3d3bd;background:#fff;font:inherit;font-size:.93rem}
.dbs-f input:focus{outline:2px solid var(--orange);border-color:var(--orange)}
.dbs-pay{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dbs-pay label{display:flex;gap:9px;align-items:center;padding:10px 12px;border:1.5px solid #e3d3bd;border-radius:13px;cursor:pointer;margin:0;color:var(--ink)}
.dbs-pay label.on{border-color:var(--red);background:#fff1f2}
.dbs-pay input{width:auto;accent-color:var(--red)}
.dbs-pay b{display:block;font-size:.9rem}
.dbs-pay small{color:var(--muted);font-size:.75rem}
.dbs-btn{border:0;background:var(--red);color:#fff;font-weight:700;border-radius:13px;padding:11px 18px;font-size:.92rem;transition:background .15s}
.dbs-btn:hover{background:var(--red-d)}
.dbs-btn.big{width:100%;padding:14px;font-size:1rem;margin-top:4px}
.dbs-btn.ghost{background:transparent;color:inherit;border:1.5px solid #d9c7ad}
.dbs-btn.ghost:hover{background:rgba(0,0,0,.05)}
.dbs-btn.sm{padding:6px 11px;font-size:.78rem;border-radius:10px}
.dbs-warn{background:#fff4e2;border:1px solid #f5d29a;color:#7a3f06;border-radius:12px;padding:9px 12px;font-size:.85rem;margin:0 0 12px}
.dbs-err{background:#fde8ea;border:1px solid #f5b5bb;color:#8d1019;border-radius:12px;padding:9px 12px;font-size:.88rem;margin-bottom:10px}
.dbs-demonote{margin:10px 0 0;text-align:center;font-size:.76rem;color:var(--muted)}
.dbs-cartbar{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:60;background:var(--red);color:#fff;text-decoration:none;padding:15px 18px;border-radius:16px;font-weight:600;text-align:center;box-shadow:0 14px 30px -10px rgba(190,18,31,.7)}
.dbs-status{display:flex;flex-direction:column;gap:12px}
.dbs-st{border-radius:18px;padding:18px;text-align:center}
.dbs-st h3{margin:6px 0 4px;font-family:var(--head)}
.dbs-st p{margin:0;font-size:.9rem}
.dbs-st .big{font-size:2.4rem}
.dbs-st.wait{background:#fff7e0;border:1px solid #f5d29a}
.dbs-st.ok{background:#e6f8ef;border:1px solid #9fe0bf}
.dbs-st.no{background:#fde8ea;border:1px solid #f5b5bb}
.dbs-st .eta b{font-size:1.15rem}
.spin{display:inline-block;width:30px;height:30px;border:4px solid #f5d29a;border-top-color:var(--orange);border-radius:50%;animation:dbsspin 1s linear infinite}
@keyframes dbsspin{to{transform:rotate(360deg)}}
.dbs-st-sum{background:var(--cream);border-radius:14px;padding:12px 14px;font-size:.88rem}
.dbs-st-sum div{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.dbs-st-sum .tot{font-weight:800;border-top:1px solid #e3d3bd;margin-top:6px;padding-top:6px}
.dbs-st-sum .meta{display:block;color:var(--muted);font-size:.8rem;margin-top:6px}
.dbs-paynote{background:#eef4ff;border:1px solid #c9dafc;border-radius:12px;padding:10px 12px;font-size:.82rem;color:#1c3d7a}
.dbs-paynote span{display:block;color:var(--muted);margin-top:2px}

/* Modal + E-Mail-Vorschau */
.dbs-modal{position:fixed;inset:0;z-index:100;background:rgba(15,10,5,.6);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.dbs-modal[hidden]{display:none}
.dbs-modal-card{position:relative;background:#fff;color:var(--ink);border-radius:22px;max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:22px}
.dbs-x{position:absolute;right:12px;top:10px;border:0;background:#f2eadf;border-radius:50%;width:32px;height:32px;font-size:1.3rem;line-height:1}
.dbs-mail-meta{background:#f4f4f8;border-radius:10px;padding:9px 12px;font-size:.78rem;color:#444;margin:20px 0 10px}
.dbs-mail-body{border:1px solid #e4e0d8;border-radius:14px;overflow:hidden}
.dbs-mail-head{background:linear-gradient(135deg,#b3141f,#e63946 60%,#f59e0b);color:#fff;padding:16px 20px;font-weight:800;font-family:var(--head)}
.dbs-mail-body h3{margin:16px 20px 6px;font-family:var(--head)}
.dbs-mail-body p{margin:0 20px 10px;font-size:.9rem}
.dbs-mail-eta{margin:12px 20px;background:#e6f8ef;border:1px solid #9fe0bf;border-radius:14px;padding:14px;text-align:center}
.dbs-mail-eta small{display:block;color:#3a6a55}
.dbs-mail-eta b{display:block;font-size:1.5rem;color:#06573a;font-family:var(--head)}
.dbs-mail-t{width:calc(100% - 40px);margin:6px 20px 12px;border-collapse:collapse;font-size:.88rem}
.dbs-mail-t td{padding:6px 0;border-bottom:1px solid #eee}
.dbs-mail-t .sum td{font-weight:800;border-bottom:0}
.dbs-mail-foot{color:#777;font-size:.8rem !important;padding-bottom:12px}
.dbs-mail-note{font-size:.78rem;color:#8a5a00;background:#fff4e2;border-radius:10px;padding:8px 12px;margin:12px 0 0}

/* ---------- Admin-Ansicht ---------- */
body.dbs-admin{background:#12100e;color:#f4ece2}
.dbs-app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 44px)}
.dbs-side{background:#1a1613;border-right:1px solid #2c251f;padding:20px 16px;display:flex;flex-direction:column;gap:18px}
.dbs-brand{display:flex;gap:10px;align-items:center}
.dbs-brand b{display:block;font-family:var(--head);font-size:.95rem;line-height:1.15}
.dbs-brand small{color:#a79b8d;font-size:.75rem}
.dbs-nav{display:flex;flex-direction:column;gap:4px}
.dbs-nav a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;text-decoration:none;color:#cfc3b5;font-weight:600;font-size:.9rem}
.dbs-nav a.on{background:#2b221b;color:#fff}
.dbs-nav a.lock{opacity:.5;cursor:not-allowed}
.dbs-nav i{margin-left:auto;font-style:normal;font-size:.75rem}
.dbs-cnt{margin-left:auto;background:var(--red);color:#fff;border-radius:999px;padding:1px 8px;font-size:.75rem}
.dbs-side-note{margin-top:auto;font-size:.76rem;color:#8c8073;line-height:1.5}
.dbs-main{padding:22px 24px 40px;min-width:0}
.dbs-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.dbs-top h1{margin:0;font-family:var(--head);font-size:1.7rem}
.dbs-live{margin:4px 0 0;color:#a79b8d;font-size:.85rem;display:flex;align-items:center;gap:8px}
.dbs-live .dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:dbspulse 1.8s infinite}
@keyframes dbspulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.dbs-top-act{display:flex;align-items:center;gap:12px}
.dbs-me{font-size:.8rem;color:#a79b8d}
.dbs-admin .dbs-btn.ghost{border-color:#4a3e33;color:#f4ece2}
.dbs-admin .dbs-btn.ghost:hover{background:#2b221b}
.dbs-admin .dbs-btn.danger{color:#ff8a93;border-color:#6b2a30}
.dbs-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.dbs-tabs button{border:1px solid #3a3027;background:#1a1613;color:#cfc3b5;border-radius:999px;padding:7px 15px;font-weight:600;font-size:.85rem}
.dbs-tabs button span{background:#2b221b;border-radius:999px;padding:0 7px;margin-left:4px;font-size:.75rem}
.dbs-tabs button.on{background:var(--orange);border-color:var(--orange);color:#1b1006}
.dbs-tabs button.on span{background:rgba(0,0,0,.18)}
.dbs-hint{background:#1f1a15;border:1px dashed #4a3e33;color:#b6a999;border-radius:12px;padding:10px 14px;font-size:.83rem;margin-bottom:16px}
.dbs-hint a{color:#ffb454}
.dbs-orders{display:flex;flex-direction:column;gap:14px}
.dbs-none{padding:40px;text-align:center;color:#8c8073;border:1px dashed #3a3027;border-radius:16px}
.dbs-order{background:#1c1814;border:1px solid #2f2720;border-radius:18px;padding:16px 18px;border-left:5px solid #4a3e33}
.dbs-order.st-neu{border-left-color:var(--red)}
.dbs-order.st-angenommen{border-left-color:var(--orange)}
.dbs-order.st-fertig{border-left-color:#22c55e;opacity:.72}
.dbs-order.st-abgelehnt{opacity:.55}
.dbs-order.is-new{animation:dbsnew 1.2s ease-out 3;box-shadow:0 0 0 2px rgba(230,57,70,.55)}
@keyframes dbsnew{0%{background:#4a1c20}100%{background:#1c1814}}
.dbs-order header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.dbs-order .num{font-family:var(--head);font-size:1.15rem}
.dbs-order .ago{color:#a79b8d;font-size:.8rem}
.bd{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:700;margin-left:4px;background:#2b221b;color:#e4d8c9}
.bd.st{background:var(--red);color:#fff}
.st-angenommen .bd.st{background:var(--orange);color:#1b1006}
.st-fertig .bd.st{background:#22c55e;color:#06260f}
.bd.pp{background:#16315f;color:#a9c8ff}
.bd.cash{background:#2a3a1f;color:#bfe39c}
.bd.demo{background:transparent;border:1px dashed #6a5c4d;color:#a79b8d}
.dbs-order .cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px}
.cust{display:flex;flex-direction:column;gap:3px;font-size:.88rem;color:#d7cabb}
.cust b{color:#fff;font-size:.98rem}
.cust .note{background:#2a2118;border-radius:8px;padding:5px 9px;margin-top:4px;color:#ffd9a0}
.cust .dbs-btn{align-self:flex-start;margin-top:8px}
.lines{list-style:none;margin:0;padding:0;font-size:.88rem}
.lines li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid #2a231c;color:#d7cabb}
.lines li small{color:#9c8f80}
.lines .fee{color:#9c8f80}
.lines .tot{border-bottom:0;font-weight:800;color:#fff;font-size:1rem;padding-top:7px}
.dbs-eta{margin-top:14px;padding-top:14px;border-top:1px dashed #3a3027}
.dbs-eta label{font-size:.82rem;color:#b6a999;font-weight:600}
.dbs-eta .chips{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}
.dbs-eta .chip{border:1.5px solid #4a3e33;background:transparent;color:#f4ece2;border-radius:999px;padding:6px 13px;font-weight:700;font-size:.85rem}
.dbs-eta .chip.on{background:var(--orange);border-color:var(--orange);color:#1b1006}
.dbs-eta .own{color:#b6a999;font-size:.85rem}
.dbs-eta .own input{width:64px;padding:6px 8px;border-radius:9px;border:1.5px solid #4a3e33;background:#12100e;color:#fff;font:inherit;margin-right:3px}
.dbs-eta .acts{display:flex;gap:10px;flex-wrap:wrap}
.dbs-eta.done .info{font-size:.88rem;color:#ffd9a0;margin-bottom:10px}
.dbs-toast{position:fixed;right:18px;top:62px;z-index:90;background:#e63946;color:#fff;padding:13px 18px;border-radius:14px;font-weight:600;box-shadow:0 16px 36px -12px rgba(230,57,70,.7);max-width:340px}
.dbs-toast[hidden]{display:none}
.dbs-toast.show{animation:dbstoast .4s ease-out}
@keyframes dbstoast{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}

@media (max-width:980px){
  .dbs-layout{grid-template-columns:1fr}
  .dbs-cart{position:static}
  .dbs-cartbar:not([hidden]){display:block}
  .dbs-app{grid-template-columns:1fr}
  .dbs-side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 14px}
  .dbs-nav{flex-direction:row;flex-wrap:wrap}
  .dbs-side-note{display:none}
  .dbs-order .cols{grid-template-columns:1fr}
  .dbs-hero-in{flex-direction:column;align-items:flex-start}
  .dbs-hero h1{font-size:1.6rem}
}

.dbs-menu{min-width:0}
@media (max-width:980px){.dbs-layout{grid-template-columns:minmax(0,1fr)}}
