/* ══ Block 1 ══ */
/* ── iOS: Auto-Zoom beim Fokussieren von Feldern verhindern ──
   Safari zoomt rein, sobald ein Feld <16px Schrift hat. Auf Touch-Geräten
   erzwingen wir daher min. 16px – Desktop/Tablet-Layout bleibt unberührt. */
@media (pointer: coarse){
  input,select,textarea,input[type="text"],input[type="number"],input[type="search"],input[type="tel"],input[type="email"],input[type="date"]{
    font-size:16px !important;
  }
}

@keyframes rein{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Angaben bleiben als Ganzes zusammen („2 ml × 4,50 €/ml“) und wandern nur komplett in die nächste Zeile */

@keyframes sfRein{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* ══ Block 2 ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

/* ── DARK (Graphit) ── */
[data-theme="dark"]{
  --page:#16181a; --page2:#23262a; --page0:rgba(22,24,26,0);
  --card:rgba(255,255,255,.055); --card-b:rgba(255,255,255,.10);
  --raise:rgba(255,255,255,.085); --raise-b:rgba(255,255,255,.12);
  --row:rgba(255,255,255,.045); --row-b:rgba(255,255,255,.08);
  --t1:#f3f4f4; --t2:rgba(243,244,244,.60); --t3:rgba(243,244,244,.54); --t4:rgba(243,244,244,.36);
  --gold:#cda96b; --gold-b:#e8c98c; --gold-d:#9a7a3e; --gold-soft:rgba(205,169,107,.13); --gold-line:rgba(205,169,107,.30);
  --green:#5fbf86; --red:#e5645c; --blue:#74a9e8;
  --div:rgba(255,255,255,.08);
  --segActive:rgba(255,255,255,.92); --segActiveT:#1a1a1a;
  --bar:rgba(28,30,33,.82); --bar-b:rgba(255,255,255,.10);
  --ghost:rgba(255,255,255,.035);
  --aurora:.16;
}
/* ── LIGHT (Silber) ── */
[data-theme="light"]{
  --page:#eceef0; --page2:#f7f8f9; --page0:rgba(236,238,240,0);
  --card:rgba(255,255,255,.78); --card-b:rgba(0,0,0,.06);
  --raise:#ffffff; --raise-b:rgba(0,0,0,.07);
  --row:rgba(255,255,255,.9); --row-b:rgba(0,0,0,.06);
  --t1:#1b1d1e; --t2:#54585b; --t3:#65696d; --t4:#84898d;
  --gold:#86652a; --gold-b:#9a7530; --gold-d:#7d5f24; --gold-soft:rgba(154,117,48,.10); --gold-line:rgba(154,117,48,.22);
  --green:#2f9e63; --red:#cf5249; --blue:#3d7fd0;
  --div:rgba(0,0,0,.07);
  --segActive:#1b1d1e; --segActiveT:#ffffff;
  --bar:rgba(255,255,255,.86); --bar-b:rgba(0,0,0,.05);
  --ghost:rgba(0,0,0,.035);
  --aurora:.20;
}
html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
html{background:var(--page);}
html[data-theme="dark"]{background:#16181a;}
html[data-theme="light"]{background:#eceef0;}
body{
  font-family:'Geist',-apple-system,sans-serif;
  background:var(--page);
  color:var(--t1);min-height:100vh;position:relative;overflow-x:hidden;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
  transition:background .5s,color .5s;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(130% 70% at 50% -8%,var(--page2),transparent 56%);
  transition:opacity .5s;
}
.aurora{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.ab{position:absolute;border-radius:50%;filter:blur(100px);opacity:var(--aurora);transition:opacity .5s;}
.ab1{width:60vw;height:60vw;max-width:420px;max-height:420px;background:radial-gradient(circle,#cda96b,#6e5226);top:-14%;left:-18%;}
.ab2{width:48vw;height:48vw;max-width:320px;max-height:320px;background:radial-gradient(circle,#5c6e74,#2a3236);top:48%;right:-22%;}
[data-theme="light"] .ab2{background:radial-gradient(circle,#aebfc6,#cdd6da);}
.ico{width:1em;height:1em;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block;}
.wrap{position:relative;z-index:1;width:100%;max-width:440px;margin:0 auto;padding:0 16px;}
.scroll{position:relative;z-index:1;padding-top:max(calc(env(safe-area-inset-top,0px) + 52px),92px);padding-bottom:104px;}

/* ── RESPONSIVE · Tablet & Desktop nutzen die Bildschirmbreite ──
   Greift erst ab 760px – das Handy-Layout (≤759px) bleibt unverändert. */
@media (min-width:760px){
  .wrap{max-width:680px;}
}
@media (min-width:1080px){
  /* Generator wie im Entwurf: alle Karten untereinander in einer Spalte */
  #sec-generator .wrap{max-width:760px;}
  #sec-generator .outbox-wrap:not(.collapsed){max-height:354px;}
  #sec-generator .outbox-wrap.collapsed{max-height:0;margin:0;opacity:0;}
  /* Journal · Stammdaten · Vorlagen · Düfte · Dashboard · Preisliste: angenehm breiter, mittig zentriert –
     ALLE Reiter (außer Generator) gleich breit → ruhiges Bild beim Umschalten */
  #sec-journal .wrap,#sec-stammdaten .wrap,#sec-vorlagen .wrap,#sec-duefte .wrap,#sec-preisliste .wrap,#sec-einstellungen .wrap{max-width:760px;}
}

.util{width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--card-b);display:flex;align-items:center;justify-content:center;color:var(--t1);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);cursor:pointer;}
.topbar-fixed{position:fixed;top:max(calc(env(safe-area-inset-top,0px) + 12px),50px);right:14px;z-index:60;padding:0;box-shadow:0 4px 14px rgba(0,0,0,.12);}
[data-theme="dark"] .topbar-fixed{box-shadow:0 4px 16px rgba(0,0,0,.4);}
.offline-pill[hidden]{display:none;}
.offline-pill{position:fixed;left:50%;transform:translateX(-50%);top:max(calc(env(safe-area-inset-top,0px) + 12px),50px);z-index:70;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:#c5483f;color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:-.01em;box-shadow:0 4px 16px rgba(0,0,0,.3);max-width:calc(100% - 28px);}
.offline-pill svg{flex:0 0 14px;width:14px;height:14px;}
body.notch-mode .offline-pill{top:calc(env(safe-area-inset-top,0px) + 8px);}
.topbar-left-cluster{position:fixed;top:max(calc(env(safe-area-inset-top,0px) + 12px),50px);left:56px;z-index:60;display:flex;gap:8px;}
.topbar-left-cluster .util{box-shadow:0 4px 14px rgba(0,0,0,.12);}[data-theme="dark"] .topbar-left-cluster .util{box-shadow:0 4px 16px rgba(0,0,0,.4);}
.util.active{background:var(--gold-soft);border-color:var(--gold-line);color:var(--gold);}

/* Solider Füller hinter Statusleiste + schwebender Button-Reihe.
   Deckt den ganzen Toolbar-Streifen mit der Seitenfarbe ab und blendet
   unten weich aus – so verschwindet gescrollter Inhalt sauber hinter den
   Buttons, statt sich in den Lücken zu überlappen.
   WICHTIG: Ausblenden als background-Verlauf (NICHT mask-image). iOS-Safari
   zieht ein position:fixed-Element mit mask-image in eine eigene Compositing-
   Ebene, die HINTER dem scrollenden Inhalt landet → Felder schienen durch. */
.notch-bar{
  display:block;position:fixed;top:0;left:0;right:0;z-index:40;
  height:max(calc(env(safe-area-inset-top,0px) + 52px), 92px);
  background:linear-gradient(to bottom,var(--page) calc(100% - 10px),var(--page0));
  pointer-events:none;
}/* Aufklapp-Leisten (Suche/Zeitraum) direkt unter die Statusleiste */
body.notch-mode .jsearch-bar{top:calc(env(safe-area-inset-top,0px) + 8px);}
body.notch-mode .pp-bar{top:calc(env(safe-area-inset-top,0px) + 8px);}
/* Inhalt beginnt unter Statusleiste + Button-Reihe */
body.notch-mode .scroll{padding-top:calc(env(safe-area-inset-top,0px) + 54px);}
body.notch-mode .notch-bar{height:calc(env(safe-area-inset-top,0px) + 54px);}
.jsearch-bar{position:fixed;top:max(calc(env(safe-area-inset-top,0px) + 56px),94px);left:56px;z-index:60;display:none;align-items:center;gap:9px;background:var(--card);border:1px solid var(--card-b);border-radius:999px;padding:8px 13px;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 8px 24px rgba(0,0,0,.16);width:min(calc(100vw - 28px),320px);}
[data-theme="dark"] .jsearch-bar{box-shadow:0 8px 26px rgba(0,0,0,.46);}
.jsearch-bar.on{display:flex;animation:jsearchIn .22s ease;}
@keyframes jsearchIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.jsearch-bar>svg{width:15px;height:15px;color:var(--t3);flex-shrink:0;}
.jsearch-bar input{flex:1;min-width:0;border:none;background:none;font-family:inherit;font-size:.8rem;color:var(--t1);outline:none;padding:0;}
.jsearch-bar input::placeholder{color:var(--t4);}
.jsearch-clear{background:none;border:none;color:var(--t4);cursor:pointer;font-size:.78rem;padding:0 2px;flex-shrink:0;line-height:1;}
.jsearch-clear:hover{color:var(--t2);}
.inline-search{position:sticky;top:max(calc(env(safe-area-inset-top,0px) + 52px),92px);z-index:38;display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--card-b);border-radius:12px;padding:9px 13px;margin:8px 0 12px;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 6px 18px rgba(0,0,0,.10);}
[data-theme="dark"] .inline-search{box-shadow:0 8px 22px rgba(0,0,0,.42);}
body.notch-mode .inline-search{top:calc(env(safe-area-inset-top,0px) + 54px);}
.inline-search>svg{width:16px;height:16px;color:var(--t3);flex-shrink:0;}
.inline-search input{flex:1;min-width:0;border:none;background:none;font-family:inherit;font-size:.82rem;color:var(--t1);outline:none;padding:0;}
.inline-search input::placeholder{color:var(--t4);}
/* ── MANUELLER JOURNALEINTRAG · Modal ── */
.jm-overlay{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center;background:rgba(8,9,11,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
#konzModal,#cfmModal{z-index:130;}
.cfm-text{font-size:.8rem;line-height:1.55;color:var(--t2);white-space:pre-line;text-wrap:pretty;}
.konz-sheet{max-width:420px;}
.jm-overlay.on{display:flex;animation:jmFade .2s ease;}
@keyframes jmFade{from{opacity:0;}to{opacity:1;}}
.jm-sheet{width:100%;max-width:480px;max-height:92vh;display:flex;flex-direction:column;background:var(--page2);border:1px solid var(--card-b);border-bottom:none;border-radius:24px 24px 0 0;box-shadow:0 -16px 50px rgba(0,0,0,.3);animation:jmUp .28s cubic-bezier(.22,1,.36,1);}
@keyframes jmUp{from{transform:translateY(100%);}to{transform:none;}}
@media(min-width:540px){.jm-overlay{align-items:center;}.jm-sheet{border:1px solid var(--card-b);border-radius:24px;}}
.jm-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--div);flex-shrink:0;}
.jm-title{font-size:1.02rem;font-weight:700;letter-spacing:-.02em;}
.jm-x{width:30px;height:30px;border-radius:50%;border:1px solid var(--card-b);background:var(--card);color:var(--t2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.jm-x svg{width:15px;height:15px;}
.jm-x:hover{color:var(--t1);}
.jm-body{padding:16px 20px 8px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.jm-field{margin-bottom:15px;}
.jm-field>label{display:block;font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--t3);font-weight:600;margin-bottom:8px;}
.jm-rab-val{float:right;letter-spacing:0;text-transform:none;color:var(--gold);font-weight:700;font-size:.7rem;}
.jm-row2{display:flex;gap:11px;}
.jm-row2 .jm-field{flex:1;min-width:0;margin-bottom:15px;}
.jm-row2 .jm-date{flex:0 0 132px;min-width:0;}
.jm-field input[type="text"],.jm-field input[type="date"]{width:100%;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;height:42px;padding:0 13px;background:var(--row);border:1px solid var(--div);border-radius:12px;color:var(--t1);font-size:.82rem;font-family:inherit;outline:none;}
.jm-field input[type="date"]{padding-right:9px;}
.jm-field input::placeholder{color:var(--t4);}
.jm-field input.input-error{border-color:var(--red);}
.jm-field input[type="date"]{color:var(--t1);}
/* segmented */
.jm-seg{display:flex;gap:5px;background:var(--row);border:1px solid var(--div);border-radius:13px;padding:4px;}
.seg-region{display:flex;gap:5px;background:var(--row);border:1px solid var(--div);border-radius:13px;padding:4px;}
.jm-seg-b{flex:1;height:34px;border:none;background:none;border-radius:9px;font-family:inherit;font-size:.72rem;font-weight:500;color:var(--t2);cursor:pointer;transition:all var(--d1);}
.jm-seg-b.on{background:var(--gold);color:#1c1305;font-weight:600;box-shadow:0 2px 8px rgba(205,169,107,.3);}
[data-theme="light"] .jm-seg-b.on{color:#fff;}
/* Generator-Region: gleiche, ruhige Aktiv-Sprache wie die Tabs darunter */
#regionSeg .jm-seg-b.on,#atomSeg .jm-seg-b.on{background:var(--raise);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-line);}
[data-theme="light"] #regionSeg .jm-seg-b.on,[data-theme="light"] #atomSeg .jm-seg-b.on{color:var(--gold);}
/* Gratis-Zerstäuber · schlanke, unauffällige Zeile unter dem Zerstäuber-Umschalter */
.atom-free{display:flex;align-items:center;gap:9px;margin-top:8px;padding:6px 6px 6px 11px;border:1px solid var(--div);border-radius:12px;background:var(--row);transition:border-color var(--d1),background var(--d1);}
.atom-free[hidden]{display:none;}
.atom-free.active{border-color:var(--gold-line);background:var(--gold-soft);}
.atom-free-lead{display:inline-flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:600;color:var(--t2);white-space:nowrap;}
.atom-free-lead svg{width:14px;height:14px;color:var(--t3);}
.atom-free.active .atom-free-lead,.atom-free.active .atom-free-lead svg{color:var(--gold);}
.atom-free-step{display:inline-flex;align-items:center;gap:2px;margin-left:auto;background:var(--raise);border:1px solid var(--div);border-radius:9px;padding:2px;}
.af-btn{width:26px;height:26px;border:none;border-radius:7px;background:none;color:var(--t2);font-size:1rem;font-weight:600;line-height:1;cursor:pointer;transition:background var(--d1),color var(--d1);font-family:inherit;}
.af-btn:hover:not(:disabled){background:var(--gold-soft);color:var(--gold);}
.af-btn:disabled{opacity:.3;cursor:default;}
.af-val{min-width:20px;text-align:center;font-size:.76rem;font-weight:700;color:var(--t1);font-variant-numeric:tabular-nums;}
.af-all{flex:0 0 auto;height:30px;padding:0 12px;border:1px solid var(--div);border-radius:9px;background:var(--raise);color:var(--t2);font-family:inherit;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all var(--d1);}
.af-all:hover{border-color:var(--gold-line);color:var(--gold);}
.af-all.on{background:var(--gold);border-color:var(--gold);color:#1c1305;}
[data-theme="light"] .af-all.on{color:#fff;}
/* Verpackung & Etikettierung bei Selbstabholer */
.svb[hidden]{display:none;}
.svb-seg{display:flex;gap:5px;background:var(--row);border:1px solid var(--div);border-radius:13px;padding:4px;}
.svb-b{flex:1;height:34px;border:none;background:none;border-radius:9px;font-family:inherit;font-size:.72rem;font-weight:500;color:var(--t2);cursor:pointer;transition:all var(--d1);}
.svb-b.on{background:var(--gold);color:#1c1305;font-weight:600;box-shadow:0 2px 8px rgba(205,169,107,.3);}
[data-theme="light"] .svb-b.on{color:#fff;}
.svb-price{display:flex;align-items:center;gap:8px;margin-top:8px;}
.svb-price input{flex:1;min-width:0;height:40px;padding:0 13px;background:var(--row);border:1px solid var(--div);border-radius:12px;color:var(--t1);font-family:inherit;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;}
.svb-price input:focus{outline:none;border-color:var(--gold-line);}
.svb-price .svb-eur{font-size:.8rem;font-weight:600;color:var(--t3);}
.jm-add{display:flex;gap:8px;align-items:stretch;}
.jm-search{position:relative;flex:1;min-width:0;}
.jm-search input{width:100%;height:42px;padding:0 13px;background:var(--row);border:1px solid var(--div);border-radius:12px;color:var(--t1);font-size:.82rem;font-family:inherit;}
.jm-search input::placeholder{color:var(--t4);}
.jm-search input.input-error{border-color:var(--red);}
.jm-sel-ml{width:82px;flex-shrink:0;height:42px;}
/* positions */
#jmItems{margin-top:10px;}
#jmItems.shake{animation:jmShake .4s;}
@keyframes jmShake{0%,100%{transform:none;}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}
.jm-empty{font-size:.7rem;color:var(--t4);text-align:center;padding:14px;border:1px dashed var(--div);border-radius:12px;}
.jm-pos{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--div);}
.jm-pos:first-child{border-top:none;}
.jm-pos-main{flex:1;min-width:0;}
.jm-pos-brand{display:block;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.jm-pos-name{display:block;font-size:.78rem;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.jm-pos-rm{width:24px;height:24px;border:none;background:none;color:var(--t4);font-size:.72rem;cursor:pointer;flex-shrink:0;border-radius:7px;}
.jm-pos-rm:hover{color:var(--red);background:rgba(229,100,92,.1);}
/* versand + rabatt */
.jm-vers{display:flex;flex-direction:column;gap:8px;}
.jm-vers .jm-sel{width:100%;height:42px;}
.jm-sel{appearance:none;-webkit-appearance:none;padding:0 32px 0 13px;border:1px solid var(--div);border-radius:12px;background:var(--row);color:var(--t1);font-size:.78rem;font-family:inherit;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b9094' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;background-size:15px;cursor:pointer;}
.jm-sel:disabled{opacity:.5;}
#jmRabatt{width:100%;accent-color:var(--gold);height:4px;cursor:pointer;}
/* footer */
.jm-foot{display:flex;align-items:center;gap:14px;padding:14px 20px calc(env(safe-area-inset-bottom,0px) + 16px);border-top:1px solid var(--div);flex-shrink:0;background:var(--page2);border-radius:0 0 24px 24px;}
.jm-total-wrap{flex:1;min-width:0;display:flex;flex-direction:column;}
.jm-total-l{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);font-weight:600;}
.jm-total{font-size:1.15rem;font-weight:700;color:var(--gold);letter-spacing:-.02em;}
.jm-save{height:46px;padding:0 26px;border:none;border-radius:13px;background:var(--gold);color:#1c1305;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 5px 16px rgba(205,169,107,.28);flex-shrink:0;}
[data-theme="light"] .jm-save{color:#fff;}
.jm-save:hover{filter:brightness(1.05);}

/* Zahlen laufen überall in gleicher Breite – Beträge stehen dadurch bündig untereinander */
.sec,.jm-sheet,.modal,.lbl-row,.sdrop{font-variant-numeric:tabular-nums;}
/* Eine Ebene weniger: Fläche + weicher Schatten tragen die Karte, die Kante bleibt hauchdünn */
.card{background:var(--card);border:1px solid var(--card-b);border-radius:22px;padding:16px;margin-bottom:11px;position:relative;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);box-shadow:0 8px 24px rgba(0,0,0,.05);}
.card:has(#sdrop[style*="block"]){z-index:50;}
[data-theme="dark"] .card{box-shadow:0 12px 32px rgba(0,0,0,.26);}

/* segmented */
.seg{display:flex;gap:3px;padding:3px;border-radius:12px;background:var(--row);border:1px solid var(--div);margin-bottom:12px;}
.seg button{flex:1;min-width:0;padding:7px 4px;border:none;background:none;border-radius:9px;font-family:inherit;font-size:.7rem;font-weight:500;color:var(--t3);cursor:pointer;white-space:nowrap;}
.seg button.on{background:var(--gold);color:#1c1305;font-weight:600;box-shadow:0 2px 8px rgba(205,169,107,.3);}
[data-theme="light"] .seg button.on{color:#fff;}

/* search row */
.srow{display:flex;gap:7px;}
.field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0 13px;height:40px;background:var(--row);border:1px solid var(--div);border-radius:12px;color:var(--t4);font-size:.76rem;}
.field .ico{font-size:.95rem;color:var(--t3);flex-shrink:0;}
.field span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.add{width:42px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#1c1305;border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 13px rgba(205,169,107,.26);}
[data-theme="light"] .add{color:#fff;}
.add .ico{stroke-width:2.4;width:18px;height:18px;}

/* item rows */
.items{margin-top:12px;display:flex;flex-direction:column;gap:6px;}
.irow{display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--row);border:1px solid var(--div);border-radius:13px;}
.ikonz{display:block;font-size:.6875rem;font-weight:500;color:var(--t4);letter-spacing:.03em;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* ── Positionszeile: Raster + Menü (Entwurf Positionszeile-Kombi) ── */
.ihead{display:grid;grid-template-columns:1fr 56px 82px 78px 28px;gap:10px;align-items:center;padding:0 13px 1px;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);font-weight:700;text-align:center;}
.ihead span:first-child{text-align:left;}
.items .irow{display:grid;grid-template-columns:1fr 56px 82px 78px 28px;gap:10px;align-items:center;position:relative;padding:10px 13px;}
.cml{text-align:center;font-size:.7rem;font-weight:600;color:var(--t2);font-variant-numeric:tabular-nums;}
.cat{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.2;font-size:.6875rem;font-weight:600;color:var(--t2);}
.cat b{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);}
.cvk{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;text-align:center;font-size:.82rem;font-weight:700;color:var(--gold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.cvk .old{display:flex;align-items:center;gap:4px;}
.cvk s{font-size:.6875rem;font-weight:600;color:var(--t4);text-decoration-thickness:1px;letter-spacing:0;}
.cvk .rb{font-size:.6875rem;font-weight:600;color:var(--t4);}
.idots{width:28px;height:28px;border-radius:9px;border:1px solid var(--div);background:transparent;color:var(--t4);font-size:.8rem;line-height:1;cursor:pointer;transition:color var(--d1),border-color var(--d1),background var(--d1);}
.idots:hover,.idots.on{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft);}
.card.menu-open{position:relative;z-index:60;}
.items .irow.menu-open{z-index:60;}
.ipop{position:absolute;right:11px;top:calc(100% - 5px);z-index:30;width:206px;background:var(--page2);border:1px solid var(--card-b);border-radius:13px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:6px;animation:genPaneIn .14s ease;}
[data-theme="light"] .ipop{box-shadow:0 18px 40px rgba(0,0,0,.16);}
.ipop .ph{padding:6px 9px 5px;font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase;color:var(--t4);font-weight:700;}
.ipop button{display:flex;align-items:center;gap:9px;width:100%;height:32px;padding:0 9px;border:none;border-radius:9px;background:none;color:var(--t2);font-family:inherit;font-size:.6875rem;font-weight:600;cursor:pointer;text-align:left;}
.ipop button:hover{background:var(--row);color:var(--t1);}
.ipop button.on{color:var(--gold);}
.ipop button i{width:12px;text-align:center;font-style:normal;color:var(--gold);opacity:0;flex:0 0 auto;}
.ipop button.on i{opacity:1;}
.ipop button em{margin-left:auto;font-style:normal;font-size:.6875rem;color:var(--t3);font-variant-numeric:tabular-nums;}
.ipop button.rm{color:var(--red);justify-content:center;gap:0;}
.ipop button.rm i{display:none;}
.ipop button.rm:hover{background:rgba(229,100,92,.1);}
.ipop hr{border:none;border-top:1px solid var(--div);margin:5px 6px;}
.imeta{display:none;font-size:.6875rem;color:var(--t3);font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.imeta b{color:var(--gold);font-weight:700;}
.imeta s{color:var(--t4);}
@media(max-width:560px){
  .ihead,.items .irow{grid-template-columns:1fr 78px 28px;}
  .items .irow .cml,.items .irow .cat,.ihead .hml,.ihead .hat{display:none;}
  .imeta{display:block;}
  .ipop{width:190px;}
}

@media(max-width:430px){.items .irow{flex-wrap:wrap;row-gap:6px;}.items .irow .iname{flex:1 1 100%;}}
.iname{flex:1;min-width:0;}
.ibrand{font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.iperf{font-size:.8rem;font-weight:600;color:var(--t1);margin-top:1px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* copy button */
.copy{width:100%;margin-top:2px;padding:13px;border-radius:14px;background:var(--row);border:1px solid var(--div);color:var(--t1);font-family:inherit;font-size:.78rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;}
#sec-generator #copyBtn{margin-top:16px;}
.copy .ico{font-size:.95rem;color:var(--gold);width:16px;height:16px;}
/* Primaer-CTA: „Nachricht generieren“ gold gefuellt, verankert den Ablauf */
.btn-copy{background:var(--gold);border-color:var(--gold);color:#1c1305;font-weight:700;box-shadow:0 8px 22px rgba(205,169,107,.30);}
[data-theme="light"] .btn-copy{color:#fff;}
.btn-copy .ico{color:#1c1305;}
[data-theme="light"] .btn-copy .ico{color:#fff;}
.btn-copy:hover{background:var(--gold-b);border-color:var(--gold-b);}

/* Zeitraum-Leiste · schiebt sich oben als schmale Leiste herunter */
.pp-bar{position:fixed;top:max(calc(env(safe-area-inset-top,0px) + 56px),94px);left:14px;right:14px;z-index:60;display:none;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;background:var(--card);border:1px solid var(--card-b);border-radius:13px;padding:7px 9px;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 10px 28px rgba(0,0,0,.16);}
[data-theme="dark"] .pp-bar{box-shadow:0 10px 30px rgba(0,0,0,.46);}
.pp-bar::-webkit-scrollbar{display:none;}
.pp-bar.on{display:flex;animation:ppDrop .22s cubic-bezier(.22,1,.36,1);}
@keyframes ppDrop{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.pp-chip{flex:0 0 auto;height:30px;padding:0 13px;border:1px solid var(--div);border-radius:999px;background:var(--row);font-family:inherit;font-size:.7rem;font-weight:600;color:var(--t2);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;}
.pp-chip:hover{border-color:var(--gold-line);color:var(--gold);}
.pp-chip.on{background:var(--gold);border-color:var(--gold);color:#1c1305;}
.pp-sep{flex:0 0 auto;width:1px;height:18px;background:var(--div);margin:0 2px;}
.pp-empty{flex:0 0 auto;font-size:.6875rem;color:var(--t4);padding:0 6px;}

.jtrend-c{display:flex;flex-direction:column;gap:7px;min-width:0;padding:0 14px;border-left:1px solid var(--div);}
.jtrend-c:first-child{padding-left:0;border-left:none;}
.jtrend-c:last-child{padding-right:0;}
.jtrend-l{font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--t4);font-weight:600;}
.jtrend-v{font-size:1.18rem;font-weight:700;letter-spacing:-.035em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.jtrend-v.umsatz{color:var(--gold);}
.jtrend-v.gewinn{color:var(--green);}
.jtrend-v.kosten{color:var(--red);}
.jtrend-chart{position:relative;height:40px;border-bottom:1px solid var(--div);}
.jtrend-chart svg{width:100%;height:100%;display:block;}
.jbar{opacity:.9;}
.jbar.umsatz{fill:var(--gold);}
.jbar.gewinn{fill:var(--green);}
.jbar.kosten{fill:var(--red);}
.jtrend-empty{height:40px;border-bottom:1px dashed var(--div);}
/* Spitzenwert (y-Skala) dezent oben rechts */
.jtrend-peak{position:absolute;top:-2px;right:0;font-size:.6875rem;font-weight:600;letter-spacing:.02em;color:var(--t4);font-variant-numeric:tabular-nums;line-height:1;pointer-events:none;}
/* x-Achse: Anfang · Mitte · Ende des Zeitraums */
.jtrend-ax{display:flex;justify-content:space-between;align-items:baseline;margin-top:5px;font-size:.6875rem;letter-spacing:.05em;color:var(--t4);font-variant-numeric:tabular-nums;line-height:1;}
.jtrend-ax .mid{opacity:.55;}
/* Legende-/Hinweis-Styles entfernt (Platz gespart) */
.jbar{transition:opacity var(--d1) ease;}
.jbar.hot{opacity:1;}
.jbar-hit{cursor:crosshair;}
.jtrend-tip{position:fixed;z-index:9999;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity var(--d1) ease,transform var(--d1) ease;background:var(--card);border:1px solid var(--card-b);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-radius:12px;padding:7px 11px;box-shadow:0 14px 38px rgba(0,0,0,.24);display:flex;flex-direction:column;gap:1px;}
[data-theme="dark"] .jtrend-tip{box-shadow:0 14px 38px rgba(0,0,0,.5);}
.jtrend-tip.on{opacity:1;transform:translateY(0);}
.jtt-m{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);font-weight:700;}
.jtt-l{font-size:.6875rem;color:var(--t3);font-weight:500;}
.jtt-v{font-size:.88rem;color:var(--t1);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.jtrend-tip.umsatz .jtt-v{color:var(--gold);}
.jtrend-tip.gewinn .jtt-v{color:var(--green);}
.jtrend-tip.kosten .jtt-v{color:var(--red);}
@media(min-width:420px){ .jtrend-v{font-size:1.34rem;} }

.jkpi-c{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 4px;border-left:1px solid var(--div);}
.jkpi-c:first-child{border-left:none;}
.jkpi-v{font-size:.86rem;font-weight:700;color:var(--t1);letter-spacing:-.02em;white-space:nowrap;}
.jkpi-v.green{color:var(--green);} .jkpi-v.red{color:var(--red);}
.jkpi-l{font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--t4);font-weight:600;white-space:nowrap;}

.jstat{background:var(--card);border:1px solid var(--card-b);border-radius:20px;padding:15px 12px;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);box-shadow:0 14px 38px rgba(0,0,0,.08);display:flex;flex-direction:column;}
[data-theme="dark"] .jstat{box-shadow:0 18px 46px rgba(0,0,0,.38);}
.jstat-label{font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--t3);font-weight:600;text-align:center;margin-bottom:6px;}
.jstat-val{font-size:1.3rem;font-weight:700;color:var(--t1);letter-spacing:-.03em;text-align:center;line-height:1;white-space:nowrap;}
.jstat-val.gold{color:var(--gold);} .jstat-val.green{color:var(--green);} .jstat-val.red{color:var(--red);}
.jtwin{display:flex;}
.jtwin-c{flex:1;min-width:0;border-left:1px solid var(--div);display:flex;flex-direction:column;align-items:center;}
.jtwin-c:first-child{border-left:none;}
.jbreak{display:flex;border-top:1px solid var(--div);margin-top:auto;padding-top:11px;}
.jstat>.jbreak:first-of-type{margin-top:17px;}
.jbk{flex:1;min-width:0;border-left:1px solid var(--div);padding:0 3px;display:flex;flex-direction:column;align-items:center;gap:2px;}
.jbk:first-child{border-left:none;}
.jbk-l{font-size:.6875rem;letter-spacing:.02em;text-transform:uppercase;color:var(--t4);text-align:center;line-height:1.08;white-space:normal;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;min-height:2.15em;}
.jbk-v{font-size:.6875rem;font-weight:700;color:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap;}
.jbk-s{font-size:.6875rem;color:var(--t4);white-space:nowrap;}
@media(max-width:360px){ .jstat-val{font-size:1.16rem;} .jbk-v{font-size:.6875rem;} }

.lcard{background:var(--card);border:1px solid var(--card-b);border-radius:24px;padding:8px 18px 12px;margin-bottom:13px;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);box-shadow:0 16px 44px rgba(0,0,0,.10);}
[data-theme="dark"] .lcard{box-shadow:0 20px 50px rgba(0,0,0,.4);}
/* Dashboard-Karten leichter: feinerer Rahmen, dezenterer Schatten */

.lcard-h{display:flex;align-items:center;gap:9px;padding:14px 0 11px;}
.lcard-h .t{font-size:.95rem;font-weight:600;letter-spacing:-.02em;}
#sec-journal .lcard-h .t{font-size:.6875rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--t4);}
#sec-stammdaten .lcard-h .t{font-size:.6875rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--t4);}
.lcard-h .ct{margin-left:auto;font-size:.6875rem;color:var(--t3);font-weight:500;white-space:nowrap;}
#stammViewBody .lcard-h{border-bottom:1px solid var(--div);margin-bottom:4px;}
.lb-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid var(--div);}
.rank{width:22px;flex-shrink:0;font-size:.82rem;font-weight:700;color:var(--t4);text-align:center;}
.rank.top{color:var(--gold);}
.lb-main{flex:1;min-width:0;}
.lb-name{font-size:.84rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb-bar{height:5px;border-radius:999px;background:var(--div);margin-top:7px;overflow:hidden;}
.lb-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-d),var(--gold-b));}
.lb-val{text-align:right;flex-shrink:0;white-space:nowrap;}
.lb-val .u{font-size:.86rem;font-weight:700;color:var(--gold);letter-spacing:-.01em;}
.lb-val .g{font-size:.6875rem;color:var(--green);margin-top:1px;}
.lb-more{width:100%;margin-top:11px;height:38px;border:1px solid var(--div);border-radius:11px;background:var(--row);color:var(--t2);font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
.lb-more:hover{border-color:var(--gold-line);color:var(--gold);background:var(--gold-soft);}
.lb-more svg{width:14px;height:14px;transition:transform var(--d1);}
.lb-more svg.up{transform:rotate(180deg);}
.je{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--div);}
.je-av{width:38px;height:38px;border-radius:12px;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0;}
.je-av svg{width:18px;height:18px;stroke-width:1.9;}
.je-av.sharing{background:var(--gold-soft);border-color:var(--gold-line);}
/* Status-Leitkachel (klickbar, 4 Stufen) */
.je-av.je-stat{cursor:pointer;font-family:inherit;padding:0;border-color:transparent;transition:background var(--d1),color var(--d1);}
.je-av.je-stat svg{width:19px;height:19px;stroke-width:2;}
.je-av.st-offen{background:rgba(229,100,92,.15);color:#e5645c;}
.je-av.st-bezahlt{background:rgba(205,169,107,.20);color:var(--gold);}
.je-av.st-abgefuellt{background:rgba(99,124,240,.17);color:#5a6fe0;}
.je-av.st-versendet{background:rgba(42,138,107,.16);color:#2a8a6b;}
[data-theme="dark"] .je-av.st-abgefuellt{color:#93a4f2;}
[data-theme="dark"] .je-av.st-versendet{color:#5fc6a3;}
.je-main{flex:1;min-width:0;}
.je-name{font-size:.86rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.je-meta{display:flex;align-items:center;gap:5px;font-size:.6875rem;color:var(--t3);margin-top:2px;min-width:0;}
.je-meta-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.je-mode{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:5px;background:var(--gold-soft);color:var(--gold);}
.je-mode svg{width:11px;height:11px;}
.je-mode.sharing{background:rgba(42,138,107,.14);color:#2a8a6b;}
[data-theme="dark"] .je-mode.sharing{color:#5fc6a3;}
.je-r{text-align:right;flex-shrink:0;white-space:nowrap;}
.je-sum{font-size:.9rem;font-weight:700;letter-spacing:-.02em;}
.je-prof{font-size:.6875rem;font-weight:600;color:var(--green);background:rgba(95,191,134,.13);padding:2px 7px;border-radius:999px;margin-top:3px;display:inline-block;}
[data-theme="light"] .je-prof{background:rgba(47,158,99,.10);}

/* ── JOURNAL · aufklappbarer Eintrag ── */
.journal-entry{border-top:1px solid var(--div);}
.journal-entry:first-child{border-top:none;}
#jRecent .journal-entry:first-child{border-top:1px solid var(--div);}
.je-hdr{display:flex;align-items:center;gap:12px;padding:13px 0;cursor:pointer;}
.je-chev{flex-shrink:0;color:var(--t4);font-size:1rem;transition:transform var(--d2);line-height:1;}
.journal-entry.open .je-chev{transform:rotate(90deg);}
.je-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--d2) ease;}
.je-collapse>.je-detail{overflow:hidden;min-height:0;}
.journal-entry.open .je-collapse{grid-template-rows:1fr;}
.je-detail{padding-bottom:4px;}
.journal-entry.open .je-detail{padding-bottom:14px;}
.sum-overview{margin-top:12px;}
.je-actions{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--div);}
.je-act{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:11px;border:1px solid var(--div);background:var(--row);color:var(--t1);font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;}
.je-act svg{width:15px;height:15px;}
.je-act:hover{border-color:var(--gold-line);color:var(--gold);}
.je-act.del:hover{border-color:var(--red);color:var(--red);background:rgba(229,100,92,.07);}

/* ── PRICELIST / generic rows ── */
.pl-brand{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:8px;}
/* Register-Zeile („Gedeckt"): Name · Führungspunkte · Preis, darunter Konzentration und Zusatzinfo */
.pl-row{padding:9px 11px;border-radius:11px;background:var(--row);margin-bottom:5px;}
.pl-row:last-child{margin-bottom:0;}
.pl-l{display:flex;align-items:baseline;}
.pl-name{flex:0 1 auto;min-width:5ch;font-size:.86rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pl-dots{flex:1 1 12px;min-width:10px;height:1px;margin:0 8px 4px;}
.pl-price{flex:0 0 auto;width:86px;text-align:right;font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.pl-price .u{font-size:.6875rem;color:var(--t3);font-weight:600;margin-left:2px;}
.pl-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:.6875rem;color:var(--t3);}
.pl-meta:empty{display:none;}
.pl-kz{padding-right:2px;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);white-space:nowrap;}

.pl-group{padding:8px 18px 12px;}
.pl-empty{font-size:.78rem;color:var(--t4);text-align:center;padding:30px 10px;}
/* ── TEXTVORLAGEN · quadratische Kacheln (ohne Nachrichtenvorschau) ──
   Die ganze Kachel ist die Kopier-Taste; Sortier-Griff und Stift blenden sich
   beim Überfahren ein, auf Touch stehen sie dauerhaft. Statusgekoppelte
   Vorlagen färben Monogramm und Schimmer in ihrer Statusfarbe. */
.tv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;}
@media(max-width:520px){ .tv-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} }
.tv-card{--tvc:var(--gold);--tvs:var(--gold-soft);position:relative;aspect-ratio:1;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--card-b);border-radius:20px;padding:14px;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color var(--d1),transform var(--d1),box-shadow var(--d1);}
.tv-card::before{content:'';position:absolute;top:-42%;right:-30%;width:88%;height:88%;border-radius:50%;background:radial-gradient(circle,var(--tvs),transparent 70%);opacity:.9;pointer-events:none;}
.tv-card:hover{border-color:var(--gold-line);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.13);}
[data-theme="dark"] .tv-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.42);}
.tv-card:active{transform:translateY(0) scale(.985);}
.tv-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.tv-mono{position:relative;width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:700;letter-spacing:.02em;color:var(--tvc);background:var(--tvs);border:1px solid var(--tvc);flex:0 0 auto;}
.tv-stat{position:absolute;right:-6px;bottom:-6px;width:20px;height:20px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--tvc);color:var(--tvc);}
.tv-stat svg{width:11px;height:11px;stroke-width:2.4;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;}
.tv-title{margin-top:auto;font-size:.85rem;font-weight:650;line-height:1.3;letter-spacing:-.01em;color:var(--t1);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;text-wrap:pretty;}

.tv-tools{position:absolute;top:9px;right:9px;display:flex;gap:4px;opacity:0;transition:opacity var(--d1);}
.tv-card:hover .tv-tools,.tv-card:focus-within .tv-tools{opacity:1;}
@media(hover:none){ .tv-tools{opacity:1;} }
.tv-grip{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:9px;background:none;color:var(--t4);cursor:grab;touch-action:none;padding:0;}
.tv-grip:hover{color:var(--tvc);background:var(--row);}
.tv-grip:active{cursor:grabbing;}
.tv-grip svg{width:15px;height:15px;}

.tv-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--card);color:var(--green);font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity var(--d1);}
.tv-done svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.tv-card.copied .tv-done{opacity:1;}
.tv-card.tv-floating{position:fixed;z-index:120;margin:0;box-shadow:0 22px 50px rgba(0,0,0,.32);transform:scale(1.03) rotate(-1.2deg);opacity:.98;pointer-events:none;}
[data-theme="dark"] .tv-card.tv-floating{box-shadow:0 24px 60px rgba(0,0,0,.6);}
.tv-placeholder::before{display:none;}
.tv-placeholder{aspect-ratio:1;border:1.5px dashed var(--gold-line);border-radius:20px;background:var(--gold-soft);box-sizing:border-box;padding:0;}
/* Kompakte Vorlagen-Karten: Kopf (Monogramm · Titel) und kleine Textvorschau */
.tv-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;}
@media(max-width:520px){ .tv-list{grid-template-columns:1fr;gap:8px;} }
.tv-card{aspect-ratio:auto;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;row-gap:6px;align-items:center;padding:12px 14px;border-radius:14px;min-height:0;}
.tv-card::before{display:none;}
.tv-card:hover{transform:none;box-shadow:0 6px 18px rgba(0,0,0,.08);}
.tv-mono{grid-column:1;grid-row:1;width:34px;height:34px;border-radius:10px;font-size:.75rem;}
.tv-stat{width:16px;height:16px;border-radius:5px;right:-5px;bottom:-5px;}
.tv-stat svg{width:9px;height:9px;}
.tv-title{grid-column:2;grid-row:1;margin:0;padding-right:64px;font-size:.8rem;-webkit-line-clamp:1;}
.tv-body{grid-column:1/-1;grid-row:2;font-size:.6875rem;line-height:1.45;color:var(--t3);white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;}
.tv-body b{font-weight:600;color:var(--tvc);}
.tv-tools{top:50%;right:8px;transform:translateY(-50%);}
.tv-card .tv-tools{top:12px;transform:none;}

.tv-done{border-radius:14px;flex-direction:row;}
.tv-done svg{width:20px;height:20px;}
.tv-placeholder{aspect-ratio:auto;border-radius:14px;}
/* Kategorien */
#tvList.tv-list{display:flex;flex-direction:column;gap:22px;}
/* Jede Kategorie als eigener Rahmen mit Kopfzeile */
#tvList.tv-list{gap:14px;}
.tv-grp{padding:0 12px 12px;border:1px solid var(--div);border-radius:18px;background:var(--row);}
[data-theme="dark"] .tv-grp{background:rgba(255,255,255,.025);}
.tv-grp-h{display:flex;align-items:center;gap:8px;margin:0 -12px 12px;padding:11px 14px;border-bottom:1px solid var(--div);}
.tv-grp-h::before{content:'';flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);}
.tv-grp-h b{flex:1 1 auto;font-size:.6875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--t1);}
.tv-grp-h em{min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--gold-soft);}
.tv-grp-h em:empty{display:none;}
.tv-grp-btn{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:9px;background:none;color:var(--t4);cursor:pointer;padding:0;}
.tv-grp-btn:hover{background:var(--card);color:var(--gold);}
.tv-grp-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.tv-grp-btn.ok{color:var(--green);}
.tv-grp-grip{cursor:grab;touch-action:none;}
.tv-grp-grip:active{cursor:grabbing;}
.tv-grp.tv-grp-zieh{position:relative;z-index:5;border-color:var(--gold-line);box-shadow:0 14px 34px rgba(0,0,0,.18);transform:scale(1.01);transition:transform var(--d1),box-shadow var(--d1);}
.tv-grp.tv-grp-zieh .tv-grp-grip{color:var(--gold);}
.tv-grip{touch-action:none;}
.tv-grp-btn.del:hover{color:var(--red);}
.tv-grp-h.edit{padding-top:7px;padding-bottom:7px;}
.tv-grp-h input{flex:1 1 auto;min-width:0;height:30px;padding:0 10px;border:1px solid var(--gold-line);border-radius:9px;background:var(--card);color:var(--t1);font-family:inherit;font-size:.78rem;font-weight:600;}
.tv-grp-h input:focus{outline:none;border-color:var(--gold);}
.tv-kat-add{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px dashed var(--gold-line);border-radius:12px;background:none;color:var(--gold);font-family:inherit;font-size:.72rem;font-weight:700;cursor:pointer;}
.tv-kat-add:hover{background:var(--gold-soft);}
.tv-kat-add svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;}
.tv-grp-h span{flex:1 1 auto;min-width:0;font-size:.6875rem;color:var(--t4);}
.tv-grp-h em{font-style:normal;font-size:.6875rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;}
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;}
@media(max-width:520px){ .tv-grid{grid-template-columns:1fr;gap:8px;} }
.tv-grp-leer{grid-column:1/-1;padding:12px 14px;border:1px dashed var(--div);border-radius:14px;font-size:.6875rem;color:var(--t4);}
.tpl-kat-chip{text-transform:none;}
.tv-empty{grid-column:1/-1;font-size:.78rem;color:var(--t4);text-align:center;padding:30px 10px;}
/* Status-Koppelung: Chips im Modal, Plakette auf der Karte */
.tpl-lab-opt{color:var(--t4);font-weight:400;text-transform:none;letter-spacing:0;}
.tpl-stat-row{display:flex;flex-wrap:wrap;gap:7px;}
.tpl-stat-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 9px;border-radius:999px;border:1px solid var(--div);background:var(--row);color:var(--t2);font-size:.76rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--d1),color var(--d1),border-color var(--d1);}
.tpl-stat-chip svg{width:15px;height:15px;stroke-width:2;}
.tpl-stat-chip:hover{border-color:var(--gold-line);}
.tpl-stat-chip.on{border-color:transparent;}
.tpl-stat-chip.on.st-offen{background:rgba(229,100,92,.15);color:#e5645c;}
.tpl-stat-chip.on.st-bezahlt{background:var(--gold-soft);color:var(--gold);}
.tpl-stat-chip.on.st-abgefuellt{background:rgba(90,111,224,.16);color:#5a6fe0;}
[data-theme="dark"] .tpl-stat-chip.on.st-abgefuellt{color:#93a4f2;}
.tpl-stat-chip.on.st-versendet{background:rgba(42,138,107,.16);color:#2a8a6b;}
[data-theme="dark"] .tpl-stat-chip.on.st-versendet{color:#5fc6a3;}
.tpl-stat-chip.chip-none.on{background:var(--raise);color:var(--t1);box-shadow:inset 0 0 0 1px var(--raise-b);}
.tpl-ph-hint{margin-top:9px;font-size:.6875rem;line-height:1.55;color:var(--t4);}
.tpl-ph-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem;background:var(--row);border:1px solid var(--div);border-radius:5px;padding:1px 5px;color:var(--t2);}
.tv-card.st-offen{--tvc:#e5645c;--tvs:rgba(229,100,92,.14);}
.tv-card.st-bezahlt{--tvc:var(--gold);--tvs:var(--gold-soft);}
.tv-card.st-abgefuellt{--tvc:#5a6fe0;--tvs:rgba(90,111,224,.15);}
[data-theme="dark"] .tv-card.st-abgefuellt{--tvc:#93a4f2;}
.tv-card.st-versendet{--tvc:#2a8a6b;--tvs:rgba(42,138,107,.15);}
[data-theme="dark"] .tv-card.st-versendet{--tvc:#5fc6a3;}

.tv-act{flex:0 0 auto;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:1px solid var(--div);background:transparent;color:var(--t3);cursor:pointer;transition:color var(--d1),background var(--d1),border-color var(--d1);}
.tv-act:hover{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft);}
.tv-act:active{transform:scale(.92);}
.tv-act svg{width:15px;height:15px;stroke-width:2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;}
.tv-act.ok{color:var(--green);border-color:transparent;background:rgba(95,191,134,.15);}
.tpl-del-btn{height:46px;padding:0 18px;border:1px solid var(--div);border-radius:13px;background:none;color:var(--t2);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;}
.tpl-del-btn:hover{border-color:var(--red);color:var(--red);}
#tplmBody{width:100%;box-sizing:border-box;min-height:210px;}
.tpl-body-inp{width:100%;border:1px solid var(--div);border-radius:10px;background:var(--row);font-family:inherit;font-size:.78rem;line-height:1.55;color:var(--t1);padding:10px 12px;resize:vertical;}

/* ── ÖFFENTLICHE KUNDEN-PREISLISTE ── */
#publicView{display:none;position:relative;z-index:1;min-height:100vh;padding:0 0 60px;}
body.public-mode{overflow-y:auto;}
.pub-wrap{width:100%;max-width:560px;margin:0 auto;padding:0 18px;}
.pub-searchrow{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--card-b);border-radius:14px;padding:0 15px;margin-bottom:14px;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);}
.pub-searchrow svg{width:16px;height:16px;color:var(--t3);flex-shrink:0;}
.pub-searchrow input{flex:1;min-width:0;height:50px;border:none;background:none;font-family:inherit;font-size:.9rem;color:var(--t1);outline:none;}
.pub-searchrow input::placeholder{color:var(--t4);}
.pub-count{font-size:.7rem;color:var(--t3);font-weight:600;white-space:nowrap;}

.pub-empty{font-size:.84rem;color:var(--t4);text-align:center;padding:50px 10px;}
.pub-back{position:relative;display:inline-block;margin:calc(env(safe-area-inset-top,0px) + 12px) 0 -20px 18px;z-index:6;padding:7px 12px;border-radius:10px;background:var(--row);border:1px solid var(--div);color:var(--t2);font-size:.75rem;font-weight:600;text-decoration:none;}
.pub-back:hover{color:var(--gold);}
.pub-foot{margin-top:18px;padding:0 6px;font-size:.72rem;line-height:1.6;color:var(--t3);text-align:center;}
/* Kopf: Kennzahlen + 3 Schritte */
.pub-intro{display:flex;flex-direction:column;gap:16px;margin:calc(env(safe-area-inset-top,0px) + 24px) 0 14px;padding:18px;border-radius:24px;background:var(--card);border:1px solid var(--card-b);color:#f3f4f4;}
[data-theme="light"] .pub-intro{background:#1b1d1e;border-color:#1b1d1e;}
.pub-intro:empty{display:none;}
.pub-kpi{display:flex;}
.pub-kpi>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.pub-kpi>div+div{border-left:1px solid rgba(255,255,255,.12);}
.pub-kpi b{font-size:26px;font-weight:300;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;}
.pub-kpi b.g{color:#cda96b;}
.pub-kpi span{font-size:8.5px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.55);}
.pub-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.pub-steps>i{position:absolute;left:16.6%;right:16.6%;top:10px;height:1px;background:rgba(205,169,107,.4);}
.pub-steps>div{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}
.pub-steps>div>span{width:21px;height:21px;border-radius:50%;background:#cda96b;color:#1c1305;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.pub-steps em{font-style:normal;font-size:11px;line-height:1.3;color:rgba(255,255,255,.8);}
/* Zeilen mit Auswahl und freier Menge */
.pub-group{padding:14px 14px 6px;}
.pub-group .pl-brand{margin:0 2px 6px;}
.pub-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid var(--div);}
.pub-n{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.pub-n .pl-name{display:block;}
.pub-sub{font-size:.6875rem;color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pub-n .pl-meta{margin-top:1px;}
.pub-n .pl-parfumo{margin-left:0;width:auto;text-align:left;}
.pub-act{flex:none;display:flex;align-items:center;gap:8px;}
.pub-add{width:104px;height:34px;padding:0;border-radius:999px;border:1px solid var(--gold-line);background:none;color:var(--gold);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background var(--d1);}
.pub-add:hover{background:var(--gold-soft);}
/* Ausgewählt: Preis über dem Mengen-Regler */
.pub-stk{width:104px;display:flex;flex-direction:column;align-items:stretch;gap:7px;animation:pubIn .45s cubic-bezier(.22,1,.36,1) both;}
.pub-pr-w{display:block;height:20px;overflow:hidden;text-align:center;}
.pub-pr{--sh:#fff1cf;display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums;color:transparent;background:linear-gradient(100deg,var(--gold) 0%,var(--gold) 38%,var(--sh) 50%,var(--gold) 62%,var(--gold) 100%);background-size:250% 100%;background-position:-20% 0;-webkit-background-clip:text;background-clip:text;}
[data-theme="light"] .pub-pr{--sh:#d9b878;}
.pub-pr.pop{animation:pubPop .42s cubic-bezier(.34,1.56,.64,1) both,pubShine .9s ease-out both;}
.pub-step{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 2px;border-radius:999px;background:var(--row);border:1px solid var(--gold-line);box-sizing:border-box;}
.pub-step button{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:none;color:var(--t2);font-family:inherit;font-size:15px;line-height:1;cursor:pointer;transition:background var(--d1),color var(--d1),transform .12s;}
.pub-step button:hover{background:var(--gold-soft);color:var(--gold);}
.pub-step button:active{transform:scale(.88);}
.pub-ml-w{height:28px;perspective:120px;}
.pub-ml{display:block;line-height:28px;font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap;backface-visibility:hidden;}
.pub-ml.up{animation:pubFlipUp .42s cubic-bezier(.22,1,.36,1) both;}
.pub-ml.down{animation:pubFlipDown .42s cubic-bezier(.22,1,.36,1) both;}
@keyframes pubIn{0%{opacity:0;transform:translateY(8px) scale(.92);filter:blur(4px);}60%{opacity:1;filter:none;}100%{opacity:1;transform:none;}}
@keyframes pubFlipUp{from{opacity:0;transform:rotateX(-90deg);}60%{opacity:1;}to{opacity:1;transform:none;}}
@keyframes pubFlipDown{from{opacity:0;transform:rotateX(90deg);}60%{opacity:1;}to{opacity:1;transform:none;}}
@keyframes pubPop{0%{transform:scale(.86);opacity:.4;}55%{transform:scale(1.07);opacity:1;}100%{transform:none;}}
@keyframes pubShine{from{background-position:120% 0;}to{background-position:-20% 0;}}
@media (prefers-reduced-motion:reduce){ .pub-stk,.pub-pr.pop,.pub-ml.up,.pub-ml.down{animation:none;} }
/* Leiste unten + Anfrage-Blatt */
body.pub-has-sel #publicView{padding-bottom:120px;}
.pub-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:60;width:calc(100% - 24px);max-width:536px;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:18px;background:#1b1d1e;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.3);}
.pub-bar[hidden],.pub-sheet[hidden]{display:none;}
.pub-bar-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.pub-bar-t b{font-size:13px;font-weight:600;}
.pub-bar-t span{font-size:11px;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;}
.pub-bar button{height:40px;padding:0 16px;border:0;border-radius:12px;background:#cda96b;color:#1c1305;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.pub-sheet{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.4);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;}
.pub-sheet-c{width:100%;max-width:560px;box-sizing:border-box;border-radius:26px 26px 0 0;background:var(--page2,var(--card));border:1px solid var(--card-b);border-bottom:0;padding:18px 18px calc(env(safe-area-inset-bottom,0px) + 22px);display:flex;flex-direction:column;gap:14px;}
[data-theme="light"] .pub-sheet-c{background:#fff;}
.pub-sheet-h{display:flex;align-items:center;justify-content:space-between;}
.pub-sheet-h b{font-size:17px;font-weight:600;}
.pub-sheet-h button{width:32px;height:32px;border:0;border-radius:10px;background:var(--row);color:var(--t2);font-size:13px;cursor:pointer;}
.pub-msg{padding:12px 14px;border-radius:14px;background:var(--row);font-size:12.5px;line-height:1.5;white-space:pre-wrap;max-height:50vh;overflow:auto;}
.pub-sheet-btns{display:flex;gap:8px;}
.pub-sheet-btns button{flex:1;height:44px;border-radius:13px;border:1px solid var(--div);background:none;color:var(--t1);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;}
.pub-sheet-btns button.pri{border:0;background:var(--gold);color:#1c1305;}
[data-theme="light"] .pub-sheet-btns button.pri{color:#fff;}

/* ── BOTTOM NAV (schwebende Pille, bündig mit den Kacheln) ── */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);z-index:50;
  bottom:max(8px,calc(env(safe-area-inset-bottom,0px) - 6px));
  width:calc(100% - 32px);max-width:408px;
  padding:8px 6px;border-radius:28px;
  background:var(--bar);border:1px solid var(--bar-b);
  backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);
  box-shadow:none;
  display:flex;justify-content:space-around;gap:2px;}
/* Breite folgt der Kachelspalte des jeweiligen Reiters.
   Tablet (760–1079px): alle Reiter nutzen 680px-Kacheln → Leiste 648px. */
@media (min-width:760px){ .tabbar{max-width:648px;} }
/* Desktop (≥1080px): je Reiter unterschiedlich breite Kacheln → Leiste angleichen. */
@media (min-width:1080px){
  .tabbar{max-width:728px;}                                   
}
[data-theme="dark"] .tabbar{box-shadow:none;}
.tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 1px;border:none;background:none;color:var(--t3);cursor:pointer;font-family:inherit;border-radius:15px;position:relative;transition:color var(--d1),background var(--d1);}
.tab .ico{width:20px;height:20px;stroke-width:1.7;transition:stroke-width var(--d1);}
.tab .tl{font-size:.6875rem;font-weight:500;letter-spacing:-.02em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.tab.on{color:var(--gold);}
.tab.on .tl{font-weight:600;}
.tab.on .ico{stroke-width:2.1;}
.tab-badge{position:absolute;top:1px;left:calc(50% + 7px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:.6875rem;font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none;}
[data-theme="light"] .tab-badge{box-shadow:0 1px 4px rgba(0,0,0,.2);}

/* ── GENERATOR · Versandabwicklung & Logik ── */
.empty{padding:18px 6px;text-align:center;}
.empty span{font-size:.72rem;color:var(--t4);}
/* selects */
.sel{appearance:none;-webkit-appearance:none;height:40px;padding:0 30px 0 13px;border:1px solid var(--div);border-radius:12px;background:var(--row);color:var(--t1);font-size:.76rem;font-family:inherit;cursor:pointer;min-width:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b9094' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 9px center;background-size:15px;}
.selml{width:78px;flex-shrink:0;}
/* search field with dropdown */
.sw{position:relative;}
.field input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--t1);font-size:.76rem;font-family:inherit;padding:0;}
.field input::placeholder{color:var(--t4);}

/* Vorschlagsliste liegt als eigene fixe Ebene über allen Karten –
   verhindert, dass Karten mit backdrop-filter (z.B. „Versand") sie auf dem Desktop überdecken. */
.sdrop.sfix{position:fixed;z-index:95;}
.sdrop{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--page2);border:1px solid var(--card-b);border-radius:13px;max-height:262px;overflow-y:auto;box-shadow:0 16px 40px rgba(0,0,0,.22);}
[data-theme="dark"] .sdrop{box-shadow:0 18px 46px rgba(0,0,0,.5);}
.sdi{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;cursor:pointer;font-size:.74rem;color:var(--t1);border-bottom:1px solid var(--div);}
.sdi:last-child{border-bottom:none;}
.sdi:hover{background:var(--ghost);}
.sdi .sb{color:var(--gold);font-weight:600;font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;}
.sdi .sp{color:var(--gold);font-weight:600;font-size:.6875rem;white-space:nowrap;flex-shrink:0;}
/* text recognition */
.text-reco-area{width:100%;min-height:98px;resize:vertical;padding:12px 13px;background:var(--row);border:1px solid var(--div);border-radius:13px;color:var(--t1);font-size:.76rem;font-family:inherit;line-height:1.5;}
.btn-sadd{width:100%;margin-top:9px;padding:11px;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:12px;color:var(--gold);font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer;}
.text-reco-result{margin-top:10px;display:flex;flex-direction:column;gap:5px;}
.trr-head{font-size:.6875rem;color:var(--t3);font-weight:600;margin-bottom:3px;}
.trr-empty{font-size:.6875rem;color:var(--t3);padding:6px 2px;}
.trr-row{display:flex;align-items:center;gap:8px;font-size:.6875rem;padding:7px 10px;border-radius:10px;background:var(--row);border:1px solid var(--div);}
.trr-row.ok .trr-ic{color:var(--green);}
.trr-row.no .trr-ic{color:var(--red);}
.trr-ic{flex-shrink:0;font-weight:700;}
.trr-q{flex-shrink:0;color:var(--gold);font-weight:600;white-space:nowrap;}
.trr-n{flex:1;min-width:0;color:var(--t2);}
/* snapshot Prüfliste (editierbar) */
.snap-stage{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.snap-srow{display:flex;align-items:center;gap:7px;}
.snap-sn{flex:1;min-width:0;padding:8px 11px;background:var(--row);border:1px solid var(--div);border-radius:10px;color:var(--t1);font-size:.74rem;font-family:inherit;}
.snap-sn:focus{outline:none;border-color:var(--gold-line);}
.snap-sml{flex-shrink:0;width:78px;padding:8px 8px;background:var(--row);border:1px solid var(--div);border-radius:10px;color:var(--t1);font-size:.72rem;font-family:inherit;}
.snap-sml:focus{outline:none;border-color:var(--gold-line);}
.snap-sx{flex-shrink:0;width:30px;height:30px;border:none;border-radius:9px;background:var(--ghost);color:var(--t3);font-size:.8rem;cursor:pointer;line-height:1;}
.snap-sx:hover{background:rgba(229,100,92,.15);color:var(--red);}
.snap-sug{display:flex;align-items:center;gap:6px;margin:-2px 0 2px 0;padding:6px 11px;width:100%;border:1px solid var(--gold-line);border-radius:9px;background:var(--gold-soft);color:var(--t2);font-size:.6875rem;font-family:inherit;cursor:pointer;text-align:left;}
.snap-sug svg{flex:0 0 13px;width:13px;height:13px;color:var(--gold);}
.snap-sug b{color:var(--gold);font-weight:700;}
.snap-sug:active{opacity:.6;}
/* snapshot (Teilnehmerliste als Bild) */
.snap-target-lbl{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);font-weight:600;margin:0 2px 6px;}
#snapTargetWrap{margin-bottom:10px;}
.snap-drop{display:block;position:relative;border:1.5px dashed var(--div);border-radius:14px;background:var(--row);cursor:pointer;overflow:hidden;transition:border-color var(--d1),background var(--d1);}
.snap-drop:hover{border-color:var(--gold-line);background:var(--card);}
.snap-drop-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:26px 16px;text-align:center;}
.snap-drop-inner svg{width:30px;height:30px;color:var(--t4);}
.snap-drop-t{font-size:.74rem;font-weight:600;color:var(--t2);}
.snap-drop-s{font-size:.6875rem;color:var(--t4);}
.snap-preview{display:block;width:100%;max-height:230px;object-fit:contain;background:var(--row);}
.snap-drop.has-img{border-style:solid;}
/* Zuschnitt-Modal */
.btn-sadd:disabled{opacity:.45;cursor:default;}
.btn-sadd.loading{opacity:.7;cursor:wait;}
/* item rows */
.irow{display:flex;align-items:center;gap:7px;}
.irow .iname{flex:1;min-width:0;}
.chip{font-family:inherit;border:1px solid var(--div);background:var(--raise);color:var(--t1);border-radius:999px;font-size:.6875rem;font-weight:600;height:26px;cursor:pointer;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;}
.chip-ml{min-width:44px;padding:0 8px;}
.chip-vkp{min-width:56px;color:var(--gold);}
.chip:hover{border-color:var(--gold-line);}
.chip-inp{height:26px;padding:0 5px;border:1px solid var(--gold-line);background:var(--raise);border-radius:999px;color:var(--t1);font-size:.6875rem;font-weight:600;font-family:inherit;text-align:center;-moz-appearance:textfield;flex-shrink:0;width:52px;}
.chip-inp.wide{width:66px;}
.chip-inp::-webkit-outer-spin-button,.chip-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* versand option rows */
.ogrp{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);font-weight:600;margin:11px 0 7px;}
.opt-row{display:flex;align-items:center;gap:10px;padding:11px 12px;background:var(--row);border:1px solid var(--div);border-radius:13px;margin-bottom:6px;cursor:pointer;transition:background var(--d1),border-color var(--d1);}
.opt-row.on{background:var(--gold-soft);border-color:var(--gold-line);}
.ochk{width:19px;height:19px;border-radius:6px;border:1px solid var(--div);background:var(--raise);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--gold);flex-shrink:0;}
.opt-row.on .ochk{background:var(--gold);color:#1c1305;border-color:transparent;}
[data-theme="light"] .opt-row.on .ochk{color:#fff;}
/* Einfachauswahl (Dienstleister/Versandart) als runder Radio, Zusatz bleibt eckige Checkbox */
.opt-row.opt-radio .ochk{border-radius:50%;}
.olbl{flex:1;min-width:0;font-size:.78rem;font-weight:500;color:var(--t1);}
.omut{display:block;margin-top:2px;color:var(--t3);font-size:.6875rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.opr{font-size:.8rem;font-weight:700;color:var(--gold);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums;}
.sm-price,.sum-group-s{font-variant-numeric:tabular-nums;}
.ohint{font-size:.6875rem;color:var(--t3);padding:6px 2px;}
/* summary */
#buyerInput{width:100%;height:40px;padding:0 13px;background:var(--row);border:1px solid var(--div);border-radius:12px;color:var(--t1);font-size:.8rem;font-family:inherit;}
#buyerInput::placeholder{color:var(--t4);}
#buyerInput.input-error{border-color:var(--red);}
.sum-buyer-hint{font-size:.6875rem;color:var(--red);margin-top:6px;}
.sum-group{margin-bottom:13px;}
.sum-group-h{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--div);margin-bottom:4px;}
.sum-group-t{flex:1;min-width:0;font-size:.8rem;font-weight:600;color:var(--t1);}
.sum-row{display:flex;align-items:center;gap:8px;padding:5px 0;}
.sum-row-l{flex:1;min-width:0;}
.sum-name{display:block;font-size:.72rem;color:var(--t2);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sum-brand{display:block;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px;}
.sum-name-row{display:flex;align-items:center;gap:0;min-width:0;margin-top:1px;}
.sum-name-row .sum-name{flex:0 1 auto;}
.sum-ml-txt{flex-shrink:0;font-size:.72rem;color:var(--t2);white-space:nowrap;}
.sum-ml-txt::before{content:"·";margin:0 5px;color:var(--t2);}
/* Metrik-Spalten mit Hochstrich-Trennern (wie im Journal), statt Bubbles */
.sum-metrics{display:grid;grid-template-columns:64px 42px 42px 34px;flex-shrink:0;text-align:right;align-items:center;}
.sm{font-size:.6875rem;color:var(--t3);padding:0 3px;border-left:1px solid var(--div);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
.sm:first-child,.sm:empty{border-left-color:transparent;}
.sm.sm-price{color:var(--t1);font-weight:600;font-size:.6875rem;}
.sum-metrics .sm:nth-child(2){color:var(--red);}
.sm.pos{color:var(--green);} .sm.neg{color:var(--red);} .sm.marge{color:var(--gold);}
.sum-group-h .sm{font-weight:700;overflow:visible;}

.sum-total{display:flex;align-items:center;gap:8px;padding:12px 0 2px;margin-top:7px;border-top:2px solid var(--t4);}
.sum-total-l{flex:1;min-width:0;font-size:.78rem;font-weight:600;white-space:nowrap;}
.sum-total .sm{font-size:.6875rem;overflow:visible;}
.sum-total .sm.sm-price{font-size:.8rem;font-weight:700;color:var(--t1);letter-spacing:-.02em;}
/* message */
.outbox{font-size:.6875rem;line-height:1.5;color:var(--t2);background:var(--row);border:1px solid var(--div);border-radius:14px;padding:14px;white-space:pre-wrap;word-break:break-word;max-height:290px;overflow-y:auto;font-family:ui-monospace,'SF Mono',Menlo,monospace;margin-bottom:11px;}
.btn-copy.ok{background:rgba(95,191,134,.14);border-color:var(--gold-line);color:var(--green);}

#genResetBtn:hover{border-color:var(--red);color:var(--red);}
/* Sharing · Blöcke (pro Duft eine Teilnehmerliste) */
.sb-empty{margin-top:11px;border:1px dashed var(--gold-line);border-radius:13px;padding:12px 13px;background:var(--gold-soft);font-size:.6875rem;line-height:1.55;color:var(--t2);}
.sb-block{margin-top:11px;border:1px solid var(--div);border-radius:14px;background:var(--row);overflow:hidden;}
.sb-head{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--div);background:var(--gold-soft);}
.sb-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.sb-title b{font-size:.8rem;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-sub{font-size:.6875rem;color:var(--t3);}
.sb-del{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--div);border-radius:8px;background:var(--card);color:var(--t3);cursor:pointer;font-size:.74rem;display:inline-flex;align-items:center;justify-content:center;}
.sb-del:hover{border-color:var(--red);color:var(--red);}
.sb-row{display:flex;align-items:center;gap:9px;padding:7px 12px;border-bottom:1px solid var(--div);}
.sb-row-n{flex:1;min-width:0;font-size:.78rem;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-row-ml{flex:0 0 auto;font-size:.7rem;color:var(--t2);font-variant-numeric:tabular-nums;}
.sb-row-x{flex:0 0 auto;width:24px;height:24px;border:none;background:none;color:var(--t4);cursor:pointer;font-size:.72rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;}
.sb-row-x:hover{color:var(--red);background:rgba(229,100,92,.08);}
.sb-add{display:flex;align-items:center;gap:7px;padding:9px 12px;}
.sb-add input{height:36px;border:1px solid var(--div);border-radius:10px;background:var(--card);color:var(--t1);font-family:inherit;font-size:.76rem;padding:0 11px;outline:none;min-width:0;}
.sb-add input:focus{border-color:var(--gold-line);}
.sb-add input.input-error{border-color:var(--red);}
.sb-name{flex:1;}
.sb-ml{flex:0 0 86px;text-align:center;}
.sb-add select.sb-ml{height:36px;border:1px solid var(--div);border-radius:10px;background:var(--card);color:var(--t1);font-family:inherit;font-size:.76rem;padding:0 8px;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;}
.sb-add select.sb-ml:focus{border-color:var(--gold-line);}

.share-chip{height:30px;padding:0 13px;border:1px solid var(--div);border-radius:999px;background:var(--row);color:var(--t2);font-family:inherit;font-size:.7rem;font-weight:600;cursor:pointer;white-space:nowrap;}
.share-chip:hover{border-color:var(--gold-line);color:var(--gold);}
.share-chip.on{background:var(--gold);border-color:var(--gold);color:#1c1305;}
[data-theme="light"] .share-chip.on{color:#fff;}
.share-chip.done:not(.on){color:var(--green);border-color:rgba(42,138,107,.35);}

/* kalkulation ausgeblendet → nur Preis-Spalte zeigen */
.sum-overview.calc-off .sum-metrics{grid-template-columns:1fr;}
.sum-overview.calc-off .sum-metrics .sm:not(.sm-price){display:none;}
.sum-overview.calc-off .sum-group-h .sm:not(.sm-price){display:none;}
/* ── Entwurf 1:1: gewählter Duft wartet auf die Menge ── */
.gpend{display:flex;align-items:center;gap:9px;margin-top:9px;padding:9px 11px;border:1px solid var(--gold-line);border-radius:12px;background:var(--gold-soft);animation:genPaneIn .16s ease;}
.gpend .gp-n{flex:1;min-width:0;font-size:.74rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gpend .gp-n small{display:block;font-size:.6875rem;color:var(--t3);font-weight:500;margin-top:1px;}
.gpend select{height:32px;width:88px;padding:0 8px;border:1px solid var(--gold-line);border-radius:9px;background:var(--raise);color:var(--t1);font-family:inherit;font-size:.72rem;font-weight:600;}
.gpend .gp-x{width:26px;height:26px;border:none;border-radius:8px;background:transparent;color:var(--t3);font-size:.85rem;line-height:1;cursor:pointer;}
.gpend .gp-x:hover{color:var(--red);}
/* Region-Umschalter wie im Entwurf: gold gefüllter Gleiter */
#regionSeg.has-ind .seg-ind{background:var(--gold);box-shadow:0 2px 8px rgba(205,169,107,.3);}
#regionSeg.has-ind .jm-seg-b.on{color:#1c1305;font-weight:600;}
[data-theme="light"] #regionSeg.has-ind .jm-seg-b.on{color:#fff;}
@media (prefers-reduced-motion:reduce){.gpend{animation:none;}}
/* ── Entwurf 1:1: Modus-Umschalter als eigene Zeile mit gleitendem Indikator ── */
.gm-seg{position:relative;display:flex;gap:5px;background:var(--row);border:1px solid var(--div);border-radius:13px;padding:4px;margin:0 0 11px;}
.gm-seg .gm-ind{position:absolute;left:0;top:4px;bottom:4px;border-radius:9px;background:var(--gold);box-shadow:0 2px 8px rgba(205,169,107,.3);transition:transform var(--d2) var(--mo-e),width var(--d2) var(--mo-e);z-index:0;pointer-events:none;}
.gm-seg button{position:relative;z-index:1;flex:1;height:34px;padding:0;border:none;background:none;border-radius:9px;font-family:inherit;font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--t2);cursor:pointer;transition:color var(--d1);}
.gm-seg button:hover{color:var(--t1);}
.gm-seg button.on{color:#1c1305;font-weight:600;}
[data-theme="light"] .gm-seg button.on{color:#fff;}
.gm-seg.has-ind button.on{background:none;box-shadow:none;}
.gm-seg:not(.has-ind) button.on{background:var(--gold);box-shadow:0 2px 8px rgba(205,169,107,.3);}

@media (prefers-reduced-motion:reduce){.gm-seg .gm-ind{transition:none;}}
/* Zerstäuber-Umschalter wie im Entwurf: gold gefüllter Gleiter */
#atomSeg.has-ind .seg-ind{background:var(--gold);box-shadow:0 2px 8px rgba(205,169,107,.3);}
#atomSeg.has-ind .jm-seg-b.on{color:#1c1305;font-weight:600;}
[data-theme="light"] #atomSeg.has-ind .jm-seg-b.on{color:#fff;}
/* Gewinn gesamt · alle Teilnehmer (nur Sharing) */
.gkrow2{display:flex;gap:8px;margin-top:8px;}
.gkmini{flex:1;display:flex;align-items:center;gap:8px;background:var(--row);border:1px solid var(--div);border-radius:12px;padding:8px 10px;}
.gkmini .kl{flex:1;min-width:0;font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);font-weight:700;line-height:1.35;}
.gkmini .kv{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--green);}
/* ── KPI-Kacheln (Kosten · Gewinn · Marge) ── */
.gkpis{display:flex;gap:8px;margin-top:14px;}
.gkpi{flex:1;min-width:0;background:var(--row);border:1px solid var(--div);border-radius:12px;padding:9px 10px;transition:border-color var(--d1),background var(--d1);}
.gkpi.warn{border-color:rgba(229,100,92,.55);background:rgba(229,100,92,.07);}
.gkpi>span{display:block;font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);font-weight:700;}
.gkpi>b{display:block;margin-top:3px;font-size:.86rem;font-weight:700;font-variant-numeric:tabular-nums;}
.gkpi>b.g{color:var(--green);}
.gkpi>b.mg-ok{color:var(--green);}.gkpi>b.mg-mid{color:var(--gold);}.gkpi>b.mg-bad{color:var(--red);}
.gstack{display:flex;height:5px;border-radius:99px;overflow:hidden;background:var(--div);margin-top:7px;}
.gstack i{display:block;height:100%;transition:width .5s var(--mo-e);}
.gks1{background:var(--gold);}
.gks2{background:oklch(.66 .062 232);}
.gks3{background:oklch(.60 .035 40);}
[data-theme="light"] .gks2{background:oklch(.60 .072 232);}
[data-theme="light"] .gks3{background:oklch(.58 .045 40);}
.glg{display:flex;flex-wrap:wrap;gap:2px 9px;margin-top:5px;font-size:.6875rem;color:var(--t3);font-weight:600;}
.glg span{display:flex;align-items:center;gap:4px;}
.glg i{width:6px;height:6px;border-radius:2px;display:block;}
@media (max-width:520px){.gkpis{flex-wrap:wrap;}.gkpi{flex:1 1 100%;}}
@media (prefers-reduced-motion:reduce){.gstack i{transition:none;}}
/* ── Mikro-Animationen (Generator) ── */
@keyframes genRowIn{from{opacity:0;transform:translateY(-6px);max-height:0;padding-top:0;padding-bottom:0;}to{opacity:1;transform:none;max-height:110px;}}
@keyframes genRowOut{from{opacity:1;max-height:110px;}to{opacity:0;transform:translateX(-14px);max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;}}
@keyframes genFlash{0%{background:var(--gold-soft);}70%{background:var(--gold-soft);}100%{background:transparent;}}
@keyframes genPaneIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
@keyframes genSheen{0%{left:-60%;}22%{left:130%;}100%{left:130%;}}
.irow.gen-enter,.sb-row.gen-enter{animation:genRowIn .26s cubic-bezier(.22,1,.36,1) both;overflow:hidden;}
.irow.gen-enter.gen-flash,.sb-row.gen-enter.gen-flash{animation:genRowIn .26s cubic-bezier(.22,1,.36,1) both,genFlash 1.1s ease .2s both;}
.irow.gen-leave{animation:genRowOut .22s ease forwards;overflow:hidden;}
.seg-region{position:relative;}
.seg-region .seg-ind{position:absolute;left:0;top:4px;bottom:4px;border-radius:9px;background:var(--raise);box-shadow:inset 0 0 0 1px var(--gold-line);transition:transform var(--d2) var(--mo-e),width var(--d2) var(--mo-e);z-index:0;pointer-events:none;}
.seg-region .jm-seg-b{position:relative;z-index:1;}
#regionSeg.has-ind .jm-seg-b.on,#atomSeg.has-ind .jm-seg-b.on{background:transparent;box-shadow:none;}
.btn-copy{position:relative;overflow:hidden;}
.btn-copy::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);transform:skewX(-18deg);animation:genSheen 3.4s ease-in-out 1.2s infinite;pointer-events:none;}

@media (prefers-reduced-motion:reduce){.irow.gen-enter,.irow.gen-leave,.sb-row.gen-enter{animation:none!important;}.btn-copy::after{display:none;}.seg-region .seg-ind{transition:none;}}

.outbox-wrap{overflow:hidden;max-height:354px;transition:max-height var(--d2) ease,margin var(--d2) ease,opacity var(--d2) ease;margin:14px 0 11px;}
.outbox-wrap.collapsed{max-height:0;margin-top:0;margin-bottom:0;opacity:0;}
#sec-generator .outbox{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:.72rem;line-height:1.55;color:var(--t1);background:var(--row);border:1px solid var(--div);border-radius:6px 16px 16px 16px;padding:14px 15px;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;position:relative;}
#sec-generator .outbox.empty-state{color:var(--t4);font-style:italic;background:var(--row);text-align:center;padding:26px 15px;border-style:dashed;}

/* ── Toasts (kurze Bestätigungen) ── */
.toast-host{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 92px);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100% - 32px);}
.toast{pointer-events:auto;padding:10px 16px;border-radius:13px;background:var(--page2);border:1px solid var(--card-b);color:var(--t1);font-size:.74rem;font-weight:600;box-shadow:0 14px 38px rgba(0,0,0,.22);opacity:0;transform:translateY(10px) scale(.96);transition:opacity var(--d2),transform var(--d2);text-align:center;}
.toast.show{opacity:1;transform:translateY(0) scale(1);}
.toast.ok{border-color:var(--gold-line);}
.toast.error{border-color:var(--red);color:var(--red);}
[data-theme="dark"] .toast{box-shadow:0 18px 46px rgba(0,0,0,.55);}
/* ── Pull-to-refresh (Kunden-Preisliste) ── */
.pub-ptr{position:fixed;top:calc(env(safe-area-inset-top,0px) + 6px);left:50%;transform:translateX(-50%);z-index:90;width:34px;height:34px;border-radius:50%;background:var(--page2);border:1px solid var(--card-b);display:flex;align-items:center;justify-content:center;opacity:0;color:var(--t3);box-shadow:0 8px 22px rgba(0,0,0,.16);pointer-events:none;}
.pub-ptr-ic{font-size:1rem;line-height:1;transition:transform var(--d1);}
.pub-ptr.ready .pub-ptr-ic{transform:rotate(180deg);color:var(--gold);}
.pub-ptr.spin .pub-ptr-ic{animation:ptrspin .7s linear infinite;}
@keyframes ptrspin{to{transform:rotate(360deg);}}
.je-empty{font-size:.72rem;color:var(--t3);text-align:center;padding:18px 8px;line-height:1.5;}
.toast-act{margin-left:12px;padding:4px 11px;border-radius:8px;border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--gold-b);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.cloud-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 84px);z-index:70;max-width:380px;width:calc(100% - 32px);padding:10px 14px;border-radius:13px;background:var(--bar);border:1px solid var(--bar-b);color:var(--t1);font-size:.6875rem;line-height:1.4;text-align:center;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 10px 30px rgba(0,0,0,.2);display:none;}
/* login overlay */
.auth-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:26px;background:radial-gradient(130% 70% at 50% -8%,var(--page2),var(--page) 56%);}
.auth-overlay.on{display:flex;}
.auth-card{width:100%;max-width:320px;text-align:center;}
.auth-logo{font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--gold);}
.auth-kick{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);font-weight:600;margin:8px 0 26px;}
.auth-overlay input{width:100%;height:46px;padding:0 14px;margin-bottom:9px;background:var(--card);border:1px solid var(--card-b);border-radius:13px;color:var(--t1);font-size:.85rem;font-family:inherit;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);}
.auth-overlay input::placeholder{color:var(--t4);}
.auth-btn{width:100%;height:48px;border-radius:13px;background:var(--gold);color:#1c1305;border:none;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;margin-top:5px;box-shadow:0 5px 16px rgba(205,169,107,.26);}
[data-theme="light"] .auth-btn{color:#fff;}
.auth-err{color:var(--red);font-size:.7rem;margin-top:12px;min-height:16px;}

/* ── URLAUBSMODUS ── */
.url-overlay{position:fixed;inset:0;z-index:210;display:none;align-items:center;justify-content:center;padding:26px;background:radial-gradient(130% 70% at 50% -8%,var(--page2),var(--page) 56%);}
.url-overlay.on{display:flex;animation:urlFade .18s ease;}
@keyframes urlFade{from{opacity:0;}to{opacity:1;}}
.url-card{width:100%;max-width:340px;background:var(--card);border:1px solid var(--card-b);border-radius:22px;padding:24px 22px 20px;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 24px 60px rgba(0,0,0,.28);}
.url-ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);margin:0 auto 14px;}
.url-ic svg{width:24px;height:24px;}
.url-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;text-align:center;color:var(--t1);}
.url-sub{font-size:.7rem;line-height:1.5;color:var(--t3);text-align:center;margin:5px 0 20px;}
.url-row{display:flex;gap:10px;}
.url-field{flex:1;min-width:0;overflow:hidden;margin-bottom:4px;}
.url-label{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);font-weight:600;margin-bottom:6px;display:block;}
.url-input{width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;height:46px;padding:0 12px;background:var(--row);border:1px solid var(--div);border-radius:13px;color:var(--t1);font-size:.82rem;font-family:inherit;text-align:left;}
.url-input::-webkit-date-and-time-value{text-align:left;margin:0;}
.url-input:focus{outline:none;border-color:var(--gold-line);}
.url-preview{margin:16px 0 4px;padding:13px 14px;border-radius:14px;background:var(--gold-soft);border:1px solid var(--gold-line);font-size:.72rem;line-height:1.55;color:var(--t2);}
.url-preview b{color:var(--gold);font-weight:600;}
.url-preview.off{background:var(--row);border-color:var(--div);color:var(--t3);}
.url-btn{width:100%;height:48px;border-radius:13px;background:var(--gold);color:#1c1305;border:none;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;margin-top:16px;box-shadow:0 5px 16px rgba(205,169,107,.26);}
[data-theme="light"] .url-btn{color:#fff;}
.url-clear{display:block;width:100%;margin-top:9px;height:42px;border-radius:12px;background:none;border:1px solid var(--div);color:var(--t2);font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer;}
.url-clear:hover:not([disabled]){border-color:var(--red);color:var(--red);}
.url-clear[disabled]{opacity:.4;cursor:default;}

.sec{display:none;}
.sec.on{display:block;}
.set-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.set-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;background:var(--card);border:1px solid var(--card-b);border-radius:14px;cursor:pointer;font-family:inherit;color:var(--t1);}
.set-row:hover{border-color:var(--gold-line);}
.set-row.active{border-color:var(--gold-line);background:var(--gold-soft);}
.set-ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold);}
.set-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.set-tx{display:flex;flex-direction:column;gap:2px;min-width:0;}
.set-tx b{font-size:.82rem;font-weight:600;}
.set-tx i{font-style:normal;font-size:.6875rem;color:var(--t3);}

/* ══ STAMMDATEN ══ */
/* Hub */
.sd-hub-card{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:10px;background:var(--card);border:1px solid var(--card-b);border-radius:17px;cursor:pointer;transition:border-color var(--d1),transform var(--d1);}
.sd-hub-card:hover{border-color:var(--gold-line);}
.sd-hub-card:active{transform:scale(.992);}
.sd-hub-ic{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);}
.sd-hub-ic svg{width:21px;height:21px;}
.sd-hub-main{flex:1;min-width:0;}
.sd-hub-t{font-size:.92rem;font-weight:600;letter-spacing:-.01em;}
.sd-hub-s{font-size:.6875rem;color:var(--t3);margin-top:2px;}
.sd-chev{flex-shrink:0;color:var(--t4);font-size:1.05rem;line-height:1;}
/* Sub-view */
.sd-back{display:inline-flex;align-items:center;gap:5px;background:none;border:none;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--t1);cursor:pointer;padding:2px 0;margin-bottom:14px;letter-spacing:-.01em;}
.sd-back svg{width:18px;height:18px;color:var(--t3);}
.sd-back:hover svg{color:var(--gold);}
.sd-count{font-size:.6875rem;color:var(--t3);margin:0 2px 12px;}
/* ── A–Z Schnellnavigation (iOS-Modell) · schlanke Leiste + zentrale Bubble ── */
.az-band{position:fixed;right:4px;top:max(calc(env(safe-area-inset-top,0px) + 74px),112px);bottom:calc(env(safe-area-inset-bottom,0px) + 96px);z-index:45;display:none;flex-direction:column;align-items:flex-end;justify-content:space-between;width:30px;padding:2px 5px 2px 0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;}
@media (min-width:760px){ .az-band{right:16px;} }
@media (max-width:759px){ #sec-duefte .wrap,#sec-preisliste .wrap{padding-right:30px;} .pub-wrap{padding-right:30px;} }
.az-i{display:flex;align-items:center;justify-content:center;width:18px;font-size:.6875rem;font-weight:600;line-height:1;color:var(--t3);pointer-events:none;}
.az-i.dot{font-size:.6875rem;color:var(--t4);}
/* Große Buchstaben-Bubble in der Bildschirmmitte – gut lesbar, weil weg vom Finger */
.az-bubble{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.82);z-index:80;width:104px;height:104px;border-radius:26px;display:flex;align-items:center;justify-content:center;font-size:3.2rem;font-weight:700;color:var(--gold);background:var(--page2);border:1px solid var(--card-b);box-shadow:0 18px 50px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity var(--d1) ease,transform var(--d1) ease;}
.az-bubble.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
[data-theme="dark"] .az-bubble{box-shadow:0 20px 56px rgba(0,0,0,.6);}
@media (prefers-reduced-motion:reduce){ .az-bubble{transition:opacity var(--d1) ease;} .az-bubble.show{transform:translate(-50%,-50%) scale(1);} }
/* Duft-Karte */
.sd-card{background:var(--card);border:1px solid var(--card-b);border-radius:15px;margin-bottom:8px;overflow:hidden;}
.sd-card.open{border-color:var(--gold-line);}

   

/* Flakon-Foto: eigene Kachel in der aufgeklappten Karte (zugeklappt kein Bild,
   Nutzer-Entscheidung 28.07.2026). Sie steht neben den Flakon-Feldern und ist genau
   so hoch wie deren 2×2-Block – kein Leerraum, klare Relation. */
.sd-fk-row{display:flex;gap:9px;align-items:stretch;}
.sd-fk-row>.sd-grid{flex:1 1 auto;min-width:0;align-content:start;}
.sd-foto-slot{position:relative;flex:0 0 clamp(92px,30%,136px);align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:104px;padding:8px;box-sizing:border-box;border:1px solid var(--div);border-radius:10px;background:var(--row);color:var(--t4);cursor:pointer;overflow:hidden;}
.sd-foto-slot:not(.has){border-style:dashed;}
.sd-foto-slot:hover{border-color:var(--gold-line);color:var(--gold);}
.sd-foto-slot.drag{border-color:var(--gold);border-style:dashed;color:var(--gold);}
.sd-foto-slot img{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);object-fit:contain;display:block;}
.sd-foto-slot svg{width:16px;height:16px;opacity:.7;}
.sd-foto-slot span{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:0 4px;}
.sd-foto-lb{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;}
.sd-foto-lb img{max-width:min(86vw,480px);max-height:64vh;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.5);}
.sd-foto-lb-act{display:flex;gap:10px;}
.sd-foto-lb-act button{font:inherit;font-size:.72rem;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;}
.sd-card .sd-chev{font-size:1rem;transition:transform var(--d2);margin-left:auto;}
.sd-card.open .sd-chev{transform:rotate(90deg);}

/* Jede Duftzeile als eigene, rundum abgerundete Kachel */
#duefteBody .sd-card{margin:0 0 8px;border:1px solid var(--card-b);border-radius:16px;}
#duefteBody .sd-card.open{border-color:var(--gold-line);}
#duefteBody .sd-card.open{background:color-mix(in oklab,var(--card),var(--t1) 2.5%);}
.sd1{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;padding:12px 12px 12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.sd1-l{min-width:0;display:flex;flex-direction:column;gap:2px;}
.sd1-name{font-size:15px;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;}
.sd1-sub{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sd1-l>.sd1-bar{margin-top:auto;}
.sd1-rb{display:flex;flex-direction:column;row-gap:2px;width:var(--sd1-rbw,max-content);box-sizing:border-box;padding:2px 0 0 9px;border-left:1px solid var(--div);font-size:9px;font-weight:600;color:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap;}
.sd1-rb>.sd1-bar{margin-top:auto;}
.sd1-row{display:flex;align-items:baseline;gap:3px;}
.sd1-row>i{flex:1;}
.sd1-k{font-weight:700;letter-spacing:.03em;color:var(--t4);}
.sd1-v{font-weight:600;color:var(--t2);}
.sd1-pos{color:var(--green);}
.sd1-neg{color:var(--red);}
.sd1-bar{position:relative;height:13px;border-radius:99px;background:var(--div);overflow:hidden;font-size:9px;line-height:1;}
.sd1-bar>i{position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);border-radius:99px;background:var(--bc,transparent);}
.sd1-bar>i.mo-w{animation:sd1W .62s var(--mo-e,ease) both;}
@keyframes sd1W{from{width:var(--w0,0%);}}
.sd1-bar>span{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 5px;}
#duefteBody .sd-card.depleted>.sd1{opacity:.62;filter:saturate(.7);}
#duefteBody .sd-card.depleted.open>.sd1{opacity:1;filter:none;}
.sd-kpis{display:grid;grid-auto-flow:column;grid-auto-columns:auto;gap:0;padding:0 12px 12px;justify-content:start;}
.kpi{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 8px;border-left:1px solid var(--div);text-align:center;position:relative;}
.kpi:first-child{border-left:none;padding-left:0;}
.kpi:last-child{padding-right:0;}
.kpi-l{font-size:.6875rem;line-height:1.1;letter-spacing:.01em;text-transform:uppercase;color:var(--t4);font-weight:600;white-space:nowrap;}
  .kpi-l{font-size:.6875rem;}
.kpi b{font-size:.6875rem;font-weight:600;color:var(--t1);white-space:nowrap;}
.kpi b.pos{color:var(--green);} .kpi b.neg{color:var(--red);} .kpi b.marge{color:var(--gold);}
.kpi b.marge{display:inline-flex;align-items:center;justify-content:center;gap:5px;}
.ek100-charge{display:block;margin-top:1px;font-style:normal;font-size:.6875rem;font-weight:700;color:var(--t4);letter-spacing:.01em;white-space:nowrap;}
.sbv-rest{color:var(--gold)!important;}
.sd-perf{display:flex;gap:6px;margin-left:auto;flex-shrink:0;}
.sd-perf .perf-t{display:flex;align-items:center;gap:7px;background:var(--raise);border:1px solid var(--raise-b);border-radius:10px;padding:5px 9px 5px 7px;}
.sd-perf .perf-ic{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--gold-soft);color:var(--gold);}
.sd-perf .perf-t.g .perf-ic{background:rgba(95,191,134,.14);color:var(--green);}
.sd-perf .perf-t.a .perf-ic{background:rgba(116,169,232,.14);color:var(--blue);}
.sd-perf .perf-ic svg{width:12px;height:12px;}
.perf-icn{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.sd-perf .perf-tx{display:flex;flex-direction:column;line-height:1.08;}
.sd-perf .perf-tx b{font-size:.78rem;font-weight:700;color:var(--t1);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em;}
.sd-perf .perf-tx b.pos{color:var(--green);}
.sd-perf .perf-tx b.neg{color:var(--red);}
.sd-perf .perf-tx b.gold{color:var(--gold);}
.sd-perf .perf-tx span{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-top:2px;white-space:nowrap;}
@media(max-width:900px){
  .sd-perf{flex:1 1 100%;min-width:0;margin-left:0;margin-top:5px;gap:6px;}
  .sd-perf .perf-t{flex:1 1 0;min-width:0;justify-content:center;padding:5px 7px;}
  .sd-perf .perf-tx b{font-size:.82rem;}
}
@media(max-width:459px){
  .sd-kpis::-webkit-scrollbar{display:none;}
  .kpi{padding:0 4px;}
  .kpi b{font-size:.6875rem;}
  .kpi-l{font-size:.6875rem;}
  .kpi b.marge{gap:3px;}
  .sd-perf{gap:5px;}
  .sd-perf .perf-t{gap:5px;padding:4px 6px;border-radius:9px;}
  .sd-perf .perf-ic{width:18px;height:18px;border-radius:6px;}
  .sd-perf .perf-ic svg{width:10px;height:10px;}
  .sd-perf .perf-tx b{font-size:.72rem;}
  .sd-perf .perf-tx span{font-size:.6875rem;}
}
@media(max-width:374px){ .kpi{padding:0 3px;} }
/* Edit */
.sd-edit{padding:13px 14px 14px;border-top:1px solid var(--div);}
.sd-sec{margin-bottom:11px;}
.sd-sec+.sd-sec{padding-top:13px;border-top:1px solid var(--div);}
.sd-sec-h{font-size:.6875rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.sd-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}

.sd-grid-1{grid-template-columns:1fr;gap:11px;}
.sd-grid+.sd-field{margin-top:11px;}
.sd-field+.sd-field{margin-top:11px;}
.sd-grid>.sd-field+.sd-field{margin-top:0;}
.sd-anlage-row .sd-field+.sd-field{margin-top:0;}
.sd-field label{display:block;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);font-weight:600;margin-bottom:3px;}
.sd-field input{width:100%;height:34px;padding:0 11px;background:var(--row);border:1px solid var(--div);border-radius:10px;color:var(--t1);font-size:.78rem;font-family:inherit;-moz-appearance:textfield;}
.sd-field input::-webkit-outer-spin-button,.sd-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.sd-field input::placeholder{color:var(--t4);}
@media(min-width:600px){
  .sd-edit{column-count:2;column-gap:14px;}
  .sd-edit>.sd-sec{break-inside:avoid;border:1px solid var(--div);border-radius:12px;padding:10px 12px;margin:0 0 12px;}
  .sd-edit>.sd-hist,.sd-edit>.sd-fills,.sd-edit>.sd-endbtns{column-span:all;}
}
/* „In Preisliste anzeigen" · Schalter */
.sd-listed{display:flex;align-items:center;gap:11px;margin-top:9px;padding:10px 12px;border:1px solid var(--div);border-radius:12px;background:var(--row);cursor:pointer;}
.sd-best-toggle{margin-top:9px;}
.sd-listed-txt{flex:1;min-width:0;}
.sd-listed-t{display:block;font-size:.72rem;font-weight:600;}
.sd-listed-s{display:block;font-size:.6875rem;color:var(--t3);margin-top:2px;line-height:1.45;}
.sd-listed input{display:none;}
.sd-sw{position:relative;flex:0 0 auto;width:40px;height:24px;border-radius:999px;background:var(--ghost);border:1px solid var(--div);transition:background var(--d1),border-color var(--d1);}
.sd-sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--t3);transition:transform var(--d1),background var(--d1);}
.sd-listed input:checked+.sd-sw{background:var(--gold-soft);border-color:var(--gold-line);}
.sd-listed input:checked+.sd-sw::after{transform:translateX(16px);background:var(--gold);}
.sd-off{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:4px;background:var(--t3);color:var(--page);flex:0 0 auto;}
.sd-off svg{width:9px;height:9px;display:block;}

/* Zusatzinfo je Duft – an goldener Randlinie, direkt hinter der Konzentration */
.pl-info{min-width:0;padding-left:11px;border-left:2px solid var(--gold-line);color:var(--gold);font-weight:600;font-size:.6875rem;letter-spacing:.01em;line-height:1.35;}
@media(max-width:520px){ .pl-meta{flex-wrap:wrap;} .pl-info{flex:1 1 100%;order:3;margin-top:4px;} }
.pl-parfumo{margin-left:auto;flex:0 0 auto;width:86px;text-align:right;font-size:.6875rem;font-weight:600;color:var(--t3);white-space:nowrap;text-decoration:none;transition:color var(--d1);}
.pl-parfumo:hover{color:var(--gold);}
.konz-hint{font-size:.72rem;line-height:1.5;color:var(--t3);margin:2px 2px 12px;}
.konz-row{align-items:center;}
.konz-nm{flex:1;min-width:0;font-size:.78rem;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.konz-dv{flex:0 0 auto;font-size:.72rem;font-weight:600;color:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap;}
.konz-dv.miss{color:var(--gold);}

.konz-used{flex-shrink:0;width:34px;box-sizing:border-box;text-align:right;font-size:.6875rem;font-weight:600;color:var(--t3);background:none;border:1px solid transparent;border-radius:999px;padding:2px 0;}

.konz-used.zero{color:var(--t4);opacity:.6;}

.konz-warn{display:flex;align-items:center;gap:6px;margin:9px 2px 0;font-size:.6875rem;line-height:1.45;color:var(--t3);}
.konz-warn svg{width:12px;height:12px;flex:0 0 12px;color:var(--gold);}
.konz-warn b{color:var(--gold);font-weight:700;}
@media(max-width:520px){
  .konz-row{flex-wrap:nowrap;gap:7px;}
  .konz-dv{font-size:.6875rem;}
}
/* Rabatt-Zusatz unter dem Preis: zweizeilig, damit er nie in die Kosten-Spalte läuft */
.sum-old{display:block;font-size:.6875rem;font-weight:500;color:var(--t4);letter-spacing:0;margin-top:1px;white-space:nowrap;}
.sum-old s{text-decoration-thickness:1px;}
.sum-old-p{display:block;color:var(--gold);}
.sum-konz-line{display:block;font-size:.6875rem;font-weight:500;color:var(--t4);letter-spacing:.03em;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.jm-field select{width:100%;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;height:42px;padding:0 36px 0 13px;background:var(--row);border:1px solid var(--div);border-radius:12px;color:var(--t1);font-size:.82rem;font-family:inherit;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.sd-field select{width:100%;height:34px;box-sizing:border-box;-webkit-appearance:none;appearance:none;padding:0 30px 0 11px;background:var(--row);border:1px solid var(--div);border-radius:10px;color:var(--t1);font-size:.78rem;font-family:inherit;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;}

.sd-bar-val em{font-style:normal;color:var(--t4);font-weight:400;}
.sd-bar-val b{margin-left:auto;font-weight:600;color:var(--gold);}
.sd-note{margin-top:13px;}
.sd-note label{display:block;font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px;}
.sd-bar{height:5px;border-radius:3px;background:var(--div);margin-top:10px;overflow:hidden;}
.sd-bar i{display:block;height:100%;border-radius:3px;background:var(--gold);}

.sd-del{width:100%;margin-top:13px;height:38px;border-radius:10px;border:1px solid var(--div);background:none;color:var(--red);font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;}
.sd-del:hover{background:rgba(229,100,92,.08);border-color:var(--red);}
.sd-depleted{width:100%;margin-top:11px;height:40px;border-radius:10px;border:1px solid var(--div);background:var(--row);color:var(--t2);font-family:inherit;font-size:.74rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:border-color var(--d1),color var(--d1),background var(--d1);}
.sd-depleted svg{width:15px;height:15px;}
.sd-depleted:hover{border-color:var(--red);color:var(--red);background:rgba(229,100,92,.06);}
.sd-depleted.on{border-color:var(--green);color:var(--green);background:rgba(95,191,134,.1);}
.sd-depleted.on:hover{border-color:var(--green);color:var(--green);}
/* Aufgebraucht-Kennzeichnung auf der Karte */
.sd-gone{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:4px;background:var(--red);color:#fff;flex:0 0 auto;}
.sd-gone svg{width:9px;height:9px;display:block;}
.sd-count-link{border:none;background:none;font-family:inherit;font-size:inherit;color:var(--gold);font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;}
.sd-count-link:hover{color:var(--gold-d,var(--gold));}
/* ── Laufende Vorgänger-Charge, Info-Tasten und Akkordeon-Abschnitte ── */
.sd-carry{margin-top:9px;border:1px solid var(--gold-line);background:var(--gold-soft);border-radius:12px;padding:9px 11px 10px;}
.sd-carry-h{display:flex;align-items:center;gap:6px;}
.sd-carry-t{display:inline-flex;align-items:center;white-space:nowrap;font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);}
.sd-carry-val{display:flex;align-items:baseline;gap:5px;margin-top:5px;}
.sd-carry-val b{white-space:nowrap;font-size:.94rem;font-weight:700;letter-spacing:-.01em;color:var(--t1);}
.sd-carry-val span{margin-left:auto;text-align:right;white-space:nowrap;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);}
.sd-carry-bar{height:4px;border-radius:2px;background:var(--ghost);margin-top:7px;overflow:hidden;}
.sd-carry-bar i{display:block;height:100%;background:var(--gold);border-radius:2px;}
.sd-carry-bar.open i{width:100%;background:repeating-linear-gradient(105deg,var(--gold-line) 0 6px,transparent 6px 12px);}
.sd-carry-meta{display:flex;flex-direction:column;gap:2px;margin:8px 0 0;}
.sd-carry-meta>div{display:flex;align-items:baseline;gap:8px;}
.sd-carry-meta dt{flex:0 0 auto;font-size:.6875rem;font-weight:600;color:var(--t3);}
.sd-carry-meta dd{margin:0 0 0 auto;font-size:.6875rem;font-weight:600;color:var(--t1);white-space:nowrap;}
.sd-carry-note{display:none;margin-top:8px;font-size:.6875rem;line-height:1.5;color:var(--t3);text-wrap:pretty;}
.sd-carry.info-on .sd-carry-note{display:block;}
.sd-carry-btn{margin-top:9px;width:100%;min-height:32px;border-radius:9px;border:1px solid var(--gold-line);background:var(--row);color:var(--gold);font-family:inherit;font-size:.6875rem;font-weight:600;white-space:nowrap;cursor:pointer;}
.sd-carry-btn:hover{background:var(--gold-soft);}
.sd-i{flex:0 0 auto;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-left:5px;padding:0;border-radius:50%;border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--gold);font-family:inherit;font-size:.6875rem;font-weight:800;line-height:1;cursor:pointer;vertical-align:middle;}
.sd-i:hover{background:var(--gold);color:var(--page);}
.sd-listed .sd-listed-s{display:none;}
.sd-listed.info-on .sd-listed-s{display:block;}
.sd-listed-t{display:inline-flex;align-items:center;}
.sd-hist-live{margin-left:auto;flex-shrink:0;height:19px;padding:0 8px;border-radius:6px;border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--gold);font-size:.6875rem;font-weight:700;display:inline-flex;align-items:center;white-space:nowrap;}
/* ── Kategorien als Reiter-Leiste ─────────────────────────────────────────── */
.sd-edit.kx{column-count:1;}
.kx-tabs{position:relative;display:flex;gap:5px;background:var(--row);border:1px solid var(--div);border-radius:13px;padding:4px;}
.kx-ind{position:absolute;left:4px;top:4px;bottom:4px;width:0;border-radius:9px;background:var(--gold);box-shadow:0 2px 8px rgba(205,169,107,.3);opacity:0;z-index:0;pointer-events:none;transition:transform var(--d2) var(--mo-e),width var(--d2) var(--mo-e),opacity var(--d1);}
.kx-tab{position:relative;z-index:1;flex:1;min-width:0;height:34px;padding:0;border:none;background:none;border-radius:9px;font-family:inherit;font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--t2);cursor:pointer;white-space:nowrap;transition:color var(--d1);}
.kx-tab:hover{color:var(--t1);}
.kx-tab.on{color:#1c1305;font-weight:600;}
[data-theme="light"] .kx-tab.on{color:#fff;}
.kx-fold{height:0;overflow:hidden;}
.kx-fold.on{height:auto;}
.kx-in{padding:11px 2px 6px;}
.kx-body{container-type:inline-size;}
.sd-edit.kx .sd-endbtns{margin-top:4px;}
/* Grundlinien-Felder: kein Kasten, Beschriftung schwebt, Einheit als Suffix */
.kx .sd-grid{gap:15px 18px;}
.kx .sd-field{position:relative;padding-top:9px;}
.kx .sd-field>label{position:absolute;top:9px;left:0;margin:0;font-size:.7rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--t3);pointer-events:none;transform-origin:left top;transition:transform var(--d2) var(--mo-e),color var(--d1);}
.kx .sd-field>input,.kx .sd-field>select{height:30px;padding:0;background:none;border:none;border-radius:0;box-shadow:none;font-size:.82rem;font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums;}
.kx .sd-field>input:focus,.kx .sd-field>select:focus{outline:none;}
.kx .sd-field>input::placeholder{opacity:0;transition:opacity var(--d1);}
.kx .sd-field:focus-within>input::placeholder{opacity:1;}
.kx .sd-field::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--div);}
.kx .sd-field::before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform var(--d2) var(--mo-e);z-index:1;}
.kx .sd-field:focus-within::before{transform:scaleX(1);}
.kx .sd-field:focus-within>label,.kx .sd-field.hat>label,.kx .fx-oben .sd-field>label{transform:translateY(-11px) scale(.66);letter-spacing:.1em;text-transform:uppercase;}
.kx .sd-field:focus-within>label{color:var(--gold);}
/* Datumsfelder zeigen immer Text (Wert oder TT.MM.JJJJ) – Beschriftung daher stets oben */
.kx .sd-field:has(>input[type="date"])>label,.kx .sd-field:has(>input[type="month"])>label,.kx .sd-field:has(>input[type="time"])>label{transform:translateY(-11px) scale(.66);letter-spacing:.1em;text-transform:uppercase;}
.kx .fx-oben .sd-field>input::placeholder{opacity:1;color:var(--t4);}
.fx-e{display:grid;grid-template-columns:1fr auto;align-items:end;}
.fx-e>input{grid-column:1;}
.fx-suf{grid-column:2;align-self:end;padding:0 0 6px 5px;font-size:.6875rem;font-style:normal;font-weight:700;letter-spacing:.04em;color:var(--t4);transition:color var(--d2);}
.fx-e:focus-within .fx-suf{color:var(--gold);}
.fx-e::before,.fx-e::after{grid-column:1/-1;}
.kx .fx-vier{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;}
.kx .fx-neben{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:11px;}
.kx .fx-neben .sd-note,.kx .fx-neben .sd-listed{margin:0;}
.kx .fx-neben .sd-note-toggle{min-height:46px;padding:10px 12px;border-radius:12px;font-size:.6875rem;}
.kx .sd-fk-row{align-items:flex-start;}
.fx-vk{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:end;}
/* Referenz-UVP als Zeilen-Skala */
.kx .sd-ref{container-type:inline-size;margin-top:17px;border:none;border-radius:0;padding:0;}
.kx .sd-ref-h{margin-bottom:8px;}
.kx .sd-ref-h span{font-size:.6875rem;letter-spacing:.12em;}
.kx .sd-ref-add{width:24px;height:24px;border-radius:8px;transition:background var(--d1),color var(--d1),transform var(--d1) var(--mo-e);}
.kx .sd-ref-add:hover{transform:rotate(90deg);}
.uv-z{display:grid;grid-template-columns:52px 66px 78px minmax(150px,1fr) 24px;align-items:center;gap:10px;padding:7px 0;border-radius:8px;transition:background var(--d1);}
.uv-z+.uv-z{border-top:1px solid var(--ghost);}
.uv-z:hover{background:var(--ghost);}
.uv-c1,.uv-c2{font-size:.76rem;font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums;white-space:nowrap;}
.uv-c1{color:var(--t2);}
.uv-c1 i,.uv-c2 i{font-style:normal;font-size:.6875rem;font-weight:700;color:var(--t4);margin-left:2px;}
.uv-c3{font-size:.6875rem;color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap;}
.uv-tap{display:contents;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-align:left;}
.uv-skala{position:relative;height:22px;display:block;}
.uv-mitte{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--gold);opacity:.45;}
.uv-balken{position:absolute;top:0;bottom:0;width:0;display:flex;align-items:center;overflow:hidden;transition:width .5s var(--mo-e);}
.uv-z.hoch .uv-balken{left:50%;justify-content:flex-end;padding-right:9px;border-radius:0 7px 7px 0;background:linear-gradient(90deg,#52b07f,color-mix(in oklab,#1f7f4c calc(65% + var(--k,1)*35%),#6fc394));}
.uv-z.tief .uv-balken{right:50%;justify-content:flex-start;padding-left:9px;border-radius:7px 0 0 7px;background:linear-gradient(270deg,#d4685f,color-mix(in oklab,#b3352c calc(65% + var(--k,1)*35%),#e08078));}
.uv-z .uv-balken{width:max(var(--l,0%),104px);}
.uv-balken em{display:inline-flex;align-items:baseline;gap:5px;font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.28);}
.uv-balken em b{font-size:.6875rem;font-weight:800;}
.uv-balken em i{font-style:normal;font-size:.6875rem;font-weight:700;opacity:.72;}
.uv-x{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--t4);cursor:pointer;border-radius:7px;opacity:0;transition:opacity var(--d1),color var(--d1),background var(--d1);}
.uv-x:hover{color:var(--red);background:rgba(229,100,92,.09);}
.uv-z:hover .uv-x{opacity:1;}
/* Bestand: Datum, Ansichten und Schalter in einer Zeile */
.bs-kopf{display:grid;grid-template-columns:122px auto minmax(0,1fr);gap:12px;align-items:center;}
.bs-kopf .sd-anlage-row,.bs-kopf .sd-listed{margin:0;}
.bs-seg{display:flex;gap:4px;padding:4px;border-radius:12px;border:1px solid var(--div);background:var(--row);}
.bs-b{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:none;border-radius:9px;background:none;font-family:inherit;font-size:.6875rem;font-weight:600;color:var(--t2);cursor:pointer;transition:background var(--d1),color var(--d1);}
.bs-b svg{width:13px;height:13px;color:var(--t4);transition:color var(--d1);}
.bs-b i{font-style:normal;min-width:17px;height:17px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ghost);font-size:.6875rem;font-weight:700;color:var(--t3);font-variant-numeric:tabular-nums;}
.bs-b:hover{color:var(--t1);}
.bs-b.on{background:var(--gold-soft);color:var(--gold);}
.bs-b.on svg{color:var(--gold);}
.bs-b.on i{background:var(--gold);color:#1c1305;}
[data-theme="light"] .bs-b.on i{color:#fff;}
.bs-ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0 0;}
.bs-ph span{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.bs-ph .sd-charge{flex:0 0 auto;width:28px;height:28px;padding:0;border-radius:9px;border:none;background:var(--gold);box-shadow:0 2px 7px rgba(205,169,107,.3);transition:transform var(--d1) var(--mo-e),box-shadow var(--d1);}
.bs-ph .sd-charge svg{width:14px;height:14px;color:#1c1305;}
.bs-ph .sd-charge:hover{transform:rotate(-90deg);box-shadow:0 4px 12px rgba(205,169,107,.42);}
[data-theme="light"] .bs-ph .sd-charge svg{color:#fff;}
.kx .sd-fills-hd{display:none;}
@container (max-width:540px){.bs-kopf{grid-template-columns:122px minmax(0,1fr);}
  .bs-kopf .bs-seg{grid-column:1/-1;grid-row:2;}
  .bs-kopf .sd-listed{grid-column:2;grid-row:1;}}
@container (max-width:430px){.kx .fx-vier{grid-template-columns:1fr 1fr;}
  .fx-vk{grid-template-columns:1fr;gap:14px;}
  .bs-kopf{grid-template-columns:1fr;gap:12px;}
  .bs-kopf .bs-seg,.bs-kopf .sd-listed{grid-column:1;grid-row:auto;}
  .bs-b{flex:1;justify-content:center;}
  .uv-z{grid-template-columns:minmax(0,1fr) 24px;gap:6px;}
  .uv-tap{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:5px 9px;align-items:baseline;}
  .uv-c1{grid-column:1;grid-row:1;}
  .uv-c2{grid-column:2;grid-row:1;}
  .uv-c3{grid-column:3;grid-row:1;text-align:right;}
  .uv-skala{grid-column:1/-1;grid-row:2;}}
@media (prefers-reduced-motion:reduce){.kx-ind,.kx .sd-field::before,.kx .sd-field>label,.fx-suf,.uv-balken{transition:none;}}
.chg-opts{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.chg-opt{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 11px;border-radius:11px;border:1px solid var(--div);background:var(--row);color:var(--t1);font-family:inherit;cursor:pointer;}
.chg-opt:hover{border-color:var(--gold-line);}
.chg-opt b{font-size:.7rem;font-weight:700;}
.chg-opt i{font-style:normal;font-size:.6875rem;line-height:1.5;color:var(--t3);text-wrap:pretty;}
.sd-actions{display:flex;gap:9px;margin-top:13px;}
.sd-charge{flex:1;height:38px;border-radius:10px;border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--gold);font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;}
.sd-hist-btn{flex:0 0 auto;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--div);background:var(--row);color:var(--t2);font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;}
.sd-hist-btn:hover,.sd-hist-btn.on{border-color:var(--gold-line);color:var(--gold);background:var(--gold-soft);}
.sd-hist{margin-top:11px;border:1px solid var(--div);border-radius:12px;overflow:hidden;}
.sd-hist-row{padding:10px 12px;border-bottom:1px solid var(--div);}
.sd-hist-row:last-child{border-bottom:none;}
.sd-hist-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.sd-hist-id{display:flex;flex-direction:column;gap:2px;min-width:0;}
.sd-hist-meta{font-size:.6875rem;color:var(--t4);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sd-hist-row .sd-kpis{padding:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.sd-hist-row .sd-kpis::-webkit-scrollbar{display:none;}
.sd-hist-perf{flex:0 0 auto;}
.sd-hist-body{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-width:0;}
.sd-hist-body .sd-kpis{flex:1 1 auto;min-width:0;}
.sd-hist-dauer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:8px;padding:5px 9px;margin-bottom:8px;overflow:hidden;border:1px solid var(--div);}
.sd-hist-dauer .shd-l,.sd-hist-dauer .shd-r{position:relative;z-index:1;font-size:.6875rem;font-weight:600;color:var(--t2);white-space:nowrap;}
.sd-hist-dauer .shd-r{font-weight:700;color:var(--t1);}
@media(max-width:560px){.sd-hist-perf{flex:1 1 100%;}}
.sd-hist-date{font-size:.7rem;font-weight:700;color:var(--t1);}
.sd-hist-x{width:24px;height:24px;border:none;background:none;color:var(--t4);font-size:.8rem;cursor:pointer;border-radius:6px;line-height:1;}
.sd-hist-x:hover{color:var(--red);background:rgba(229,100,92,.08);}
/* ── ABFÜLL-JOURNAL je Duft (wann · wie viel ml · an wen) ── */
.sd-fills{margin-top:11px;border:1px solid var(--div);border-radius:12px;overflow:hidden;}
.sd-fills-sum{display:flex;align-items:center;gap:0;padding:11px 12px;border-bottom:1px solid var(--div);background:var(--row);}
.sd-fills-sum .fs{flex:1;text-align:center;border-left:1px solid var(--div);line-height:1.25;}
.sd-fills-sum .fs:first-child{border-left:none;}
.sd-fills-sum .fs b{display:block;font-size:.82rem;font-weight:700;color:var(--t1);letter-spacing:-.01em;}
.sd-fills-sum .fs i{display:block;font-style:normal;font-size:.6875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--t4);margin-top:2px;}
.sd-fill-je{display:grid;grid-template-columns:minmax(0,1fr) 72px 118px 46px;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid var(--div);}
/* Immer eine Zeile – auf schmalen Kacheln werden Spalten und Schrift kleiner,
   die Bubble zeigt dann die Kurzform. */
.kx .sd-fill-je{grid-template-columns:minmax(0,1fr) 64px 112px 46px;gap:8px;padding:7px 10px;}
.kx .sd-fill-je>*{min-width:0;}

.kx .sd-fill-je-ml,.kx .sd-fill-je-date{white-space:nowrap;}
@container (max-width:470px){
  .kx .sd-fill-je{grid-template-columns:minmax(0,1fr) 56px 104px 46px;gap:6px;padding:7px 8px;}
  .kx .sd-fill-je-date{font-size:.625rem;}
  .kx .sd-fill-je-ml{font-size:.64rem;}
  .kx .sd-fill-je-buyer{font-size:.68rem;}
  
  
  
}
.sd-fill-je:last-child{border-bottom:none;}
.sd-fill-je-buyer{min-width:0;font-size:.72rem;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sd-fill-je-date{font-size:.6875rem;font-weight:500;color:var(--t4);white-space:nowrap;text-align:right;}

.sd-fill-ico{display:inline-block;width:12px;height:12px;margin-left:5px;vertical-align:-2px;color:var(--t4);}

.sd-fill-bal{font-style:normal;font-weight:600;color:var(--t4);}
.sd-fill-je-ml{justify-self:end;text-align:right;font-size:.72rem;font-weight:700;color:var(--gold);white-space:nowrap;}
.sd-fills-empty{padding:16px 12px;text-align:center;font-size:.6875rem;color:var(--t4);line-height:1.5;}
.sd-fill-grp{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 12px;background:var(--row);border-bottom:1px solid var(--div);}
.sd-fill-grp-t{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);}
.sd-fill-grp-t i{font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;color:var(--t4);margin-left:7px;}
.sd-fill-grp-ml{font-size:.6875rem;font-weight:700;color:var(--t3);white-space:nowrap;}
.sd-fill-grp-r{display:flex;align-items:baseline;gap:9px;flex-shrink:0;}

.sd-fill-je-ml.is-plus{color:var(--green);font-weight:700;}

.sd-fill-grp.is-current .sd-fill-grp-t{color:var(--gold);}
.sd-fill-grp.is-current .sd-fill-grp-ml{color:var(--gold);}
.sd-fills-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--div);background:var(--row);}
.sd-fills-hd-t{font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);}

/* Buchungsarten als dezente Chips in einer Zeile (wischbar, falls zu schmal) */
.sd-fill-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--div);overflow-x:auto;scrollbar-width:none;}
.sd-fill-bar::-webkit-scrollbar{display:none;}
.sd-fill-seg{flex:none;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;font-family:inherit;font-size:11px;font-weight:500;color:var(--t3);background:none;border:1px solid var(--div);border-radius:999px;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.sd-fill-seg .sd-fill-ico{margin:0;width:11px;height:11px;vertical-align:0;color:currentColor;opacity:.75;}
.sd-fill-seg:hover{color:var(--t1);border-color:var(--gold-line);}
.sd-fill-seg.on{color:var(--gold);background:var(--gold-soft);border-color:var(--gold-line);}
.sd-fillpop-ov{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.5);}
.sd-fillpop{width:100%;max-width:320px;background:var(--page2);border:1px solid var(--card-b);border-radius:16px;padding:16px 16px 14px;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.sd-fillpop-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.72rem;font-weight:700;color:var(--t1);margin-bottom:12px;}
.sd-fillpop-x{flex:0 0 auto;width:26px;height:26px;border:none;background:var(--ghost);border-radius:8px;color:var(--t3);font-size:.8rem;cursor:pointer;}
.sd-fillpop-x:hover{color:var(--red);}
.sd-fillpop-row{display:flex;gap:8px;margin-bottom:10px;}
.sd-fillpop-row input{flex:1;min-width:0;height:40px;padding:0 12px;background:var(--row);border:1px solid var(--div);border-radius:10px;color:var(--t1);font-size:.82rem;font-family:inherit;box-sizing:border-box;}
.sd-fillpop-act{display:flex;gap:8px;margin-top:4px;}
.sd-fillpop-act button{flex:1;height:40px;border-radius:10px;font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer;}
.sd-fillpop-act button:disabled{opacity:.5;}

.sd-fill-cancel,.sd-fill-save{font-family:inherit;font-size:.7rem;font-weight:700;border-radius:9px;padding:7px 15px;cursor:pointer;border:1px solid var(--div);}
.sd-fill-cancel{background:none;color:var(--t3);}
.sd-fill-save{background:var(--gold);color:#fff;border-color:var(--gold);}
.sd-fill-je.is-manual{background:color-mix(in srgb,var(--gold-soft) 55%,transparent);}

.sd-fill-del{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--t4);background:none;border:none;border-radius:6px;cursor:pointer;}
.sd-fill-del:hover{color:var(--red);background:rgba(229,100,92,.12);}
.sd-fill-acts{display:flex;gap:2px;justify-content:flex-end;align-items:center;}
.sd-fill-edit{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--t4);cursor:pointer;padding:0;border-radius:6px;}
.sd-fill-edit svg{width:12px;height:12px;}
.sd-fill-edit:hover{color:var(--gold);background:var(--gold-soft);}

.sd-best-hint{font-weight:500;color:var(--t4);letter-spacing:0;text-transform:none;font-size:.6875rem;margin-left:6px;}
.sd-anlage-row{display:flex;gap:9px;}
.sd-anlage-row .sd-field{flex:1;min-width:0;}

.sd-wiegen-out{font-size:.6875rem;line-height:1.45;color:var(--t2);margin-top:5px;}
.sd-wiegen-out:empty{display:none;}
.sd-wiegen-out .warn{color:var(--red);}
.sd-wiegen-out b{color:var(--gold);}
.sd-wiegen-hint{font-size:.6875rem;color:var(--t4);margin-top:4px;}

.sd-note-toggle{display:inline-flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;background:var(--row);border:1px solid var(--div);border-radius:9px;padding:6px 11px;font-family:inherit;font-size:.6875rem;font-weight:700;color:var(--t2);cursor:pointer;}
.sd-note-toggle svg{width:13px;height:13px;flex-shrink:0;color:var(--gold);}
.sd-note-toggle:hover{border-color:var(--gold-line);color:var(--gold);background:var(--gold-soft);}
.sd-endbtns{display:flex;gap:8px;margin-top:11px;}
.sd-endbtns .sd-depleted,.sd-endbtns .sd-del{flex:1;width:auto;margin-top:0;height:auto;min-height:32px;padding:6px 10px;font-size:.6875rem;font-weight:600;line-height:1.25;white-space:normal;}
.sd-endbtns .sd-depleted{color:var(--t3);}
.sd-endbtns .sd-depleted svg{width:12px;height:12px;}
.sd-endbtns .sd-del{color:var(--t3);}
.sd-endbtns .sd-del:hover{color:var(--red);}
.sd-actions{gap:7px;margin-top:11px;flex-wrap:wrap;}
.sd-charge{height:32px;font-size:.6875rem;background:var(--row);border:1px solid var(--gold-line);color:var(--gold);}
.sd-charge svg{width:13px;height:13px;}
.sd-charge:hover{background:var(--gold-soft);border-color:var(--gold-line);color:var(--gold);}
.sd-hist-btn{height:32px;padding:0 11px;font-size:.6875rem;}
.sd-field input[type="date"]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;}
.sd-field input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0;}
/* Referenz-UVPs (kompakt) */
.sd-ref{margin-top:11px;border:1px solid var(--div);border-radius:11px;padding:7px 10px;}
.sd-ref-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;}
.sd-ref-h span{font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);}
.sd-ref-h em{font-style:normal;font-weight:500;color:var(--t3);font-size:.6875rem;}
.sd-ref-add{width:22px;height:22px;border-radius:7px;border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--gold);font-size:.95rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.sd-ref-add:hover{background:var(--gold);border-color:var(--gold);color:#1c1305;}
.sd-ref-row{display:flex;align-items:center;gap:7px;padding:3px 0;}
.sd-ref-row input{height:32px;border:1px solid var(--div);border-radius:8px;background:var(--row);font-family:inherit;font-size:.76rem;color:var(--t1);text-align:center;outline:none;}
.sd-ref-row input:focus{border-color:var(--gold-line);}
.sd-ref-done{width:26px;height:26px;flex:0 0 auto;border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--gold);font-size:.8rem;cursor:pointer;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;}
.sd-ref-done:hover{background:var(--gold);border-color:var(--gold);color:#1c1305;}
.sd-ref-line{display:flex;align-items:center;gap:4px;}
.sd-ref-text{flex:1;min-width:0;display:flex;align-items:baseline;gap:7px;background:none;border:none;padding:5px 2px;font-family:inherit;cursor:pointer;text-align:left;}
.sd-ref-text b{font-size:.72rem;font-weight:600;color:var(--t2);white-space:nowrap;}
.sd-ref-arrow{color:var(--t4);font-size:.72rem;flex:0 0 auto;}
.sd-ref-text em{margin-left:auto;font-style:normal;color:var(--t3);font-weight:500;font-size:.6875rem;white-space:nowrap;}
@media (hover:hover){ .sd-ref-text:hover b{color:var(--gold);} .sd-ref-line .sd-ref-x{opacity:0;transition:opacity var(--d1);} .sd-ref-line:hover .sd-ref-x{opacity:1;} }
.sd-ref-ml{width:60px;flex:0 0 auto;}
.sd-ref-uvp{flex:1;min-width:0;}
.sd-ref-sep{color:var(--t4);font-size:.8rem;flex:0 0 auto;}
.sd-ref-eur{color:var(--t3);font-size:.78rem;flex:0 0 auto;}
.sd-ref-x{width:26px;height:26px;flex:0 0 auto;border:none;background:none;color:var(--t4);font-size:.74rem;cursor:pointer;border-radius:7px;}
.sd-ref-x:hover{color:var(--red);background:rgba(229,100,92,.08);}
.sd-ref-empty{font-size:.6875rem;color:var(--t4);text-align:center;padding:2px 0;}
/* Referenz-UVPs inline in Sektion „Verkauf" */
.sd-ref-inline{margin-top:12px;border:none;border-radius:0;padding:9px 0 0;border-top:1px solid var(--div);}
.sd-ref-inline .sd-ref-line{padding:0;}
.sd-ref-inline .sd-ref-line+.sd-ref-line{margin-top:1px;}
/* Kosten-Listen (Material & Versand) */
.cost-list{display:flex;flex-direction:column;}
.cost-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--div);}
.cost-row:first-child{border-top:none;}

.cost-num{display:flex;align-items:center;gap:3px;flex-shrink:0;}
.cost-num input{width:62px;height:34px;text-align:right;padding:0 7px;background:var(--row);border:1px solid var(--div);border-radius:9px;color:var(--t1);font-size:.76rem;font-family:inherit;-moz-appearance:textfield;}
.cost-num.small input{width:54px;}
.cost-num input::-webkit-outer-spin-button,.cost-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cost-num span{font-size:.6875rem;color:var(--t3);}
.cost-num .plus{color:var(--green);font-weight:700;}
.cost-del{width:28px;height:28px;flex-shrink:0;border:none;background:none;color:var(--t4);font-size:.74rem;cursor:pointer;border-radius:7px;}
.cost-del:hover{color:var(--red);background:rgba(229,100,92,.1);}
.cost-add{width:100%;margin-top:10px;height:34px;border-radius:999px;border:1px solid var(--div);background:none;color:var(--t3);font-family:inherit;font-size:.7rem;font-weight:500;cursor:pointer;transition:color var(--d1),border-color var(--d1);}
.cost-add:hover{border-color:var(--gold-line);color:var(--gold);}
.cost-add.mini{width:auto;margin:0;height:26px;padding:0 12px;font-size:.6875rem;}
/* Icon-Zugabe im Kartenkopf – wie das „+“ an der Duftkachel */
.cost-ic{margin-left:auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--div);border-radius:999px;background:none;color:var(--t3);cursor:pointer;transition:color var(--d1),border-color var(--d1);}
.cost-ic:hover{color:var(--gold);border-color:var(--gold-line);}
.cost-ic svg{width:14px;height:14px;}

/* Kennzahlen einer Kostengruppe als Dreier-Block: EK · VK · Gewinn nebeneinander,
   damit der Zusammenhang auf einen Blick lesbar ist statt als Zeilenliste. */
.cost-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;padding-top:12px;border-top:1px solid var(--div);}
.ck{position:relative;display:flex;flex-direction:column;gap:4px;padding:0 14px;min-width:0;}
.ck:first-child{padding-left:0;}
.ck:last-child{padding-right:0;}
.ck+.ck::before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--div);}
.ck-l{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ck-v{font-size:.92rem;font-weight:700;color:var(--t1);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;}
.ck-v.pos{color:var(--green);} .ck-v.neg{color:var(--red);}
.ck-s{font-size:.6875rem;font-weight:600;line-height:1.35;color:var(--t4);}
/* Marge ohne Fläche – nur Farbe trägt die Aussage */
.ck-pill{font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--green);}
.ck-pill.neg{color:var(--red);}
/* VK-Feld zeigt sein Chrome erst bei Hover/Fokus */
.ck-in{display:inline-flex;align-items:center;gap:2px;align-self:flex-start;margin-left:-5px;padding:1px 5px;border-radius:8px;border:1px solid transparent;transition:border-color var(--d1),background var(--d1);}
.ck-in:hover{border-color:var(--div);}
.ck-in:focus-within{border-color:var(--gold-line);background:var(--row);}
.ck input{width:48px;flex:0 0 auto;height:20px;padding:0;text-align:right;background:none;border:none;color:var(--t1);font-family:inherit;font-size:.92rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;-moz-appearance:textfield;}
.ck input:focus{outline:none;}
.ck input::-webkit-outer-spin-button,.ck input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ck-in span{font-size:.92rem;font-weight:700;color:var(--t3);line-height:1.1;}
/* Bestands-Ampel: knapper Bestand fällt schon in der Zeile auf */
.pos-stock.low{color:var(--gold);}
@media(max-width:520px){
  .pos-meta{width:auto;gap:5px;}
  .pos-avg{display:none;}
  .pos-stock{width:auto;padding:3px 7px;}
  .cost-kpi{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ck.is-profit{grid-column:1/-1;}
}
.cvk{display:flex;align-items:center;gap:8px;}

 
.pos-stock:hover{color:var(--t1);}

.sd-reset{width:100%;margin-top:14px;height:40px;border-radius:11px;border:1px solid var(--div);background:none;color:var(--t3);font-family:inherit;font-size:.72rem;font-weight:500;cursor:pointer;}
.sd-reset:hover{color:var(--t1);border-color:var(--t3);}

/* ── ZERSTÄUBER-KACHEL · Struktur ──────────────────────────────────
   Je Art ein Abschnitt: Kopfzeile (Marker · Name · Zusatz · Aktionen),
   Regelzeile, Größenliste, Zugabe-Knopf, Kennzahlen. Das Zubehör steht
   darunter als eingesetztes Feld, weil es allen Arten gemeinsam gehört. */
.zerst-block{border-top:1px solid var(--div);padding:15px 0 4px;}
.zerst-block:first-of-type{border-top:none;padding-top:4px;}
.zerst-sub{display:flex;align-items:center;gap:8px;margin:0 0 3px;font-size:.7rem;font-weight:650;letter-spacing:-.01em;color:var(--t1);}
.zerst-sub::before{content:'';flex:0 0 auto;width:3px;height:14px;border-radius:2px;background:var(--gold);}
.zerst-sub em{flex:1 1 auto;min-width:0;font-style:normal;font-size:.6875rem;font-weight:500;letter-spacing:0;color:var(--t4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.zerst-acts{flex:0 0 auto;display:flex;align-items:center;gap:2px;}
.zerst-ic{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:7px;background:none;color:var(--t4);cursor:pointer;transition:color var(--d1),background var(--d1);}
.zerst-ic:hover{color:var(--gold);background:var(--row);}
.zerst-ic.del:hover{color:var(--red);background:rgba(229,100,92,.1);}
.zerst-ic svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.zerst-rule{font-size:.6875rem;line-height:1.5;color:var(--t4);margin:0 0 9px;}
.zerst-rule b{color:var(--t2);font-weight:600;}
/* Zubehör: eingesetztes Feld statt randlose Fläche – klare Kante, eigene Rundung */
.zerst-block.is-acc{margin:16px 0 2px;padding:13px 14px 12px;background:var(--row);border:1px solid var(--div);border-radius:13px;}
.zerst-block.is-acc .zerst-sub::before{background:var(--t4);}
.zerst-block.is-acc .cost-list{border-top:1px solid var(--div);margin-top:2px;}
.zerst-block.is-acc .cost-kpi{border-top-color:var(--card-b);}

.pos-scope{flex:0 0 auto;width:62px;text-align:right;font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--t4);margin-left:auto;}
.cost-pos{border-top:1px solid var(--div);}
.cost-pos:first-child{border-top:none;}
/* Feste Zeilenhöhe – jede Position ist gleich hoch, egal ob Festpreis, Charge,
   Bestands- oder Zuordnungs-Angabe darin steht. */
.pos-row{display:flex;align-items:center;gap:8px;height:32px;padding:0;box-sizing:border-box;cursor:pointer;}
.pos-row>*{line-height:1.2;}
.pos-name{flex:1;min-width:0;font-size:.74rem;line-height:1.2;font-weight:500;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-name-ph{color:var(--t4);font-style:italic;font-weight:400;}
.pos-row:hover .pos-name{color:var(--gold);}
.cost-pos.open .pos-name{color:var(--gold);font-weight:600;}
.cost-pos.is-empty .pos-name{color:var(--red);}
.pos-fix{flex-shrink:0;font-size:.72rem;line-height:1.2;font-weight:700;color:var(--t1);white-space:nowrap;}
.pos-chev{flex-shrink:0;width:14px;text-align:center;color:var(--t4);font-size:.6875rem;}
.cost-pos.open .pos-chev{color:var(--gold);}
.pos-meta{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-left:auto;}
.pos-avg{flex-shrink:0;width:48px;text-align:right;font-size:.6875rem;font-weight:600;color:var(--t4);white-space:nowrap;}
.pos-stock{flex-shrink:0;width:54px;box-sizing:border-box;text-align:right;font-size:.6875rem;font-weight:600;color:var(--t3);white-space:nowrap;font-variant-numeric:tabular-nums;}
.pos-stock.empty{color:var(--red);}
.pos-ek{flex-shrink:0;width:50px;text-align:right;font-size:.76rem;font-weight:700;color:var(--t1);}
.pos-ek.warn{color:var(--red);}
/* Aufgeklappte Position: zwei Spalten, Einstellungen einzeilig (Label links,
   Segment rechts), Chargen mit eigener Überschrift – wenig Leerraum, klare Ordnung. */
.pos-edit{padding:0 2px 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:start;}
.pos-edit>.batch-wrap,.pos-edit>.sd-del{grid-column:1/-1;}
.pos-edit:not(.has-size)>.pos-name-edit:first-child{grid-column:1/-1;}
.pos-edit .sd-field{margin:0;}
.pos-edit .sd-field label{margin-bottom:2px;}
.pos-edit .pos-fix-num{align-self:start;}
.pos-edit .batch-cfg{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;min-height:30px;padding:0;flex-wrap:nowrap;}
.pos-edit .batch-cfg .bcfg-l{width:auto;margin:0;flex:0 0 auto;}
.pos-edit .unit-seg{width:auto;flex:0 0 auto;}
.pos-edit .unit-seg button{flex:0 0 auto;padding:5px 9px;}
.pos-edit .batch-cfg .cost-num{flex:0 0 auto;}
.pos-edit .batch-wrap{padding:9px 0 0;margin-top:2px;border-top:1px solid var(--div);}
.pos-edit .batch-h{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t4);}
.pos-edit .batch-h span{margin-left:auto;letter-spacing:0;text-transform:none;font-weight:600;color:var(--t3);}
.pos-edit .batch-list{gap:4px;}
.pos-edit .batch-warn{margin:0 0 6px;}
.pos-edit .sd-del{margin:0;}
@media(max-width:520px){ .pos-edit{grid-template-columns:1fr;} }
.pos-fix-num{align-self:flex-start;}
.batch-cfg{display:flex;align-items:center;gap:8px;margin:0 0 9px;}
.bcfg-l{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--t4);}
.unit-seg{display:inline-flex;border:1px solid var(--div);border-radius:8px;overflow:hidden;}
.unit-seg button{border:none;background:none;font-family:inherit;font-size:.6875rem;font-weight:600;color:var(--t3);padding:4px 11px;cursor:pointer;}
.unit-seg button.on{background:var(--raise);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-line);}
.batch-cfg .cost-num.small input{width:46px;}
.batch-cfg .cost-num span{font-size:.6875rem;}
.batch-list{display:flex;flex-direction:column;gap:6px;}
.batch-row{display:flex;align-items:center;gap:7px;}
.batch-row.done{opacity:.5;}
.batch-tag{flex-shrink:0;width:38px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--t4);}
.batch-row.active .batch-tag{color:var(--green);}
.batch-row .cost-num input{width:50px;}
.batch-date{flex:1;min-width:0;font-size:.6875rem;color:var(--t4);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.batch-add{margin-top:1px;}
.batch-warn{display:flex;align-items:center;gap:6px;margin:0 0 7px;font-size:.6875rem;color:var(--red);}
/* ── VERSAND-TABELLE · alles in einer Tabelle ───────────────────────
   Spalten: Dienstleister · Versandart & Preis · Extras + Preis · Region.
   Jede Zelle direkt bearbeitbar; auf schmalen Screens waagerecht scrollbar. */
.vt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px}
.vt{width:100%;border-collapse:collapse;table-layout:fixed}
.vt th{font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t4);text-align:left;padding:0 7px 7px;border-bottom:1px solid var(--div);white-space:nowrap;}
.vt td{padding:6px 7px;border-bottom:1px solid var(--div);vertical-align:middle;}
.vt tbody tr:last-child td{border-bottom:none;}
.vt tbody tr:hover td{background:var(--row);}
.vt-empty{font-size:.72rem;color:var(--t4);text-align:center;padding:22px 8px !important;}
.vt-reg{white-space:nowrap;}
.vt-del{text-align:right;}
/* Bezeichnung und Preis stehen immer in einer Zeile nebeneinander */
.vt-line{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:nowrap;}
.vt-line .vt-txt{flex:0 1 auto;min-width:0;}

/* Alles als Klartext; Anpassungen laufen über das ⋯-Menü der Zeile (wie im Generator).
   Name und Preis sind direkt antippbar, Region steht als kurzer Vermerk daneben. */
.vt-txt{max-width:100%;border:none;background:none;padding:0;font-family:inherit;font-size:.76rem;font-weight:600;color:var(--t1);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vt-txt:hover{color:var(--gold);}
.vt-price{flex:0 0 auto;font-size:.72rem;font-weight:600;color:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap;}
.vt-regt{flex:0 0 auto;border:none;background:none;padding:0;font-family:inherit;font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:var(--t3);white-space:nowrap;cursor:pointer;}
.vt-regt:hover{color:var(--gold);}
.vt-sub{font-size:.6875rem;color:var(--t4);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vt-exs{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;}
.vt-ex-row{display:flex;align-items:center;gap:6px;min-width:0;width:100%;max-width:100%;}
.vt-ex-row .vt-txt{flex:0 1 auto;font-size:.72rem;font-weight:550;}
.vt-ex-row .idots{margin-left:auto;}

.vt-pop{position:fixed;top:0;left:0;z-index:200;width:214px;max-height:min(72vh,520px);overflow-y:auto;overscroll-behavior:contain;}
/* Dienstleister-Gruppen: getontes Kopfband trennt die Anbieter sichtbar voneinander */
.vt tr.vt-grp td{padding:0;border-bottom:none;background:none;}
.vt tbody tr.vt-grp:hover td{background:none;}
.vt-grp-b{display:flex;align-items:center;gap:9px;margin:14px 0 2px;padding:5px 8px;border-radius:8px;background:var(--row);border:1px solid var(--div);}
.vt tr.vt-grp:first-child .vt-grp-b{margin-top:2px;}
.vt-grp-b b{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.vt-grp-b em{margin-left:auto;font-style:normal;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t4);}

.vt-scroll{overflow-x:visible;}
@media(max-width:520px){ .vt-scroll{overflow-x:auto;} .vt{table-layout:auto;min-width:380px;}  .vt th{font-size:.6875rem;} .vt td{padding:6px 5px;} }

.vs-empty{font-size:.6875rem;color:var(--t4);padding:9px 2px;}

/* ══ Block 3 ══ */

/* Ladezustand: großer, sich füllender Flakon – im Viewport zentriert */
.db-loader{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center;background:var(--page);}
.db-loader svg{width:150px;height:auto;overflow:visible;}
.db-loader .lf-out{fill:none;stroke:var(--t3);stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;}
.db-loader .lf-cap{fill:var(--t3);}
.db-loader .lf-glass{fill:var(--card);}
.db-loader .lf-liq{fill:var(--gold);animation:lf-fill 1.9s cubic-bezier(.45,.05,.35,1) infinite;}
@keyframes lf-fill{
  0%{transform:translateY(31px);}
  55%{transform:translateY(0);}
  78%{transform:translateY(0);}
  100%{transform:translateY(31px);}
}
.db-loader-t{font-size:.82rem;font-weight:600;color:var(--t2);letter-spacing:.01em;}
@media (prefers-reduced-motion: reduce){ .db-loader .lf-liq{animation:none;transform:translateY(8px);} }

/* Wertentwicklung Düfte: Monats-Zugänge (Balken, EK je Anlage-Monat) + kumulierter Gesamtwert (Linie) */

.jbar.wachs{fill:var(--gold);opacity:.3;}
.jbar.wachs.sel{opacity:1;}

  

  

/* Etiketten-Modal */
.lbl-tabs{display:flex;gap:6px;margin-bottom:12px;padding:3px;background:var(--row);border:1px solid var(--div);border-radius:11px;}
.lbl-tab{flex:1;height:32px;border:none;background:transparent;color:var(--t3);font-family:inherit;font-size:.72rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background var(--d1),color var(--d1);}
.lbl-tab.on{background:var(--gold);color:#1c1305;}
[data-theme="light"] .lbl-tab.on{color:#fff;}
.lbl-allbtn{margin-left:auto;margin-right:14px;border:1px solid var(--div);background:var(--row);color:var(--t2);font-family:inherit;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;cursor:pointer;transition:border-color var(--d1),color var(--d1);}
.lbl-allbtn:hover{border-color:var(--gold-line);color:var(--gold);}
.lbl-sub{display:block;font-size:.6875rem;font-weight:600;color:var(--gold);letter-spacing:.01em;margin-top:3px;}
.lbl-sub:empty{display:none;}
.lbl-intro{font-size:.72rem;color:var(--t3);line-height:1.5;margin-bottom:12px;}
.lbl-row{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:11px 4px;border:none;border-top:1px solid var(--div);background:transparent;font-family:inherit;cursor:pointer;transition:opacity var(--d1);}
.lbl-row .lbl-chk{margin-top:1px;}
.lbl-row .lbl-qty{margin-top:1px;}
.lbl-row:first-of-type{border-top:none;}
.lbl-row.is-off{opacity:.42;}
.lbl-chk{flex:0 0 20px;width:20px;height:20px;border-radius:6px;border:1.6px solid var(--div);background:var(--row);display:inline-flex;align-items:center;justify-content:center;transition:background var(--d1),border-color var(--d1);}
.lbl-chk svg{width:12px;height:12px;stroke:#1c1305;stroke-width:3;fill:none;opacity:0;transition:opacity var(--d1);}
[data-theme="light"] .lbl-chk svg{stroke:#fff;}
.lbl-chk.on{background:var(--gold);border-color:var(--gold);}
.lbl-chk.on svg{opacity:1;}
.lbl-buyer{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.lbl-who{font-size:.82rem;font-weight:600;color:var(--t1);letter-spacing:-.01em;}
.lbl-scents{font-size:.6875rem;color:var(--t3);line-height:1.4;text-wrap:pretty;}
.lbl-qty{flex:0 0 auto;font-size:.76rem;font-weight:700;color:var(--gold);background:var(--gold-soft);border:1px solid var(--gold-line);padding:2px 9px;border-radius:999px;font-variant-numeric:tabular-nums;}
.lbl-foot-info{font-size:.6875rem;color:var(--t3);font-weight:600;}
.jm-save:disabled{opacity:.4;cursor:default;}

 

/* ══ Block 4 ══ */
/* UX-Optimierung 10/2026 */
.util{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;}
.util::after{content:"";position:absolute;inset:-5px;border-radius:50%;}
.ux-tip{position:fixed;z-index:9999;padding:6px 10px;border-radius:9px;background:var(--t1);color:var(--page);font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-3px);transition:opacity var(--d1),transform var(--d1);}
.ux-tip.on{opacity:1;transform:none;}
.pl-name,.iperf,.lb-name,.je-name,.sum-name,.ibrand,.pl-brand,.sum-brand{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:clip;overflow-wrap:break-word;}
.pl-name,.iperf,.lb-name,.je-name,.sum-name{line-height:1.25;}

.tab-more{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 1px;border:none;background:none;color:var(--t3);cursor:pointer;font-family:inherit;border-radius:15px;position:relative;transition:color var(--d1);}
.tab-more .ico{width:20px;height:20px;stroke-width:1.7;}
.tab-more .tl{font-size:.6875rem;font-weight:500;letter-spacing:-.02em;white-space:nowrap;}
.tab-more.on{color:var(--gold);}
.tab-more.on .tl{font-weight:600;}
.tab-more.on .ico{stroke-width:2.1;}
.more-sheet{position:fixed;z-index:55;width:230px;padding:6px;border-radius:18px;background:var(--page2);border:1px solid var(--card-b);box-shadow:0 18px 40px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity var(--d1),transform var(--d2) var(--mo-e);}
[data-theme="dark"] .more-sheet{box-shadow:0 18px 44px rgba(0,0,0,.5);}
.more-sheet.on{opacity:1;pointer-events:auto;transform:none;}
.more-sheet button{display:flex;align-items:center;gap:12px;width:100%;height:48px;padding:0 14px;border:none;border-radius:13px;background:none;color:var(--t1);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;text-align:left;}
.more-sheet button .ico{width:20px;height:20px;color:var(--t2);flex-shrink:0;}
.more-sheet button:hover{background:var(--ghost);}
.more-sheet button.on,.more-sheet button.on .ico{color:var(--gold);}
@media (max-width:1079px){
  #tabbar .tab[data-sec="vorlagen"],#tabbar .tab[data-sec="stammdaten"],#tabbar .tab[data-sec="einstellungen"]{display:none;}
}
@media (min-width:1080px){
  .tab-more,.more-sheet{display:none!important;}
  .tabbar{left:20px;top:50%;bottom:auto;transform:translateY(-50%);width:92px;max-width:none;flex-direction:column;justify-content:flex-start;padding:8px 6px;gap:2px;border-radius:24px;}
  .tab{flex:none;padding:10px 4px;}
  .scroll{padding-bottom:48px;}
}

/* ── Runde 2 · 10/2026 ── */
:root{--d1:.16s;--d2:.26s;}
/* A4 · Milchglas nur noch für schwebende Leisten und Dialoge */
.card,.lcard,.jstat,.url-card{backdrop-filter:none;-webkit-backdrop-filter:none;}
/* B2 · Reiterwechsel mit Richtung */
@keyframes uxOutL{to{opacity:0;transform:translateX(-28px);}}
@keyframes uxInR{from{opacity:0;transform:translateX(28px);}}
@keyframes uxOutR{to{opacity:0;transform:translateX(28px);}}
@keyframes uxInL{from{opacity:0;transform:translateX(-28px);}}
html[data-vt="fwd"]::view-transition-old(root){animation-name:uxOutL;}
html[data-vt="fwd"]::view-transition-new(root){animation-name:uxInR;}
html[data-vt="back"]::view-transition-old(root){animation-name:uxOutR;}
html[data-vt="back"]::view-transition-new(root){animation-name:uxInL;}
/* B5 · Ladeplatzhalter */
.ux-skel{position:relative;overflow:hidden;height:66px;padding:15px 16px;margin-bottom:8px;border-radius:15px;background:var(--card);border:1px solid var(--card-b);}
.ux-skel i{display:block;height:10px;border-radius:5px;background:var(--div);margin-bottom:10px;}
.ux-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:translateX(-100%);animation:uxShim 1.3s ease-in-out infinite;}
[data-theme="light"] .ux-skel::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);}
@keyframes uxShim{to{transform:translateX(100%);}}
body.no-anim .ux-skel::after{animation:none;}
@media (prefers-reduced-motion:reduce){.ux-skel::after{animation:none;}}
/* C4 · Wischgesten */
#duefteBody .sd-card{touch-action:pan-y;}
.ux-sw-act{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:14px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;pointer-events:none;transition:opacity var(--d1),filter var(--d1);}
.ux-sw-act.del{background:var(--red);}
.ux-sw-act.ok{background:var(--green);}
.ux-sw-act:not(.hit){filter:saturate(.3);opacity:.75;}
.ux-sw-tray{position:absolute;z-index:2;display:flex;justify-content:flex-end;gap:6px;overflow:hidden;box-sizing:border-box;}
.ux-sw-b{flex:0 0 78px;min-width:0;border:none;border-radius:14px;font-family:inherit;font-size:.78rem;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap;transition:flex-basis var(--d1);}
.ux-sw-b.edit{background:var(--gold);}
[data-theme="dark"] .ux-sw-b.edit{color:#1c1305;}
.ux-sw-b.del{background:var(--red);}
.ux-sw-tray.full .ux-sw-b.edit{display:none;}
.ux-sw-tray.full .ux-sw-b.del{flex:1 1 auto;}
#duefteBody .sd-card:not(.open){-webkit-user-select:none;user-select:none;}

.ux-so{position:fixed;inset:0;z-index:120;display:none;align-items:flex-start;justify-content:center;padding:max(calc(env(safe-area-inset-top,0px) + 12px),40px) 12px 12px;background:rgba(8,9,11,.45);}
.ux-so.on{display:flex;animation:uxFade var(--d2) ease;}
.ux-sp{width:100%;max-width:560px;max-height:min(72vh,580px);display:flex;flex-direction:column;background:var(--page2);border:1px solid var(--card-b);border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.3);overflow:hidden;animation:uxDrop var(--d2) var(--mo-e);}
.ux-si{display:flex;align-items:center;gap:10px;flex-shrink:0;height:56px;padding:0 16px;border-bottom:1px solid var(--div);color:var(--t3);}
.ux-si svg{width:18px;height:18px;flex-shrink:0;}
.ux-si input{flex:1;min-width:0;height:100%;border:none;background:none;outline:none;color:var(--t1);font-family:inherit;font-size:1rem;}
.ux-si kbd{font-family:inherit;font-size:.6875rem;color:var(--t3);border:1px solid var(--div);border-radius:6px;padding:2px 6px;}
.ux-sr{overflow-y:auto;padding:6px;-webkit-overflow-scrolling:touch;}
.ux-sg{padding:10px 10px 4px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);}
.ux-sx{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 10px;border:none;border-radius:12px;background:none;color:var(--t1);font-family:inherit;text-align:left;cursor:pointer;}
.ux-sx.sel,.ux-sx:hover{background:var(--ghost);}
.ux-sx b{display:block;font-size:.86rem;font-weight:600;}
.ux-sx small{display:block;font-size:.72rem;color:var(--t3);margin-top:1px;}
.ux-sx mark{background:var(--gold-soft);color:inherit;border-radius:3px;}
.ux-se{padding:28px 16px;text-align:center;color:var(--t3);font-size:.8rem;}
.ux-hit{animation:uxHit 1.4s ease;}
@keyframes uxHit{0%,60%{box-shadow:0 0 0 2px var(--gold);}100%{box-shadow:0 0 0 2px transparent;}}
@keyframes uxFade{from{opacity:0;}}
@keyframes uxDrop{from{opacity:0;transform:translateY(-10px) scale(.98);}}
/* C6 · Griff an Dialogen */
@media (pointer:coarse){.jm-sheet::before{content:"";display:block;flex-shrink:0;width:38px;height:5px;border-radius:3px;background:var(--t4);margin:8px auto -2px;}}

/* ══ Block 5 ══ */
/* ── DATENSICHERUNG (Backup / Wiederherstellen) ── */
  .backup-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--div);}
  .backup-bar .bk-lbl{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);font-weight:600;margin-right:auto;}
  .btn-bk{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:500;color:var(--t3);background:none;border:1px solid var(--card-b);border-radius:999px;padding:7px 14px;cursor:pointer;transition:color var(--d1),border-color var(--d1),background var(--d1);}
  .btn-bk:hover{color:var(--t1);border-color:var(--gold-line);background:var(--row);}
  .btn-bk svg{width:13px;height:13px;}
  .btn-bk.primary{color:var(--segActiveT);background:var(--gold);border-color:var(--gold);font-weight:600;}
  .btn-bk.primary:hover{color:var(--segActiveT);background:var(--gold-b);border-color:var(--gold-b);}
  .backup-bar.full{margin-top:14px;}
  .bk-note{display:flex;align-items:center;gap:6px;width:100%;margin-top:9px;font-size:.6875rem;color:var(--t4);font-weight:500;letter-spacing:.01em;}
  .bk-note svg{width:12px;height:12px;flex-shrink:0;color:var(--green);}

/* ══ Block 6 ══ */
/* ── UI-Erfahrung · Feldfehler + klebende Gruppen-Kopfzeilen ── */
:root{--stick1:max(calc(env(safe-area-inset-top,0px) + 52px),92px);--stick2:calc(max(calc(env(safe-area-inset-top,0px) + 52px),92px) + 52px);}
.field-err{grid-column:1/-1;flex:1 0 100%;width:100%;margin:5px 0 0;font-size:.6875rem;font-weight:600;color:var(--red);line-height:1.35;}
input.input-error{border-color:var(--red);}
.pl-brand{position:sticky;top:var(--stick2);z-index:3;background:none;padding:6px 0 8px;margin-bottom:0;}
@media (prefers-reduced-motion:reduce){.pl-brand{position:static;}}

/* ══ Block 7 ══ */
/* ══ BEWEGUNG ══ Kurve und Dauern folgen der bestehenden Sprache der App ══ */
:root{--mo-e:cubic-bezier(.22,1,.36,1);--mo-t:.34s;}
body.no-anim .mo-rv,body.no-anim .mo-rv-in,body.no-anim .mo-flip,body.no-anim .mo-target{animation:none!important;opacity:1!important;transform:none!important;box-shadow:none!important;}
body.no-anim .mo-fill{transition:none!important;}
body.no-anim .toast-act-ring::after{display:none!important;}
body.no-anim .jm-sheet,body.no-anim .jm-overlay{animation:none!important;}

/* Reiterwechsel */
.tabbar{view-transition-name:aurumTabbar;}
.topbar-fixed{view-transition-name:aurumTopbar;}
::view-transition-group(root){animation-duration:var(--mo-t);animation-timing-function:var(--mo-e);}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--mo-t);animation-timing-function:var(--mo-e);}

/* Kachel-Reveal */
@keyframes moRise{from{opacity:0;transform:translateY(16px) scale(.985)}60%{opacity:1}to{opacity:1;transform:none}}
.mo-rv{opacity:0;}
.mo-rv-in{animation:moRise .42s var(--mo-e) both;}

/* Bestands-Balken füllt sich */
.mo-fill{transition:width .62s var(--mo-e);}
@keyframes moSeg{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}

/* Rückgängig: Ring läuft ab */
@keyframes moDrain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.toast-act-ring{position:relative;overflow:hidden;}
.toast-act-ring::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;opacity:.55;transform-origin:left center;animation:moDrain var(--ttl,2.2s) linear both;}

/* Neue Charge: Kopf dreht sich */
@keyframes moFlip{0%{transform:perspective(900px) rotateX(0)}45%{transform:perspective(900px) rotateX(-84deg)}55%{transform:perspective(900px) rotateX(84deg)}100%{transform:perspective(900px) rotateX(0)}}
.mo-flip{animation:moFlip .56s var(--mo-e) both;transform-style:preserve-3d;}

/* Duft aus einem Link heraus hervorheben */
@keyframes moGlow{0%{box-shadow:0 0 0 0 var(--gold)}30%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
.mo-target{animation:moGlow 1.6s var(--mo-e) both;}

/* Treffer in der Suche */
mark.mo-hl{background:var(--gold-soft,rgba(200,160,60,.22));color:inherit;border-radius:3px;padding:0 1px;font-weight:700;box-shadow:inset 0 -2px 0 var(--gold);}

/* Dialog mit dem Finger schließen */
.jm-sheet.mo-drag{transition:none;}
.jm-sheet.mo-snap{transition:transform var(--d2) var(--mo-e);}

@media (prefers-reduced-motion:reduce){
  .mo-rv,.mo-rv-in,.mo-flip,.mo-target{animation:none!important;opacity:1!important;transform:none!important;}
  .mo-fill{transition:none!important;}
  .toast-act-ring::after{display:none;}
}
/* Generator-Bewegung (G1 · G3 · G7) */
.ux-wait{display:none!important;}
#itemsList .irow.gen-enter{animation:none!important;}
@property --ux-p{syntax:'<number>';inherits:false;initial-value:0;}
#copyBtn{transition:--ux-p .5s var(--mo-e),background-color var(--d2),color var(--d2),box-shadow var(--d2),border-color var(--d2);}
#copyBtn.ux-prog{flex-direction:column;gap:3px;background:linear-gradient(90deg,color-mix(in oklab,var(--gold) 30%,transparent) calc(var(--ux-p)*100%),transparent calc(var(--ux-p)*100%)),var(--row);border-color:var(--gold-line);color:var(--t1);box-shadow:none;}
#copyBtn.ux-prog::after{content:attr(data-ux-cap);display:block;position:static;width:auto;height:auto;background:none;transform:none;animation:none;font-size:.6875rem;font-weight:500;color:var(--t2);}
#copyBtn.ux-ready{animation:uxReady .6s var(--mo-e);}
@keyframes uxReady{0%{transform:scale(1);}40%{transform:scale(1.03);box-shadow:0 0 0 6px var(--gold-soft);}100%{transform:scale(1);}}

.gen-reset{flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--div);background:var(--row);color:var(--t2);cursor:pointer;transition:color var(--d1),border-color var(--d1),background var(--d1);}
.gen-reset svg{width:18px;height:18px;}
.gen-reset:hover{color:var(--red);border-color:color-mix(in oklab,var(--red) 45%,transparent);}
.gen-reset:active{transform:scale(.96);}

/* Hilfe-Knopf entfernt → Werkzeugleisten rücken an den linken Rand */
.topbar-left-cluster{left:14px;}

/* Oberer grauer Bereich entfernt (10/2026): Inhalt beginnt direkt unter der Statusleiste,
   nur Reiter mit Werkzeug-Knöpfen (Düfte, Vorlagen) halten Platz für die Knopfreihe frei */
.notch-bar{display:none!important;}
body{--topH:calc(env(safe-area-inset-top,0px) + 16px);--stick1:var(--topH);--stick2:calc(var(--topH) + 52px);}
body[data-sec="vorlagen"]{--topH:calc(env(safe-area-inset-top,0px) + 58px);--stick1:var(--topH);--stick2:calc(var(--topH) + 52px);}
.scroll,body.notch-mode .scroll{padding-top:var(--topH);}
.inline-search,body.notch-mode .inline-search{top:var(--topH);}
.topbar-fixed,.topbar-left-cluster,.offline-pill{top:calc(env(safe-area-inset-top,0px) + 12px);}
.az-band{top:calc(var(--topH) + 20px);}

/* Nachricht an Käufer (angepasster Auftrag) */
.ux-mo{align-items:flex-end;padding:12px;}
@media (min-width:700px){.ux-mo{align-items:center;}}
.ux-mp{max-height:min(86vh,760px);}
.ux-mh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--div);}
.ux-mt{display:block;font-size:.95rem;font-weight:700;color:var(--t1);}
.ux-ms{display:block;margin-top:2px;font-size:.75rem;color:var(--t3);}
.ux-mx{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--ghost);color:var(--t2);cursor:pointer;}
.ux-mx svg{width:16px;height:16px;}
.ux-mtxt{flex:1;min-height:0;margin:0;padding:14px 16px;overflow:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.82rem;line-height:1.45;color:var(--t1);-webkit-user-select:text;user-select:text;}
.ux-mf{flex-shrink:0;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 14px);border-top:1px solid var(--div);}
.ux-mcopy{width:100%;height:48px;border:none;border-radius:14px;background:var(--gold);color:#fff;font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:background var(--d1),transform var(--d1);}
[data-theme="dark"] .ux-mcopy{color:#1c1305;}
.ux-mcopy.ok{background:var(--green);}
.ux-mcopy:active{transform:scale(.98);}
.ux-mwarn{margin:12px 16px 0;padding:10px 12px;border-radius:12px;background:color-mix(in oklab,var(--red) 12%,transparent);color:var(--red);font-size:.78rem;font-weight:600;line-height:1.4;}
.ux-mwarn[hidden]{display:none;}
/* Duftliste · Werkzeug-Bubbles am Listenende (ersetzen die runden Symbole oben) */
#stammTools{display:none!important;}
.sd-count-foot{margin:22px 0 0;text-align:center;}
.sd-count-foot:empty{display:none;}
.sd-bubbles{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 8px;}
.sd-bub{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--card-b);background:var(--card);color:var(--t2);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background var(--d1),color var(--d1),border-color var(--d1);-webkit-tap-highlight-color:transparent;}
.sd-bub svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;}
.sd-bub:hover{border-color:var(--gold-line);color:var(--t1);}
.sd-bub.on{background:var(--gold-soft);border-color:var(--gold-line);color:var(--gold);}
.sd-bub.gold{background:var(--gold);border-color:var(--gold);color:#fff;}
.sd-bub.gold:hover{filter:brightness(1.06);color:#fff;}
.sd-bub:active{transform:scale(.97);}

/* ═══ GENERATOR V2 · Umsetzung des Entwurfs ═══ */
#sec-generator.gv2 .wrap{max-width:1180px;}
.gv2-grid{display:flex;flex-direction:column;gap:14px;}
.gv2-left{display:flex;flex-direction:column;gap:14px;min-width:0;}
.gv2-right{min-width:0;}
.gv2-right-in{display:flex;flex-direction:column;gap:14px;}
#sec-generator.gv2 .gv2-left>.sum-buyer-hint:empty{display:none;}
#sec-generator.gv2 .gv2-left>.sum-buyer-hint{margin:-8px 0 0 4px;}
@media (min-width:980px){
  .gv2-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:14px;align-items:stretch;min-height:680px;}
  .gv2-right{position:relative;}
  .gv2-right-in{position:absolute;inset:0;}
  
  /* Lange Liste: Positionen scrollen in der Kachel, Gesamt bleibt unten sichtbar */
  .gv2-right-in>#sumCard{min-height:0;flex:1 1 0;}
  .gv2-right-in>#sumCard>.sum-overview{flex-grow:1!important;}
  .gv2-right-in>#sumCard>*{flex-shrink:0;}
  .gv2-right-in>#sumCard>.sum-overview{flex:0 1 auto;min-height:60px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
  /* linke Spalte füllt die Höhe: freier Platz liegt unter den Düften, Versand endet bündig mit der Nachricht */
  .gv2-left>.gv2-duft{flex:1 1 auto;}
}
#sec-generator.gv2 .gv2-card{margin:0;padding:16px 18px;border-radius:18px;display:flex;flex-direction:column;gap:12px;}
.gv2-ch{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.gv2-lbl{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.gv2-chs{font-size:.72rem;color:var(--t3);}
/* Modus-Umschalter: kompakt im Kopf der Düfte-Kachel */
#sec-generator.gv2 .gv2-srow .gm-seg{margin:0;flex:0 0 auto;min-width:0;display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:var(--row);border:1px solid var(--div);}
#sec-generator.gv2 .gv2-srow .gm-seg button{flex:0 0 auto;height:30px;padding:0 14px;border-radius:8px;font-size:.78rem;font-weight:600;letter-spacing:0;color:var(--t3);}
#sec-generator.gv2 .gv2-srow .gm-seg button.on{color:var(--page);}
#sec-generator.gv2 .gv2-srow .gm-seg .gm-ind{top:3px;bottom:3px;border-radius:8px;background:var(--t1);box-shadow:none;}
#sec-generator.gv2 .gv2-srow .gm-seg:not(.has-ind) button.on{background:var(--t1);box-shadow:none;}
#sec-generator.gv2 .gv2-srow .gm-seg{height:44px;box-sizing:border-box;align-items:stretch;border-radius:13px;}
#sec-generator.gv2 .gv2-srow .gm-seg button{height:auto;border-radius:10px;}
#sec-generator.gv2 .gv2-srow .gm-seg .gm-ind{border-radius:10px;}
#sec-generator.gv2.gv2-share .gv2-only-abf,#sec-generator.gv2:not(.gv2-share) .gv2-only-share{display:none!important;}
/* Käufer */
#sec-generator.gv2 .gv2-buyer{flex-direction:row;align-items:center;gap:14px;}
#sec-generator.gv2 .gv2-buyer .gv2-lbl{width:70px;flex:0 0 auto;}
#sec-generator.gv2 .gv2-srow{display:flex;align-items:center;gap:14px;}
#sec-generator.gv2 .gv2-srow>.gv2-lbl{width:70px;flex:0 0 auto;}
#sec-generator.gv2 .gv2-srow>#searchWrap{flex:1;min-width:0;}

#sec-generator.gv2 #buyerInput{flex:1;min-width:0;height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--card-b);background:var(--row);color:var(--t1);font-family:inherit;font-size:.9rem;font-weight:600;outline:none;}
#sec-generator.gv2 #buyerInput:focus{border-color:var(--gold-line);}
#sec-generator.gv2 #buyerInput,#sec-generator.gv2 #buyerInput::placeholder{font-size:.76rem;font-weight:400;}
/* Suche + Werkzeuge */
.gv2-srow{display:flex;gap:8px;align-items:stretch;position:relative;}
.gv2-srow #searchWrap{flex:1;min-width:0;margin:0;}
.gv2-tool{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 13px;border-radius:13px;border:1px solid var(--card-b);background:var(--row);color:var(--t1);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color var(--d1),background var(--d1);}
.gv2-tool svg{width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.gv2-tool:hover,.gv2-tool.on{border-color:var(--gold-line);background:var(--gold-soft);}
@media (max-width:620px){ .gv2-tool{width:44px;padding:0;justify-content:center;} .gv2-tool span{display:none;} }
#sec-generator.gv2 #tab-browse,#sec-generator.gv2 #tab-text,#sec-generator.gv2 #tab-snapshot{padding:12px;border-radius:14px;border:1px solid var(--div);background:var(--row);}
/* Duftzeilen */
.gv2-duft{container-type:inline-size;}
#sec-generator.gv2 .items{margin:0;display:flex;flex-direction:column;}
.gv2-irow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 76px 30px;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--div);}
.gv2-irow.menu-open,.gv2-irow.dd-open{z-index:6;}
.gv2-iname{display:flex;flex-direction:column;gap:2px;min-width:0;}
.gv2-iname b{font-size:.9rem;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gv2-iname>span{font-size:.72rem;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gv2-iname .gv2-isub{color:var(--t4);}
.gv2-iname .gv2-isub b{font-size:inherit;color:var(--green);font-weight:700;}

.gv2-mlchips{display:flex;gap:5px;align-items:center;}
.gv2-mlc,.gv2-mlo{width:60px;height:34px;box-sizing:border-box;border-radius:10px;border:1px solid var(--card-b);background:var(--row);color:var(--t1);font-family:inherit;font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;}
.gv2-mlc.on,.gv2-mlo.on{border-color:var(--gold);background:var(--gold-soft);color:var(--gold);}
.gv2-mlc:disabled{opacity:.3;cursor:not-allowed;}
.gv2-mlo{display:flex;align-items:center;justify-content:center;gap:2px;padding:0 6px;cursor:text;}
.gv2-mlo input{width:100%;min-width:0;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:center;outline:none;}
.gv2-mlo input:not(:placeholder-shown){text-align:right;}
.gv2-mlo span{display:none;}
.gv2-mlo input:not(:placeholder-shown)+span{display:inline;}
.gv2-iprice{text-align:right;font-size:.86rem;font-weight:700;color:var(--t1);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;}
.gv2-iprice s{font-size:.6875rem;font-weight:500;color:var(--t4);}
.gv2-irow .idots{width:30px;height:30px;}
.gv2-irow .ipop{right:0;top:calc(100% - 4px);}
/* Menge als Feld + Dropdown (schmale Breiten, Sharing-Teilnehmer) */
.gv2-ddw{position:relative;display:none;}
.gv2-mlf{display:flex;align-items:center;height:40px;border-radius:12px;border:1px solid var(--gold-line);background:var(--gold-soft);}
.gv2-mlf.on{border-color:var(--gold);}
.gv2-mlf label{display:flex;align-items:baseline;gap:3px;padding:0 2px 0 11px;cursor:text;}
.gv2-mlf input{min-width:2ch;padding:0;border:none;background:none;color:var(--t1);font-family:inherit;font-size:16px;font-weight:700;outline:none;text-align:right;font-variant-numeric:tabular-nums;}
.gv2-mlf label span{font-size:.8rem;font-weight:700;color:var(--t1);}
.gv2-mlf button{width:32px;height:40px;border:none;background:none;color:var(--gold);cursor:pointer;font-size:.8rem;}
.gv2-mlf button i{display:inline-block;font-style:normal;transition:transform var(--d1);}
.gv2-mlf.on button i{transform:rotate(180deg);}
.gv2-dd{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:170px;display:flex;flex-direction:column;padding:5px;border-radius:14px;background:var(--page2,var(--card));border:1px solid var(--card-b);box-shadow:0 18px 40px rgba(0,0,0,.35);}
.gv2-dd button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0 10px;border:none;border-radius:9px;background:none;color:var(--t1);font-family:inherit;font-size:.86rem;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums;}
.gv2-dd button em{font-style:normal;font-size:.72rem;font-weight:600;color:var(--t3);}
.gv2-dd button.on{background:var(--gold-soft);color:var(--gold);}
.gv2-dd button:disabled{opacity:.35;cursor:not-allowed;}
.gv2-dd>span{padding:6px 10px 4px;margin-top:3px;border-top:1px solid var(--div);font-size:.6875rem;color:var(--t4);}
@container (max-width:600px){
  .gv2-irow{grid-template-columns:minmax(0,1fr) auto auto 28px;gap:8px;}
  .gv2-mlchips{display:none;}
  .gv2-irow .gv2-ddw{display:block;}
}
/* Versand */
#sec-generator.gv2 .gv2-vers .seg-region{margin:0;flex:0 0 auto;}
#sec-generator.gv2 .seg-region .jm-seg-b{flex:0 0 auto;min-width:max-content;padding:0 14px;}
@media (max-width:620px){ #sec-generator.gv2 .gv2-vers>.gv2-ch{flex-wrap:wrap;} #sec-generator.gv2 .gv2-vers .seg-region{flex:1 1 100%;} #sec-generator.gv2 .seg-region .jm-seg-b{flex:1 0 auto;padding:0 10px;} }
.gv2-ships{display:flex;flex-direction:column;gap:6px;}
.gv2-ship{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:13px;border:1px solid var(--div);background:var(--row);cursor:pointer;transition:border-color var(--d1),background var(--d1);}
.gv2-ship.on{border-color:var(--gold);background:var(--gold-soft);}
.gv2-dot{width:10px;height:10px;border-radius:50%;background:var(--div);}
.gv2-ship.on .gv2-dot{background:var(--gold);}
.gv2-ship-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.gv2-ship-t b{font-size:.86rem;font-weight:600;color:var(--t1);}
.gv2-ship-t span{font-size:.72rem;color:var(--t3);}
.gv2-ship-t em{font-style:normal;font-weight:700;color:var(--gold);}
.gv2-zc{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.gv2-chip{height:32px;padding:0 11px;white-space:nowrap;border-radius:10px;border:1px solid var(--card-b);background:var(--card);color:var(--t1);font-family:inherit;font-size:.74rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px;}
.gv2-chip em{font-style:normal;font-weight:600;color:var(--gold);}
.gv2-chip.on{border-color:var(--gold);background:var(--gold-soft);color:var(--gold);}
@media (max-width:620px){ .gv2-ship{grid-template-columns:auto minmax(0,1fr);} .gv2-zc{grid-column:1/-1;justify-content:flex-start;} }
/* Beleg */
#sec-generator.gv2 .gv2-beleg{padding:16px 0 0;overflow:hidden;gap:6px;}
#sec-generator.gv2 .gv2-beleg>.gv2-ch{padding:0 18px;}
#sec-generator.gv2 .gv2-beleg .sum-overview{padding:0 18px;}
#sec-generator.gv2 .gv2-beleg .sum-overview .sum-overview{padding:0!important;margin:0!important;}
#sec-generator.gv2 .gv2-beleg .sum-row,#sec-generator.gv2 .gv2-beleg .sum-group-h{border-radius:9px;margin:0 -8px;padding-left:8px;padding-right:8px;}
#sec-generator.gv2 .gv2-beleg .gv2-flash{animation:gv2Flash .9s ease;}
/* Beleg: eine Linie links, eine Preis-Spalte rechts – Gruppen und Positionen exakt untereinander */
#sec-generator.gv2 .gv2-beleg .sum-overview{display:flex;flex-direction:column;gap:0;}
#sec-generator.gv2 .gv2-beleg .sum-group{margin:0;padding:0;border:none;background:none;}
#sec-generator.gv2 .gv2-beleg .sum-group+.sum-group,#sec-generator.gv2 .gv2-beleg #summaryLines>.sum-group:first-child{margin-top:10px;}
#sec-generator.gv2 .gv2-beleg .sum-group-h,#sec-generator.gv2 .gv2-beleg .sum-row,#sec-generator.gv2 .gv2-beleg .sum-total{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;padding-top:6px;padding-bottom:6px;margin-left:-8px;margin-right:-8px;padding-left:8px!important;padding-right:8px!important;border:none;background:none;}
#sec-generator.gv2 .gv2-beleg .sum-group-h{padding-bottom:4px;border-bottom:1px solid var(--div);border-radius:0;}
#sec-generator.gv2 .gv2-beleg .sum-group-t,#sec-generator.gv2 .gv2-beleg .sum-total-l{font-size:.6875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);}
#sec-generator.gv2 .gv2-beleg .sum-group-r{display:contents;}
#sec-generator.gv2 .gv2-beleg .sum-row-l{display:flex;flex-direction:column;gap:1px;min-width:0;padding:0;margin:0;}
#sec-generator.gv2 .gv2-beleg .sum-brand{font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t4);}
#sec-generator.gv2 .gv2-beleg .sum-name-row{display:flex;align-items:baseline;gap:8px;min-width:0;}
#sec-generator.gv2 .gv2-beleg .sum-name{font-size:.84rem;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#sec-generator.gv2 .gv2-beleg .sum-ml-txt,#sec-generator.gv2 .gv2-beleg .sum-konz-line{font-size:.72rem;color:var(--t3);white-space:nowrap;}
/* Menge als feines Etikett am Duftnamen – läuft im Textfluss direkt hinter dem letzten Wort */
#sec-generator.gv2 .gv2-beleg .sum-name-row{display:block!important;line-height:1.35;}
#sec-generator.gv2 .gv2-beleg .sum-name-row .sum-name{display:inline!important;white-space:normal!important;overflow:visible!important;-webkit-line-clamp:unset;}
#sec-generator.gv2 .gv2-beleg .sum-name-row .sum-ml-txt{display:inline-block;vertical-align:1px;margin-left:7px;white-space:nowrap;font-size:.62rem!important;font-weight:600;line-height:1;padding:3px 6px;border-radius:6px;border:1px solid var(--gold-line);color:var(--gold);font-variant-numeric:tabular-nums;}
#sec-generator.gv2 .gv2-beleg .sum-name-row .sum-ml-txt::before{content:none;}
#sec-generator.gv2 .gv2-beleg .sum-metrics{display:grid!important;grid-template-columns:84px;justify-items:end;align-items:baseline;column-gap:6px;margin:0;}
#sec-generator.gv2 .gv2-beleg .sum-metrics .sm{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
#sec-generator.gv2 .gv2-beleg .sum-metrics .sm-price{font-size:.84rem;font-weight:600;color:var(--t1);display:flex;flex-direction:column;align-items:flex-end;}
#sec-generator.gv2 .gv2-beleg .sum-group-h .sm-price{font-weight:800;}
#sec-generator.gv2 .gv2-beleg .calc-off .sum-metrics .sm:not(.sm-price){display:none!important;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics{grid-template-columns:84px 64px 64px 40px;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics .sm:not(.sm-price){display:block!important;font-size:.72rem;color:var(--t3);}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics .sm.pos{color:var(--green);}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics .sm.neg{color:var(--red);}
/* Gruppenkopf wie Summenzeile im Journal/Dashboard: Kosten rot · Gewinn grün · Marge gold */
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-group-h .sum-metrics .sm{font-weight:700;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-group-h .sum-metrics .sm:nth-child(2){color:var(--red);}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-group-h .sum-metrics .sm.pos{color:var(--green);}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-group-h .sum-metrics .sm.marge{color:var(--gold);}
/* Kategorie-Kopf als farbig hinterlegte Zeile */
#sec-generator.gv2 .gv2-beleg .sum-group-h{background:var(--gold-soft)!important;border-bottom:none!important;border-radius:10px!important;padding-top:7px!important;padding-bottom:7px!important;margin-bottom:4px;}
#sec-generator.gv2 .gv2-beleg .sum-group-h .sum-group-t{color:var(--gold);}
/* Kalkulation offen: Spalten und Schrift skalieren mit der Kachelbreite, Duftname bricht statt abzuschneiden */
#sec-generator.gv2 .gv2-beleg .sum-overview{container-type:inline-size;}
#sec-generator.gv2 .gv2-beleg .sum-group-h,#sec-generator.gv2 .gv2-beleg .sum-row,#sec-generator.gv2 .gv2-beleg .sum-total{column-gap:6px;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-group-h,#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-row{column-gap:4px;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics{grid-template-columns:minmax(0,16cqi) minmax(0,13cqi) minmax(0,13cqi) minmax(0,8.5cqi);column-gap:1cqi;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics .sm{padding:0;border-left:none;font-size:clamp(.6rem,3cqi,.78rem)!important;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-metrics .sm-price{font-size:clamp(.64rem,3.2cqi,.84rem)!important;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-name{font-size:clamp(.66rem,3.3cqi,.84rem);white-space:normal;overflow:visible;text-overflow:clip;display:block;-webkit-line-clamp:unset;line-height:1.2;overflow-wrap:anywhere;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-name-row{flex-wrap:wrap;column-gap:6px;row-gap:0;}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-brand{font-size:clamp(.56rem,2.7cqi,.66rem);}
#sec-generator.gv2 .gv2-beleg .sum-overview:not(.calc-off) .sum-ml-txt{font-size:clamp(.6rem,2.9cqi,.72rem);}
/* Summenzeile entfällt – das Gesamt-Feld darunter zeigt den Betrag (Wert wird weiter daraus gelesen) */
#sec-generator.gv2 .gv2-beleg #summaryLines>.sum-total{display:none!important;}
#sec-generator.gv2 .gv2-beleg .sum-old{display:flex;gap:4px;font-size:.66rem;font-weight:500;color:var(--t4);}
@keyframes gv2Flash{0%{background:var(--gold-soft);}100%{background:transparent;}}
#sec-generator.gv2 .calc-off .sum-total{display:none;}
#genKpis{display:none!important;}
#sec-generator.gv2 .seg.tabs{display:none!important;}
.gv2-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 12px 12px;padding:15px 16px 15px 18px;border-radius:16px;background:var(--gold-soft);border:1px solid var(--gold-line);}
.gv2-total-l{display:flex;flex-direction:column;gap:3px;}
.gv2-total-l b{display:flex;align-items:center;gap:7px;font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.gv2-total-l b i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);}
.gv2-total-l>span{font-size:.72rem;color:var(--t3);}
.gv2-total-s2{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;}

#sec-generator.gv2 .gv2-beleg{padding-top:12px;}
.gv2-total-v{display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums;}
.gv2-total-v b{font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--t1);}
.gv2-total-v em{font-style:normal;font-size:1.05rem;font-weight:600;color:var(--gold);}
.gv2-all{display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;margin:-4px 18px 14px;font-size:.74rem;color:var(--t3);}
.gv2-all b{color:var(--t1);font-variant-numeric:tabular-nums;}
.gv2-all b.g{color:var(--green);}
/* Teilnehmer-Chips */

#sec-generator.gv2 .outbox-wrap{margin:0;}
#sec-generator.gv2 .outbox{max-width:92%;border-radius:16px 16px 16px 5px;padding:12px 14px;background:var(--row);border:1px solid var(--div);font-size:13px;line-height:1.4;}

#sec-generator.gv2 #copyBtn{flex:1;height:48px;border-radius:14px;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:9px;margin:0;white-space:nowrap;}
#sec-generator.gv2 #copyBtn .gv2-btn-l{display:inline;}
#sec-generator.gv2 #copyBtn svg,.gv2-bar-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;}
#sec-generator.gv2 #copyBtn.ok,.gv2-bar-btn.ok{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important;}
@media (min-width:980px){
  
  
  #sec-generator.gv2 .outbox-wrap,#sec-generator.gv2 .outbox-wrap.collapsed,#sec-generator.gv2 .outbox-wrap:not(.collapsed){flex:1 1 0;min-height:0;max-height:none;opacity:1;overflow-y:auto;scrollbar-width:thin;-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent);mask-image:linear-gradient(180deg,#000 88%,transparent);}
}
/* Sharing-Blöcke */
#sec-generator.gv2 #shareBlocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:10px;}
.gv2-sb{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:15px;border:1px solid var(--div);background:var(--row);}
.gv2-sbh{display:flex;align-items:center;gap:10px;padding-bottom:6px;}
.gv2-sbt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.gv2-sbt b{font-size:.9rem;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gv2-sbt span{font-size:.72rem;color:var(--t3);}
.gv2-sbt em{font-style:normal;font-weight:600;color:var(--gold);}
.gv2-px{width:28px;height:32px;border:none;background:none;color:var(--t4);font-size:1rem;cursor:pointer;flex:0 0 auto;}
.gv2-px:hover{color:var(--red);}
.gv2-prow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 70px 28px;align-items:center;gap:10px;padding:5px 0;border-top:1px solid var(--div);}
.gv2-prow.dd-open{z-index:6;}
.gv2-prow .gv2-ddw{display:block;}
.gv2-pname{width:100%;box-sizing:border-box;height:40px;padding:0 8px;margin-left:-8px;border-radius:9px;border:1px solid transparent;border-left:2px solid transparent;background:transparent;color:var(--t1);font-family:inherit;font-size:16px;font-weight:600;outline:none;}
.gv2-pname:hover{background:var(--card);}
.gv2-pname:focus{background:var(--card);border-color:var(--gold-line);}
.gv2-pname.sel{border-left-color:var(--gold);}
.gv2-pprice{text-align:right;font-size:.84rem;font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums;white-space:nowrap;}
/* Teilnehmerzeilen kompakt */
.gv2-prow{gap:8px;padding:0;grid-template-columns:minmax(0,1fr) auto 58px 24px;}
.gv2-prow .gv2-pname{height:30px;font-size:.78rem;font-weight:400;}
.gv2-prow .gv2-pname.sel{font-weight:700;}
.gv2-prow .gv2-mlf{height:26px;min-height:0;border-radius:8px;box-sizing:border-box;}
.gv2-prow .gv2-mlf input,.gv2-prow .gv2-mlf button,.gv2-prow .gv2-mlf label{height:24px;min-height:0;font-size:.74rem;}
.gv2-prow .gv2-mlf label{padding:0 0 0 6px;gap:2px;}
.gv2-prow .gv2-mlf input{width:2ch!important;min-width:2ch;max-width:2ch;flex:0 0 2ch;}
.gv2-prow .gv2-mlf button{width:16px;padding:0 3px 0 0;}
.gv2-prow{grid-template-columns:minmax(0,1fr) auto 50px 24px;column-gap:4px;}
.gv2-prow .gv2-pprice{font-size:.76rem;}
.gv2-prow .gv2-px{width:24px;height:26px;font-size:.9rem;}
.gv2-padd{align-self:flex-start;height:32px;padding:0 2px;margin-top:2px;border:none;background:none;color:var(--gold);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;}
/* iPhone: feste Leiste mit Gesamt + Generieren */
.gv2-bar{display:none;}
@media (max-width:979px){
  #sec-generator.gv2.gv2-has .gv2-bar{display:flex;position:fixed;left:50%;transform:translateX(-50%);width:calc(100% - 20px);max-width:440px;bottom:calc(env(safe-area-inset-bottom,0px) + 88px);z-index:48;align-items:stretch;gap:8px;padding:8px;border-radius:22px;background:color-mix(in oklab,var(--page) 88%,transparent);border:1px solid var(--card-b);box-shadow:0 18px 40px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
  #sec-generator.gv2.gv2-has .wrap{padding-bottom:84px;}
  .gv2-bar .gv2-total{flex:1;min-width:0;height:54px;box-sizing:border-box;margin:0;padding:0 12px 0 14px;border-radius:15px;}
  .gv2-bar .gv2-total-l b{font-size:.62rem;}
  .gv2-bar .gv2-total-l>span{font-size:.62rem;}
  .gv2-bar .gv2-total-v b{font-size:1.35rem;}
  .gv2-bar .gv2-total-v em{font-size:.8rem;}
  .gv2-bar-btn{flex:0 0 auto;height:54px;min-width:104px;box-sizing:border-box;padding:0 14px;border:none;border-radius:15px;background:var(--gold);color:var(--segActiveT,#1c1305);font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;}
  .gv2-bar-btn span{font-size:.7rem;font-weight:700;line-height:1;}
  #sec-generator.gv2.gv2-has .gv2-right-in #copyBtn{display:none!important;}
  /* Gesamt + Generieren stehen in der festen Leiste – in der Kachel bleibt nur die Fußleiste */
  #sec-generator.gv2.gv2-has .gv2-grid .gv2-total-card>.gv2-total-top{display:none;}
  #sec-generator.gv2.gv2-has .gv2-grid .gv2-total-card .gv2-tfoot{border-top:none;}
  #sec-generator.gv2.gv2-has .gv2-grid #copyBtn+.gv2-tf,#sec-generator.gv2.gv2-has .gv2-grid #msgOpenBtn+#copyBtn+.gv2-tf{border-left:1px solid var(--gold-line);}
}
@media (prefers-reduced-motion:reduce){ #sec-generator.gv2 .gv2-beleg .gv2-flash{animation:none;} }
/* Texterkennung: unscharfer Treffer zeigt die Originalschreibweise */
.trr-from{display:inline-block;margin-left:6px;font-size:.92em;font-weight:400;color:var(--t3);}
/* Nachricht als Popup statt eigener Kachel */
#msgModal .msgm-body{padding:18px 20px 22px;}
#msgModal .outbox-wrap,#msgModal .outbox-wrap.collapsed{margin:0;max-height:none;opacity:1;overflow:visible;}
#msgModal .outbox{max-width:92%;border-radius:16px 16px 16px 5px;padding:12px 14px;background:var(--row);border:1px solid var(--div);font-size:13px;line-height:1.45;white-space:pre-wrap;color:var(--t1);}
/* Gleiche Schrift wie beim Erzeugen gemessen (Systemschrift wie in WhatsApp) – sonst sind die Linien unterschiedlich lang */
.outbox,#msgModal .outbox,#sec-generator .outbox{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Helvetica Neue",sans-serif!important;font-size:13px!important;letter-spacing:0!important;}

/* Gesamt-Kachel: Betrag oben, Funktionen als Fußleiste (Kalkulation · Nachricht · Generieren · Zurücksetzen) */
#sumCard>.gv2-total-card{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;}
.gv2-total-card>.gv2-total-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 13px 18px;}
.gv2-tfoot{display:flex;border-top:1px solid var(--gold-line);}
#sec-generator.gv2 #sumCard .gv2-tf{flex:1 1 0;min-width:0;height:38px;margin:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:none;border-radius:0;background:none;box-shadow:none;color:var(--gold);font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:0;cursor:pointer;white-space:nowrap;overflow:hidden;}
#sec-generator.gv2 #sumCard .gv2-tf+.gv2-tf{border-left:1px solid var(--gold-line);}
#sec-generator.gv2 #sumCard .gv2-tf:hover{background:color-mix(in oklab,var(--gold) 10%,transparent);}
#sec-generator.gv2 #sumCard .gv2-tf.on{background:color-mix(in oklab,var(--gold) 22%,transparent);}
#sec-generator.gv2 #sumCard #copyBtn.gv2-tf{flex:1.25 1 0;height:38px!important;border-radius:0!important;background:none!important;border:none!important;border-left:1px solid var(--gold-line)!important;color:var(--gold)!important;box-shadow:none!important;font-weight:700;gap:6px;transform:none;}
#sec-generator.gv2 #sumCard #copyBtn.gv2-tf:hover{background:color-mix(in oklab,var(--gold) 10%,transparent)!important;}
#sec-generator.gv2 #sumCard #copyBtn.gv2-tf.ok{background:var(--green)!important;color:#fff!important;}
#sec-generator.gv2 #sumCard #copyBtn.gv2-tf svg{display:none;}
#sec-generator.gv2 #sumCard #copyBtn.gv2-tf .gv2-btn-l{min-width:0;overflow:hidden;text-overflow:ellipsis;}
#sec-generator.gv2 #sumCard .gv2-tf-ic{flex:0 0 42px;color:var(--t3);}
#sec-generator.gv2 #sumCard .gv2-tf-ic:hover{color:var(--gold);}
#sec-generator.gv2 #sumCard .gv2-tf-ic svg{width:15px;height:15px;}
@media (max-width:979px){
  #sec-generator.gv2 #sumCard .gv2-tf,#sec-generator.gv2 #sumCard #copyBtn.gv2-tf{height:44px!important;font-size:.78rem;}
  #sec-generator.gv2 #sumCard .gv2-tf-ic{flex:0 0 48px;}
  #sumCard>.gv2-total-card>.gv2-total-top{padding:13px 14px 12px 16px;}
  #sumCard>.gv2-total-card .gv2-total-v b{font-size:1.7rem;}
}
/* Versand-Zusätze: immer eine Zeile, Chips werden bei wenig Platz enger statt umzubrechen */
#sec-generator.gv2 .gv2-zc{flex-wrap:nowrap;gap:4px;min-width:0;}
#sec-generator.gv2 .gv2-zc .gv2-chip{flex:0 1 auto;min-width:0;padding:0 8px;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;}
#sec-generator.gv2 .gv2-zc .gv2-chip em{margin-left:3px;}
@media (max-width:400px){#sec-generator.gv2 .gv2-zc .gv2-chip{padding:0 6px;font-size:.66rem;}}
/* Kleiner Bildschirm: Feld, Text-Knopf und Umschalter in einer Zeile, „Düfte" steht darüber */
@media (max-width:560px){
  #sec-generator.gv2 .gv2-srow{flex-wrap:wrap;column-gap:6px;row-gap:6px;}
  #sec-generator.gv2 .gv2-srow>.gv2-lbl{flex:0 0 100%;width:auto;}
  #sec-generator.gv2 .gv2-srow>#searchWrap{flex:1 1 0;min-width:90px;}
  #sec-generator.gv2 .gv2-srow>.gv2-tool{flex:0 0 40px;width:40px;height:40px;padding:0;justify-content:center;}
  #sec-generator.gv2 .gv2-srow .gm-seg{flex:0 0 auto;margin:0;height:40px;}
  #sec-generator.gv2 .gv2-srow .gm-seg button{padding:0 8px;font-size:.7rem;}
}
/* Düfte-Zeile: Werkzeug und Modus nur als Symbole – mehr Platz fürs Suchfeld */
#sec-generator.gv2 .gv2-srow>.gv2-tool{flex:0 0 44px;width:44px;padding:0;justify-content:center;gap:0;}
#sec-generator.gv2 .gv2-srow>.gv2-tool span{display:none;}
#sec-generator.gv2 .gv2-srow .gm-seg button{width:40px;flex:0 0 40px;padding:0!important;display:flex;align-items:center;justify-content:center;}
#sec-generator.gv2 .gv2-srow .gm-seg button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:560px){
  #sec-generator.gv2 .gv2-srow>.gv2-tool{flex:0 0 40px;width:40px;}
  #sec-generator.gv2 .gv2-srow .gm-seg button{width:36px;flex:0 0 36px;}
}
/* Text-/Screenshot-Symbol in Schriftfarbe wie die Modus-Symbole, eng am Umschalter */
#sec-generator.gv2 .gv2-srow>.gv2-tool svg{stroke:var(--t1);}
#sec-generator.gv2 .gv2-srow>.gv2-tool:hover svg,#sec-generator.gv2 .gv2-srow>.gv2-tool.on svg{stroke:var(--gold);}
#sec-generator.gv2 .gv2-srow>.gv2-tool+.gv2-tool+.gm-seg,#sec-generator.gv2 .gv2-srow>.gv2-tool+.gm-seg{margin-left:-10px!important;}
#sec-generator.gv2 .gv2-srow>.gv2-tool+.gv2-tool{margin-left:-10px;}
/* Text-Modus: Textfeld sitzt an der Stelle des Suchfelds */
#sec-generator.gv2 .gv2-srow>#textRecoWrap{flex:1 1 0;min-width:90px;margin:0;}
#textRecoWrap #textRecoInput{flex:1;min-width:0;height:18px;min-height:0;margin:0;padding:0;border:none;border-radius:0;background:none;outline:none;box-shadow:none;resize:none;line-height:18px;overflow:hidden;white-space:nowrap;}
#textRecoWrap #textRecoInput::placeholder{color:var(--t4);}
#sec-generator.gv2 #tab-text:has(.text-reco-result:empty){display:none!important;}
/* Kompaktere Duftzeilen: Marke · Material in einer Zeile, weniger Innenabstand, flachere Bedienelemente */
#sec-generator.gv2 .gv2-irow{padding:7px 0;}
#sec-generator.gv2 .gv2-iname{display:grid;grid-template-columns:auto auto minmax(0,1fr);column-gap:0;row-gap:1px;align-items:baseline;}
#sec-generator.gv2 .gv2-iname>b{grid-column:1/-1;line-height:1.25;}
#sec-generator.gv2 .gv2-iname>span{line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#sec-generator.gv2 .gv2-iname>span.gv2-isub::before{content:'·';margin:0 5px;color:var(--t4);}
#sec-generator.gv2 .gv2-irow .gv2-mlchips button{height:30px;}
#sec-generator.gv2 .gv2-irow .idots{width:30px;height:30px;}
/* ml-Feld so hoch wie der Drei-Punkte-Knopf */
#sec-generator.gv2 .gv2-irow .gv2-mlf{height:30px!important;box-sizing:border-box;border-radius:9px;}
#sec-generator.gv2 .gv2-irow .gv2-mlf>*{height:100%;}
#sec-generator.gv2 .gv2-irow .gv2-mlf input{height:100%;padding-top:0;padding-bottom:0;}
/* ml-Feld: feste Breite, egal ob 1 oder 2 Ziffern */
#sec-generator.gv2 .gv2-irow .gv2-mlf input{width:2ch!important;min-width:2ch;max-width:2ch;flex:0 0 2ch;}
/* ml-Feld enger: weniger Luft links und rechts */
#sec-generator.gv2 .gv2-irow .gv2-mlf label{padding:0 0 0 7px;gap:2px;}
#sec-generator.gv2 .gv2-irow .gv2-mlf button{width:20px;height:100%;padding:0 4px 0 0;}
/* Feste Spalten: ml-Feld und Preis stehen in jeder Zeile exakt untereinander */
#sec-generator.gv2 .gv2-irow{grid-template-columns:minmax(0,1fr) auto 62px 30px;column-gap:6px;}
#sec-generator.gv2 .gv2-irow .gv2-iprice{width:62px;justify-self:end;}
@container (max-width:600px){
  #sec-generator.gv2 .gv2-irow{grid-template-columns:minmax(0,1fr) auto 58px 28px;column-gap:4px;}
  #sec-generator.gv2 .gv2-irow .gv2-iprice{width:58px;}
}
/* Lange Duftnamen: bis zu zwei Zeilen statt früh abgeschnitten */
#sec-generator.gv2 .gv2-iname>b{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-wrap:pretty;}
#sec-generator.gv2 .gv2-beleg>.gv2-sum-h{padding:0 18px 4px;flex:0 0 auto;}
/* iPhone: kein Zusammenrücken per Minus-Abstand – sonst überlappen Text-Symbol und Umschalter */
@media (max-width:560px){
  #sec-generator.gv2 .gv2-srow{column-gap:6px;}
  #sec-generator.gv2 .gv2-srow>.gv2-tool+.gv2-tool,
  #sec-generator.gv2 .gv2-srow>.gv2-tool+.gm-seg,
  #sec-generator.gv2 .gv2-srow>.gv2-tool+.gv2-tool+.gm-seg{margin-left:0!important;}
  #sec-generator.gv2 .gv2-srow>.gv2-tool{flex:0 0 40px;width:40px;height:40px;}
  #sec-generator.gv2 .gv2-srow .gm-seg{flex:0 0 auto;height:40px;}
  #sec-generator.gv2 .gv2-srow .gm-seg button{width:36px;flex:0 0 36px;}
}

/* Teilnehmer eingeklappt: Fortschritt + gewählter Teilnehmer */
#shareChips .gv2-chs b{color:var(--t1);font-weight:600;}
.gv2-useg{display:flex;gap:2px;margin:8px 0 10px;}
.gv2-useg i{flex:1;height:6px;border-radius:2px;background:var(--div);}
.gv2-useg i.dn{background:var(--green);}
.gv2-useg i.on{background:var(--gold);}
.gv2-ucur{width:100%;height:44px;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:12px;border:1px solid var(--card-b);background:var(--row);color:var(--t1);font-family:inherit;cursor:pointer;text-align:left;}
.gv2-ucur:hover,.gv2-ucur.open{border-color:var(--gold-line);}
.gv2-udot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--gold);}
.gv2-ucur b{flex:0 1 auto;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gv2-ucur>span:not(.gv2-udot){flex:1;min-width:0;font-size:.72rem;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gv2-ucur em{font-style:normal;font-size:.72rem;color:var(--t3);white-space:nowrap;}
.gv2-ucur em i{font-style:normal;display:inline-block;transition:transform var(--d1);}
.gv2-ucur.open em i{transform:rotate(180deg);}
.gv2-uwrap{position:relative;}
.gv2-udd{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;max-height:300px;overflow:auto;padding:6px;border-radius:13px;border:1px solid var(--card-b);background:var(--page2);box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:2px;}
[data-theme="light"] .gv2-udd{box-shadow:0 18px 40px rgba(0,0,0,.14);}
.gv2-udd button{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:none;border-radius:9px;background:none;color:var(--t1);font-family:inherit;text-align:left;cursor:pointer;}
.gv2-udd button:hover{background:var(--row);}
.gv2-udd button.on{background:var(--gold-soft);}
.gv2-udd button i{width:12px;flex:0 0 12px;font-style:normal;font-size:.7rem;color:var(--green);}
.gv2-udd button b{flex:1;min-width:0;font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gv2-udd button span{font-size:.7rem;color:var(--t3);white-space:nowrap;}
.gv2-udd button.done b{color:var(--t3);}
#shareChips{overflow:visible;position:relative;z-index:5;}

/* Teilnehmer mit mehreren Düften: dezentes Symbol rechts im Namensfeld */
.gv2-pnw{position:relative;display:block;min-width:0;}
.gv2-pnw .gv2-pmulti{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:2px;font-size:.66rem;font-weight:600;color:var(--gold);opacity:.85;pointer-events:auto;}
.gv2-pnw .gv2-pmulti svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.gv2-pnw:has(.gv2-pmulti) .gv2-pname{padding-right:30px;}

/* ── Leiste: gleitende Fläche hinter dem aktiven Reiter (Entwurf 5a) ── */
.tabbar{touch-action:none;-webkit-user-select:none;user-select:none;}
.tabbar .tab,.tabbar .tab-more{position:relative;z-index:1;-webkit-tap-highlight-color:transparent;}
.tb-glass{position:absolute;left:0;top:0;width:0;height:0;z-index:0;pointer-events:none;border-radius:17px;opacity:0;box-sizing:border-box;
  background:var(--gold-soft);border:1px solid var(--gold-line);
  transition:transform .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1),opacity .2s;}
.tb-glass.no-anim{transition:none!important;}
/* Reiterwechsel (View Transition): Leiste nicht überblenden – nur das live mitlaufende neue Bild zeigen,
   so läuft die Gleitbewegung der Fläche ungestört weiter (kein Doppelbild, kein Springen) */
::view-transition-group(aurumTabbar){animation:none;}
::view-transition-old(aurumTabbar){display:none;}
::view-transition-new(aurumTabbar){animation:none;}
/* Safari rendert den Weichzeichner im Schnappschuss als rechteckige Fläche → während des Wechsels aus */
html[data-vt] .tabbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page2);}
.tabbar.tb-drag .tb-glass{transition:width .2s,height .2s;}
.tabbar.tb-settle .tb-glass{transition:transform .3s cubic-bezier(.2,.8,.2,1),width .3s cubic-bezier(.2,.8,.2,1),height .3s cubic-bezier(.2,.8,.2,1),opacity .2s;}
.tabbar .tb-hov{color:var(--gold);}
/* Lupe beim Wischen: Symbol + Text unter dem Finger wachsen, danach federn sie zurück */
.tabbar .tab .ico,.tabbar .tab-more .ico,.tabbar .tab .tl,.tabbar .tab-more .tl{transition:transform .26s cubic-bezier(.2,.8,.2,1),stroke-width var(--d1);transform-origin:50% 50%;}
.tabbar.tb-drag .tb-hov .ico{transform:scale(1.28);}
.tabbar.tb-drag .tb-hov .tl{transform:scale(1.12);}
.tabbar.tb-drag .tb-near .ico{transform:scale(1.1);}
/* Minimiert: Leiste fährt sichtbar zum aktiven Symbol zusammen (clip-path) und gleitet in die Ecke – beim Öffnen umgekehrt */
.tabbar{--tb-dx:0px;--tb-dy:0px;--tb-r:28px;clip-path:inset(0 round var(--tb-r));transition:transform .6s cubic-bezier(.32,.72,0,1),clip-path .6s cubic-bezier(.32,.72,0,1);will-change:transform,clip-path;}
.tabbar.tb-min{clip-path:var(--tb-clip);transform:translateX(-50%) translate(var(--tb-dx),var(--tb-dy));cursor:pointer;}
@media (min-width:1080px){ .tabbar{--tb-r:24px;} .tabbar.tb-min{transform:translateY(-50%) translate(var(--tb-dx),var(--tb-dy));} }
.tabbar .tab,.tabbar .tab-more{transition:opacity .3s ease .15s,color var(--d1);}
.tabbar.tb-min .tab:not(.on),.tabbar.tb-min .tab-more:not(.on),.tabbar.tb-min .tab-badge{opacity:0;pointer-events:none;transition:opacity .2s ease;}
.tabbar .tab .tl{transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .25s ease .2s;}
.tabbar.tb-min .tab.on .tl{opacity:0;transition:opacity .15s ease;}
.tabbar .tab .ico{transition:transform .6s cubic-bezier(.32,.72,0,1),stroke-width var(--d1);}
.tabbar.tb-min .tab.on .ico{transform:translateY(var(--tb-iy,7px)) scale(1.1);}
/* Lichtreflex beim Wechsel */
.tb-glass{overflow:hidden;}
.tb-glass::after{content:'';position:absolute;top:-30%;bottom:-30%;left:0;width:42%;background:linear-gradient(100deg,transparent,rgba(255,232,190,.55) 50%,transparent);transform:translateX(-160%) skewX(-18deg);opacity:0;pointer-events:none;}
[data-theme="light"] .tb-glass::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.95) 50%,transparent);}
.tb-glass.shine::after{animation:tbShine .8s cubic-bezier(.4,0,.2,1) .18s;}
@keyframes tbShine{0%{opacity:1;transform:translateX(-160%) skewX(-18deg);}100%{opacity:1;transform:translateX(330%) skewX(-18deg);}}
/* Mini-Animation je Symbol beim Aktivieren */
.tabbar .tab[data-sec="dashboard"] .ico.tb-pop{animation:tbGrid .6s cubic-bezier(.3,1.3,.5,1);}
.tabbar .tab[data-sec="generator"] .ico.tb-pop{transform-origin:50% 100%;animation:tbDrop .75s ease-out;}
.tabbar .tab[data-sec="duefte"] .ico.tb-pop{transform-origin:50% 92%;animation:tbWobble .75s ease-out;}
.tabbar .tab[data-sec="preisliste"] .ico.tb-pop{transform-origin:28% 22%;animation:tbSwing .85s ease-out;}
.tabbar .tab[data-sec="vorlagen"] .ico.tb-pop{transform-origin:18% 92%;animation:tbPop .55s ease-out;}
.tabbar .tab[data-sec="stammdaten"] .ico.tb-pop{animation:tbSlide .55s ease-in-out;}
.tabbar .tab[data-sec="einstellungen"] .ico.tb-pop{animation:tbSpin .8s cubic-bezier(.34,1.56,.64,1);}
@keyframes tbGrid{0%{transform:scale(1);}30%{transform:scale(.82) rotate(-8deg);}65%{transform:scale(1.14) rotate(4deg);}100%{transform:scale(1);}}
@keyframes tbDrop{0%{transform:none;}25%{transform:translateY(-6px) scale(.92,1.08);}55%{transform:translateY(1px) scale(1.14,.86);}80%{transform:translateY(-1px) scale(.97,1.03);}100%{transform:none;}}
@keyframes tbWobble{0%,100%{transform:rotate(0);}20%{transform:rotate(-14deg);}45%{transform:rotate(10deg);}70%{transform:rotate(-5deg);}}
@keyframes tbSwing{0%,100%{transform:rotate(0);}25%{transform:rotate(16deg);}55%{transform:rotate(-9deg);}80%{transform:rotate(4deg);}}
@keyframes tbPop{0%{transform:scale(1);}35%{transform:scale(1.22) rotate(-6deg);}65%{transform:scale(.94);}100%{transform:scale(1);}}
@keyframes tbSlide{0%,100%{transform:none;}30%{transform:translateX(-2.5px);}65%{transform:translateX(2.5px);}}
@keyframes tbSpin{0%{transform:rotate(0);}100%{transform:rotate(90deg);}}
/* Schnellaktionen (gedrückt halten / Rechtsklick) */
.tabbar{-webkit-touch-callout:none;}
.tb-menu{position:fixed;z-index:60;min-width:190px;padding:6px;border-radius:16px;background:var(--page2);border:1px solid var(--card-b);box-shadow:0 18px 44px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:2px;opacity:0;transform:scale(.85);transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .18s;}
[data-theme="light"] .tb-menu{box-shadow:0 18px 44px rgba(0,0,0,.14);}
.tb-menu.on{opacity:1;transform:scale(1);}
.tb-menu-h{padding:6px 10px 4px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--t3);}
.tb-menu button{height:40px;padding:0 12px;border:none;border-radius:10px;background:none;color:var(--t1);font:inherit;font-size:.82rem;font-weight:500;text-align:left;cursor:pointer;}
.tb-menu button{display:flex;align-items:center;gap:10px;}
.tb-menu button svg{flex:none;width:17px;height:17px;color:var(--t3);}
.tb-menu button:hover{background:var(--gold-soft);color:var(--gold);}
.tb-menu button:hover svg{color:var(--gold);}
@media (prefers-reduced-motion:reduce){ .tb-glass{transition:opacity .2s!important;} .tabbar .ico.tb-pop,.tb-glass.shine::after{animation:none!important;} }

/* Aufgeklappte Duftzeile (Entwurf 1a): Reiter als Umschalter, Felder als Kästen mit Beschriftung darüber */
#duefteBody .sd-edit{padding:2px 12px 14px;border-top:none;}
#duefteBody .kx-tabs{gap:2px;padding:3px;border:none;border-radius:11px;background:var(--div);}
#duefteBody .kx-ind{top:3px;bottom:3px;border-radius:8px;background:var(--raise);box-shadow:0 1px 3px rgba(0,0,0,.10);}
[data-theme="dark"] #duefteBody .kx-ind{background:rgba(255,255,255,.14);box-shadow:none;}
#duefteBody .kx-tab{height:30px;border-radius:8px;font-size:12px;font-weight:500;letter-spacing:0;color:var(--t3);}
#duefteBody .kx-tab.on,[data-theme="light"] #duefteBody .kx-tab.on{color:var(--t1);font-weight:700;}
#duefteBody .kx-in{padding:12px 0 2px;}
#duefteBody .kx .sd-grid{gap:10px;}
#duefteBody .kx .fx-vier{gap:8px;}
#duefteBody .kx .sd-field{padding-top:0;display:flex;flex-direction:column;align-items:stretch;gap:3px;}
#duefteBody .kx .sd-field::before,#duefteBody .kx .sd-field::after{display:none;}
#duefteBody .kx .sd-field>label{position:static;transform:none!important;margin:0;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t4);transition:color var(--d1);}
#duefteBody .kx .sd-field:focus-within>label{color:var(--gold);}
#duefteBody .kx .sd-field>input,#duefteBody .kx .sd-field>select{width:100%;height:34px;padding:0 10px;box-sizing:border-box;background:var(--ghost);border:1px solid var(--div);border-radius:10px;font-size:14px;font-weight:400;}
#duefteBody .kx .sd-field>select{padding-right:30px;}
#duefteBody .kx .sd-field>input:focus,#duefteBody .kx .sd-field>select:focus{border-color:var(--gold-line);}
#duefteBody .kx .sd-field>input::placeholder{opacity:1;color:var(--t4);}
#duefteBody .kx .fx-e{position:relative;}
#duefteBody .kx .fx-e>input{padding-right:34px;}
#duefteBody .kx .fx-e>.fx-suf{position:absolute;right:10px;bottom:0;height:34px;display:flex;align-items:center;padding:0;font-size:11px;font-weight:400;letter-spacing:0;color:var(--t4);pointer-events:none;}
#duefteBody .kx .sd-foto-slot{flex:0 0 clamp(104px,28%,136px);min-height:0;border-radius:12px;}
#duefteBody .kx .fx-neben{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;align-items:stretch;}
#duefteBody .kx .fx-neben>.fx-vier{grid-column:1/-1;}
#duefteBody .kx .fx-neben>.sd-listed{grid-column:1;}
#duefteBody .kx .fx-neben>.sd-note{grid-column:2;display:flex;flex-direction:column;}
#duefteBody .kx .fx-neben>.sd-note .sd-note-toggle{height:100%;min-height:0;}
/* Notiz-Fenster */
.sd-note-pop .jm-title span{font-weight:500;color:var(--t3);}
.sd-note-ta{display:block;width:100%;min-height:150px;box-sizing:border-box;padding:12px 13px;border-radius:12px;border:1px solid var(--div);background:var(--row);color:var(--t1);font-family:inherit;font-size:.85rem;line-height:1.5;resize:vertical;}
.sd-note-ta:focus{outline:none;border-color:var(--gold-line);}
.sd-note-ta::placeholder{color:var(--t4);}
.sd-note-sp{flex:1;}
#duefteBody .kx .fx-neben>.sd-endbtns{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;margin:0;}
#duefteBody .kx .fx-neben>.sd-endbtns>button{margin:0;}
/* Alle Flächen in der aufgeklappten Duftzeile im selben Grau wie die Eingabefelder */
#duefteBody .kx .sd-listed,#duefteBody .kx .sd-note-toggle,#duefteBody .kx .sd-depleted,#duefteBody .kx .sd-del,#duefteBody .kx .sd-foto-slot{background:var(--ghost);border-color:var(--div);}
#duefteBody .kx .sd-note-toggle:hover{background:var(--gold-soft);border-color:var(--gold-line);}
#duefteBody .kx .sd-depleted:hover,#duefteBody .kx .sd-del:hover{background:rgba(229,100,92,.07);border-color:var(--red);}
#duefteBody .kx .sd-depleted.on{background:rgba(95,191,134,.1);border-color:var(--green);}
#duefteBody .kx .sd-foto-slot:hover,#duefteBody .kx .sd-foto-slot.drag{border-color:var(--gold-line);}
/* Bestand-Kopf: Datum, Ansichten und Schalter auf einer Grundlinie, alle 34 px hoch wie die Eingabefelder */
#duefteBody .kx .bs-kopf{align-items:end;}
#duefteBody .kx .bs-seg{box-sizing:border-box;height:34px;padding:2px;gap:2px;border-radius:10px;background:var(--ghost);}
#duefteBody .kx .bs-b{height:28px;border-radius:8px;}
#duefteBody .kx .bs-kopf .sd-listed{box-sizing:border-box;height:34px;padding:0 6px 0 12px;border-radius:10px;}
#duefteBody .kx .bs-kopf .sd-sw{width:36px;height:22px;}
#duefteBody .kx .bs-kopf .sd-sw::after{width:16px;height:16px;}
#duefteBody .kx .bs-kopf .sd-listed input:checked+.sd-sw::after{transform:translateX(14px);}
/* „Neue Charge" in der Bestand-Kopfzeile */
#duefteBody .kx .bs-kopf{grid-template-columns:122px auto minmax(0,1fr) 34px;}
#duefteBody .kx .bs-kopf .sd-charge{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:var(--gold);cursor:pointer;transition:transform var(--d1) var(--mo-e);}
#duefteBody .kx .bs-kopf .sd-charge svg{width:15px;height:15px;color:#1c1305;}
[data-theme="light"] #duefteBody .kx .bs-kopf .sd-charge svg{color:#fff;}
#duefteBody .kx .bs-kopf .sd-charge:hover{transform:rotate(-90deg);}
@container (max-width:540px){
  #duefteBody .kx .bs-kopf{grid-template-columns:122px minmax(0,1fr) 34px;}
  #duefteBody .kx .bs-kopf .sd-charge{grid-column:3;grid-row:1;}
}
@container (max-width:430px){
  #duefteBody .kx .bs-kopf{grid-template-columns:minmax(0,1fr) 34px;}
  #duefteBody .kx .bs-kopf .sd-anlage-row{grid-column:1;grid-row:1;}
  #duefteBody .kx .bs-kopf .sd-charge{grid-column:2;grid-row:1;}
  #duefteBody .kx .bs-kopf .bs-seg,#duefteBody .kx .bs-kopf .sd-listed{grid-column:1/-1;}
}
/* Verkauf-Reiter (Entwurf 1a): Referenz-UVPs als ruhige Zeilen im Stil der Listen-Balken */
#duefteBody .kx .sd-ref-inline{margin-top:14px;padding:0;border-top:none;}
#duefteBody .kx .sd-ref-h{margin-bottom:6px;}
#duefteBody .kx .sd-ref-h span{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--t4);}
#duefteBody .kx .sd-ref-add{width:24px;height:24px;border-radius:8px;border:none;background:var(--gold-soft);color:var(--gold);font-size:15px;font-weight:600;}
#duefteBody .kx .uv-z{gap:10px;padding:8px 6px 8px 12px;border:1px solid var(--div);border-radius:10px;background:var(--ghost);}
#duefteBody .kx .uv-z+.uv-z{border-top:1px solid var(--div);margin-top:6px;}
#duefteBody .kx .uv-z:hover{background:color-mix(in oklab,var(--ghost),var(--t1) 3%);}
#duefteBody .kx .uv-c1{font-size:12px;font-weight:600;color:var(--t3);}
#duefteBody .kx .uv-c2{font-size:14px;font-weight:600;color:var(--t1);}
#duefteBody .kx .uv-c1 i,#duefteBody .kx .uv-c2 i{font-size:11px;font-weight:400;color:var(--t4);}
#duefteBody .kx .uv-c3{font-size:11px;color:var(--t3);}
#duefteBody .kx .uv-skala{height:18px;border-radius:99px;background:var(--div);overflow:hidden;}
#duefteBody .kx .uv-mitte{background:var(--t4);opacity:.5;z-index:1;}
#duefteBody .kx .uv-z.hoch .uv-balken{border-radius:0 99px 99px 0;background:color-mix(in oklab,var(--green) 26%,transparent);}
#duefteBody .kx .uv-z.tief .uv-balken{border-radius:99px 0 0 99px;background:color-mix(in oklab,var(--red) 24%,transparent);}
#duefteBody .kx .uv-balken em{color:var(--t1);text-shadow:none;}
#duefteBody .kx .uv-z.hoch .uv-balken em b{color:var(--green);}
#duefteBody .kx .uv-z.tief .uv-balken em b{color:var(--red);}
#duefteBody .kx .uv-balken em b{font-size:11px;font-weight:700;}
#duefteBody .kx .uv-balken em i{font-size:10px;font-weight:600;color:var(--t3);opacity:1;}
@media (hover:none){ #duefteBody .kx .uv-x{opacity:.6;} }

/* ══ DASHBOARD · Journal, Abfüllungen, Auswertung (10/2026) ══
   Handy: drei Reiter · ab 1000 px Spaltenbreite alle drei nebeneinander */
#sec-dashboard .wrap{max-width:760px;}
@media (min-width:1100px){ #sec-dashboard .wrap{max-width:1280px;} }
#sfHost{container-type:inline-size;}
.d2{--d2-track:#dcdfe2;--d2-on:#fff;--d2-panel:#f5f6f7;--d2-bar:#eceef0;--d2-halo:#fff;--d2-card:#fff;--d2-cb:rgba(0,0,0,.06);--d2-btn:rgba(0,0,0,.1);
  display:flex;flex-direction:column;gap:12px;margin-top:6px;color:var(--t1);}
[data-theme="dark"] .d2{--d2-track:rgba(255,255,255,.07);--d2-on:rgba(255,255,255,.16);--d2-panel:rgba(255,255,255,.05);--d2-bar:rgba(255,255,255,.07);--d2-halo:#202326;--d2-card:#202326;--d2-cb:rgba(255,255,255,.08);--d2-btn:rgba(255,255,255,.14);}
.d2 button{font-family:inherit;}
.d2-top{display:flex;flex-direction:column;gap:12px;}
.d2-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;border-radius:11px;background:var(--d2-track);}
.d2-tabs button{padding:8px 0;border:0;border-radius:8px;background:transparent;font-size:13px;font-weight:500;color:var(--t1);cursor:pointer;}
.d2-tabs button.on{background:var(--d2-on);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.06);}
.d2-per{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;height:44px;border-radius:14px;background:var(--d2-card);border:1px solid var(--d2-cb);}
.d2-step{border:0;background:none;font-size:18px;color:var(--t2);cursor:pointer;}
.d2-step:first-child{border-right:1px solid var(--d2-cb);}
.d2-per-m+.d2-step{border-left:1px solid var(--d2-cb);}
.d2-step:disabled{opacity:.25;cursor:default;}
.d2-per-m{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:none;color:var(--t1);cursor:pointer;}
.d2-per-m span{font-size:9px;font-weight:800;letter-spacing:.14em;padding-left:.14em;color:var(--gold);}
.d2-per-m b{max-width:100%;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-pop{position:absolute;left:50%;top:50px;transform:translateX(-50%);z-index:30;width:230px;padding:6px;border-radius:16px;background:var(--page2);border:1px solid var(--d2-cb);box-shadow:0 18px 44px rgba(0,0,0,.14);display:flex;flex-direction:column;}
.d2-pop>button{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 12px;border:0;border-radius:10px;background:none;font-size:13px;font-weight:500;color:var(--t1);cursor:pointer;}
.d2-pop>button:hover{background:var(--d2-panel);}
.d2-pop>button.on{font-weight:700;}
.d2-pop>button i{font-style:normal;color:var(--gold);}
.d2-pop-d{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;padding:6px 6px 4px;border-top:1px solid var(--div);}
.d2-pop-d label{display:flex;flex-direction:column;gap:3px;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--t4);}
.d2-pop-d input{min-width:0;font:inherit;font-size:12px;letter-spacing:0;color:var(--t1);padding:6px;border:1px solid var(--d2-btn);border-radius:8px;background:var(--d2-card);}
.d2-col{display:none;flex-direction:column;gap:12px;min-width:0;}
.d2[data-tab="journal"] .d2-col[data-col="journal"],.d2[data-tab="abf"] .d2-col[data-col="abf"],.d2[data-tab="ausw"] .d2-col[data-col="ausw"]{display:flex;}
.d2-col-h{display:none;margin:0;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--t3);}
.d2-card{background:var(--d2-card);border:1px solid var(--d2-cb);border-radius:18px;overflow:hidden;}
.d2-pad{display:flex;flex-direction:column;gap:12px;padding:14px 16px;overflow:visible;}
.d2-cap{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--gold);}
.d2-leer{padding:18px 14px;text-align:center;font-size:13px;color:var(--t4);}
.d2-leer.klein{padding:4px 0;font-size:12px;}
/* Journal */
.d2-stages,.d2-vol{box-sizing:border-box;height:68px;}
.d2-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:3px;border-radius:18px;background:var(--d2-card);border:1px solid var(--d2-cb);}
.d2-stages button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 0;border:0;border-radius:15px;background:none;color:var(--t2);cursor:pointer;}
.d2-stages button{position:relative;gap:5px;font-family:inherit;color:var(--t1);transition:background var(--d1),color var(--d1);}
.d2-stages button+button::before{content:"";position:absolute;left:-2px;top:14px;bottom:14px;width:1px;background:var(--div);transition:opacity var(--d1);}
.d2-stages button.on::before,.d2-stages button.on+button::before{opacity:0;}
.d2-stages b{font-size:22px;font-weight:300;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;}
.d2-stages span{padding-left:.14em;font-size:8.5px;font-weight:600;letter-spacing:.14em;line-height:1.15;text-transform:uppercase;color:var(--t4);transition:color var(--d1);}
.d2-stages button:hover:not(.on){background:var(--d2-panel);}
.d2-stages button.on{background:var(--gold-soft);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-line);}
.d2-stages button.on span{color:var(--gold);}
.d2-o+.d2-o{border-top:1px solid var(--div);}
.d2-o-w{position:relative;overflow:hidden;}
.d2-sw{position:absolute;inset:0;}
.d2-sw span{position:absolute;inset:0;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#fff;opacity:0;}
.d2-sw svg{width:15px;height:15px;}
.d2-sw-del{padding-left:18px;background:var(--red);}
.d2-sw-next{justify-content:flex-end;padding-right:18px;}
.d2-sw.del .d2-sw-del,.d2-sw.next .d2-sw-next{opacity:1;}
.d2-o-line{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;background:var(--d2-card);cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.d2-o.auf .d2-o-line,.d2-det{background:color-mix(in srgb,var(--gold) 5%,var(--d2-card));}
.d2-o-l{min-width:0;display:flex;flex-direction:column;gap:2px;}
.d2-o-n{min-width:0;display:flex;align-items:center;gap:6px;}
.d2-o-n b{font-size:14px;font-weight:600;overflow-wrap:anywhere;}
.d2-late{flex:none;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red);font-size:11px;font-weight:800;font-style:normal;line-height:1;}
.d2-o-sub{align-self:flex-start;min-width:0;max-width:100%;display:flex;flex-direction:column;gap:3px;}
.d2-o-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--t4);font-variant-numeric:tabular-nums;}
.d2-o-abf{flex:none;display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:600;color:var(--gold);opacity:.85;}
.d2-o-abf svg{width:12px;height:12px;}
.d2-o-seg{display:flex;gap:2px;width:96px;max-width:100%;}
.d2-o-seg i{flex:1;height:4px;border-radius:2px;background:var(--d2-bar);}
.d2-o-seg i.on:nth-child(1){background:var(--red);}
.d2-o-seg i.on:nth-child(2){background:var(--gold-b);}
.d2-o-seg i.on:nth-child(3){background:var(--blue);}
.d2-o-seg i.on:nth-child(4){background:var(--green);}
.d2-o-r{display:flex;align-items:center;gap:10px;}
.d2-act{display:none;align-items:center;padding:6px 10px;border:0;border-radius:99px;background:var(--segActive);color:var(--segActiveT);font-size:11px;font-weight:700;cursor:pointer;}
.d2-o-sum{display:grid;grid-template-columns:auto auto;column-gap:8px;row-gap:1px;align-items:baseline;padding-left:10px;border-left:1px solid var(--div);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.d2-o-sum span{color:var(--t4);}
.d2-o-sum b{text-align:right;font-weight:600;}
.d2 .g{color:var(--green);} .d2 .m{color:var(--gold);} .d2 .k{color:var(--red);}
.d2-det{display:flex;flex-direction:column;gap:10px;padding:0 14px 14px;}
.d2-tbl{display:flex;flex-direction:column;gap:8px;font-variant-numeric:tabular-nums;}
.d2-grp{display:flex;flex-direction:column;gap:2px;}
.d2-tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;text-align:right;white-space:nowrap;}
.d2-det.calc .d2-tr{grid-template-columns:minmax(0,1fr) 52px 50px 50px 32px;}
.d2-det:not(.calc) .c{display:none;}
.d2-th{padding:0 8px;font-size:10px;font-weight:600;color:var(--t4);}
.d2 .d2-th .c{color:inherit;}
.d2-kat{padding:7px 8px;border-radius:8px;background:color-mix(in srgb,var(--stc) 9%,transparent);font-weight:700;}
.d2-kat-l{display:flex;align-items:center;gap:6px;text-align:left;font-weight:800;letter-spacing:.1em;}
.d2-kat-l i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--stc);}
.d2-pos-t{min-width:0;display:flex;flex-direction:column;gap:1px;padding-left:12px;text-align:left;white-space:normal;}
.d2-pos-t b{font-size:11.5px;font-weight:600;overflow-wrap:anywhere;}
.d2-pos-t em{font-style:normal;font-size:10.5px;line-height:1.35;color:var(--t3);overflow-wrap:anywhere;}
.d2-pos-t u{margin-left:4px;text-decoration:none;font-size:10px;color:var(--red);}
.d2-det-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.d2-det-btns.drei{grid-template-columns:repeat(3,minmax(0,1fr));}
.d2-det-btns button{height:36px;border-radius:10px;border:1px solid var(--d2-btn);background:transparent;color:var(--t1);font-size:12px;font-weight:600;cursor:pointer;}
.d2-det-btns button.on{border-color:var(--gold-line);background:var(--gold-soft);color:var(--gold);}
.d2-det-btns button.del{border-color:color-mix(in srgb,var(--red) 30%,transparent);color:var(--red);}
/* Abfüllungen */
.d2-card-h{display:flex;align-items:center;gap:10px;min-height:30px;padding:13px 14px 10px;}
.d2-cap-in{display:block;padding:14px 16px 0;}
.d2-card-hc{justify-content:space-between;padding:14px 16px 10px;}
.d2-card-hc .d2-seg{width:156px;}
.d2-list>.d2-cap-in{padding-bottom:11px;border-bottom:1px solid var(--div);}
.d2-seg{position:relative;flex:none;display:grid;grid-template-columns:1fr 1fr;width:220px;padding:3px;border-radius:10px;background:var(--d2-track);}
.d2-seg i{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:8px;background:var(--d2-on);box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform .26s cubic-bezier(.22,1,.36,1);}
.d2-seg[data-v="kaeufer"] i{transform:translateX(100%);}
.d2-seg button{position:relative;padding:6px 0;border:0;background:none;font-size:12px;font-weight:500;color:var(--t2);cursor:pointer;transition:color .2s;}
.d2-seg button.on{font-weight:700;color:var(--t1);}
.d2-card-hc .d2-seg,.d2-rk-h .d2-seg{padding:2px;border-radius:8px;}
.d2-card-hc .d2-seg i,.d2-rk-h .d2-seg i{top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:6px;box-shadow:0 1px 1px rgba(0,0,0,.06);}
.d2-card-hc .d2-seg button,.d2-rk-h .d2-seg button{padding:4px 0;font-size:11px;font-weight:500;color:var(--t4);}
.d2-card-hc .d2-seg button.on,.d2-rk-h .d2-seg button.on{font-weight:600;color:var(--t1);}
.d2-nm{min-width:0;display:flex;flex-direction:column;gap:1px;}
.d2-nm b{font-size:14px;font-weight:600;overflow-wrap:anywhere;}
.d2-nm span{font-size:11px;color:var(--t4);overflow-wrap:anywhere;}
.d2-fd,.d2-kf{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--div);}
.d2-fd{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:9px 14px;}
.d2-fd .d2-nm b,.d2-fd .d2-nm span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-fd-r{display:flex;flex-direction:column;align-items:flex-end;gap:3px;width:58px;}
.d2-fd-r strong{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;}
.d2-kf{gap:10px;padding:14px;}
.d2-fd>strong,.d2-kf>strong{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;}
.d2-kf>strong{padding-right:12px;}
.d2-chips{display:grid;grid-template-columns:repeat(var(--n,1),34px);gap:3px;overflow:hidden;}
.d2-chips span.leer{background:none;}
.d2-chips span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:32px;box-sizing:border-box;padding:0 2px;border-radius:7px;background:var(--d2-panel);font-variant-numeric:tabular-nums;white-space:nowrap;}
.d2-chips b{font-size:12px;font-weight:700;line-height:1;color:var(--t1);}
.d2-chips i{font-style:normal;font-size:9px;font-weight:500;line-height:1;color:var(--t4);}
.d2-kf-l{grid-column:1/3;display:flex;flex-direction:column;padding:2px 12px;border-radius:12px;background:var(--d2-panel);}
.d2-kf-l>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:4px 0;}
.d2-kf-l>div+div{border-top:1px solid var(--div);}
.d2-kf-l .d2-nm{flex-direction:row;align-items:baseline;gap:6px;}
.d2-kf-l .d2-nm b{flex:none;max-width:70%;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-kf-l .d2-nm span{min-width:0;font-size:10.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-kf-l strong{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
/* Auswertung */
.d2-panel{display:flex;padding:2px 0;border-radius:14px;background:none;border:0;}
.d2-panel>div{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 4px;text-align:center;}
.d2-panel>div+div{border-left:1px solid var(--div);}
.d2-pk{order:1;padding-left:.14em;font-size:8.5px;line-height:1.15;font-weight:600;letter-spacing:.14em;color:var(--t4);white-space:nowrap;}
.d2-u{font-style:normal;margin-left:.06em;}
.d2-pv{display:flex;align-items:baseline;gap:3px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.d2-pv b{font-size:22px;font-weight:300;letter-spacing:-.03em;line-height:1;}
.d2-pv b.w,.d2-pv b.m{color:var(--gold);}
.d2-pv b.k{color:var(--red);}
.d2-pv b.g{color:var(--green);}
.d2-ps{order:2;max-width:100%;font-size:10px;line-height:1.15;font-weight:500;color:var(--t4);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-vol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;padding:0;}
.d2-vol>div{display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1.15;}
.d2-vol>div+div{border-left:1px solid var(--div);}
.d2-vol b{font-size:22px;font-weight:300;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;}
.d2-vol>div:first-child b{color:var(--gold);}
.d2-vol span{padding-left:.14em;font-size:8.5px;font-weight:600;letter-spacing:.14em;color:var(--t4);white-space:nowrap;}
.d2-rk-h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;}
.d2-rk-h .d2-seg{width:156px;}
.d2-rk{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px;align-items:center;font-size:12px;}
.d2-rk-bar{position:relative;height:22px;border-radius:6px;background:var(--d2-bar);overflow:hidden;}
.d2-rk-bar i{position:absolute;left:0;top:0;bottom:0;}
.d2-rk-bar i.gold{background:color-mix(in srgb,var(--gold-b) 22%,transparent);}
.d2-rk-bar i.blau{background:color-mix(in srgb,var(--blue) 18%,transparent);}
.d2-rk-bar span{position:relative;display:block;padding-left:8px;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-rk>b{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;}
.d2-cap-r{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.d2-zoom{flex:none;width:32px;height:32px;margin:-9px -10px -9px 0;display:flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:none;color:var(--t3);cursor:pointer;}
.d2-zoom:hover{background:var(--d2-panel);color:var(--t1);}
.d2-zoom svg{width:15px;height:15px;}
/* Vollbild */
html.d2-noscroll,html.d2-noscroll body{overflow:hidden;}
.d2-full{position:fixed;inset:0;z-index:9000;margin:0;gap:12px;box-sizing:border-box;overflow:auto;background:var(--page);
  padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));
  animation:d2FullIn .22s cubic-bezier(.22,1,.36,1);}
@keyframes d2FullIn{from{opacity:0;transform:scale(.985);}to{opacity:1;transform:none;}}
.d2-full-h{display:flex;align-items:center;gap:10px;min-height:44px;}
.d2-full-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.d2-full-t b{font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-full-n{flex:none;display:grid;grid-template-columns:44px 44px;height:44px;border-radius:14px;background:var(--d2-card);border:1px solid var(--d2-cb);}
.d2-full-x{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--d2-cb);background:var(--d2-card);color:var(--t1);cursor:pointer;}
.d2-full-x svg{width:18px;height:18px;}
.d2-full-b{flex:1;min-height:0;}
.d2-full .d2-pv b{font-size:30px;}
.d2-full .d2-ch{--h:max(200px,calc(100dvh - 270px));font-size:11px;}
.d2-full .d2-ax{height:calc(var(--h) + 14px);margin:-7px 0;line-height:14px;}
.d2-full .d2-x{height:14px;}
.d2-full .d2-tip{font-size:12px;}
/* Diagramme */
.d2-ch{--h:150px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:5px;padding-top:8px;font-size:8px;font-weight:500;color:var(--t4);font-variant-numeric:tabular-nums;}
.d2-ch.zwei{grid-template-columns:auto minmax(0,1fr) auto;}
.d2-ch.bst,.d2-ch.dk{--h:110px;}
.d2-ax{height:calc(var(--h) + 12px);margin:-6px 0;display:flex;flex-direction:column;justify-content:space-between;line-height:12px;white-space:nowrap;}
.d2-ax.l{align-items:flex-end;} .d2-ax.r{align-items:flex-start;}
.d2-plot{position:relative;height:var(--h);touch-action:pan-y;cursor:crosshair;}
.d2-grid i{position:absolute;left:0;right:0;height:1px;background:var(--div);}
.d2-plot svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;}
.d2-x{position:relative;height:12px;}
.d2-x span{position:absolute;top:0;white-space:nowrap;}
.d2-hov{position:absolute;inset:0;pointer-events:none;}
.d2-hl{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--t1) 30%,transparent);}
.d2-dot{position:absolute;width:9px;height:9px;box-sizing:border-box;border-radius:50%;border:2px solid var(--d2-halo);box-shadow:0 1px 3px rgba(0,0,0,.3);transform:translate(-50%,-50%);}
.d2-tip{position:absolute;top:-2px;z-index:2;display:flex;flex-direction:column;gap:3px;padding:7px 10px;border-radius:9px;background:#1b1d1e;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.2);}
[data-theme="dark"] .d2-tip{background:#0f1012;border:1px solid rgba(255,255,255,.1);}
.d2-tip>span{display:flex;align-items:center;gap:6px;}
.d2-tip i{width:8px;height:2px;border-radius:1px;}
.d2-tip b{margin-left:auto;padding-left:10px;font-weight:700;}
.d2-tip em{min-width:46px;text-align:right;font-style:normal;font-size:10px;color:rgba(255,255,255,.55);}
.d2-tip .d2-tip-h{font-size:9px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.62);}
.d2-tip .d2-tip-f{margin-top:1px;padding-top:3px;border-top:1px solid rgba(255,255,255,.1);font-size:9px;color:rgba(255,255,255,.5);}
/* iPad und Mac: alle drei Reiter nebeneinander */
@container (min-width:1000px){
  .d2-tabs{display:none;}
  .d2-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;}
  .d2 .d2-col{display:flex;gap:10px;}
  .d2-list{box-sizing:border-box;height:var(--d2-lh,auto);overflow-y:auto;overscroll-behavior:contain;}
  .d2-list>.d2-cap-in{position:sticky;top:0;z-index:2;background:var(--d2-card);}
  .d2-rkc,.d2-zuc{box-sizing:border-box;height:var(--d2-rh,auto);overflow-y:auto;overscroll-behavior:contain;}
  .d2-zuc>.d2-card-hc{position:sticky;top:0;z-index:2;background:var(--d2-card);}
  .d2-list,.d2-rkc,.d2-zuc{scrollbar-width:none;-ms-overflow-style:none;}
  .d2-list::-webkit-scrollbar,.d2-rkc::-webkit-scrollbar,.d2-zuc::-webkit-scrollbar{display:none;}
  .d2-col-h{display:block;}
  .d2-act{display:inline-flex;}
  .d2-ch.erg,.d2-ch.abf{--h:170px;} .d2-ch.bst,.d2-ch.dk{--h:92px;}
}
.d2-full .d2-ch.bst,.d2-full .d2-ch.dk,.d2-full .d2-ch.erg,.d2-full .d2-ch.abf{--h:max(200px,calc(100dvh - 270px));}

/* Refinanzierung: Anteil des Flakon-EK, den die Abfüllungen schon zurückgeholt haben */
.d2-refi{position:relative;height:22px;margin:10px 0 2px;border-radius:6px;background:color-mix(in srgb,var(--red) 12%,transparent);overflow:hidden;}
.d2-refi i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--green) 26%,transparent);}
.d2-refi span{position:relative;display:flex;justify-content:space-between;gap:8px;padding:0 8px;line-height:22px;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.d2-refi b{font-weight:600;color:var(--t1);}
.d2-refi em{font-style:normal;font-weight:500;color:var(--t2);}
/* Düfte-Kachel: Umschalter Refinanzierung/Bestand neben dem Vollbild-Knopf */
.d2-gr-h{margin-bottom:10px;}
.d2-gr-r{display:flex;align-items:center;gap:12px;}
.d2-gr-h .d2-seg{flex:1 1 auto;width:auto;max-width:270px;min-width:0;}
.d2-gr-h .d2-gr-r{flex:1;justify-content:flex-end;min-width:0;}
.d2-gr-h .d2-zoom{margin:-9px -10px -9px -4px;}
.d2-seg[data-v="bst"] i{transform:translateX(100%);}
/* Drei Felder: das lange „Amortisierung“ bekommt mehr Platz, die beiden kurzen weniger; der Schieber folgt mit left/width */
.d2-seg3{grid-template-columns:1fr 1.6fr 1fr;}
.d2-gr-h .d2-seg.d2-seg3{flex:none;width:214px;max-width:none;}
.d2-seg.d2-seg3 i{transform:none;left:2px;width:calc((100% - 4px)/3.6);transition:left .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1);}
.d2-seg.d2-seg3[data-v="am"] i{left:calc(2px + (100% - 4px)/3.6);width:calc((100% - 4px)*1.6/3.6);}
.d2-seg.d2-seg3[data-v="bst"] i{left:calc(2px + (100% - 4px)*2.6/3.6);}
.d2-seg3 button{white-space:nowrap;padding-left:2px!important;padding-right:2px!important;}
.d2-ch.am{--h:110px;}
.d2-full .d2-ch.am{--h:max(200px,calc(100dvh - 270px));}
@container (min-width:1000px){ .d2-ch.am{--h:92px;} }
/* Rangliste ABFÜLLUNGEN: alle Einträge, Klick filtert das Journal */
.d2-rkc>.d2-rk-h{position:sticky;top:-14px;z-index:2;margin:-14px -16px 0;padding:14px 16px 6px;background:var(--d2-card);}
.d2-rk[data-ft]{cursor:pointer;border-radius:6px;}
.d2-rk[data-ft]:hover .d2-rk-bar{box-shadow:inset 0 0 0 1px var(--div);}
.d2-rk.on .d2-rk-bar{box-shadow:inset 0 0 0 1px var(--gold-line);}
.d2-rk.on>b{color:var(--gold);}
@container (max-width:999px){ .d2-rkc{max-height:440px;overflow-y:auto;overscroll-behavior:contain;} }
.d2-list-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
/* Unten bleibt beim Scrollen eine Zeile Abstand zum Kartenrand: Einträge laufen dort sanft aus */
.d2-rkc::after{content:"";position:sticky;bottom:-14px;z-index:2;flex:none;display:block;height:30px;margin:-12px -16px -14px;background:linear-gradient(to bottom,transparent,var(--d2-card) 55%);pointer-events:none;}
/* Zeitraum + Filter in einer Zeile; Filter als Auswahl mit Suche */
.d2-pr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%);gap:8px;}
@container (min-width:1000px){ .d2-pr{grid-template-columns:minmax(0,1fr) 260px;} }
.d2-fw{position:relative;display:flex;min-width:0;height:44px;border-radius:14px;background:var(--d2-card);border:1px solid var(--d2-cb);}
.d2-fw:has(.d2-fbtn.on){border-color:var(--gold-line);background:var(--gold-soft);}
.d2-fbtn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 10px;border:0;background:none;color:var(--t1);cursor:pointer;}
.d2-fbtn span{font-size:9px;font-weight:800;letter-spacing:.14em;padding-left:.14em;color:var(--gold);}
.d2-fbtn b{max-width:100%;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2-fbtn:not(.on) b{font-weight:500;color:var(--t2);}
.d2-fbx{flex:none;width:36px;display:flex;align-items:center;justify-content:center;border:0;border-left:1px solid var(--gold-line);background:none;color:var(--gold);cursor:pointer;}
.d2-fbx svg{width:13px;height:13px;}
.d2-fpop{position:absolute;right:0;top:50px;z-index:30;width:280px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:16px;background:var(--page2);border:1px solid var(--d2-cb);box-shadow:0 18px 44px rgba(0,0,0,.18);}
.d2-fpop .d2-seg{width:100%;padding:2px;border-radius:8px;}
.d2-fpop .d2-seg i{top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:6px;}
.d2-fpop .d2-seg button{padding:5px 0;font-size:12px;}
.d2-fpop input{min-width:0;font:inherit;font-size:13px;color:var(--t1);padding:8px 10px;border:1px solid var(--d2-btn);border-radius:10px;background:var(--d2-card);outline:none;}
.d2-fpop input:focus{border-color:var(--gold-line);}
.d2-fl{max-height:300px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;}
.d2-fl button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--t1);text-align:left;cursor:pointer;}
.d2-fl button[hidden]{display:none;}
.d2-fl button:hover{background:var(--d2-panel);}
.d2-fl button.on{background:var(--gold-soft);color:var(--gold);}
.d2-fl b{min-width:0;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.d2-fl button.on b{font-weight:700;}
.d2-fl i{flex:none;font-style:normal;font-size:11px;color:var(--t4);font-variant-numeric:tabular-nums;}
.d2-fx{height:36px;border:0;border-top:1px solid var(--div);background:none;font-size:12px;font-weight:600;color:var(--red);cursor:pointer;}
/* Auftragszeile Mitte: Aufteilung des Umsatzes (Düfte-EK · Material · Versand · Gewinn) */
.d2-o-m{min-width:0;max-width:260px;justify-self:center;align-self:center;width:100%;display:flex;flex-direction:column;}
.d2-o-mix{display:flex;gap:2px;height:16px;border-radius:4px;overflow:hidden;}
.d2-o-mix i{min-width:3px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;padding:0 4px;overflow:hidden;font-style:normal;line-height:1.15;white-space:nowrap;background:color-mix(in srgb,var(--c) 20%,transparent);box-shadow:inset 0 -2px 0 var(--c);}
.d2-o-mix b{flex:none;font-size:7.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--t3);overflow:hidden;text-overflow:clip;}
.d2-o-mix span{flex:none;font-size:7.5px;font-weight:700;letter-spacing:.05em;color:var(--t3);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:clip;}
/* Auftragsliste misst ihre eigene Breite: in schmalen Karten (3-Spalten-Ansicht, Handy) rutscht der Umsatz-Balken in eine eigene Zeile */
.d2-list{container:d2l / inline-size;}
@container d2l (max-width:560px){ .d2-o-line{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;} .d2-o-m{grid-column:1/-1;grid-row:2;max-width:none;} }
/* Zu schmale Abschnitte im Umsatz-Balken: Beschriftung ausblenden (Beträge bleiben im Tooltip) */
.d2-o-mix i.eng>*{visibility:hidden;}
/* Auftragszeile rechts: Umsatz · Kosten · Gewinn · Marge nebeneinander wie die Kennzahlen der Grafiken */
.d2-o-sum{display:flex;align-items:stretch;gap:0;padding-left:0;border-left:0;}
/* Trennlinien nur auf Höhe der Kennzahlen, wie in den Grafik-Panels */
.d2-o-sum>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:2px 9px;}
.d2-o-sum>div+div{border-left:1px solid var(--div);}
.d2-o-sum>div:last-child{padding-right:0;}
.d2-o-sum b{font-size:14px;font-weight:400;letter-spacing:-.02em;line-height:1;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;}
.d2-o-sum span{font-size:7.5px;font-weight:600;letter-spacing:.12em;color:var(--t4);white-space:nowrap;}
.d2-o-r .d2-o-sum{align-self:center;}
