@font-face{
  font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('/fonts/manrope.woff2?v=e310b55a') format('woff2-variations');
}
:root{
  --font-display:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  
  
  --fs-item:18px; --fs-qty:16px; --fs-group:12px; --fs-note:13px;
  
  --qslot-w:48px;
  --r-group:16px;
  
  --wash-pct:3.8%;
  
  --wash-a:.038;
  --wash-line:rgb(16 18 21 / .06);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --wash-a:.06;
  --wash-pct:6%;
  --wash-line:rgb(255 255 255 / .07);
}}
:root[data-theme="dark"]{ --wash-a:.06; --wash-pct:6%; --wash-line:rgb(255 255 255 / .07); }
:root{
  color-scheme:light;
  --ink-900:#101215; --ink-700:#2A2F36; --ink-500:#5A626E; --ink-400:#667080; --ink-300:#6A7079;
  --paper:#FBF9F4;  --surface:#FFFFFF;  --surface-2:#F6F5F1;
  --line:#E4E5E1;   --line-inset:#EFEDE8; --line-strong:#D8D6CF;
  --privat-wasch:#E9E4D6;
  --signal:#F2C200; --fokus:#B58A00; --signal-ink:#171400; --signal-tint:rgb(242 194 0 / .12);
  --signal-mark:#171400;
  --danger:#D92D20;
  --marke:#A32860;
  --toast-akzent:#F2C200;
  --ok:#3FA46A;
  --urgent:#8A6426;
  --done:#8A9199;
  --shadow:0 1px 1px rgb(43 42 38 / .04);
  --edge:0 0 transparent;   
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px; --s8:40px;
  --r-row:10px; --r-card:12px; --r-ctl:8px; --r-pill:999px;
  --kopf-gap:4px;
  
  --row-h:46px; --content-w:640px;
  --side-w:280px; --grid-gap:36px;
  --ease:cubic-bezier(.22,1,.36,1);
  --t-fast:150ms; --t-mid:220ms; --t-slow:280ms;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  color-scheme:dark;
  --ink-900:#F2F3F0; --ink-700:#C9CDD3; --ink-500:#8B929C; --ink-400:#7E8590; --ink-300:#7A8390;
  --paper:#131211;  --surface:#1E1C1A;  --surface-2:#262320;
  --line:#302D28;   --line-inset:#2A2723; --line-strong:#3A3733;
  --privat-wasch:#2A2723;
  --signal:#FFD21F; --fokus:#FFD21F; --signal-tint:rgb(255 210 31 / .16); --signal-mark:#FFD21F;
  --danger:#F97066; --urgent:#D4A75F; --done:#6A717A; --ok:#68B188;
  --marke:#DB7FA4;
  --toast-akzent:#F2C200;
  --shadow:0 0 transparent;
  --edge:inset 0 1px 0 rgb(255 255 255 / .04);
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink-900:#F2F3F0; --ink-700:#C9CDD3; --ink-500:#8B929C; --ink-400:#7E8590; --ink-300:#7A8390;
  --paper:#131211;  --surface:#1E1C1A;  --surface-2:#262320;
  --line:#302D28;   --line-inset:#2A2723; --line-strong:#3A3733;
  --privat-wasch:#2A2723;
  --signal:#FFD21F; --fokus:#FFD21F; --signal-tint:rgb(255 210 31 / .16); --signal-mark:#FFD21F;
  --danger:#F97066; --urgent:#D4A75F; --done:#6A717A; --ok:#68B188;
  --marke:#DB7FA4;
  --toast-akzent:#F2C200;
  --shadow:0 0 transparent; --edge:inset 0 1px 0 rgb(255 255 255 / .04);
}
:root{
  --st-discounter-ic:#1D7C49;     --st-discounter-hd:#1C874E;
  --st-supermarkt-ic:#A15926;     --st-supermarkt-hd:#A95B23;
  --st-drogerie-ic:#9C29AE;       --st-drogerie-hd:#9723A9;
  --st-getraenkemarkt-ic:#2967AE; --st-getraenkemarkt-hd:#2362A9;
  --st-bioladen-ic:#62741B;       --st-bioladen-hd:#677B19;
  --st-sonstiges-ic:#6B6357;      --st-sonstiges-hd:#58514A;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --st-discounter-ic:#66B185;     --st-discounter-hd:#286243;
  --st-supermarkt-ic:#D29265;     --st-supermarkt-hd:#6D472C;
  --st-drogerie-ic:#D084DB;       --st-drogerie-hd:#642C6D;
  --st-getraenkemarkt-ic:#79A5D8; --st-getraenkemarkt-hd:#2C4A6D;
  --st-bioladen-ic:#97A95C;       --st-bioladen-hd:#535E26;
  --st-sonstiges-ic:#9A9184;      --st-sonstiges-hd:#2A2620;
}}
:root[data-theme="dark"]{
  --st-discounter-ic:#66B185;     --st-discounter-hd:#286243;
  --st-supermarkt-ic:#D29265;     --st-supermarkt-hd:#6D472C;
  --st-drogerie-ic:#D084DB;       --st-drogerie-hd:#642C6D;
  --st-getraenkemarkt-ic:#79A5D8; --st-getraenkemarkt-hd:#2C4A6D;
  --st-bioladen-ic:#97A95C;       --st-bioladen-hd:#535E26;
  --st-sonstiges-ic:#9A9184;      --st-sonstiges-hd:#2A2620;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%}
html{background:var(--paper)}
body{
  margin:0;background:var(--paper);color:var(--ink-900);
  font:17px/1.5 var(--font-display);
  font-variant-ligatures:none;
  -webkit-font-smoothing:antialiased;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);
}
body.app{
  height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative;
}
button,input,select,textarea{font:inherit;color:inherit;touch-action:manipulation}
input,select,textarea{font-size:16px}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--fokus);outline-offset:2px}
.group-hd,.foldlink,.menge,.privat-aug{position:relative}
.privat-aug{top:1px}
.group-hd::after,.foldlink::after,.menge::after,.privat-aug::after{
  content:'';position:absolute;left:0;right:0;
  top:calc((44px - 100%) / -2);bottom:calc((44px - 100%) / -2);
}
.hdr h1,.hdr-demo,.bar-priv{position:relative}
.hdr h1::after{content:'';position:absolute;left:0;right:0;top:-15px;bottom:0}
.hdr-demo::after{content:'';position:absolute;left:0;right:0;top:-16px;bottom:-6px}
.bar-priv::after{content:'';position:absolute;left:0;right:0;top:-5px;bottom:-5px}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.wrap{max-width:var(--content-w);margin-inline:auto;padding:var(--s6) var(--s4)}
.hero{padding:var(--s8) 0 var(--s6)}
.hero-mark{width:46px;height:46px;color:var(--ink-900);margin-bottom:var(--s4);display:block}
.hero h1{
  margin:0 0 var(--s2);font:800 clamp(26px,8vw,32px)/1.12 var(--font-display);
  letter-spacing:-.03em;
}
.hero p{margin:0;color:var(--ink-500);font-size:17px;max-width:34ch}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--shadow),var(--edge);padding:var(--s5);margin-bottom:var(--s4);
}
.card h2{
  margin:0 0 var(--s3);font:800 var(--fs-group) var(--font-display);
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink-500);
}
.card h2+.hint{margin-top:calc(var(--s3) * -1 + 2px)}
.card p.hint{margin:var(--s3) 0 0;font-size:13px;color:var(--ink-500)}
.card .msg:empty{display:none}
.feldhilfe{display:block;margin:6px 0 0;font-size:12px;line-height:1.45;
  color:var(--ink-300)}
.codefield{
  width:100%;padding:var(--s4);border:1px solid var(--line-strong);
  border-radius:var(--r-ctl);background:var(--surface-2);color:var(--ink-900);
  font-size:26px;font-weight:600;letter-spacing:.18em;text-align:left;
  font-variant-numeric:tabular-nums;
}
.codefield::placeholder{color:var(--ink-300);letter-spacing:.18em;font-weight:500}
.codefield--wort{font-size:19px;letter-spacing:0;font-weight:600}
.codefield--wort::placeholder{letter-spacing:0}
.codefield:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-tint)}
.btn{
  width:100%;min-height:52px;margin-top:var(--s3);padding:0 var(--s4);
  border:2px solid transparent;border-radius:12px;
  background:var(--ink-900);color:var(--paper);
  font:700 17px var(--font-display);
  cursor:pointer;transition:transform var(--t-fast) var(--ease),opacity var(--t-fast);
}
.btn:active{transform:scale(.99)}
.btn[disabled]{opacity:.4;cursor:default}
.fuss{margin:14px 0 0;text-align:center}
.textlink{
  border:0;background:transparent;padding:6px 10px;cursor:pointer;
  font:600 15px var(--font-display);color:var(--ink-500);
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--line-strong);
  transition:color 180ms var(--ease);
}
.textlink:hover,.textlink:focus-visible{color:var(--ink-900)}
.btn-quiet{background:transparent;color:var(--ink-900);border:2px solid var(--ink-900)}
.sep{display:flex;align-items:center;gap:var(--s3);margin:var(--s5) 0;color:var(--ink-300);font-size:13px}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}
.msg{margin-top:var(--s3);font-size:14px;min-height:20px}
.msg.err{color:var(--danger)}
.msg.ok{color:var(--ink-500)}
.foot{margin-top:var(--s7);color:var(--ink-500);font-size:12px;line-height:1.6}
.hdr{
  min-width:0;
  align-self:stretch;
  position:relative;flex:none;z-index:20;background:var(--paper);
  padding:max(var(--s3), env(safe-area-inset-top)) var(--s4) 0;
}
.hdr-row,.hdr-line{max-width:var(--content-w);margin-inline:auto;
  display:flex;align-items:center;gap:var(--kopf-gap)}
.hdr-line{margin-top:8px;position:relative;
  border-bottom:1px solid var(--line)}
.hdr-zaehler{flex:none;font-size:13.5px;font-weight:600;color:var(--ink-300);
  white-space:nowrap}
.hdr-row{position:relative;z-index:1;display:flex;align-items:center;gap:var(--s3)}
.hdr-row #title{flex:0 1 auto;min-width:0}
.hdr-row .hdr-geist{flex:none}
.hdr-row .hdr-mark{flex:none;width:20px;height:20px;display:block;
  margin-right:calc(var(--s2) * -1 + 3px)}
.hdr h1{margin:0;font:800 26px/1.15 var(--font-display);letter-spacing:-.025em;
  color:var(--ink-900);flex:0 1 auto;min-width:0;max-width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  cursor:pointer;user-select:none;
  text-decoration:underline transparent;text-underline-offset:3px;
  transition:text-decoration-color 140ms var(--ease)}
.hdr h1:hover{text-decoration-color:var(--ink-300)}
.hdr h1:focus-visible{outline:2px solid var(--ink-900);outline-offset:3px;
  border-radius:4px}
.hdr-chip{flex:none;display:inline-flex;align-items:center;margin-left:auto}
.hdr-chip:empty{display:none}
.hdr-luecke{flex:1 1 0;min-width:0}
.presence{flex:none;display:flex;align-items:center;margin-right:var(--s2)}
.presence[hidden]{display:none!important}
.presence .who{margin-left:-6px;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--ink-900) 6%, var(--paper))}
.presence .who:first-child{margin-left:0}
.who-mehr{background:color-mix(in srgb, var(--ink-900) 12%, transparent);
  color:var(--ink-500)}
.im-laden{display:inline-flex;align-items:center;gap:5px;position:relative;
  height:34px;cursor:pointer;padding:0 10px 0 8px;
  border:1px solid color-mix(in srgb, var(--signal) 55%, var(--ink-900));
  border-radius:10px;
  background:color-mix(in srgb, var(--signal) 16%, transparent);
  font:600 13.5px var(--font-display);color:var(--ink-700);
  white-space:nowrap;-webkit-tap-highlight-color:transparent}
.im-laden::before{content:'';position:absolute;left:-2px;right:-2px;top:-5px;bottom:-5px}
.im-laden svg{width:14px;height:14px;stroke-width:1.75;flex:none}
.im-laden.scharf{color:var(--signal-ink);background:var(--signal);
  border-color:var(--signal)}
.neue-liste{background:var(--ink-900);color:var(--paper);text-decoration:none;
  border-color:transparent}
.neue-liste:active{background:var(--ink-700)}
.im-laden--fremd{cursor:default}
.im-laden--fremd::before{content:none}
.im-laden:focus-visible{outline:2px solid var(--fokus);outline-offset:3px;
  border-radius:var(--r-pill)}
.hdr-sub .st-dot{width:7px;height:7px;border-radius:var(--r-pill);background:currentColor;flex:none}
.dot{width:7px;height:7px;border-radius:var(--r-pill);flex:none;
  background:transparent;transition:background-color 200ms var(--ease)}
.dot.warn{background:var(--signal)}
.dot.off{background:var(--done)}
.stations{flex:1;min-width:0;display:flex;gap:20px;justify-content:space-between;align-items:baseline;
  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;
  touch-action:pan-x;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.stations::-webkit-scrollbar{display:none}
.stations.mehr-rechts{
  -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent)}
.stations.mehr-links{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 20px);
  mask-image:linear-gradient(to right,transparent,#000 20px)}
.stations.mehr-links.mehr-rechts{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent);
  mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.stations::-webkit-scrollbar{display:none}
.stations[hidden]{display:none!important}
:root{ --plan:#4A5568 }
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){ --plan:#9BA8BC }}
:root[data-theme="dark"]{ --plan:#9BA8BC }
.st.st-plan{--st-tab:var(--plan);--st-line:var(--plan)}
.st.st-plan.on{width:auto;padding:0 10px 0 8px}
.st-wort{display:grid;grid-template-columns:0fr;transition:grid-template-columns 180ms linear}
.st-wort>span{overflow:hidden;min-width:0;white-space:nowrap}
.st.st-symbol.on{width:auto;padding:0 10px 0 8px}
.st.st-symbol.on .st-wort{grid-template-columns:1fr}
.st.st-symbol.on .st-wort>span{padding-left:6px}
@media (prefers-reduced-motion:reduce){.st-wort{transition:none}}
.plan{padding:2px 0 24px}
.pl-kopf{font:800 11px var(--font-display);letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-400);margin:12px 2px 4px;display:flex;align-items:center;gap:8px;
  background:none;border:0;padding:0;text-align:left;width:100%}
.pl-spanne{font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink-300)}
.pl-mehr{cursor:pointer;min-height:44px}
.pl-stand{font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink-300)}
.pl-mehr .pl-pfeil{margin-left:auto}
.pl-pfeil{display:inline-block;transition:transform 160ms linear;font-size:14px}
.pl-mehr[aria-expanded="true"] .pl-pfeil{transform:rotate(90deg)}
.pl-tag{display:flex;align-items:center;gap:14px;min-height:var(--row-h);
  padding:6px 4px;cursor:text;position:relative;box-sizing:border-box;
  touch-action:pan-y;background:var(--paper);z-index:1;
  -webkit-user-select:none;user-select:none;margin-bottom:6px}
.pl-tag:last-child{margin-bottom:0}
.pl-loesch{display:none}
@media (hover:hover) and (pointer:fine){
  .pl-loesch{display:flex;align-items:center;justify-content:center;
    flex:none;width:32px;height:32px;border:0;background:transparent;
    color:var(--danger);cursor:pointer;padding:0;border-radius:50%;
    opacity:0;transition:opacity 140ms var(--ease),background 120ms var(--ease)}
  .pl-loesch svg{width:16px;height:16px;stroke-width:2}
  .pl-tag:hover .pl-loesch,
  .pl-tag:focus-within .pl-loesch{opacity:1}
  .pl-loesch:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}
  .pl-loesch:focus-visible{outline:2px solid var(--danger);outline-offset:2px;opacity:1}
}
.plan .pl-tag::before{content:'';position:absolute;top:0;bottom:0;right:-4px;width:50%;
  z-index:-1;border-radius:var(--r-ctl);background:rgb(217 45 32 / .12);
  opacity:0;transition:opacity var(--t-fast) var(--ease)}
.plan .pl-tag.pl-sw::before{opacity:1}
.plan .pl-tag::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D92D20' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M10 4h4a1 1 0 0 1 1 1v2H9V5a1 1 0 0 1 1-1z'/%3E%3Cpath d='M6 7l1 12.1A2 2 0 0 0 9 21h6a2 2 0 0 0 2-1.9L18 7'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E")
    right 20px center/21px 21px no-repeat,
    rgb(217 45 32 / .12)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .plan .pl-tag::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F97066' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M10 4h4a1 1 0 0 1 1 1v2H9V5a1 1 0 0 1 1-1z'/%3E%3Cpath d='M6 7l1 12.1A2 2 0 0 0 9 21h6a2 2 0 0 0 2-1.9L18 7'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E")
    right 20px center/21px 21px no-repeat,
    rgb(249 112 102 / .16)}}
:root[data-theme="dark"] .plan .pl-tag::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F97066' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M10 4h4a1 1 0 0 1 1 1v2H9V5a1 1 0 0 1 1-1z'/%3E%3Cpath d='M6 7l1 12.1A2 2 0 0 0 9 21h6a2 2 0 0 0 2-1.9L18 7'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E")
    right 20px center/21px 21px no-repeat,
    rgb(249 112 102 / .16)}
.pl-tag::after{content:"";position:absolute;left:52px;right:4px;bottom:0;
  height:1px;background:var(--line)}
.pl-tag:last-child::after{display:none}
.pl-tag.pl-heben{z-index:5;background:var(--surface);pointer-events:none;
  border-radius:10px;
  margin-left:-8px;margin-right:-4px;padding-left:12px;padding-right:8px;
  box-shadow:0 2px 6px rgb(0 0 0 / .10), 0 12px 28px rgb(0 0 0 / .18)}
.pl-tag.pl-heben::after{display:none}
.pl-tag.pl-ziel{background:var(--signal-tint)}
.pl-tag.pl-weicht{transition:transform 160ms var(--ease)}
@media (prefers-reduced-motion:reduce){
  .pl-tag.pl-weicht{transition:none}
}
.pl-wt{width:40px;flex:none;display:flex;flex-direction:column;gap:1px;
  justify-content:center;
  font:700 16px var(--font-display);color:var(--ink-400)}
.pl-wt i{font:600 12px var(--font-display);font-style:normal;color:var(--ink-300)}
.pl-mitte{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pl-gericht{font-size:16px;line-height:1.35;color:var(--ink-900);overflow-wrap:anywhere}
.pl-mitte{flex-direction:row;align-items:baseline}
.pl-plus{font-size:18px;line-height:1;color:var(--ink-200)}
.pl-vorbei .pl-gericht{color:var(--ink-400)}
.pl-tag .who{
  height:22px;min-width:22px;font-size:10.5px;margin-left:4px;
  font-weight:600;
}
.pl-heute .who{margin-right:4px}
.pl-punkt{display:inline-block;width:5px;height:5px;flex:none;margin-left:8px;
  border-radius:var(--r-pill);background:var(--st-discounter-ic);
  vertical-align:middle;position:relative;top:-2px}
.pl-zt{border:0;background:transparent;flex:none;margin-left:4px;padding:0;
  color:var(--ink-200);cursor:pointer;position:relative;
  display:flex;align-items:center;justify-content:center}
.pl-zt svg{width:24.6px;height:24.6px;stroke-width:1.5}
.pl-zt::before{content:'';position:absolute;inset:-11px}
.pl-zt:hover{color:var(--ink-500)}
.pl-heute .pl-zt:not(:has(~ .who)){margin-right:4px}
.pl-heute{background:color-mix(in srgb, var(--amber) 45%, transparent);
  border-radius:10px;margin:0 -4px 0 -8px;padding-left:12px}
.pl-tag + .pl-heute{margin-top:-6px;padding-top:12px;
  min-height:calc(var(--row-h) + 6px)}
.pl-heute::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;
  border-radius:2px;background:var(--urgent)}
.pl-tag + .pl-heute::before{top:12px}
.pl-heute::after{display:none}
.pl-tag:has(+ .pl-heute)::after{display:none}
.pl-heute .pl-wt{color:var(--ink-900)}
:root{ --amber:#F3E7C8; --ink-200:#C3C9D2 }
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --amber:#3A3122; --ink-200:#4A5058 }}
:root[data-theme="dark"]{ --amber:#3A3122; --ink-200:#4A5058 }
.pl-feld{flex:1;min-width:0;font:inherit;font-size:16px;line-height:1.35;
  color:var(--ink-900);background:transparent;border:0;
  padding:0;outline:none}
p.hint.zt-datum{margin:0 0 var(--s5)}
.zt-liste{margin:0 0 var(--s5)}
.zt-zeile{display:flex;align-items:center;gap:var(--s3);padding:9px 0;
  border-bottom:1px solid var(--line-inset)}
.zt-zeile:last-child{border-bottom:0}
.zt-punkt{flex:none;width:9px;height:9px;border-radius:var(--r-pill);
  border:1.5px solid var(--ink-400);background:transparent;
  padding:0;font:inherit;color:inherit}
.chip.zt-chip{width:34px;height:34px;padding:0;justify-content:center;
  border-radius:50%;
  margin-left:auto;margin-right:var(--s2);touch-action:none;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.zt-punkt.zt-da{border-color:var(--st-discounter-ic);background:var(--st-discounter-ic)}
.zt-meta{flex:1;min-width:0}
.zt-meta b{display:block;font-size:15px;font-weight:550;color:var(--ink-900);
  overflow-wrap:anywhere}
.zt-meta span{display:block;font-size:11px;color:var(--ink-500);
  text-transform:uppercase;letter-spacing:.06em;margin-top:1px}
.zt-leer{margin:0 0 var(--s5);padding:9px 0;color:var(--ink-400);font-size:14px}
.zt-neu{display:flex;gap:var(--s2);margin:0;width:100%}
.zt-neu input{flex:1;min-width:0;min-height:44px;padding:0 14px;
  border:1.5px solid var(--line-strong);border-radius:12px;
  background:var(--surface);color:var(--ink-900)}
.zt-neu input:focus{outline:none;border-color:var(--ink-900)}
.zt-neu button{flex:none;width:44px;height:44px;border:0;border-radius:12px;
  background:var(--ink-900);color:var(--paper);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.zt-neu button svg{width:20px;height:20px;stroke-width:2}
.zt-neu button:active{background:var(--ink-700)}
p.hint.zt-fuss{margin:var(--s4) 0 0}
.filterband{display:flex;align-items:center;gap:10px;
  margin:4px 0 8px;padding:9px 12px;border-radius:var(--r-ctl);
  background:var(--signal-tint);
  box-shadow:inset 0 0 0 1px rgb(242 194 0 / .28)}
.fb-sym{flex:none;display:flex;align-items:center;color:var(--ink-700)}
.fb-sym svg{width:17px;height:17px}
.fb-text{flex:1;min-width:0;font-size:13.5px;color:var(--ink-700);
  display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.fb-text strong{color:var(--ink-900);font-weight:650}
.fb-tag{flex:none;font-size:11px;font-weight:600;color:var(--ink-500);
  background:var(--paper);border-radius:999px;padding:2px 8px}
.fb-weg{flex:none;min-height:32px;padding:0 10px;border:0;background:transparent;
  font:inherit;font-size:13px;font-weight:600;color:var(--ink-700);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;
  border-radius:var(--r-ctl)}
.fb-weg:hover{color:var(--ink-900)}
.fb-weg:focus-visible{outline:2px solid var(--ink-900);outline-offset:1px}
.st{
  flex:none;border:0;background:transparent;cursor:pointer;
  font-family:var(--font-display);font-size:16px;line-height:1;
  font-weight:600;font-variation-settings:'wght' 600;
  font-synthesis:none;letter-spacing:0;
  color:var(--ink-300);padding:10px 0 9px;
  position:relative;white-space:nowrap;
  transition:color .14s}
.st:last-child{margin-right:0}
@media (hover:hover){
  .st:hover .st-ic{color:var(--st-line);opacity:1}
}
.st-ic{display:inline-block;margin-right:5px;line-height:0;
  vertical-align:-2px;color:inherit;opacity:.75}
.st .st-ic svg{width:15px;height:15px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.st.on{color:var(--ink-900);font-weight:700;font-variation-settings:'wght' 700}
.st::before{content:'';position:absolute;top:-7px;bottom:-7px;left:0;right:0}
.st.on::after{content:'';position:absolute;left:0;right:0;bottom:-1px;
  height:2.5px;border-radius:2px;background:var(--st-line,var(--ink-900))}
@media (hover:hover) and (pointer:fine){
  .st:hover{color:var(--ink-700)}
}
.st.st-alles{height:34px;padding:0 12px;justify-content:center}
.st.st-symbol{width:34px;height:34px;padding:0;justify-content:center}
.st svg{display:block;width:20px;height:20px;stroke-width:1.75;flex:none}
.pull-muenze{
  position:fixed;left:50%;top:var(--hdr-h, 104px);
  
  transform:translate(-50%, calc(var(--pull-y, 0px) - 32px));
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--line);
  box-shadow:0 2px 8px rgb(0 0 0 / .10);
  color:var(--ink-400);
  opacity:clamp(0, calc(var(--pull-p, 0) * 1.6 - .2), 1);
  pointer-events:none;z-index:10;
  transition:transform var(--pull-t, 0s) var(--ease),
             opacity var(--pull-t, 0s) var(--ease),
             color 140ms var(--ease)}
.pull-muenze svg{width:16px;height:16px;display:block}
.pull-muenze.bereit{color:var(--marke)}
.pull-muenze.laeuft{color:var(--marke);opacity:1}
.pull-muenze.laeuft svg{animation:pull-dreh .6s linear infinite}
@keyframes pull-dreh{to{transform:rotate(360deg)}}
@media (hover:hover) and (pointer:fine){
  .pull-muenze{display:none}
}
.list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  width:100%;max-width:var(--content-w);margin:0 auto;
  padding:10px var(--s3) var(--s5) var(--s4);list-style:none;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.list.mehr-unten{
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent);
  mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent)}
@media (prefers-reduced-motion:no-preference){
  .list{transition:-webkit-mask-image 160ms linear,mask-image 160ms linear}
}
.list::-webkit-scrollbar{width:8px}
.list::-webkit-scrollbar-track{background:transparent}
.list::-webkit-scrollbar-thumb{
  background:var(--line-strong);border-radius:4px;
  border:2px solid transparent;background-clip:padding-box}
.group{
  --group-ink:oklch(.50 .10 var(--hue,257));
  --wash-solid:color-mix(in srgb, var(--group-ink) var(--wash-pct), var(--paper));
  background:oklch(.50 .10 var(--hue,257) / var(--wash-a));
  border-radius:var(--r-group);
  
  padding:10px 10px 4px;margin:0 0 10px;
}
.group--urgent{--hue:78}
.group--plain, .group--done{--wash-a:0; --wash-pct:0%}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .group{
  --group-ink:oklch(.72 .095 var(--hue,257));
  background:oklch(.72 .095 var(--hue,257) / var(--wash-a));
}}
:root[data-theme="dark"] .group{
  --group-ink:oklch(.72 .095 var(--hue,257));
  background:oklch(.72 .095 var(--hue,257) / var(--wash-a));
}
.group-hd{
  display:flex;align-items:center;gap:8px;padding:0 4px 6px;
  font:800 var(--fs-group)/1 var(--font-display);
  letter-spacing:.08em;text-transform:uppercase;color:var(--group-ink);
}
.group-hd svg{width:14px;height:14px;flex:none;opacity:.7}
.group-hd .count{margin-left:5px;font:800 var(--fs-group) var(--font-display);
  letter-spacing:.08em;color:var(--ink-300)}
.group-hd .caret{margin-left:auto}
.group-hd .caret{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--ink-300)}
.group-hd .caret .count{margin-left:0}
.group-hd .caret svg{width:14px;height:14px;transition:transform var(--t-fast) var(--ease)}
button.group-hd{width:100%;text-align:left;border:0;background:transparent;cursor:pointer}
@media (hover:hover) and (pointer:fine){
  .group-hd .caret svg{opacity:0;transition:opacity 120ms var(--ease),transform var(--t-fast) var(--ease)}
  .group-hd:hover .caret svg,
  .group-hd:focus .caret svg,
  .group-hd[data-closed] .caret svg{opacity:1}
}
.group-hd:focus-visible{outline:2px solid var(--group-ink);outline-offset:2px;border-radius:6px}
button.group-hd[data-closed] .caret svg{transform:rotate(-90deg)}
.foldbar{display:flex;justify-content:space-between;align-items:baseline;
  margin:0 0 4px;padding:0 10px;gap:var(--s3)}
.foldlink--plan{margin:0 auto;color:var(--ink-500)}
.foldlink--plan::before,.foldlink--plan::after{content:"·";color:var(--ink-300);
  margin:0 8px;font-weight:400}
.foldlink--plan:hover{color:var(--ink-900)}
.fold-count{font:600 12.5px var(--font-display);color:var(--ink-300);
  white-space:nowrap;padding:4px 0}
.foldlink{
  border:0;background:transparent;padding:4px 0;cursor:pointer;
  font:600 12.5px var(--font-display);color:var(--ink-300);
}
.foldlink:hover{color:var(--ink-500)}
.foldlink:focus-visible{outline:2px solid var(--ink-500);outline-offset:2px;border-radius:4px}
.group--done{padding:10px 10px 12px;margin-top:var(--s5)}
.group--done .group-hd{color:var(--ink-500);border-bottom:1px dotted var(--line-strong);
  padding-bottom:8px}
.rows{list-style:none;padding:0;margin:0;
  display:grid;
  grid-template-columns:auto max-content max-content 1fr auto;
  column-gap:10px;
  align-items:stretch}
.rows[hidden]{display:none!important}
.rows > li{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;
  align-items:stretch}
.rows > li > .row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;
  align-items:center;align-content:center;column-gap:10px;row-gap:0;
  padding:3px 0;border:0;background:var(--wash-solid,var(--paper));color:inherit;
  font:inherit;text-align:left;cursor:pointer;position:relative;z-index:1;
  -webkit-user-select:none;user-select:none;touch-action:pan-y;min-height:var(--row-h)}
.rows .tick{grid-column:1;grid-row:1;align-self:center;justify-self:center;margin-top:-1px}
.rows .nm{grid-column:2;grid-row:1;align-self:center;
  min-width:var(--nm-w,0);font-size:var(--fs-item);font-weight:600;letter-spacing:-.005em;
  line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:var(--ink-900)}
.rows .menge{grid-column:3;grid-row:1;align-self:center;justify-self:start;
  margin-left:6px}
.rows .rechts{grid-column:5;grid-row:1;justify-self:end;
  display:flex;align-items:center;gap:6px;min-height:40px}
.rows .sub{grid-column:2 / 3;grid-row:2;padding-left:0;margin-top:-4px;
  min-width:0;overflow:hidden}
.row{
  display:flex;align-items:center;gap:10px;width:100%;min-height:var(--row-h);
  padding:5px 0;border:0;background:transparent;color:inherit;font:inherit;
  text-align:left;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;
}
.row:has(.sub) .tick{margin-top:-1px}
.row+.row::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--wash-line)}
.row:active{background:var(--surface-2)}
.rows > li,.row,.row *{-webkit-touch-callout:none}
::selection{background:var(--signal-tint);color:var(--ink-900)}
.row{touch-action:pan-y;background:var(--wash-solid,var(--paper));z-index:1}
li:has(> .row){position:relative;overflow:hidden}
li:has(> .row)::before{
  content:'';position:absolute;top:0;bottom:0;width:50%;left:0;background:var(--signal-tint);
  opacity:0;transition:opacity var(--t-fast) var(--ease)}
li:has(> .row.sw-right)::before{opacity:1}
li:has(> .row)::after{
  content:'';position:absolute;left:18px;top:50%;width:16px;height:16px;margin-top:-8px;
  background:var(--signal-mark);pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3.5l2.6 5.3 5.9.9-4.2 4.1 1 5.8-5.3-2.8-5.3 2.8 1-5.8-4.2-4.1 5.9-.9z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3.5l2.6 5.3 5.9.9-4.2 4.1 1 5.8-5.3-2.8-5.3 2.8 1-5.8-4.2-4.1 5.9-.9z'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;transform:scale(.7);
  transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
li:has(> .row.sw-right)::after{opacity:1;transform:scale(1)}
.wipe-actions{position:absolute;top:50%;transform:translateY(-50%);
  right:4px;height:26px;
  display:flex;align-items:center;padding:0 6px;gap:0;z-index:0;
  border-radius:20px;background:var(--surface,#FBF9F4);
  border:1px solid var(--line);
  box-shadow:0 2px 6px rgb(0 0 0 / .08);
  width:max-content}
@media (hover:hover) and (pointer:fine){
  .wipe-actions{right:52px;z-index:2;
    opacity:0;pointer-events:none;
    transition:opacity 140ms var(--ease)}
  .rows > li:has(.qmark) .wipe-actions{right:76px}
  .rows > li:hover .wipe-actions,
  .rows > li:focus-within .wipe-actions{opacity:1;pointer-events:auto}
}
.wipe-btn{position:relative;flex:none;width:33px;height:26px;border:0;background:transparent;
  color:var(--ink-700);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  font:inherit;padding:0;border-radius:50%}
@media (hover:none), (pointer:coarse){
  .wipe-btn::after{content:'';position:absolute;left:-5px;right:-5px;top:-9px;bottom:-9px}
}
li:has(> .row.sw-left) .wipe-actions{z-index:3}
li:has(> .row.sw-panel-open) .wipe-actions{z-index:3;opacity:1;pointer-events:auto}
li:has(> .row.sw-ziehen) .wipe-actions{z-index:3;pointer-events:none}
.row.sw-panel-open .wo-chip,
.row.sw-panel-open .push-chip,
.row.sw-panel-open .qmark{opacity:0;pointer-events:none;
  transition:opacity 140ms var(--ease)}
.wipe-btn svg{width:17px;height:17px;stroke-width:2;fill:none;stroke:currentColor;
  position:relative;z-index:1}
.wipe-zahl{flex:none;min-width:24px;text-align:center;padding:2px 3px;
  border-radius:9px;
  font:700 14px/1 var(--font-display);font-variant-numeric:tabular-nums;
  color:var(--ink-900);white-space:nowrap}
.wipe-hair{flex:none;width:1px;height:14px;background:var(--line-strong);
  margin:0 5px}
.wipe-rm{color:var(--danger)}
.wipe-btn::before{content:'';position:absolute;inset:3px;border-radius:50%;
  background:transparent;transition:background 120ms var(--ease,ease)}
.wipe-btn:active::before{background:var(--surface-2)}
@media (hover:hover) and (pointer:fine){
  .wipe-btn:hover::before{background:var(--surface-2)}
}
.wipe-btn:focus-visible{outline:2px solid var(--fokus);outline-offset:2px}
.striking .nm{color:var(--done);text-decoration:line-through;
  transition:color var(--t-mid) var(--ease)}
.striking .qslot,.striking .sub{color:var(--done)}
.row.hit{background:var(--signal-tint);border-radius:var(--r-ctl)}
.row.hit .nm{font-weight:600}
.tick{
  flex:none;width:22px;height:22px;border-radius:50%;
  border:1.6px solid var(--line-strong);background:transparent;
  position:relative;display:flex;align-items:center;justify-content:center;
  color:var(--paper);
  transition:background-color 150ms var(--ease),border-color 150ms var(--ease);
}
.row:has(.sub){align-items:flex-start}
.tick::before{content:"";position:absolute;inset:-11px;border-radius:50%}
.tick svg{width:12px;height:12px;
  opacity:0;transform:scale(.6);
  transition:opacity 150ms var(--ease),transform 150ms var(--ease)}
.tick.on{background:transparent;border-color:var(--ink-300);color:var(--ink-300)}
.tick.on svg{opacity:1;transform:scale(1);stroke-width:1.8}
.tick:active{background:color-mix(in srgb, var(--ink-900) 8%, transparent)}
.tick.on:active{background:color-mix(in srgb, var(--ink-300) 14%, transparent)}
.push-chip{flex:none;align-self:center;width:34px;height:34px;margin-left:6px;border:0;
  border-radius:9px;background:transparent;color:var(--ink-300);cursor:pointer;
  display:flex;align-items:center;justify-content:center;position:relative;
  transition:color .12s,background .12s}
.push-chip::after{content:"";position:absolute;top:50%;left:50%;
  width:44px;height:44px;transform:translate(-50%,-50%)}
.push-chip svg{width:18px;height:18px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){
  .push-chip:hover{color:var(--st-ziel,var(--ink-500));background:var(--surface-2)}
}
.push-chip.blitz{color:var(--st-ziel,var(--ink-900));background:var(--surface-2);
  transition:none}
.push-chip:active{color:var(--st-ziel,var(--ink-900));background:var(--surface-2)}
.push-chip{gap:1px}
.push-chip .push-pfeil{position:static;flex:none;width:10px;height:10px;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;
  stroke-linejoin:round;opacity:.7;pointer-events:none}
.wo-chip{flex:none;width:26px;height:24px;margin-left:6px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-300)}
.wo-chip svg{width:17px;height:17px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.plan-schalter{display:flex;align-items:center;gap:10px;margin:0 0 var(--s3);
  font-size:14.5px;color:var(--ink-700);cursor:pointer}
.plan-schalter input{width:20px;height:20px;flex:none}
.menu-wert{margin-left:auto;font-size:14px;font-weight:500;color:var(--ink-400);
  white-space:nowrap}
.seg.seg-breit{display:grid;grid-auto-flow:column;grid-template-columns:none;
  grid-auto-columns:minmax(0,1fr);width:100%;
  background:var(--surface-2);border-radius:16px;padding:4px;gap:4px}
.seg.seg-breit button{height:34px;border:1px solid transparent;border-radius:12px;
  background:transparent;font:inherit;font-size:15px;font-weight:600;
  color:var(--ink-400);cursor:pointer;text-align:center;transition:all .14s;
  display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}
.seg.seg-breit button.on{background:var(--surface);border-color:var(--line);
  color:var(--ink-900);font-weight:700}
.kp-text{max-width:46ch;font-size:14px;color:var(--ink-500);line-height:1.5}
.kp-datum{margin:10px 0 0;font-size:13px;color:var(--ink-300)}
.sheet-h2-klein{font-size:22px}
.menu-recht{display:flex;justify-content:flex-end;gap:9px;margin:20px 0 24px;padding-top:18px;
  border-top:1px solid var(--line);font-size:13px;color:var(--ink-400)}
.menu-recht a{color:var(--ink-400);text-decoration:none;transition:color .16s}
.menu-recht a:hover{color:var(--ink-900);text-decoration:underline;
  text-underline-offset:3px}
.menu-recht span{color:color-mix(in oklab, var(--ink-300) 65%, var(--surface))}
.menu-recht .menu-rev{color:var(--ink-400);font-variant-numeric:tabular-nums}
.loeschband{display:flex;align-items:center;gap:12px;
  padding:10px var(--s4);background:var(--signal-tint);
  border-bottom:1px solid var(--line);
  font-size:14px;color:var(--ink-900)}
.loeschband[hidden]{display:none!important}
.loeschband>span{flex:1;min-width:0}
.loeschband button{flex:none;height:32px;padding:0 12px;border-radius:12px;
  border:1.5px solid var(--line-strong);background:var(--surface);
  font:600 13.5px var(--font-display);color:var(--ink-900);cursor:pointer}
.seg.seg-breit button.seg-weg{color:var(--danger);font-weight:700}
.seg.seg-breit button.seg-weg:active{background:color-mix(in srgb, var(--danger) 8%, transparent)}
.pill-weg{height:38px;padding:0 14px;border-radius:12px;border:0;
  background:var(--danger);color:#FFF;
  font:700 14.5px var(--font-display);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.pill-weg:active{transform:scale(.96)}
.rechtszeile{display:flex;justify-content:center;gap:10px;
  margin-top:20px;padding-top:24px;padding-bottom:24px;
  border-top:1px solid var(--line);font-size:13px;color:var(--ink-500)}
.rechtszeile a{color:var(--ink-500);text-decoration:none;transition:color .16s}
.rechtszeile a:hover{color:var(--ink-900);text-decoration:underline;
  text-underline-offset:3px}
.rechtszeile span{color:color-mix(in oklab, var(--ink-300) 68%, var(--paper))}
.teil-link{display:flex;align-items:center;gap:8px;margin-top:12px;
  border:1px solid var(--line-strong);border-radius:var(--r-ctl);
  background:var(--surface);padding:0 6px 0 13px;height:48px}
.teil-url{flex:1;min-width:0;border:0;background:transparent;padding:0;
  font:inherit;font-size:14px;color:var(--ink-900);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teil-url:focus{outline:none}
.teil-copy{flex:none;width:38px;height:38px;border:0;border-radius:10px;
  background:transparent;color:var(--ink-500);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .14s}
.teil-copy svg{width:19px;height:19px;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.teil-copy:hover{background:var(--surface-2);color:var(--ink-900)}
.teil-copy.ok{color:#1D7C49}
.qr-karte{display:flex;gap:14px;align-items:center;margin-top:16px;padding:14px;
  border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.qr-bild{flex:none;width:104px;height:104px;border-radius:8px;overflow:hidden;
  background:#FFF;display:flex;padding:0}
.qr-bild svg{display:block}
.qr-karte b{display:block;font-size:14.5px;margin-bottom:3px;color:var(--ink-900)}
.qr-karte p{margin:0;font-size:13px;line-height:1.45;color:var(--ink-500)}
.fa-box{display:block;margin:3px 0 0;padding:7px 10px;border-radius:9px;
  background:color-mix(in oklab, var(--signal) 8%, transparent);
  font-size:var(--fs-note);line-height:1.35}
.fa-box .fa-q,.fa-box .fa-a{display:flex;align-items:flex-start;gap:8px}
.fa-i{width:13px;height:13px;flex:none;margin-top:1px;fill:none;
  stroke:#8A6A0E;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fa-i-a{stroke:#1D7C49}
.fa-box .fa-q{font-style:italic;color:var(--ink-500)}
.fa-box .fa-a{color:var(--ink-900);margin-top:4px}
.fa-wer{font-style:normal;color:var(--ink-300);margin-left:5px;white-space:nowrap}
.fa-box.offen{background:color-mix(in oklab, var(--signal) 13%, transparent)}
.fa-box.offen .fa-q{color:#8A6A0E;font-style:normal}
.fa-box.offen .fa-wer{color:#8A6A0E;opacity:.75}
:root[data-theme="dark"] .fa-i{stroke:var(--urgent)}
:root[data-theme="dark"] .fa-box.offen .fa-q,
:root[data-theme="dark"] .fa-box.offen .fa-wer,
:root[data-theme="dark"] .qd-q .qi{color:var(--urgent);stroke:var(--urgent)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .fa-i{stroke:var(--urgent)}
  :root:not([data-theme="light"]) .fa-box.offen .fa-q,
  :root:not([data-theme="light"]) .fa-box.offen .fa-wer,
  :root:not([data-theme="light"]) .qd-q .qi{color:var(--urgent);stroke:var(--urgent)} }
.ah-leiste{display:flex;align-items:center;gap:6px;
  padding:8px var(--s3) 8px var(--s4);
  border-top:1px solid var(--line-inset);background:var(--surface)}
.ah-oeffnen{flex:1;min-width:0;display:flex;align-items:center;gap:11px;
  border:0;background:transparent;padding:4px 2px;cursor:pointer;
  font:inherit;color:inherit;text-align:left;border-radius:var(--r-ctl)}
.ah-symbol{flex:none;width:34px;height:34px;border-radius:10px;
  background:color-mix(in srgb, var(--marke) 10%, transparent);
  color:var(--marke);display:flex;align-items:center;justify-content:center}
.ah-symbol svg{width:19px;height:19px}
.ah-text{min-width:0;display:flex;flex-direction:column;gap:1px}
.ah-text b{font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.ah-text span{font-size:12.5px;color:var(--ink-500)}
.ah-mehr{flex:none;display:flex;align-items:center;color:var(--ink-300);
  transition:transform .14s var(--ease),color .14s}
.ah-mehr svg{width:16px;height:16px}
.ah-oeffnen:active .ah-mehr{transform:translateX(2px);color:var(--ink-500)}
.ah-weg{flex:none;width:34px;height:34px;border:0;background:transparent;
  cursor:pointer;border-radius:50%;position:relative;color:var(--ink-400)}
.ah-weg::before,.ah-weg::after{content:'';position:absolute;left:11px;top:16px;
  width:12px;height:1.8px;border-radius:1px;background:currentColor}
.ah-weg::before{transform:rotate(45deg)}
.ah-weg::after{transform:rotate(-45deg)}
@media (hover:hover) and (pointer:fine){
  .ah-oeffnen:hover{background:var(--surface-2)}
  .ah-weg:hover{background:var(--surface-2);color:var(--ink-700)}
}
.ah-oeffnen:active{transform:scale(.99)}
.ah-vor{margin:0 0 18px;font-size:14.5px;line-height:1.55;color:var(--ink-500)}
.ah-schritte{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ah-schritte li{display:flex;gap:13px;align-items:flex-start}
.ah-nr{flex:none;width:26px;height:26px;border-radius:50%;background:var(--marke);
  color:#FFF;font-size:13px;font-weight:800;display:flex;align-items:center;
  justify-content:center;margin-top:1px}
.ah-nr.fertig{background:var(--ok)}
.ah-schritte b{display:block;font-size:15px;margin-bottom:3px;letter-spacing:-.01em}
.ah-schritte p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-500)}
.ah-hinweis{margin-top:20px;border-radius:var(--r-ctl);padding:12px 14px;
  font-size:13px;line-height:1.5}
.ah-hinweis.amber{background:var(--signal-tint);color:var(--ink-700)}
.ah-hinweis.gruen{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ink-700)}
@media (prefers-reduced-motion: reduce){
  .tick,.tick svg{transition:none}
}
.row .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.row .nm{flex:none;min-width:var(--nm-w,auto);font-size:var(--fs-item);font-weight:600;letter-spacing:-.005em;
  line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .sub{display:flex;align-items:center;gap:6px;font-size:var(--fs-note);color:var(--ink-500);
  line-height:1.2;min-width:0;padding-left:0
  }
.row .sub .note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dup{flex:none;color:var(--ink-300);font-variant-numeric:tabular-nums}
.dup + .note::before{content:'· ';color:var(--ink-300)}
.row .sub.qa-block{flex-direction:column;align-items:flex-start;gap:0;line-height:1.35;margin-top:-4px}
.qq{max-width:100%;color:var(--ink-500);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qa{max-width:100%;color:var(--ink-500);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qa-lbl{display:inline-block;min-width:4.6em;color:var(--ink-500);font-weight:400}
.qbox.qbox-done{background:color-mix(in srgb, var(--signal) 6%, transparent);
  border:0;border-radius:14px;padding:16px;
  display:flex;flex-direction:column;gap:8px;position:relative}
.qbox-done .qweg-link{position:absolute;top:10px;right:12px;
  background:transparent;border:0;padding:2px 0;cursor:pointer;
  font:400 12.5px var(--font-display);color:var(--ink-300);
  text-decoration:underline;text-underline-offset:2px}
.qbox-done .qweg-link:hover{color:var(--ink-500)}
.qd-q{display:flex;align-items:flex-start;gap:8px;
  padding-right:80px;
  color:var(--ink-500);font-style:italic;font-size:14.5px;line-height:1.35}
.qd-q .qi{flex:none;width:16px;height:16px;margin-top:1px;
  stroke-width:1.5;color:#9A7208}
.qd-a{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:4px}
.qd-a .qi-a{flex:none;width:16px;height:16px;margin-top:1px;
  stroke-width:1.5;color:var(--st-discounter-ic)}
.qd-a .qa{font-size:15px;font-weight:400;color:var(--ink-900);padding:0}
.qd-a .hint{margin:0;font-size:12.5px;color:var(--ink-300)}
.qd-a .qa,.qd-a .hint{align-self:baseline}
.row.done .nm{color:var(--ink-300);text-decoration:line-through;
  text-decoration-thickness:1px}
.row.done .sub{color:var(--done)}
.line{display:flex;align-items:baseline;gap:var(--s2);min-width:0}
.qslot{display:none}
.menge{flex:none;margin-left:16px;
  height:24px;padding:0 10px;border-radius:12px;
  background:color-mix(in srgb, var(--ink-900) 5%, transparent);
  color:var(--ink-900);
  font:500 12.5px/24px var(--font-display);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  display:inline-flex;align-items:center;align-self:center}
@keyframes menge-puls{
  0%   {transform:scale(1)}
  25%  {transform:scale(1.28);background:var(--ink-900);color:var(--paper)}
  60%  {transform:scale(1.06);background:var(--ink-900);color:var(--paper)}
  100% {transform:scale(1)}
}
.menge.puls,.wipe-zahl.puls{animation:menge-puls 420ms var(--ease,cubic-bezier(.22,.61,.36,1))}
@media (prefers-reduced-motion: reduce){
  @keyframes menge-puls{
    0%   {transform:none}
    25%  {background:var(--ink-900);color:var(--paper)}
    60%  {background:var(--ink-900);color:var(--paper)}
    100% {transform:none}
  }
}
.stepper{flex:none;display:flex;align-items:center;gap:11px}
.sbtn{position:relative;flex:none;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--line-strong);border-radius:var(--r-pill);
  background:var(--surface);
  color:var(--ink-900);cursor:pointer}
.sbtn--rm:active{color:var(--danger);background:var(--surface-2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sbtn{
  color:var(--ink-500)}}
:root[data-theme="dark"] .sbtn{color:var(--ink-500)}
@media (hover:hover) and (pointer:fine){
  .stepper{opacity:0;transition:opacity 120ms var(--ease)}
  .row:hover .stepper,
  .row:focus .stepper,
  .row:focus-within .stepper,
  .row:active .stepper{opacity:1}
}
.sbtn::before{content:'';position:absolute;left:-5px;right:-5px;top:-9px;bottom:-9px}
.sbtn svg{width:22px;height:22px;stroke-width:1.4}
.sbtn--rm svg{width:18px;height:18px;stroke-width:1.75}
.sbtn:active{background:var(--surface-2);color:var(--ink-900);transform:scale(.92)}
.sbtn.off{opacity:.28;pointer-events:none}
.inc:active{transform:scale(.92)}
.who{
  flex:none;height:20px;min-width:20px;padding:0 5px;border-radius:var(--r-pill);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;letter-spacing:.02em;border:0;
}
.row .who{
  height:22px;min-width:22px;font-size:10.5px;margin-left:4px;
  background:var(--line-strong);color:var(--ink-700);font-weight:600;
}
.chip{position:relative;flex:none;height:40px;padding:0 5px 0 7px;margin-left:2px;
  border:1.5px solid;border-color:color-mix(in srgb, currentColor 35%, transparent);
  border-radius:var(--r-pill);background:var(--surface);
  cursor:pointer;display:flex;align-items:center;gap:2px}
.chip::before{content:'';position:absolute;left:-5px;right:-5px;top:-8px;bottom:-8px}
.chip svg{width:15px;height:15px;stroke-width:2.15}
.chip svg.arrow{width:11px;height:11px;stroke-width:3.2;opacity:.6}
.chip[data-pick]{width:40px;padding:0;justify-content:center}
.chip:active{transform:scale(.94)}
.qmark{position:relative;flex:none;width:22px;height:22px;border-radius:var(--r-pill);
  border:0;background:var(--signal);color:var(--signal-ink);font-size:12px;font-weight:800;
  cursor:pointer;display:flex;align-items:center;justify-content:center;margin-right:2px}
.qmark::before{content:'';position:absolute;inset:-11px}
.fa-box[data-ask]{cursor:pointer}
.fa-box[data-ask]:focus-visible{outline:2px solid var(--fokus);outline-offset:2px;border-radius:8px}
body.plan-an .bar{display:none}
.bar{
  flex:none;z-index:30;background:var(--surface);
  border-top:1px solid var(--line);
  position:relative;
  padding:var(--s2) var(--s4) calc(var(--s2) + var(--safe-b,env(safe-area-inset-bottom)));
}
.bar-row{max-width:var(--content-w);margin-inline:auto;display:flex;gap:var(--s2);
  align-items:center;position:relative}
.bar-plus{position:absolute;left:16px;top:50%;width:18px;height:18px;
  margin-top:-9px;pointer-events:none;color:var(--ink-400)}
.bar-plus::before,.bar-plus::after{content:'';position:absolute;background:currentColor;
  border-radius:1px}
.bar-plus::before{left:0;top:8px;width:18px;height:2px}
.bar-plus::after{left:8px;top:0;width:2px;height:18px}
.bar-abschicken{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);border:0;padding:0;opacity:0;pointer-events:none}
.bar-row .bar-priv{position:absolute;right:9px;top:50%;margin-top:-17px;
  width:34px;height:34px;min-height:34px;
  display:flex;align-items:center;justify-content:center;
  border:0;padding:0;background:transparent;color:var(--ink-300);
  border-radius:50%;cursor:pointer;
  transition:color .14s,background-color .14s}
.bar-row .bar-priv svg{width:18px;height:18px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover) and (pointer:fine){
  .bar-row .bar-priv:hover{color:var(--ink-700);background:var(--surface-2)}
}
.bar-row .bar-priv:focus-visible{outline:2px solid var(--ink-900);outline-offset:1px}
.bar-row .bar-priv.an{color:var(--paper);background:var(--ink-900)}
.parse-hint{flex:none;font-size:12.5px;font-weight:700;color:var(--ink-500);
  background:var(--surface-2);border:1px solid var(--line-inset);
  border-radius:999px;padding:5px 10px;white-space:nowrap;
  font-variant-numeric:tabular-nums}
.bar-row input{
  flex:1;min-width:0;height:50px;
  padding:0 50px 0 44px;
  border:1.2px solid var(--line-strong);border-radius:25px;
  background:var(--surface);color:var(--ink-900);
  font:500 16px/1 var(--font-display);
  transition:border-color .14s,box-shadow .14s}
.bar-row input:focus{outline:none;border-color:var(--ink-900);box-shadow:0 0 0 3px var(--signal-tint)}
.bar-row button{border-radius:16px}
.bar-row button{
  flex:none;width:48px;min-height:48px;border:0;border-radius:16px;
  background:var(--ink-900);color:var(--paper);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.bar-row button svg{width:20px;height:20px}
.empty{padding:var(--s8) 0;text-align:center;color:var(--ink-500)}
.main{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}
.side{display:none}
.empty strong{display:block;color:var(--ink-900);font-size:17px;margin-bottom:var(--s1);font-weight:600}
.nur-breit{display:none}
.sugg{
  position:absolute;bottom:100%;left:var(--s4);right:var(--s4);
  margin:0 0 2px;
  display:flex;flex-direction:column;
  max-height:var(--sugg-max,min(45dvh,300px));overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:var(--r-card);
  background:var(--surface);
  border-color:var(--line-strong);
  box-shadow:0 2px 6px rgb(23 21 15 / .10), 0 12px 28px rgb(23 21 15 / .16);
}
.sugg::-webkit-scrollbar{display:none}
.sugg[hidden]{display:none!important}
.sugg button{
  display:flex;align-items:center;gap:var(--s3);width:100%;
  min-height:46px;padding:0 var(--s3);border:0;background:transparent;
  color:var(--ink-900);font-size:16px;font-weight:450;text-align:left;cursor:pointer;
}
.sugg button+button{border-top:1px solid var(--line-inset)}
.sugg button .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sugg button .sub{
  flex:none;font-size:11px;color:var(--ink-300);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
}
.sugg button .ic{flex:none;width:17px;height:17px;color:var(--ink-300);stroke-width:1.75}
.sugg button:active,.sugg button.hot{background:var(--surface-2)}
.hdr-geist{position:relative;flex:none;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border:0;border-radius:12px;background:transparent;color:var(--ink-300);
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color 120ms var(--ease),color 120ms var(--ease)}
.hdr-geist svg{stroke-width:1.8}
@media (hover:hover) and (pointer:fine){
  .hdr-geist:hover{color:var(--ink-700)}
}
.hdr-geist[hidden]{display:none}
.hdr-geist{position:relative}
.hdr-geist::after{content:"";position:absolute;top:50%;left:50%;
  width:44px;height:44px;transform:translate(-50%,-50%)}
.hdr-geist::before{content:'';position:absolute;top:-5px;bottom:-5px;left:-2px;right:-2px}
.hdr-geist:last-child::before{right:-7px}
.hdr-geist:active{background:color-mix(in srgb, var(--ink-900) 8%, transparent)}
.hdr-geist svg{width:21px;height:21px;stroke-width:1.75}
#pushbtn svg{width:18px;height:18px}
.hdr-geist:focus-visible{outline:2px solid var(--ink-900);outline-offset:2px}
.hdr-geist.on{color:var(--ink-900)}
.overlay{
  top:var(--vv-top, 0px);height:var(--vv-h, 100dvh);bottom:auto;
  
  position:fixed;left:0;right:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;
  background:rgb(31 27 22 / .45);
  padding:0;
}
.overlay[hidden]{display:none!important}
.overlay .card{width:100%;max-width:560px;margin:0;overflow:auto;
  max-height:min(86dvh, calc(100% - 24px));
  border-radius:16px 16px 0 0;padding:var(--s5) var(--s4) calc(var(--s4) + env(safe-area-inset-bottom))}
.overlay .card::before{content:'';display:block;width:40px;height:4px;margin:-6px auto 14px;
  border-radius:var(--r-pill);background:var(--line-strong)}
@media (hover:hover) and (pointer:fine) and (min-width:720px){
  .overlay .card::before{display:none}
  .overlay .card{padding-top:var(--s5)}
}
#sheet .sheet-head,#sheet .sheet-head *{
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#sheet{opacity:0;transition:opacity var(--t-fast) var(--ease)}
#sheet.offen{opacity:1}
#sheet .card{transform:translateY(14px);transition:transform var(--t-mid) var(--ease)}
#sheet.offen .card{transform:none}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:flex;gap:var(--s3);align-items:baseline;padding:10px 0}
.feed .who{align-self:center}
.feed .txt{flex:1;min-width:0;font-size:14px;line-height:1.45}
.feed .act{color:var(--ink-500)}
.feed .mng{color:var(--ink-500);white-space:nowrap}
.feed .when{display:block;color:var(--ink-300);font-size:12px;white-space:nowrap}
.feed-wieder{flex:none;width:auto;height:auto;
  display:inline-block;
  border:0;border-radius:4px;background:transparent;padding:0;
  color:var(--ink-500);cursor:pointer;position:relative;margin-left:6px;
  vertical-align:-3px}
.feed-wieder svg{width:14px;height:14px;stroke-width:1.8;display:block}
.feed-wieder:hover{color:var(--ink-900);background:var(--surface-2)}
.feed-wieder:active{transform:scale(.9)}
.feed-wieder:focus-visible{outline:2px solid var(--fokus);outline-offset:1px}
.feed-wieder-done{color:var(--ink-300);cursor:default}
.feed-wieder-done:hover,.feed-wieder-done:active{background:transparent;transform:none;color:var(--ink-300)}
.sheet-head{display:flex;align-items:center;gap:var(--s3);margin:0 0 var(--s4)}
.sheet-x{flex:none;margin-left:auto;width:40px;height:40px;border:0;padding:0;
  background:transparent;color:var(--ink-400);cursor:pointer;border-radius:50%;
  display:flex;align-items:center;justify-content:center;position:relative}
.sheet-x::before,.sheet-x::after{content:"";position:absolute;width:16px;height:2px;
  border-radius:2px;background:currentColor}
.sheet-x::before{transform:rotate(45deg)}
.sheet-x::after{transform:rotate(-45deg)}
@media (hover:hover) and (pointer:fine){ .sheet-x:hover{color:var(--ink-700);background:var(--surface-2)} }
.sheet-x:focus-visible{outline:2px solid var(--ink-900);outline-offset:1px}
.sheet-head h2{margin:0;flex:1;min-width:0;font:800 23px/1.35 var(--font-display);letter-spacing:-.02em;
  text-transform:none;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet-head .tb-titel-feld{flex:1;min-width:0;margin:0;
  font:800 23px/1.2 var(--font-display);letter-spacing:-.02em;
  color:var(--ink-900);background:transparent;
  border:0;border-bottom:1px solid var(--line);
  padding:0 0 2px;outline:none;-webkit-appearance:none}
.sheet-head .tb-titel-feld:focus{border-bottom-color:var(--ink-900)}
.sheet-head h2#tbTitel{cursor:text}
.sheet-head-btns{display:flex;align-items:center;gap:6px;flex:none;flex-wrap:nowrap}
.pill-quiet,.pill-primary,.pill-danger{
  height:38px;padding:0 14px;
  border-radius:12px;
  font:600 14.5px var(--font-display);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  white-space:nowrap;flex:none}
.pill-quiet{border:1.5px solid var(--line-strong);background:transparent;color:var(--ink-900)}
.pill-quiet:active{background:var(--surface-2)}
.pill-primary{border:0;background:var(--ink-900);color:var(--paper)}
.pill-primary:active{transform:scale(.96)}
.pill-danger{border:1.5px solid var(--line-strong);
  background:transparent;color:var(--danger)}
.pill-danger:active{background:color-mix(in srgb, var(--danger) 8%, transparent)}
.sheet-foot .pill-quiet{color:var(--ink-400)}
.toast.weg::before{content:"";flex:none;width:3px;height:17px;border-radius:2px;
  background:#F97066;margin-right:2px}
.sheet-foot{position:sticky;bottom:0;z-index:2;
  display:flex;gap:16px;align-items:center;
  margin:var(--s4) calc(-1 * var(--s4)) 0;
  padding:12px var(--s4) calc(12px + env(safe-area-inset-bottom));
  background:var(--surface);border-top:1px solid var(--line)}
.overlay .card:has(.sheet-foot){padding-bottom:0}
.overlay .card{overscroll-behavior:contain}
.sheet-herkunft{margin-top:var(--s3);font-size:13px;color:var(--ink-400)}
.qty-row input{color:var(--ink-900);font-weight:600}
.sheet-sect{font:800 12.5px var(--font-display);text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink-500);margin:var(--s5) 0 var(--s2)}
.sheet-sect:first-of-type{margin-top:0}
.hinweisbox{margin:0 0 var(--s5);padding:var(--s4) 0 0;
  border-top:1px solid var(--line);
  color:var(--ink-500);font-size:14.5px;line-height:1.5}
.foot--leise{margin-top:var(--s2)}
.feldname{display:block;margin:0 0 6px;
  font:800 12.5px var(--font-display);text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink-300)}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s3)}
.fld>span{font:800 12.5px var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-300)}
.fld input,.fld select,.fld textarea{
  min-height:38px;padding:0 var(--s3);border:1.5px solid var(--line-strong);
  border-radius:12px;background:var(--surface);width:100%;
}
.fld select{
  appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A626E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:16px;
}
.wolke{display:flex;flex-wrap:wrap;gap:8px}
.wolke--drei{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wolke--drei>*{min-width:0;justify-content:center}
.wolke--drei .st-chip{padding:0 6px;gap:4px}
.wolke--drei .st-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wolke--drei .st-chip svg{width:14px;height:14px}
.wolke-zu{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#fKat>.wolke-zu{width:100%}
#fKat>.wolke-zu>[data-ruhe]{flex:1;justify-content:flex-start}
#fKat>.wolke-zu>[data-ruhe]::after{margin-left:auto}
[data-ruhe]::after{content:'';flex:none;width:6px;height:6px;margin-left:3px;
  border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translate(-1px,-2px);opacity:.5}
[data-ruhe][aria-expanded="true"]::after{transform:rotate(225deg) translate(-1px,-2px)}
.kat-chip,.u-chip,.st-chip,.urg-chip{display:inline-flex;align-items:center;gap:6px;
  height:38px;padding:0 14px;border:1.5px solid transparent;
  border-radius:12px;
  font:600 14.5px var(--font-display);cursor:pointer;transition:border-color .12s}
.kat-chip svg,.u-chip svg,.st-chip svg,.urg-chip svg{width:15px;height:15px;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kat-chip.on,.u-chip.on,.st-chip.on,.urg-chip.on{font-weight:700}
.kat-chip,.u-chip,.st-chip,.urg-chip{background:var(--surface);
  border-color:var(--line);color:var(--ink-500)}
.kat-chip.on,.u-chip.on,.st-chip.on,.urg-chip.on{background:var(--surface-2);
  border-color:transparent;color:var(--ink-900)}
.u-chip{min-width:52px;justify-content:center}
.wolke .kat-chip{background:var(--surface);border-color:var(--line);
  color:oklch(.50 .10 var(--hue,257))}
.wolke .kat-chip.on{background:oklch(.50 .10 var(--hue,257) / .07);
  border-color:currentColor}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wolke .kat-chip{
  color:oklch(.72 .095 var(--hue,257))}
  :root:not([data-theme="light"]) .wolke .kat-chip.on{
  background:oklch(.72 .095 var(--hue,257) / .12)}}
:root[data-theme="dark"] .wolke .kat-chip{
  color:oklch(.72 .095 var(--hue,257))}
:root[data-theme="dark"] .wolke .kat-chip.on{
  background:oklch(.72 .095 var(--hue,257) / .12)}
.wolke-zu>.kat-chip[data-ruhe][aria-expanded="true"]{
  background:oklch(.50 .10 var(--hue,257) / .07);
  border-color:oklch(.50 .10 var(--hue,257));
  color:oklch(.50 .10 var(--hue,257))}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .kat-chip[data-ruhe][aria-expanded="true"]{
  background:oklch(.72 .095 var(--hue,257) / .12);
  border-color:oklch(.72 .095 var(--hue,257));
  color:oklch(.72 .095 var(--hue,257))}}
:root[data-theme="dark"] .kat-chip[data-ruhe][aria-expanded="true"]{
  background:oklch(.72 .095 var(--hue,257) / .12);
  border-color:oklch(.72 .095 var(--hue,257));
  color:oklch(.72 .095 var(--hue,257))}
.kat-chip.on svg{color:oklch(.50 .10 var(--hue,257))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kat-chip.on svg{
  color:oklch(.72 .095 var(--hue,257))}}
:root[data-theme="dark"] .kat-chip.on svg{color:oklch(.72 .095 var(--hue,257))}
.st-chip.on.st-discounter svg{color:var(--st-discounter-ic)}
.st-chip.on.st-supermarkt svg{color:var(--st-supermarkt-ic)}
.st-chip.on.st-drogerie svg{color:var(--st-drogerie-ic)}
.st-chip.on.st-getraenkemarkt svg{color:var(--st-getraenkemarkt-ic)}
.st-chip.on.st-bioladen svg{color:var(--st-bioladen-ic)}
.st-chip.on.st-sonstiges svg{color:var(--st-sonstiges-ic)}
.fld-drei{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--s2);align-items:start}
.fld-drei>.fld-menge{min-width:0}
.fld-drei>.fld-unit{min-width:0}
.fld-drei .qty-row{width:100%}
.fld-drei>.fld-unit .wolke-zu{min-height:38px}
.fld-drei>.fld-unit .wolke-zu{width:100%}
#dUnit{margin-bottom:var(--s3)}
.fld-drei>.fld-unit [data-ruhe]{flex:1;justify-content:center}
.fld input:focus,.fld textarea:focus{
  outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-tint)}
.fld select:focus{outline:none}
.fld-row{display:flex;gap:var(--s2)}
.fld-row>.fld{flex:1;min-width:0}
.menu-url{margin-top:0}
.menu-url-lbl{font:800 var(--fs-group) var(--font-display);
  text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);
  margin-bottom:6px}
.menu-url-box{display:flex;align-items:center;gap:8px;width:100%;
  padding:10px 10px 10px 12px;min-height:48px;
  background:var(--surface-2,color-mix(in srgb, var(--ink-900) 5%, var(--paper)));
  border:1px solid var(--line);border-radius:var(--r-ctl);
  cursor:pointer;text-align:left;font:inherit}
.menu-url-box:active{background:color-mix(in srgb, var(--ink-900) 8%, var(--paper))}
.menu-url-sym{flex:none;display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;color:var(--ink-500)}
.menu-url-sym svg{width:17px;height:17px}
.menu-ich{margin:24px 0 0;font-size:13.5px;color:var(--ink-400);line-height:1.5}
.menu-aendern{border:0;background:transparent;padding:0;margin-left:8px;
  cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;
  color:var(--ink-400);text-decoration:underline;
  text-decoration-style:dotted;
  text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:currentColor}
.menu-aendern:hover{color:var(--ink-900)}
.menu-url-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font:400 13px/1.35 var(--font-mono,ui-monospace,monospace);
  color:var(--ink-700);
  user-select:all;-webkit-user-select:all}
.menu-url-btn{flex:none;border:0;background:transparent;padding:6px;
  color:var(--ink-500);cursor:pointer;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center}
.menu-url-btn:hover{color:var(--ink-900);background:color-mix(in srgb, var(--ink-900) 6%, transparent)}
.menu-url-btn svg{width:16px;height:16px}
.leut{display:inline-flex;align-items:center;justify-content:center;
  width:var(--leut,22px);height:var(--leut,22px);border-radius:50%;
  font:700 calc(var(--leut,22px) * .42)/1 var(--font-display);letter-spacing:0;
  margin-left:-6px;flex:none;overflow:hidden}
.leut:first-child{margin-left:0}
.leut--rest{background:var(--surface-2);color:var(--ink-500)}
.hdr-demogruppe{flex:none;display:inline-flex;align-items:center;
  align-self:center;margin-left:8px;min-width:0;
  transform:translateY(2px)}
.hdr-demouhr{display:inline-flex;align-items:center;gap:4px;height:22px;
  padding:0 9px 0 7px;border-radius:0 11px 11px 0;
  background:color-mix(in srgb, var(--marke) 12%, transparent);
  color:var(--marke);font:500 11.5px var(--font-display);
  font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0}
.hdr-demoic{width:12px;height:12px;flex:none;opacity:.75}
.hdr-demolang{display:none}
@media (min-width:640px){ .hdr-demolang{display:inline} }
.hdr-demo{flex:none;display:inline-flex;align-items:center;align-self:center;
  height:22px;padding:0 9px;border-radius:11px 0 0 11px;
  background:color-mix(in srgb, var(--marke) 18%, transparent);
  color:var(--marke);font:700 11.5px var(--font-display);
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  transition:background .14s;
  }
.hdr-demo:hover{background:color-mix(in srgb, var(--marke) 22%, transparent)}
.hdr-leute{flex:none;display:inline-flex;align-items:center;border:0;
  background:transparent;padding:0 4px;margin:0;cursor:pointer}
.sheet-head--mit-leuten{display:flex;align-items:center;gap:10px}
.kopf-leute{display:inline-flex;align-items:center;flex:1;min-width:0}
.sheet-head--mit-leuten h2{flex:0 1 auto}
.qty-row{display:flex;gap:6px}
.qty-row input{flex:1;min-width:0;text-align:center}
.qstep{flex:none;width:38px;height:38px;border:1px solid var(--line-strong);
  border-radius:12px;background:var(--surface-2);color:var(--ink-900);
  font-size:19px;line-height:1;cursor:pointer}
.qstep:active{transform:scale(.95)}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;
  border:1.5px solid var(--line-strong);
  border-radius:var(--r-ctl);padding:4px;background:var(--surface)}
.seg button{height:34px;padding:0 var(--s3);border:0;border-radius:calc(var(--r-ctl) - 2px);
  background:transparent;color:var(--ink-700);
  font:600 14px var(--font-display);cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:5px;
  transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.seg button svg{width:14px;height:14px}
.seg button.on{background:var(--ink-900);color:var(--paper)}
.menu-gruppe{margin-bottom:20px}
.menu-gruppe:last-of-type{margin-bottom:18px}
.menu-lbl{font:800 11.5px var(--font-display);text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink-300);margin:0 0 4px 2px}
.menu-lbl--frei{margin-top:18px}
.menu-list{display:flex;flex-direction:column;gap:0;margin:0}
.menu-list button{
  display:flex;align-items:center;gap:13px;width:100%;height:46px;padding:0 var(--s2);
  border:0;border-radius:var(--r-ctl);background:transparent;color:var(--ink-900);
  font-size:16.5px;font-weight:500;text-align:left;cursor:pointer;
}
.menu-list button svg{width:20px;height:20px;stroke-width:1.6;color:var(--ink-500);flex:none}
.menu-list button.menu-weg{color:var(--danger)}
.menu-list button.menu-weg svg{color:var(--danger)}
.menu-list button:active{background:var(--surface-2)}
.menu-list button.on{background:var(--surface-2)}
.menu-list button .hint{font-size:12px}
.menu-list button.danger{color:var(--danger)}
.menu-list button.danger svg{color:var(--danger)}
.btn-danger{height:42px;padding:0 var(--s4);border:1px solid var(--danger);
  border-radius:var(--r-ctl);background:transparent;color:var(--danger);
  font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;
  -webkit-appearance:none;appearance:none}
.btn-danger:active{background:rgb(217 45 32 / .08)}
.btn-danger-full{width:100%;height:46px;margin-top:var(--s3);border:1px solid var(--danger);
  border-radius:var(--r-ctl);background:transparent;color:var(--danger);font-size:15px;
  font-weight:600;cursor:pointer}
.qbox{background:var(--signal-tint);border:1px solid var(--signal);border-radius:var(--r-ctl);
  padding:var(--s3);margin-bottom:var(--s4);font-size:15px}
.qbox form{display:flex;gap:var(--s2);margin-top:var(--s3)}
.qbox input{flex:1;height:38px;padding:0 var(--s3);border:1px solid var(--line-strong);
  border-radius:var(--r-ctl);background:var(--surface);color:var(--ink-900);font-size:16px}
.qbox .btn{width:auto;margin:0;height:38px;min-height:0;padding:0 var(--s4);
  background:var(--signal);color:var(--signal-ink);
  font:700 15px var(--font-display)}
.qbox .qweg{margin-top:12px;align-self:flex-start;
  height:auto;padding:2px 0;border-radius:0;
  background:transparent;color:var(--ink-400);
  font:400 12.5px var(--font-display);
  text-decoration:underline;text-underline-offset:2px}
.qbox .qweg:hover{color:var(--ink-900)}
.qbox .qweg.scharf{height:32px;padding:0 12px;border-radius:12px;
  background:var(--danger);color:var(--paper);
  font:700 13px var(--font-display);text-decoration:none}
.qd-a .qweg{margin-left:auto}
.qweg.scharf{background:var(--danger);color:var(--paper)}
.jetzt{margin:0 0 var(--s4);padding-bottom:var(--s3);
  border-bottom:1px solid var(--line-inset)}
.fld--jetzt{margin-bottom:3px}
.fld--jetzt .jetzt{margin-bottom:0}
.jetzt-titel{display:block;margin-bottom:6px;font:700 11px var(--font-display);
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400)}
.jetzt .hint{margin:0}
.hist-fuss{display:flex;justify-content:flex-end;margin-top:var(--s3);
  padding-top:var(--s3);border-top:1px solid var(--line-inset)}
.hist-fuss[hidden]{display:none}
.ladenname{width:100%;padding:2px 4px;margin:-2px -4px 1px;border:0;
  background:transparent;color:var(--ink-900);
  font:600 16px/1.25 var(--font-display);letter-spacing:-.005em;
  border-bottom:1px solid transparent;border-radius:4px}
.ladenname::placeholder{color:var(--ink-500);font-weight:600}
.ladenname:hover{background:var(--surface-2)}
.ladenname:focus{outline:none;background:var(--surface-2);
  border-bottom-color:var(--line-strong)}
.side-clear{padding:6px 2px;border:0;background:transparent;color:var(--ink-400);
  font-size:13px;font-weight:600;cursor:pointer}
.side-clear:hover{color:var(--ink-900)}
.side-clear.scharf{color:var(--danger)}
.jetzt .side-person{display:flex;align-items:center;gap:9px;padding:3px 0;font-size:14px}
.jetzt .side-person .who{width:32px;height:32px;min-width:32px;font-size:12px}
.jetzt .side-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jetzt .side-shop{flex:none;font-size:12px;font-weight:600;color:var(--urgent)}
.menu-list button.fremd{color:var(--ink-500)}
.menu-list button.fremd svg{opacity:.55}
#qForm{display:flex;gap:var(--s2)}
#qForm input{flex:1;height:42px;padding:0 var(--s3);border:1px solid var(--line-strong);
  border-radius:var(--r-ctl);background:var(--surface-2);color:var(--ink-900);font-size:16px}
#qForm .btn{width:auto;margin:0;height:42px;min-height:0;padding:0 var(--s4)}
.store-row{display:flex;align-items:center;gap:var(--s3);padding:9px 0;
  border-bottom:1px solid var(--line-inset);background:var(--surface);
  position:relative;transition:transform 140ms var(--ease)}
.store-row:last-of-type{border-bottom:0}
.store-row.dragging{transition:none;z-index:2;box-shadow:0 6px 18px rgb(16 18 21 / .12)}
.grip{flex:none;width:22px;height:32px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-300);cursor:grab}
.grip:active{cursor:grabbing}
.grip svg{width:18px;height:18px}
.store-row .short{flex:none;width:44px;height:44px;border-radius:12px;border:0;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, currentColor 8%, transparent)}
.store-row .short svg{width:20px;height:20px;stroke-width:1.75}
.store-row .short.st-discounter{color:var(--st-discounter-ic)}
.store-row .short.st-supermarkt{color:var(--st-supermarkt-ic)}
.store-row .short.st-drogerie{color:var(--st-drogerie-ic)}
.store-row .short.st-getraenkemarkt{color:var(--st-getraenkemarkt-ic)}
.store-row .short.st-bioladen{color:var(--st-bioladen-ic)}
.store-row .short.st-sonstiges{color:var(--st-sonstiges-ic)}
.store-row .meta{flex:1;min-width:0}
.store-row .meta b{display:block;font-size:15px;font-weight:550;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-row .meta span{font-size:11px;color:var(--ink-300);text-transform:uppercase;letter-spacing:.06em}
.icon-danger{flex:none;width:32px;height:32px;border:0;border-radius:var(--r-ctl);
  background:transparent;color:var(--ink-300);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.icon-danger svg{width:16px;height:16px;stroke-width:1.75}
.icon-danger:active{color:var(--danger);background:var(--surface-2)}
.icon-danger.armed{width:auto;padding:0 10px;color:var(--danger);
  border:1.5px solid color-mix(in srgb, var(--danger) 40%, transparent);
  font:600 13px var(--font-display)}
.linkbtn{border:0;background:transparent;padding:0;cursor:pointer;
  font:inherit;color:var(--ink-900);text-decoration:underline;
  text-underline-offset:2px;text-decoration-color:var(--line-strong)}
.linkbtn:hover{text-decoration-color:var(--ink-500)}
.linkbtn:focus-visible{outline:2px solid var(--ink-500);outline-offset:2px;border-radius:3px}
.linkbtn--dotted{text-decoration:underline dotted;text-decoration-color:var(--ink-500);
  text-decoration-thickness:1.5px;text-underline-offset:3px;color:var(--ink-500)}
.linkbtn--dotted:hover{color:var(--ink-900);text-decoration-color:var(--ink-900)}
.btn-quiet-sm{height:38px;padding:0 14px;border:0;
  border-radius:12px;background:var(--ink-900);color:var(--paper);
  font:700 14.5px var(--font-display);cursor:pointer}
.btn-quiet-sm:active{transform:scale(.96)}
.sheet-actions{display:flex;gap:var(--s2);margin-top:var(--s4)}
.sheet-actions button{
  flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;
  border:1.5px solid var(--line-strong);border-radius:12px;background:transparent;
  color:var(--ink-900);font-size:15px;font-weight:600;cursor:pointer;
}
.sheet-actions button svg{width:17px;height:17px;stroke-width:1.75}
.sheet-actions button.danger{color:var(--danger);
  border-color:color-mix(in srgb, var(--danger) 35%, transparent)}
.sheet-actions button:active{transform:scale(.98)}
.sheet-actions button.primary{
  background:var(--ink-900);color:var(--paper);border-color:var(--ink-900);
}
.switch-row{display:flex;align-items:center;gap:var(--s3);padding:9px 0;
  border-bottom:1px solid var(--line-inset)}
.switch-row:last-child{border-bottom:0}
.switch-row>span{flex:1}
.switch-row b{font-size:15px;font-weight:500}
.switch-row .hint{font-size:12px}
button.switch-row{width:100%;border:0;border-bottom:1px solid var(--line-inset);
  background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;
  margin:0 0 var(--s3)}
button.switch-row:active{background:var(--surface-2)}
button.switch-row b{flex:1}
button.switch-row .tick{flex:none;width:22px;height:22px}
.toast{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.toast{position:fixed;left:50%;bottom:auto;
  top:calc(var(--vv-top,0px) + var(--vv-h,100dvh) - 76px - var(--safe-b,env(safe-area-inset-bottom)));
  z-index:70;
  transform:translate(-50%,-100%);max-width:calc(100vw - 32px);
  padding:8px 10px 8px var(--s4);border-radius:var(--r-pill);
  background:var(--ink-900);color:var(--paper);font-size:14px;white-space:nowrap;
  display:flex;align-items:center;gap:var(--s3)}
.toast.beiseite{left:auto;right:var(--s4);transform:translate(0,-100%);
  max-width:min(34%,270px);white-space:normal;line-height:1.35;
  border-radius:16px;text-align:left;
  flex-wrap:wrap}
.toast.beiseite > span:first-child{flex:1 1 100%}
.toast.beiseite:has(.toast-menge){max-width:min(300px, max(46%, 176px))}
.toast.beiseite:has(.toast-menge) > span:first-child{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;overflow-wrap:anywhere}
@media (max-width:520px){
  .toast.beiseite{max-width:38%}
}
.toast:not(:has(button)){padding-left:var(--s4);padding-right:var(--s4)}
.toast[hidden]{display:none!important}
#sheet.offen ~ .toast{bottom:auto;
  top:calc(env(safe-area-inset-top) + var(--s3));z-index:80;
  transform:translateX(-50%)}
.toast-menge{display:flex;align-items:center;gap:2px;flex:none;
  margin-left:2px;padding:2px;border-radius:var(--r-pill);
  background:rgb(255 255 255 / .12)}
.toast-menge button{width:32px;height:32px;border:0;padding:0;border-radius:50%;
  background:transparent;color:var(--paper);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.toast-menge button:active{background:rgb(255 255 255 / .16)}
.toast-menge button svg{width:15px;height:15px;stroke-width:2.2}
.toast-menge b{min-width:20px;text-align:center;
  font:700 14px var(--font-display);font-variant-numeric:tabular-nums}
.tip{position:fixed;z-index:80;max-width:min(280px,calc(100vw - 24px));
  padding:6px 10px;border-radius:var(--r-ctl);
  background:var(--ink-900);color:var(--paper);
  font-size:13px;line-height:1.35;pointer-events:none;
  box-shadow:0 4px 14px rgb(0 0 0 / .18)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tip{
  background:var(--surface-2);color:var(--ink-900);
  border:1px solid var(--line-strong);
  box-shadow:0 6px 22px rgb(0 0 0 / .5)}}
:root[data-theme="dark"] .tip{
  background:var(--surface-2);color:var(--ink-900);
  border:1px solid var(--line-strong);
  box-shadow:0 6px 22px rgb(0 0 0 / .5)}
.tip[hidden]{display:none!important}
.toast button{border:0;background:transparent;color:var(--toast-akzent);
  font-size:14px;font-weight:600;padding:4px 8px;cursor:pointer}
.toast .toast-menge button{color:var(--paper);padding:0}
.toast .toast-ok{flex:none;width:32px;height:32px;padding:0;border:0;border-radius:50%;
  background:rgb(255 255 255 / .12);color:var(--paper);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.toast .toast-vorrat{flex:none;width:32px;height:32px;padding:0;border:0;border-radius:50%;
  background:rgb(255 255 255 / .12);color:var(--paper);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.toast .toast-vorrat:active{background:rgb(255 255 255 / .2)}
.toast-vorrat svg{width:17px;height:17px;stroke-width:1.9}
.toast .toast-laden{flex:none;width:32px;height:32px;padding:0;border:0;
  border-radius:50%;background:rgb(255 255 255 / .16);
  color:color-mix(in srgb, var(--st-ziel, var(--paper)) 60%, #fff);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.toast .toast-laden:active{background:rgb(255 255 255 / .26)}
.toast-laden svg{width:17px;height:17px;stroke-width:1.9}
.toast .toast-vorrat,.toast .toast-laden,.toast .toast-ok,.toast-menge button{position:relative}
.toast .toast-vorrat::after,.toast .toast-laden::after,.toast .toast-ok::after,
.toast-menge button::after{content:'';position:absolute;left:0;right:0;top:-6px;bottom:-6px}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .toast .toast-vorrat{color:var(--ink-900)}
}
:root[data-theme="dark"] .toast .toast-vorrat{color:var(--ink-900)}
.toast .toast-ok:active{background:rgb(255 255 255 / .2)}
.toast-ok svg{width:16px;height:16px;stroke-width:2.4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .toast{
  background:var(--surface-2);color:var(--ink-900);
  border:1px solid var(--line-strong);
  box-shadow:0 6px 22px rgb(0 0 0 / .5)}
  :root:not([data-theme="light"]) .toast .toast-menge button,
  :root:not([data-theme="light"]) .toast .toast-ok{color:var(--ink-900)}
}
:root[data-theme="dark"] .toast{
  background:var(--surface-2);color:var(--ink-900);
  border:1px solid var(--line-strong);
  box-shadow:0 6px 22px rgb(0 0 0 / .5)}
:root[data-theme="dark"] .toast .toast-menge button,
:root[data-theme="dark"] .toast .toast-ok{color:var(--ink-900)}
.toast > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.switch-row input{width:20px;height:20px;accent-color:var(--ink-900)}
.switch-row:has(+ .push-nurladen){border-bottom:0}
.push-nurladen{position:relative;padding-left:var(--s4);
  border-bottom:1px solid var(--line-inset)}
.push-nurladen::before{content:'';position:absolute;left:var(--s2);
  top:0;bottom:9px;width:2px;border-radius:1px;
  background:color-mix(in srgb, var(--ink-300) 55%, transparent)}
.push-nurladen .switch-row{padding-top:0}
.push-aus{margin-top:var(--s3);padding-top:var(--s3);
  border-top:1px solid var(--line);display:flex;justify-content:center}
.ava-0{background:hsl(150 25% 90%);color:hsl(155 32% 30%)}
.ava-1{background:hsl(38 35% 90%); color:hsl(35 48% 32%)}
.ava-2{background:hsl(15 30% 91%); color:hsl(12 34% 36%)}
.ava-3{background:hsl(210 30% 91%);color:hsl(212 32% 34%)}
.ava-4{background:hsl(255 22% 92%);color:hsl(258 24% 38%)}
.ava-5{background:hsl(170 25% 89%);color:hsl(172 32% 28%)}
.ava-6{background:hsl(24 35% 90%); color:hsl(22 42% 34%)}
.ava-7{background:hsl(200 20% 90%);color:hsl(202 24% 32%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ava-l:22%; --ava-c:74%;
}
:root:not([data-theme="light"]) .ava-0{background:hsl(150 14% 22%);color:hsl(150 28% 74%)}
:root:not([data-theme="light"]) .ava-1{background:hsl(38 14% 22%); color:hsl(35 28% 74%)}
:root:not([data-theme="light"]) .ava-2{background:hsl(15 14% 22%); color:hsl(12 28% 74%)}
:root:not([data-theme="light"]) .ava-3{background:hsl(210 14% 22%);color:hsl(212 28% 74%)}
:root:not([data-theme="light"]) .ava-4{background:hsl(255 14% 22%);color:hsl(258 28% 74%)}
:root:not([data-theme="light"]) .ava-5{background:hsl(170 14% 22%);color:hsl(172 28% 74%)}
:root:not([data-theme="light"]) .ava-6{background:hsl(24 14% 22%); color:hsl(22 28% 74%)}
:root:not([data-theme="light"]) .ava-7{background:hsl(200 14% 22%);color:hsl(202 28% 74%)}
}
:root[data-theme="dark"] .ava-0{background:hsl(150 14% 22%);color:hsl(150 28% 74%)}
:root[data-theme="dark"] .ava-1{background:hsl(38 14% 22%); color:hsl(35 28% 74%)}
:root[data-theme="dark"] .ava-2{background:hsl(15 14% 22%); color:hsl(12 28% 74%)}
:root[data-theme="dark"] .ava-3{background:hsl(210 14% 22%);color:hsl(212 28% 74%)}
:root[data-theme="dark"] .ava-4{background:hsl(255 14% 22%);color:hsl(258 28% 74%)}
:root[data-theme="dark"] .ava-5{background:hsl(170 14% 22%);color:hsl(172 28% 74%)}
:root[data-theme="dark"] .ava-6{background:hsl(24 14% 22%); color:hsl(22 28% 74%)}
:root[data-theme="dark"] .ava-7{background:hsl(200 14% 22%);color:hsl(202 28% 74%)}
.rows .row .who{background:var(--line-inset);color:var(--ink-700);
  box-shadow:inset 0 0 0 1px var(--line-strong);
  width:22px;height:22px;min-width:22px;
  font:700 12.5px/1 var(--font-display);letter-spacing:.02em;
  align-self:center}
.pl-tag .who{background:var(--line-inset);color:var(--ink-700);
  box-shadow:inset 0 0 0 1px var(--line-strong)}
body.dicht{--row-h:38px}
body.dicht .rows .chip{height:32px}
body.dicht .rows .chip[data-pick]{width:32px}
body.dicht .rows .chip svg{width:14px;height:14px}
body.dicht .rows .rechts{min-height:32px}
body.dicht .rows .chip::before{left:-16px;right:-6px;top:-3px;bottom:-3px}
body.dicht .rows .wipe-actions{height:24px;border-radius:12px}
body.dicht .rows .wipe-btn{width:32px;height:32px}
body.dicht .rows .wipe-btn svg{width:17px;height:17px}
body.dicht .rows .wipe-btn::before{inset:4px}
body.dicht .rows .wipe-hair{height:18px;margin:0 9px}
body.dicht .rows li:has(> .row)::after{width:17px;height:17px;margin-top:-8.5px;left:16px}
body.dicht .group{padding:6px 10px 2px;margin:0 0 6px}
body.dicht .group-hd{padding:0 4px 3px}
body.dicht .rows > li > .row{padding-block:2px}
body.dicht .list{padding-bottom:var(--s4)}
body.dicht .rows .sub{margin-top:-5px}
body.dicht .pl-tag{min-height:38px;padding:3px 4px;margin-bottom:3px}
body.dicht .pl-tag:last-child{margin-bottom:0}
body.dicht .pl-heute{padding-left:12px}
body.dicht .pl-tag.pl-heute{margin:0 -4px 0 -8px}
body.dicht .pl-tag + .pl-tag.pl-heute{margin-top:-3px;padding-top:6px;min-height:41px}
body.dicht .pl-heute::before{top:4px;bottom:4px}
body.dicht .pl-tag + .pl-tag.pl-heute::before{top:7px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation-duration:.001s!important}
  .pull-muenze.laeuft svg{animation-duration:.6s!important}
}
@media (min-width:720px){
  .overlay{align-items:center;padding:var(--s4)}
  .overlay .card{max-width:440px;border-radius:var(--r-card);padding:var(--s5)}
}
@media (min-width:900px){
  .nur-schmal{display:none}
  .nur-breit{display:inline}
  .main, .hdr, .bar{
    display:grid;grid-template-columns:minmax(0,var(--content-w)) var(--side-w);gap:var(--grid-gap);
    max-width:980px;margin-inline:auto;padding-inline:var(--s4);
  }
  .toast{left:calc(50% - (var(--side-w) + var(--grid-gap)) / 2)}
  .toast.beiseite{left:auto}
  #sheet.offen ~ .toast{left:50%}
  body.app{height:auto;min-height:100dvh;overflow:visible}
  .hdr{position:sticky;top:0}
  .bar{position:sticky;top:var(--hdr-h,104px);z-index:29;background:var(--paper)}
  .toast{top:calc(var(--hdr-h,104px) + 84px);bottom:auto;transform:translateX(-50%)}
  .toast.beiseite{transform:none}
  
  
  .sugg{bottom:auto;top:calc(100% - var(--s2) + 4px);
    left:0;right:auto;max-width:none;transform:none;margin:0;
    width:min(var(--content-w),
              100% - var(--grid-gap) - var(--side-w) - var(--s4))}
  .main{align-items:start;min-height:0}
  .list{padding-inline:0;padding-top:0;max-width:none;height:auto;overflow:visible;
    scrollbar-width:auto}
  
  .hdr{order:-2;padding-top:var(--s5);padding-bottom:0;row-gap:0}
  
  .hdr-row,.hdr-line{grid-column:1;max-width:none;margin-inline:0}
  
  .bar{order:-1;border:0;background:transparent;padding-top:14px;padding-bottom:var(--s3)}
  .sugg,.bar-row{grid-column:1;max-width:none;margin-inline:0}
  
  .side{display:flex;flex-direction:column;gap:14px;
    position:sticky;top:calc(var(--hdr-h,104px) + 104px);padding-top:0}
  .side[hidden]{display:none}
  .side-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
    padding:14px;box-shadow:var(--shadow),var(--edge);
  }
  .side-card h3{
    margin:0 0 10px;font:800 var(--fs-group) var(--font-display);
    text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);
  }
  .side-person{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:14px}
  .side-person .who{width:34px;height:34px;min-width:34px;font-size:12px}
  .side-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .side-shop{flex:none;font-size:12px;font-weight:600;color:var(--urgent)}
  .feed-sm{list-style:none;margin:0;padding:0;font-size:13.5px}
  .feed-sm li{display:flex;gap:8px;padding:9px 0}
  .feed-sm .txt{font-size:13.5px}
  .side-more{
    padding:0;border:0;background:transparent;
    color:var(--ink-500);font-size:13px;font-weight:600;cursor:pointer;text-align:left;
  }
  .side-more:hover{color:var(--ink-900);text-decoration:underline}
  .side-more[hidden]{display:none}
  .side-fuss{display:flex;justify-content:space-between;align-items:center;
    gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-inset)}
}
@media (max-width:380px){
  :root{--fs-item:17px; --qslot-w:44px}
}
@media (max-width:640px){
  .menu-gruppe{margin-bottom:14px}
  .menu-gruppe:last-of-type{margin-bottom:12px}
  .menu-list button{height:44px}
  .menu-lbl--frei{margin-top:12px}
  .menu-ich{margin-top:18px}
  .menu-recht{margin:14px 0 16px;padding-top:14px}
  .sheet-head{margin-bottom:12px}
}
.sheet-foot-luft{flex:1}
.pill-privat{position:relative;flex:none;display:inline-flex;align-items:center;gap:7px;
  min-height:38px;padding:0 12px;border:1.5px solid var(--line-strong);
  border-radius:var(--r-pill);background:var(--surface);color:var(--ink-700);
  font:inherit;font-size:14px;cursor:pointer}
.pill-privat svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pill-privat.an{background:var(--ink-900);border-color:var(--ink-900);color:var(--paper)}
.pill-privat.fragt{background:var(--urgent);border-color:var(--urgent);
  color:var(--surface);font-weight:700;
  animation:pv-ruf 420ms var(--ease) 1}
@keyframes pv-ruf{
  0%{transform:scale(1)}
  45%{transform:scale(1.06)}
  100%{transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .pill-privat.fragt{animation:none}
}
.pill-privat.fragt .pv-tip{display:none}
.pill-privat.fragt svg{display:none}
.pill-privat:focus-visible{outline:2px solid var(--ink-900);outline-offset:2px}
.pv-tip{position:absolute;bottom:calc(100% + 9px);left:0;width:min(230px,68vw);
  background:var(--surface);color:var(--ink-500);
  border:1px solid var(--line-strong);border-radius:var(--r-card);
  padding:9px 11px;font-size:12.5px;line-height:1.45;font-weight:400;
  text-align:left;white-space:normal;
  box-shadow:0 2px 6px rgb(23 21 15 / .10),0 10px 24px rgb(23 21 15 / .14);
  opacity:0;transform:translateY(3px);pointer-events:none;
  transition:opacity 120ms var(--ease),transform 120ms var(--ease);
  transition-delay:0ms;z-index:5}
.pv-tip b{display:block;margin-bottom:2px;color:var(--ink-900);font-weight:600}
.pill-privat.an .pv-tip{color:var(--ink-500)}
@media (hover:hover) and (pointer:fine){
  .pill-privat:hover .pv-tip,
  .pill-privat:focus-visible .pv-tip{opacity:1;transform:translateY(0);transition-delay:150ms}
}
@media (hover:none){ .pv-tip{display:none} }
.rows > li.li-privat{background:var(--privat-wasch);border-radius:12px;
  margin-inline:-10px;padding-inline:10px}
.rows > li.li-privat:last-child{margin-bottom:-4px;padding-bottom:4px}
.rows > li.li-privat .wipe-actions{margin-right:10px}
.rows > li.li-privat > .row.privat{background:var(--privat-wasch)}
.rows > li.li-privat .tick{background:var(--wash-solid,var(--paper))}
.privat-aug{flex:none;height:24px;display:flex;align-items:center;
  justify-content:center;color:var(--ink-400)}
.privat-aug svg{width:17px;height:17px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}