/* PraxisLager Design v2 – Ergänzung für die Handy-Ansicht.
   Rückbau: die zwei Zeilen für design-v2.css und design-v2.js aus index.html entfernen. */

/* Logo statt "+" */
body .app-brand > span,
body .login-brand > span {
  font-size: 0 !important;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  vertical-align: middle;
  background: #2F6FA3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E") center / 18px no-repeat !important;
  color: transparent !important;
}

/* Leer = rot, knapp bleibt orange */
#home-alert-list b.pl-empty {
  background: #FDE4E2 !important;
  color: #A8221A !important;
}
#article-rows tr.pl-empty .status {
  background: #FDE4E2 !important;
  color: #A8221A !important;
}
#article-rows tr.pl-empty td:nth-child(6) {
  color: #A8221A !important;
}

.pl-select-toggle { display: none; }

/* Registrierung neuer Praxen */
.login-card .pl-register-link {
  margin-top: 14px; display: block; width: 100%; min-height: 46px; text-align: center;
  background: #ffffff !important; color: #167EAA !important;
  border: 1.5px solid #167EAA !important; border-radius: 12px; font-weight: 700; font-size: 15px;
}
.login-card .pl-register-back { background: none !important; color: #465B68 !important; border: 0 !important; font-weight: 600; }
.login-card .pl-register-form .check a { color: #167EAA; }
.login-card [hidden] { display: none !important; }
.pl-register-form { display: flex; flex-direction: column; gap: 12px; }
.pl-register-form[hidden] { display: none !important; }
.pl-register-form h2 { margin: 0; }
.pl-register-form .check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; }
.pl-register-form .pl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Schnellscan: Scannen oder Suchen */
.pl-qs-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.pl-qs-choice[hidden], .pl-qs-search[hidden] { display: none !important; }
.pl-qs-choice > button { width: 100% !important; min-height: 56px; margin: 0 !important; display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: 16px; border-radius: 14px; }
.pl-qs-search-btn { background: #ffffff !important; color: #167EAA !important; border: 1.5px solid #167EAA !important; }
.pl-qs-search-btn svg { width: 20px; height: 20px; }
.pl-qs-search { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.pl-qs-search input { width: 100%; min-height: 48px; font-size: 16px; box-sizing: border-box; }
.pl-qs-results { display: flex; flex-direction: column; gap: 8px; }
.pl-qs-results > button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 56px; padding: 10px 14px; text-align: left; background: #ffffff !important; color: #14212B !important; border: 1px solid #DCE3E8 !important; border-radius: 12px; }
.pl-qs-results > button span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pl-qs-results > button strong { font-size: 15px; }
.pl-qs-results > button small { font-size: 12px; color: #56656F; }
.pl-qs-results > button b { font-size: 18px; }
.pl-qs-empty { margin: 0; color: #56656F; }
.pl-qs-cancel { align-self: center; background: none !important; border: 0 !important; color: #465B68 !important; font-weight: 600; }

/* Artikelsuche gross wie im Schnellscan */
#articles-view .panel-head { flex-wrap: wrap; }
#articles-view .article-actions { display: flex !important; gap: 10px; width: 100%; grid-template-columns: none !important; }
#articles-view .article-actions #search { flex: 1 1 auto; min-width: 0; width: auto !important; min-height: 48px; font-size: 16px; padding: 0 14px 0 42px !important; border-radius: 12px; background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356656F' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") 13px center / 18px no-repeat !important; color: #14212B !important; box-sizing: border-box; }
#articles-view .article-actions #new-article-button { flex: 0 0 48px; width: 48px !important; min-height: 48px; padding: 0 !important; }

/* Nur für die Ursprungspraxis eingerichtete Funktionen */
body.pl-other-practice [data-view="automation"],
body.pl-other-practice [data-more-view="automation"],
body.pl-other-practice [data-view="notifications"] { display: none !important; }

@media (max-width: 900px) {
  /* Startseite: Aufgaben nach oben, Werbetext weg */
  #home-view { display: flex; flex-direction: column; gap: 14px; }
  #home-view > .home-hero { order: 1; }
  #home-view > .tasks-heading { order: 2; margin: 4px 0 -4px !important; }
  #home-view > .home-stats { order: 3; }
  #home-view > .home-attention { order: 4; }
  #home-view > .inventory-summary { order: 5; }
  #home-view > .undo-action { order: 6; }

  #home-view .home-hero {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: 0 !important;
    display: block !important;
  }
  #home-view .home-hero > div { display: none !important; }
  #home-view .home-hero .home-scan {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    min-height: 56px;
    border-radius: 16px;
    font-size: 17px;
    font-weight: 700;
  }

  #home-view .home-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
  }
  #home-view .home-stats > button {
    min-height: 0 !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    text-align: left;
  }
  #home-view .home-stats strong { font-size: 24px !important; line-height: 1.1; }
  #home-view .home-stats small { display: none !important; }

  /* Abmelden aus der Kopfzeile ins Mehr-Menü verschoben */
  .sidebar-footer #logout-button { display: none !important; }

  /* Artikel: Checkboxen nur im Auswahlmodus */
  .pl-select-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    width: auto !important;
    padding: 0 16px;
    border-radius: 999px;
    margin-left: auto;
    font-size: 14px;
  }
  body:not(.pl-selecting) #articles-view .select-cell { display: none !important; }
  body:not(.pl-selecting) #article-rows tr { grid-template-columns: 0 minmax(0, 1fr) auto !important; }
  body:not(.pl-selecting) #articles-view .bulk-bar { display: none !important; }

  /* Konto löschen */
  .more-navigation .pl-delete-account { color: #B42318 !important; }
  .more-navigation .pl-delete-box { padding: 12px 4px 4px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
  .more-navigation .pl-delete-box[hidden] { display: none !important; }
  .more-navigation .pl-delete-box p { margin: 0; }
  .more-navigation .pl-delete-box label { display: flex; flex-direction: column; gap: 6px; }
  .more-navigation .pl-delete-actions { display: flex; gap: 8px; }
  .more-navigation .pl-delete-actions button { flex: 1; min-height: 44px; }

  /* Mein Konto im Mehr-Menü */
  .more-navigation .pl-account button.pl-logout span:first-of-type { color: inherit; }
}

/* iPhone-Vollbild: Kopfzeile unter der Statusleiste freihalten */
@media (max-width: 900px) {
  body:not(.commission-mode) .app-shell .sidebar { padding-top: calc(12px + env(safe-area-inset-top)) !important; }
}

/* Inventur-Buttons auf schmalen Handys: 2 x 2 statt einer ueberstehenden Reihe */
@media (max-width: 620px) {
  body.commission-mode .commission-panel { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
  body.commission-mode .commission-panel .dialog-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; width: 100% !important; }
  body.commission-mode .commission-panel .dialog-actions button { width: 100% !important; min-width: 0 !important; white-space: normal; }
}

/* Inventur: niedrige Bildschirme (iPhone SE/mini) */
@media (max-width: 620px) and (max-height: 760px) {
  body.commission-mode .commission-panel { justify-content: flex-start !important; padding-top: 12px !important; overflow-y: auto !important; }
  body.commission-mode .commission-panel h2 { font-size: 21px !important; }
  body.commission-mode .commission-stock { font-size: 38px !important; margin: 6px 0 !important; }
  body.commission-mode .commission-panel .dialog-actions button { min-height: 40px !important; padding: 7px 6px !important; }
}

/* Zuletzt bestellt (Suche + Artikelliste) */
.pl-last-order { display: block; font-size: 12px; color: #56656F; margin-top: 2px; }
#article-rows .pl-last-order { font-weight: 500; }

/* Startseite: Bestellstatus bei kritischen Artikeln */
.pl-ord { font-style: normal; font-weight: 700; }
.pl-ord-ok { color: #1F6B45; }
.pl-ord-warn { color: #9A4A00; }
.pl-ord-muted { color: #56656F; }

/* Bestellungen: gefaehrlicher Sammel-Button dezent und ans Ende */
#mark-all-ordered.pl-danger-soft { background: #ffffff !important; color: #A8221A !important; border: 1.5px solid #E7B4AE !important; }

/* Lange Listen */
.pl-list-search { width: 100%; min-height: 46px; margin: 8px 0 12px; box-sizing: border-box; font-size: 16px; }
.pl-more { display: block; width: 100%; min-height: 46px; margin-top: 12px; border-radius: 12px; font-weight: 700; }
.pl-more[hidden] { display: none !important; }

/* Alle Bildschirme: Offene Aufgaben vor kritische Bestaende */
#home-view { display: flex; flex-direction: column; }
#home-view > .home-hero { order: 1; }
#home-view > .tasks-heading { order: 2; }
#home-view > .home-stats { order: 3; }
#home-view > .home-attention { order: 4; }
#home-view > .inventory-summary { order: 5; }
#home-view > .undo-action { order: 6; }

@media (max-width: 900px) {
  /* Artikelseite: kompaktere Zahlen-Kacheln, Auswaehlen sauber rechts */
  #articles-view .stats-grid { gap: 8px !important; }
  #articles-view .stats-grid article { padding: 10px 8px !important; min-height: 0 !important; }
  #articles-view .stats-grid strong { font-size: 22px !important; }
  #articles-view .filters .pl-select-toggle { grid-column: 1 / -1; justify-self: end; margin-left: 0; }

  /* Bestellseite: Aktionen kompakter in zwei Spalten */
  #orders-view .panel-head { flex-direction: column; align-items: stretch !important; }
  #orders-view .panel-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
  #orders-view .panel-actions > * { width: 100% !important; min-height: 44px; margin: 0 !important; }
  #orders-view .panel-actions > .primary:first-child { grid-column: 1 / -1; }
  #orders-view .panel-actions > #mark-all-ordered { grid-column: 1 / -1; }
}

/* Lieferung erfassen */
nav.mobile-actions.pl-nav-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
nav.mobile-actions [data-pl-delivery] svg { color: #9FD8B5; }
dialog.pl-delivery { width: min(640px, calc(100vw - 20px)); max-height: calc(100dvh - 40px); border: 0; border-radius: 20px; padding: 18px; box-sizing: border-box; overflow-y: auto; }
dialog.pl-delivery::backdrop { background: rgba(10, 18, 26, 0.6); }
.pl-del-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.pl-del-head h2 { margin: 2px 0 4px; }
.pl-del-head p { margin: 0; color: #56656F; font-size: 14px; }
.pl-del-list { display: flex; flex-direction: column; gap: 10px; }
.pl-del-card { border: 1px solid #DCE3E8; border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; background: #fff; }
.pl-del-card small { color: #56656F; }
.pl-del-status { font-weight: 700; color: #9A4A00; }
.pl-del-status.ok { color: #1F6B45; }
.pl-del-warn { color: #A8221A !important; }
.pl-del-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-top: 6px; }
.pl-del-row label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; flex: 1 1 120px; }
.pl-del-row input { min-height: 44px; font-size: 16px; }
.pl-del-row .primary { flex: 1 1 140px; min-height: 44px; }
.pl-del-sub { margin: 18px 0 8px; font-size: 16px; }
.pl-del-msg { min-height: 1em; }

/* Mitarbeiter: nur "Mein Konto" im Menü */
body.pl-account-only #more-navigation .more-content > section:not(.pl-account){display:none!important}
nav.mobile-actions [data-pl-account]{display:grid}

/* Wareneingang-Liste */
dialog.pl-delivery .pl-del-input{display:flex;gap:8px;margin:10px 0 4px}
dialog.pl-delivery .pl-del-input .search{flex:1;min-width:0;height:46px;font-size:16px}
dialog.pl-delivery .pl-del-scan{display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 14px;white-space:nowrap}
dialog.pl-delivery .pl-del-scan svg{width:20px;height:20px}
dialog.pl-delivery .pl-del-video{width:100%;max-height:220px;object-fit:cover;border-radius:12px;background:#000;margin:6px 0}
dialog.pl-delivery .pl-del-msg[data-kind=ok]{color:#0B6E6E;font-weight:600}
dialog.pl-delivery .pl-del-msg[data-kind=warn]{color:#9A4515;font-weight:600}
dialog.pl-delivery .pl-del-hits button{width:100%}
dialog.pl-delivery .pl-del-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
dialog.pl-delivery .pl-del-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}
dialog.pl-delivery .pl-del-rm{flex:none;width:36px;height:36px}
dialog.pl-delivery .pl-del-new{outline:2px solid #0B7A78;outline-offset:1px}
dialog.pl-delivery .pl-del-unit{align-self:center;font-weight:600;color:#55676D}
dialog.pl-delivery .pl-del-note{display:block;font-size:12px;margin-top:2px}
dialog.pl-delivery .pl-del-note.part{color:#9A4515}
dialog.pl-delivery .pl-del-note.full{color:#0B6E6E}
dialog.pl-delivery .pl-del-foot{position:sticky;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:8px;padding:12px 0 4px;background:inherit}
dialog.pl-delivery .pl-del-foot .primary{height:50px;font-size:16px}
dialog.pl-delivery .pl-del-donebox{margin-top:14px}
dialog.pl-delivery .pl-del-donebox summary{cursor:pointer;font-weight:600;padding:8px 0}
/* Mengen-Stepper (Lieferung + Schnellscan) */
.pl-stepper{display:inline-flex;align-items:stretch;border:1px solid #CBD5D8;border-radius:12px;overflow:hidden;height:48px;background:#fff}
.pl-stepper button{width:52px;border:0;background:#F3F6F7;font-size:24px;font-weight:600;color:#10232A;padding:0;min-height:0}
.pl-stepper input{width:72px;border:0!important;border-radius:0!important;text-align:center;font-size:18px;font-weight:700;color:#10232A;background:#fff;-moz-appearance:textfield;margin:0}
.pl-stepper input::-webkit-inner-spin-button,.pl-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pl-qs-stepper{width:100%;height:56px}
.pl-qs-stepper input{flex:1;font-size:22px}
.pl-qs-stepper button{width:64px;font-size:28px}
/* Registrierung: PLZ + Ort nebeneinander */
.pl-register-form .pl-reg-city{display:grid;grid-template-columns:7.5rem 1fr;gap:10px}
.pl-register-form .pl-reg-hint{font-size:12px;opacity:.75;margin:-4px 0 4px}

/* ===== Helles Design (Türkis) – 03.11.2026 ===== */
:root{--app-bg:#F3F6F7!important;--app-panel:#FFFFFF!important;--app-panel-2:#EEF2F3!important;--ink:#10232A!important;--muted:#55676D!important;--teal:#0B7A78!important;--mint:#13A39A!important;--pale:#E6F4F3!important;--line:#E2E8EA!important;--white:#fff!important;--warn:#B4531A!important;--shadow:0 1px 2px rgba(16,35,42,.04),0 6px 20px rgba(16,35,42,.06)!important;color-scheme:light}
html,body,body:not(.commission-mode){background:#F3F6F7!important;color:#10232A!important}
.sidebar,body:not(.commission-mode) .sidebar,.topbar,.app-shell{background:#FFFFFF!important;color:#10232A!important;border-color:#E2E8EA!important;box-shadow:none!important}
.app-shell{background:#F3F6F7!important}
.app-brand,body:not(.commission-mode) .app-brand{color:#10232A!important;background:transparent!important}
.app-brand span,.login-brand span,body:not(.commission-mode) .app-brand span{color:#10232A!important}
.topbar h1,.view-head h1,main h1,main>header h1{color:#10232A!important}
.topbar p,.topbar small,.sync-state,#sync-state{color:#55676D!important}
.nav-primary,body:not(.commission-mode) .nav-primary{background:#FFFFFF!important;border-color:#E2E8EA!important;box-shadow:0 1px 2px rgba(16,35,42,.05)!important}
.nav-button,.nav-primary .nav-button,body:not(.commission-mode) .nav-primary .nav-button,body:not(.commission-mode) .nav-group .nav-button,.nav-group summary,body:not(.commission-mode) .nav-group summary{color:#55676D!important;background:transparent!important}
.nav-primary .nav-button.active,body:not(.commission-mode) .nav-primary .nav-button.active,.nav-group:has(.nav-button.active){background:#E6F4F3!important;color:#0B6E6E!important}
.nav-group,body:not(.commission-mode) .nav-group,body:not(.commission-mode) .nav-group>div{background:#FFFFFF!important;border-color:#E2E8EA!important}
.mobile-actions,nav.mobile-actions{background:rgba(255,255,255,.97)!important;border:1px solid #E2E8EA!important;box-shadow:0 6px 24px rgba(16,35,42,.10)!important}
.mobile-actions button{color:#55676D!important;background:transparent!important}
.mobile-actions button.active{color:#0B7A78!important;background:#E6F4F3!important}
button.primary,.top-actions button.primary,.primary{background:#0B7A78!important;color:#FFFFFF!important;border-color:#0B7A78!important}
.top-actions button,button.secondary{background:#FFFFFF!important;color:#10232A!important;border:1px solid #E2E8EA!important}
.text-button{color:#0B6E6E!important}
.panel,.stats-grid article,.home-stats button,.order-section,.preview-notice,.home-hero{background:#FFFFFF!important;color:#10232A!important;border:1px solid #E2E8EA!important;box-shadow:0 1px 2px rgba(16,35,42,.04)!important}
.home-hero .eyebrow,.home-hero p:not(.eyebrow){color:#55676D!important}
.home-hero h2,.home-hero h1,.home-hero strong{color:#10232A!important}
.eyebrow{color:#0B7A78!important}
td{color:#10232A!important;border-color:#EEF2F3!important}
#articles-view .filters,body #articles-view .filters,#articles-view .filters .check{background:#FFFFFF!important;color:#10232A!important;border-color:#E2E8EA!important}
.pl-select-toggle{background:#FFFFFF!important;color:#10232A!important;border:1px solid #E2E8EA!important}
input,select,textarea{background:#FFFFFF!important;color:#10232A!important;border-color:#CBD5D8!important}
input:focus,select:focus,textarea:focus{border-color:#0B7A78!important;box-shadow:0 0 0 4px rgba(11,122,120,.15)!important}
dialog{background:#FFFFFF!important;color:#10232A!important}
dialog::backdrop,dialog.pl-delivery::backdrop{background:rgba(16,35,42,.35)!important}
.order-step{background:#E6F4F3!important;color:#0B6E6E!important}
.notification-badge{background:#B4531A!important;color:#fff!important}
.barcode-count{background:#E6F4F3!important;color:#0B6E6E!important}
.scanner-camera{background:#10232A!important}

/* Praxisdaten-Dialog */
.pl-practice-form{display:grid;gap:10px;margin-top:8px}
.pl-practice-form label{display:grid;gap:4px;font-size:13px;font-weight:600;color:#55676D}
.pl-practice-form .pl-reg-city{display:grid;grid-template-columns:7.5rem 1fr;gap:10px}
.pl-practice-form .pl-reg-hint{font-size:12px;color:#55676D;margin:-4px 0 4px}
.pl-practice-form button.primary{height:48px;margin-top:6px}

/* Import + Einrichtungs-Assistent */
.pl-import-pick{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0 4px}
.pl-file{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:12px;font-weight:600;cursor:pointer}
.pl-import-preview{display:grid;gap:10px}
.pl-import-preview .primary{height:50px;font-size:16px}
.pl-import-btn{white-space:nowrap}
.pl-wizard{padding:18px!important;display:grid;gap:10px}
.pl-wiz-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pl-wiz-head h2{margin:2px 0}
.pl-wiz-head p{margin:0;color:#55676D}
.pl-wiz-bar{height:6px;border-radius:999px;background:#EEF2F3;overflow:hidden}
.pl-wiz-bar span{display:block;height:100%;background:#0B7A78}
.pl-wiz-step{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;text-align:left;padding:12px;border:1px solid #E2E8EA;border-radius:14px;background:#fff;color:#10232A;font:inherit;cursor:pointer}
.pl-wiz-step strong{display:block;font-size:15px}
.pl-wiz-step small{display:block;color:#55676D;font-size:12px;margin-top:2px}
.pl-wiz-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#EEF2F3;font-weight:700}
.pl-wiz-step.done{opacity:.7}
.pl-wiz-step.done .pl-wiz-num{background:#0B7A78;color:#fff}

/* Daten / Löschen */
.pl-data-section{margin-top:18px;border-top:1px solid #E2E8EA;padding-top:6px}
.pl-check{display:flex!important;align-items:center;gap:8px;font-weight:500!important;color:#10232A!important}
.pl-check input{width:20px;height:20px}
.pl-danger-zone{margin-top:14px;border:1px solid #F1C9C0;border-radius:12px;padding:10px 12px;background:#FFF8F6}
.pl-danger-zone summary{cursor:pointer;font-weight:600;color:#B43C45}
.pl-danger-zone label{display:grid;gap:6px;font-size:13px;margin:8px 0}
.pl-danger-zone .danger-button{background:#B43C45!important;color:#fff!important;border:0;border-radius:12px;height:44px;padding:0 16px;font-weight:600}
.pl-danger-zone .danger-button:disabled{opacity:.45}

/* Abo */
.pl-trial{padding:18px!important;display:grid;gap:12px;border-color:#BFE3E0!important;background:#F2FAF9!important}
.pl-trial h2{margin:2px 0}
.pl-trial p{margin:0;color:#55676D}
.pl-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pl-plan{display:grid!important;gap:2px;justify-items:center;padding:12px!important;height:auto!important;border-radius:14px!important}
.pl-plan strong{font-size:16px}
.pl-plan small{font-size:12px;opacity:.9}
.pl-lock .pl-plans{margin-top:10px}
.pl-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:110px;z-index:3000;background:#10232A;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);font-weight:600;max-width:90vw}
@media (max-width:420px){.pl-plans{grid-template-columns:1fr}}

/* Feste Mengen-Knöpfe */
.pl-qs-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;margin:6px 0 10px}
.pl-qs-q{display:grid;gap:2px;justify-items:center;padding:12px 6px;border:2px solid #E2E8EA;border-radius:14px;background:#fff;color:#10232A;font:inherit;cursor:pointer;min-height:64px}
.pl-qs-q strong{font-size:22px;line-height:1}
.pl-qs-q small{font-size:12px;color:#55676D}
.pl-qs-q.on{border-color:#0B7A78;background:#E6F4F3}
.pl-qs-q.on small{color:#0B6E6E}
.pl-qs-packs{display:block;color:#55676D;font-size:13px;margin-top:-4px}
.pl-quick-setting{display:grid;gap:4px}
.pl-quick-setting small{color:#55676D;font-size:12px}
.pl-qs-quick{width:100%!important;justify-self:stretch!important;align-self:stretch;grid-template-columns:repeat(3,1fr)!important}
.pl-qs-quick .pl-qs-q{width:100%}

/* 06.11.: Hilfe, Offline */
.pl-help .pl-faq{border-top:1px solid rgba(0,0,0,.08);padding:.7rem 0}
.pl-help .pl-faq summary{cursor:pointer;font-weight:600;list-style:none}
.pl-help .pl-faq summary::after{content:"+";float:right;opacity:.5}
.pl-help .pl-faq[open] summary::after{content:"–"}
.pl-help .pl-faq p{margin:.5rem 0 0;line-height:1.45;opacity:.85}
.pl-offline{position:fixed;left:0;right:0;top:0;z-index:9999;background:#b45309;color:#fff;text-align:center;font-size:.9rem;padding:calc(env(safe-area-inset-top) + .45rem) 1rem .45rem}

/* 07.11.: Mobile-native Feinschliff */
/* Steuerelemente: kein Text-Markieren / iOS-Callout beim langen Drücken (nur Buttons, nie body) */
button,[role="button"],.pl-plan{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media (pointer:coarse){
  /* iOS zoomt in Felder unter 16px – betrifft Suche/Filter in der Artikelliste und Textfelder */
  input:not(.pl-stepper input),select,textarea{font-size:16px!important}
  /* Sofortiges Tipp-Feedback statt verzögerter Hover-Optik */
}
/* Als installierte App / native App: kein Gummiband-Ziehen der ganzen Seite */
@media (display-mode:standalone){html,body{overscroll-behavior:none}}
html.pl-native,html.pl-native body{overscroll-behavior:none}
dialog{overscroll-behavior:contain}

/* 07.11.: Bewegung (Emil-Kowalski-Prinzipien) – sparsam, kurz, ease-out, nur transform/opacity */
:root{--ease-out:cubic-bezier(.23,1,.32,1)}
/* Tipp-Feedback auf allen Knöpfen */
button{transition:transform 160ms var(--ease-out)}
button:active:not(:disabled){transform:scale(.97)}
/* Gelegentliche Dialoge: kurz aus 96 % einblenden. Scanner bewusst ohne Animation (wird ständig genutzt) */
dialog[open]:not(.scanner-dialog){transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out)}
@starting-style{dialog[open]:not(.scanner-dialog){opacity:0;transform:scale(.96)}}
dialog[open]::backdrop{transition:opacity 200ms var(--ease-out)}
@starting-style{dialog[open]::backdrop{opacity:0}}
/* Hinweise (Toast) und Offline-Balken gleiten herein statt aufzuploppen */
.pl-toast{transition:opacity 200ms var(--ease-out),translate 200ms var(--ease-out)}
@starting-style{.pl-toast{opacity:0;translate:0 8px}}
.pl-offline{transition:translate 250ms var(--ease-out)}
@starting-style{.pl-offline{translate:0 -100%}}
/* Wer weniger Bewegung eingestellt hat, bekommt nur sanftes Ein-/Ausblenden */
@media (prefers-reduced-motion:reduce){
  button:active:not(:disabled){transform:none}
  dialog[open]:not(.scanner-dialog){transform:none}
  @starting-style{dialog[open]:not(.scanner-dialog){transform:none}.pl-toast{translate:none}.pl-offline{translate:none;opacity:0}}
  .nav-group summary::after{transition:none}
}
