:root{--bg:#111827;--panel:#1f2937;--text:#f9fafb;--muted:#cbd5e1;--accent:#22c55e;--line:rgba(255,255,255,.12)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#0f172a,#111827 55%,#1f2937);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100vh}.app{width:min(900px,100%);margin:0 auto;padding:10px 10px 18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.eyebrow{margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.topbar h1{margin:0;font-size:clamp(1.55rem,6vw,2.5rem)}.small-link{color:#d1fae5;text-decoration:none;border:1px solid var(--line);padding:9px 11px;border-radius:999px;background:rgba(255,255,255,.06)}.items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-auto-rows:minmax(118px,auto)}.item{background:#166534;background:linear-gradient(160deg,color-mix(in srgb,var(--item-color,#374151) 82%,#020617),rgba(31,41,55,.94));border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 6px 16px rgba(0,0,0,.18);min-height:118px;display:flex;flex-direction:column;justify-content:space-between}.item-name{font-size:.95rem;font-weight:900;line-height:1.12;text-align:center;min-height:40px;display:flex;flex-direction:column;justify-content:center}.item-price{display:block;margin-top:4px;font-size:.88rem;color:#ffffff;font-weight:900}.empty-note{grid-column:1/-1;background:rgba(31,41,55,.94);border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--muted);font-weight:900;text-align:center}.counter{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:5px;align-items:center;margin-top:8px}.counter button,.actions button,.quick-row button,.given-steps button,.wide{border:0;border-radius:12px;font-weight:900;min-height:44px;font-size:1.2rem;color:#fff;touch-action:manipulation}.minus{background:#dc2626}.plus{background:#16a34a}.qty{text-align:center;font-size:1.45rem;font-weight:900;background:#020617;border-radius:12px;padding:7px 2px;border:1px solid var(--line);min-height:44px}.checkout{position:sticky;bottom:0;margin-top:8px;padding-top:8px;background:linear-gradient(180deg,rgba(17,24,39,0),#111827 10%,#111827)}.total-card,.change-card,.metric{background:#020617;border:1px solid var(--line);border-radius:15px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.total-card span,.change-card span,.metric span{color:var(--muted);font-weight:800}.total-card strong{font-size:clamp(2rem,12vw,4.2rem);color:#fde68a;line-height:1}.given-box{margin-top:7px;background:rgba(31,41,55,.95);border:1px solid var(--line);border-radius:14px;padding:8px}.given-box summary{cursor:pointer;font-weight:900;color:#d1fae5;list-style:none}.given-box summary::-webkit-details-marker{display:none}.given-box label{display:block;margin:8px 0 5px;color:var(--muted);font-weight:800}.given-box input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#020617;color:#fff;font-size:1.45rem;font-weight:900;padding:8px 10px}.given-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:7px}.given-steps button{background:#334155;font-size:1rem;min-height:42px}.quick-row{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:6px;margin-top:7px}.quick-row button{background:#475569;font-size:.98rem;min-height:42px}.change-card{margin-top:7px}.change-card strong{font-size:1.8rem;color:#fde68a}.status{min-height:24px;margin:7px 2px;color:#bbf7d0;font-weight:800}.status.error{color:#fecaca}.actions{display:grid;grid-template-columns:1.25fr .75fr;gap:7px}.sell{background:var(--accent);font-size:1.55rem!important}.reset{background:#475569}.bottom-controls{margin-top:8px;display:grid;gap:7px}.offline-box,.till-box{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(2,6,23,.55);color:var(--muted);font-weight:800}.offline-box button{border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:900;min-height:38px;padding:0 10px}.offline-box button:disabled{opacity:.45}.till-box label{color:#d1fae5;font-weight:900}.till-box select{min-height:42px;flex:1;border:1px solid var(--line);border-radius:12px;background:#020617;color:#fff;font-size:1.1rem;font-weight:900;padding:7px 10px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric{display:block}.metric strong{display:block;margin-top:6px;font-size:2rem;color:#fde68a}.report-card{margin-top:10px;background:rgba(31,41,55,.94);border:1px solid var(--line);border-radius:15px;padding:12px}.report-card h2{margin:0 0 8px}.sum-row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-weight:800}.wide{width:100%;margin-top:10px;background:#475569}@media(max-width:420px){.app{padding:8px}.items{gap:5px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-auto-rows:minmax(104px,auto)}.item{min-height:104px;padding:6px;border-radius:12px}.item-name{font-size:.78rem;min-height:38px}.item-price{font-size:.78rem}.counter{gap:3px}.counter button,.qty{min-height:38px;border-radius:10px;font-size:1rem}.qty{font-size:1.18rem;padding:6px 1px}.total-card strong{font-size:2.65rem}.given-steps{grid-template-columns:repeat(4,1fr)}.summary-grid{grid-template-columns:1fr}.offline-box,.till-box{font-size:.88rem}.till-box{align-items:stretch;flex-direction:column}.till-box select{width:100%}}
.top-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 8px}.mini-toggle{border:1px solid var(--line);border-radius:12px;background:rgba(2,6,23,.65);color:#fff;text-align:center;text-decoration:none;font-weight:900;min-height:40px;padding:9px 6px}.mini-toggle.active{background:#f59e0b;color:#111827}.item.favorite{outline:3px solid #fbbf24}.stock-badge{display:block;margin-top:3px;font-size:.72rem;color:#fff;opacity:.92}.stock-low{box-shadow:0 0 0 3px #f97316 inset}.offline-box.warn{background:#7f1d1d;color:#fff;border-color:#ef4444}.order-badge{font-size:1.15rem;color:#fde68a}.report-actions{margin:8px 0}.recent-sale{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.recent-sale button{border:0;border-radius:10px;background:#dc2626;color:white;font-weight:900;padding:8px}.recent-sale.voided{opacity:.55}.qr-box img{width:180px;max-width:100%;background:white;padding:8px;border-radius:12px}.theme-light{--bg:#f8fafc;--panel:#e2e8f0;--text:#0f172a;--muted:#334155;--line:rgba(15,23,42,.22)}body.theme-light{background:linear-gradient(160deg,#f8fafc,#e2e8f0);color:#0f172a}.theme-light .checkout{background:linear-gradient(180deg,rgba(248,250,252,0),#f8fafc 10%,#f8fafc)}@media(max-width:420px){.top-controls{grid-template-columns:1fr 1fr}.top-controls a{grid-column:1/-1}}

/* Collapsible mobile till/offline controls */
.bottom-controls{border:1px solid var(--line);border-radius:14px;background:rgba(2,6,23,.55);overflow:hidden}.bottom-controls>summary{list-style:none;cursor:pointer;padding:11px 12px;color:#d1fae5;font-weight:900;display:flex;justify-content:space-between;align-items:center}.bottom-controls>summary::-webkit-details-marker{display:none}.bottom-controls>summary::after{content:'anzeigen';font-size:.82rem;color:#93c5fd}.bottom-controls[open]>summary::after{content:'ausblenden'}.bottom-controls:not([open]){display:block}.bottom-controls[open]{display:grid;gap:7px;padding-bottom:8px}.bottom-controls[open]>summary{border-bottom:1px solid var(--line);margin-bottom:2px}.bottom-controls .till-box,.bottom-controls .offline-box{margin:0 8px}.bottom-controls:not([open]) .till-box,.bottom-controls:not([open]) .offline-box{display:none!important}@media(max-width:560px){.checkout{padding-bottom:calc(8px + env(safe-area-inset-bottom));}.bottom-controls>summary{min-height:42px}}

/* Desktop/right checkout layout */
@media (min-width: 900px){
  .app[data-page="pos"]{width:min(1420px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:10px 14px;align-items:start}
  .app[data-page="pos"] .topbar,.app[data-page="pos"] .top-controls{grid-column:1/-1}
  .app[data-page="pos"] .items{grid-column:1;grid-row:3;align-content:start}
  .app[data-page="pos"] .checkout{grid-column:2;grid-row:3;align-self:start;position:sticky;top:10px;bottom:auto;margin-top:0;padding:8px;background:rgba(17,24,39,.92);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 28px rgba(0,0,0,.22)}
  .app[data-page="pos"] .total-card{display:grid;grid-template-columns:1fr;gap:4px;align-items:start}
  .app[data-page="pos"] .total-card strong{font-size:clamp(2.4rem,5vw,4.2rem);text-align:right}
  .app[data-page="pos"] .given-box{display:block;max-width:100%}
  .app[data-page="pos"] .given-box summary{cursor:pointer}
  .app[data-page="pos"] .given-box summary::after{content:''}
  .app[data-page="pos"] .given-steps{grid-template-columns:repeat(3,1fr);gap:5px}
  .app[data-page="pos"] .quick-row{grid-template-columns:1fr;gap:5px}
  .app[data-page="pos"] .actions{grid-template-columns:1fr 1fr;gap:8px}
  .app[data-page="pos"] .sell{min-height:96px;font-size:1.65rem}
  .app[data-page="pos"] .reset{min-height:58px;font-size:1.05rem}
  .app[data-page="pos"] .bottom-controls{max-width:100%}
}
@media (max-width: 899px){
  .given-box[open] summary{margin-bottom:7px}
  .sell{min-height:88px;font-size:1.6rem}
}

/* Background save lock */
.saving-sale .items,.saving-sale .checkout{cursor:wait}.saving-sale button:disabled,.saving-sale input:disabled,.saving-sale select:disabled{opacity:.55;filter:grayscale(.2)}

/* Live change display: hide exact/change buttons */
#given-exact,#calc-change{display:none!important}.quick-row{grid-template-columns:1fr!important}

/* Mobile: checkout scrolls as one complete block, never sticky/behind content */
@media (max-width: 899px){
  .app[data-page="pos"] .checkout{position:static!important;top:auto!important;bottom:auto!important;margin-top:10px;padding:8px;background:rgba(17,24,39,.92);border:1px solid var(--line);border-radius:16px;box-shadow:none;z-index:auto!important;transform:none!important;}
  .app[data-page="pos"] .items{margin-bottom:0;}
  .app[data-page="pos"] .total-card,.app[data-page="pos"] .given-box,.app[data-page="pos"] .actions,.app[data-page="pos"] .bottom-controls{position:static!important;z-index:auto!important;}
}

/* Header/top controls moved into collapsible bottom options */
.options-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 8px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(2,6,23,.55)}.options-head strong{font-size:1.35rem}.options-controls{margin:0 8px 0;grid-template-columns:repeat(3,1fr)}.bottom-controls[open] .options-controls{display:grid}@media (min-width:900px){.app[data-page="pos"] .items{grid-row:1}.app[data-page="pos"] .checkout{grid-row:1}.app[data-page="pos"] .topbar,.app[data-page="pos"] .top-controls:not(.options-controls){display:none}}

/* Report charts */
.bar-chart{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:minmax(74px,120px) 1fr auto;align-items:center;gap:8px;padding:6px 0}.bar-label{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:18px;background:rgba(148,163,184,.18);border:1px solid var(--line);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;min-width:3px;background:linear-gradient(90deg,#22c55e,#f59e0b);border-radius:999px}.bar-value{font-weight:800;text-align:right;white-space:nowrap}.product-row strong{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.share-pill{font-size:.78rem;padding:2px 7px;border-radius:999px;background:rgba(251,191,36,.16);color:#fde68a}.forecast-card{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(2,6,23,.45)}.forecast-card strong{font-size:2rem;color:#fbbf24}.hint{color:var(--muted);margin:.5rem 0 0}@media(max-width:560px){.bar-row{grid-template-columns:62px 1fr;gap:6px}.bar-value{grid-column:2;font-size:.9rem;text-align:left}.forecast-card strong{font-size:1.55rem}}

/* Report filter feature pack */
.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-items:end}.report-filters label{display:grid;gap:4px;font-size:.82rem;color:var(--muted);font-weight:800}.report-filters select,.report-filters input{width:100%;min-height:38px;border-radius:10px;border:1px solid var(--line);background:rgba(2,6,23,.65);color:var(--text);padding:7px}.theme-light .report-filters select,.theme-light .report-filters input{background:#fff;color:#111827}.report-card h3{margin:12px 0 8px;font-size:.95rem;color:var(--muted)}.compact-chart .bar-row{padding:3px 0}.mix-group{border:1px solid var(--line);border-radius:12px;margin:7px 0;padding:7px 9px;background:rgba(2,6,23,.28)}.mix-group summary{cursor:pointer;font-weight:900;color:#d1fae5;margin-bottom:5px}

/* Stock/KPI feature pack */
#avg-sale,#avg-items{color:#fde68a}


/* Auswertung Layout v2: dashboard-first, weniger Scroll-Chaos */
.app.report-dashboard{width:min(1380px,calc(100vw - 18px));padding:10px;display:grid;gap:10px}.report-hero{position:sticky;top:0;z-index:5;padding:8px 0;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.72));backdrop-filter:blur(8px)}.report-control-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:18px;background:rgba(2,6,23,.42);padding:8px}.report-sync{margin:0;white-space:nowrap}.report-actions{margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:7px}.report-actions button{min-height:38px;font-size:.92rem;padding:8px 10px}.report-kpis{grid-template-columns:1.5fr repeat(3,1fr);gap:8px}.report-kpis .metric{min-height:92px}.report-kpis .metric strong{font-size:clamp(1.5rem,3vw,2.35rem)}.report-kpis .hero-metric strong{font-size:clamp(2rem,5vw,4rem);color:#fde68a}.report-grid-main{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;align-items:start}.report-grid-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}.report-card{margin:0;min-width:0}.report-card h2{margin-top:0;display:flex;align-items:center;gap:7px}.report-card h2::before{content:'';width:8px;height:24px;border-radius:999px;background:linear-gradient(#22c55e,#f59e0b)}.card-large{grid-row:span 2}.compact-list .sum-row{padding:5px 0}.sum-row{gap:8px}.sum-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}.mix-group:not([open]){padding-bottom:7px}.qr-card{grid-column:auto}.report-status{position:sticky;bottom:0;z-index:4;border:1px solid var(--line);background:rgba(2,6,23,.82);backdrop-filter:blur(8px)}
@media(max-width:1100px){.report-control-panel{grid-template-columns:1fr}.report-actions{grid-template-columns:repeat(3,1fr)}.report-grid-main{grid-template-columns:1fr 1fr}.card-hours{grid-column:1/-1}.report-grid-secondary{grid-template-columns:1fr 1fr}.report-kpis{grid-template-columns:1fr 1fr}.report-kpis .hero-metric{grid-column:1/-1}}
@media(max-width:680px){.app.report-dashboard{width:100%;padding:8px}.report-hero{position:static}.report-filters{grid-template-columns:1fr 1fr}.report-filters label:nth-child(1),.report-filters label:nth-child(4),.report-filters label:nth-child(5){grid-column:1/-1}.report-grid-main,.report-grid-secondary,.report-kpis{grid-template-columns:1fr}.report-actions{grid-template-columns:1fr 1fr 1fr}.report-actions button{font-size:.82rem;padding:7px 4px}.bar-row{grid-template-columns:82px 1fr}.bar-value{grid-column:2}.recent-sale{grid-template-columns:1fr}.recent-sale button{width:100%}}

/* Bar visibility fix */
.bar-fill{display:block}


/* Kasse font +5pt adjusted */
.app[data-page="pos"]{--qk-font-plus:5pt;font-size:calc(1rem + var(--qk-font-plus))}
.app[data-page="pos"] .item-name{font-size:calc(.95rem + var(--qk-font-plus));line-height:1.05;min-height:62px}
.app[data-page="pos"] .item-price{font-size:calc(.88rem + var(--qk-font-plus))}
.app[data-page="pos"] .qty{font-size:calc(1.45rem + var(--qk-font-plus))}
.app[data-page="pos"] .counter button,.app[data-page="pos"] .actions button,.app[data-page="pos"] .quick-row button,.app[data-page="pos"] .given-steps button{font-size:calc(1.2rem + var(--qk-font-plus));min-height:58px}
.app[data-page="pos"] .total-card span,.app[data-page="pos"] .given-box summary,.app[data-page="pos"] .given-box label,.app[data-page="pos"] .change-card span,.app[data-page="pos"] .bottom-controls>summary,.app[data-page="pos"] .status,.app[data-page="pos"] select,.app[data-page="pos"] input{font-size:calc(1rem + var(--qk-font-plus))}
.app[data-page="pos"] .total-card strong{font-size:calc(2.6rem + var(--qk-font-plus))}
.app[data-page="pos"] .change-card strong{font-size:calc(1.7rem + var(--qk-font-plus))}
.app[data-page="pos"] .stock-badge{font-size:calc(.72rem + var(--qk-font-plus))}
@media(max-width:560px){.app[data-page="pos"] .items{grid-template-columns:repeat(2,minmax(0,1fr))}.app[data-page="pos"] .item{min-height:150px}}


/* Move „Leeren“ into free quick-money grid slot */
.app[data-page="pos"] #given-steps .given-clear-inline{background:#475569;color:#fff;border:0;border-radius:12px;font-weight:900;min-height:58px;width:100%;font-size:calc(1.2rem + var(--qk-font-plus,0pt))}
.app[data-page="pos"] .quick-row:empty{display:none!important}

/* legacy tablet fallback: show article cards if color-mix/css-vars unsupported */
.app[data-page="pos"] .item{background:#166534}
.app[data-page="pos"] .item[style*='--item-color:#1d4ed8']{background:#1d4ed8}
.app[data-page="pos"] .item[style*='--item-color:#ca8a04']{background:#ca8a04}
.app[data-page="pos"] .item[style*='--item-color:#ffe11b']{background:#b59f00;color:#111827}


/* Rückgeld-Minimieren Button */
.app[data-page="pos"] .given-box>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none}
.app[data-page="pos"] .given-box>summary::-webkit-details-marker{display:none}
.app[data-page="pos"] .given-toggle{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#334155;color:#fff;font-weight:900;padding:4px 8px;min-height:28px;white-space:nowrap;font-size:calc(.72rem + var(--qk-font-plus,0pt));line-height:1.1}
.app[data-page="pos"] .given-box[open] .given-toggle{background:#475569}
.app[data-page="pos"] .given-box:not([open])>summary{margin-bottom:0}
.app[data-page="pos"] .given-box:not([open]){padding-bottom:0}
.theme-light .app[data-page="pos"] .given-toggle{background:#e2e8f0;color:#111827;border-color:#cbd5e1}
@media(max-width:420px){.app[data-page="pos"] .given-box>summary{align-items:stretch;flex-direction:column}.app[data-page="pos"] .given-toggle{width:100%}}
