:root{--bg:#14171c;--panel:#1c2027;--panel2:#232831;--line:#313845;--txt:#e7e9ee;--mut:#9aa3b2;--acc:#d6b679;--ok:#5fb98a;--warn:#e0a84f;--info:#6aa6e8;--bad:#e06a6a;--r:12px;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-weight:650;letter-spacing:.01em}
h1{font-size:1.35rem}h2{font-size:1.15rem}h3{font-size:1.05rem}
.muted{color:var(--mut)}.small{font-size:.85rem}.center{text-align:center}.err{color:var(--bad);min-height:1.2em;margin:.3rem 0}
.grow{flex:1}
.btn{appearance:none;border:1px solid var(--line);background:var(--panel2);color:var(--txt);border-radius:10px;padding:.55rem .9rem;font:inherit;cursor:pointer;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.btn:hover{border-color:#4a5363}.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#1a1712;font-weight:650}
.btn.danger{border-color:#6b3434;color:#ffb3b3;background:#2a1c1e}
.btn.ghost{background:transparent;border-color:transparent}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--txt);background:#11141a;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;min-height:44px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);outline-offset:0;border-color:transparent}
label,.lbl{display:flex;flex-direction:column;gap:.3rem;color:var(--mut);font-size:.9rem;margin:.5rem 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.row{display:flex;gap:.5rem;align-items:center}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.5rem}

/* Anmeldung */
.auth{min-height:100vh;display:grid;place-items:center;padding:1rem}
.authcard{width:min(400px,100%);padding:1.5rem;display:flex;flex-direction:column;gap:.4rem}

/* Kopf */
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem max(1rem,env(safe-area-inset-left));background:rgba(20,23,28,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topactions{display:flex;gap:.4rem}
.tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.6rem 1rem;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;border:1px solid var(--line);background:var(--panel);color:var(--mut);border-radius:999px;padding:.4rem .85rem;font:inherit;font-size:.92rem;cursor:pointer;min-height:40px}
.tabs button.on{background:var(--acc);border-color:var(--acc);color:#1a1712;font-weight:650}
.tabs b{font-weight:600;opacity:.8;margin-left:.2rem}
.searchbar{display:flex;gap:.5rem;padding:0 1rem .6rem}

/* Liste */
.list{display:grid;gap:.75rem;padding:0 1rem 2rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));max-width:1400px}
.order{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem;border-left:4px solid var(--line)}
.order.s-bestellt{border-left-color:var(--warn)}.order.s-geplant{border-left-color:var(--info)}.order.s-abgeholt{border-left-color:var(--ok)}
.order.trash{opacity:.75;border-left-color:var(--bad)}
.order header{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline}
.order h3{flex:1 1 100%}
.tel{color:var(--acc);text-decoration:none}
.freqtag{font-size:.82rem;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:.05rem .55rem}
.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.items li{display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;align-items:baseline;background:var(--panel2);border-radius:8px;padding:.45rem .6rem}
.items .qty{font-weight:700;color:var(--acc);font-variant-numeric:tabular-nums}
.items .code{grid-column:1/-1;font-size:.8rem;color:var(--mut)}
.items svg.bc{grid-column:1/-1;max-width:100%;height:auto;background:#fff;border-radius:4px}
.note{margin:0;color:var(--mut);white-space:pre-wrap;font-size:.92rem}
.status{display:flex;gap:.3rem;flex-wrap:wrap}
.st{flex:1;border:1px solid var(--line);background:transparent;color:var(--mut);border-radius:8px;padding:.4rem .5rem;font:inherit;font-size:.85rem;cursor:pointer;min-height:40px}
.st.on.st-bestellt{background:var(--warn);border-color:var(--warn);color:#1b1408;font-weight:650}
.st.on.st-geplant{background:var(--info);border-color:var(--info);color:#08121e;font-weight:650}
.st.on.st-abgeholt{background:var(--ok);border-color:var(--ok);color:#08170f;font-weight:650}
.order footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}

/* Dialoge */
.dlg{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;width:min(760px,96vw);max-height:92vh}
.dlg::backdrop{background:rgba(0,0,0,.6)}
.dlghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.dlgfoot{display:flex;gap:.5rem;align-items:center;margin-top:.6rem;flex-wrap:wrap}
.dlg section{border-top:1px solid var(--line);padding:.8rem 0}
.dlg h3{margin-bottom:.5rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:.6rem .7rem;margin:.5rem 0}
legend{color:var(--mut);padding:0 .3rem}
.item{display:grid;grid-template-columns:1fr 90px 100px 1fr auto;gap:.4rem;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px dashed var(--line)}
.item .i-bc{display:flex;gap:.3rem}
.item .i-svg{grid-column:1/-1;background:#fff;border-radius:4px;max-width:100%;height:auto;justify-self:start}
.freq{display:flex;gap:.4rem;align-items:center}.freq input{width:5rem}.freq span{color:var(--mut)}
.scan .videowrap{position:relative;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.scan video{width:100%;height:100%;object-fit:cover;display:block}
.scan .aim{position:absolute;inset:30% 12%;border:2px solid var(--acc);border-radius:10px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
.audit{max-height:240px;overflow:auto;padding-left:1.2rem;color:var(--mut)}
.toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translateX(-50%);background:#2b3240;border:1px solid var(--line);color:var(--txt);padding:.6rem 1rem;border-radius:10px;z-index:50;max-width:92vw}
.toast.bad{background:#3a2023;border-color:#6b3434}

@media (max-width:640px){
  .list{grid-template-columns:1fr;padding:0 .6rem 2rem}
  .grid2{grid-template-columns:1fr}
  .item{grid-template-columns:1fr 1fr auto}
  .item .i-desc{grid-column:1/-1}
  .item .i-bc{grid-column:1/3}
  .dlg{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
  .searchbar{padding:0 .6rem .6rem}.tabs{padding:.6rem}
}
@media (hover:none){.btn:hover{border-color:var(--line)}}
