/* ═══════════════════════════════════════════════════════════
   ZettelWirtschaft
   Eine Familie · drei Eventwelten
   Ruhig, warm, papierhaft. Keine harten Rahmen, keine Pop-Schatten.
   Farben, Schriften und Radien kommen aus Design-Tokens,
   die pro Event überschrieben werden (themeStyle in db.php).
═══════════════════════════════════════════════════════════ */

:root{
  --sb:#FBF7F0; --sb-tx:#6B6259; --sb-on:#2E2A24; --sb-active:#EFE6D6; --sb-line:#E7DFD2; --sb-dark:#3A3630;
  --bg:#F7F2E9; --sf:#FFFFFF; --sf2:#F6F1E7; --ln:#E7DFD2; --ln-soft:#F0EAE0;
  --tx:#2E2A24; --tx2:#6B6259; --tx3:#9A9187;
  --acc:#B5623C; --acc-s:#F6E7DE; --acc-d:#8E4526;
  --ok:#5E8C6A; --ok-s:#E7F0E7; --bad:#B4483C; --bad-s:#F8E8E5;
  --warn:#C08A2E; --warn-s:#FBF1DE; --info:#4A6E8A; --info-s:#E7EFF4;

  --font-display:'Fraunces',Georgia,serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;

  --r:10px; --r2:14px; --r3:18px;
  --sh-1:0 1px 2px rgba(46,42,36,.05);
  --sh-2:0 1px 3px rgba(46,42,36,.06), 0 8px 24px rgba(46,42,36,.06);
  --sh-3:0 4px 12px rgba(46,42,36,.08), 0 24px 48px rgba(46,42,36,.10);
  --sb-w:232px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{font-family:var(--font-body);color:var(--tx);background:var(--bg);min-height:100vh;display:flex;
  overflow-x:hidden;max-width:100vw;font-size:15px;line-height:1.55}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.2}
.hidden{display:none !important}
.struck{text-decoration:line-through;color:var(--tx3)}
.muted{color:var(--tx2);font-size:.9rem;line-height:1.6}
.muted-sm{color:var(--tx3);font-size:.78rem}
.hint{font-weight:400;font-size:.72rem;color:var(--tx3)}
.zi{display:block;flex-shrink:0}

/* ═══ SEITENLEISTE ═══ */
.sidebar{width:var(--sb-w);position:fixed;inset:0 auto 0 0;z-index:300;display:flex;flex-direction:column;
  overflow-y:auto;background:var(--sb);border-right:1px solid var(--sb-line)}
.sb-logo{display:flex;align-items:center;gap:.6rem;padding:1.15rem 1.1rem 1rem;text-decoration:none;
  font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--sb-on)}
.sb-logo img{border-radius:8px}
.sb-nav{padding:.7rem .6rem;display:flex;flex-direction:column;gap:1px}
.snav{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;border-radius:8px;font-size:.88rem;
  font-weight:500;color:var(--sb-tx);text-decoration:none;transition:background .13s,color .13s}
.snav .ic{width:18px;display:flex;align-items:center;font-style:normal;opacity:.7;flex-shrink:0}
.snav:hover{background:var(--sb-active);color:var(--sb-on)}
.snav.active{background:var(--sb-active);color:var(--sb-on);font-weight:600}
.snav.active .ic{opacity:1;color:var(--acc)}
.snav--sub{font-size:.86rem}
.snav--foot{margin-top:.7rem;padding-top:.8rem;border-top:1px solid var(--sb-line);border-radius:0;
  font-size:.83rem;opacity:.85}
.sb-event{padding:1rem 1.1rem .35rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sb-tx);opacity:.65}
.sb-cover{margin:.75rem .7rem .3rem;border-radius:var(--r);overflow:hidden;position:relative;line-height:0}
.sb-cover img{width:100%;height:auto;display:block}
.sb-cover span{position:absolute;left:0;right:0;bottom:0;padding:1.2rem .55rem .4rem;font-size:.76rem;
  font-weight:600;color:#fff;background:linear-gradient(to top,rgba(20,16,12,.85),transparent);
  line-height:1.2;font-family:var(--font-display)}
.sb-foot{margin-top:auto;padding:.7rem .6rem;border-top:1px solid var(--sb-line)}
.sb-me{display:flex;align-items:center;gap:.55rem;padding:.35rem .45rem}
.sb-avatar,.ava-sb{width:32px;height:32px;border-radius:50%;overflow:hidden}
.sb-me-name{font-size:.86rem;font-weight:600;color:var(--sb-on);line-height:1.2}
.sb-me-link{font-size:.73rem;color:var(--sb-tx);text-decoration:none}
.sb-me-link:hover{text-decoration:underline}
.sb-logout{display:block;text-align:center;padding:.4rem;font-size:.76rem;color:var(--sb-tx);
  text-decoration:none;border-radius:7px}
.sb-logout:hover{background:var(--sb-active)}
.sb-impersonate{background:var(--warn-s);border-radius:var(--r);padding:.55rem .65rem;margin-bottom:.5rem}
.sb-imp-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--warn)}
.sb-imp-name{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--tx)}
.sb-imp-stop{font-size:.72rem;color:var(--tx2);text-decoration:underline}
.sb-egg{display:flex;align-items:center;gap:.5rem;padding:.35rem .45rem .7rem;opacity:.55;transition:opacity .3s}
.sb-egg:hover{opacity:1}
.sb-egg img{width:44px;height:auto;flex-shrink:0}
.sb-egg-txt{font-size:.68rem;line-height:1.3;color:var(--sb-tx);font-style:italic}

/* ═══ HAUPTBEREICH ═══ */
.main{margin-left:var(--sb-w);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%}
.topbar{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--ln);
  padding:.85rem 1.75rem;display:flex;align-items:center;gap:.9rem}
.burger{display:none;border:1px solid var(--ln);border-radius:8px;font-size:1rem;cursor:pointer;
  color:var(--tx);padding:.3rem .55rem;background:var(--sf)}
.tb-inner{flex:1;min-width:0}
.tb-title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:1.15}
.tb-sub{font-size:.79rem;color:var(--tx2);display:block;margin-top:.05rem}
.tb-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.imp-banner{background:var(--warn-s);border-bottom:1px solid var(--warn);padding:.5rem 1.75rem;
  font-size:.84rem;display:flex;gap:.7rem;align-items:center}
.imp-banner a{color:var(--acc-d);font-weight:600}
.content{padding:1.6rem 1.75rem 3rem;flex:1;max-width:1080px;width:100%}
.content--wide{max-width:100%}
.page{padding:1.6rem 1.75rem 3rem;max-width:720px;width:100%}

/* ═══ EVENT-KOPF ═══ */
.hero{position:relative;overflow:hidden;background:var(--sf2);min-height:clamp(160px,20vw,230px);
  display:flex;flex-direction:column;justify-content:space-between}
.hero--plain{background:linear-gradient(120deg,var(--sb-dark),color-mix(in srgb,var(--sb-dark) 70%,white))}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;
  z-index:0;display:block}
.hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(105deg,rgba(18,14,10,.62) 0,rgba(18,14,10,.30) 42%,rgba(18,14,10,.06) 70%)}
.hero-top{position:relative;z-index:3;display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1.75rem 0}
.hero-burger{display:none;background:rgba(255,255,255,.9);border:none;border-radius:9px;cursor:pointer;
  padding:.35rem .5rem;color:var(--tx);line-height:0}
.hero-top-r{margin-left:auto;display:flex;gap:.5rem;align-items:center}
.hero-body{position:relative;z-index:3;padding:1rem 1.75rem 1.35rem}
.hero-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:600;
  line-height:1.02;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.hero-tag{font-size:clamp(.92rem,1.4vw,1.1rem);color:rgba(255,255,255,.94);margin-top:.15rem;
  text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero-people{display:flex;align-items:center;margin-top:.85rem}
.hero-people .ava{width:28px;height:28px;font-size:.72rem;margin-right:-9px;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
.hero-people-n{margin-left:1.1rem;font-size:.83rem;font-weight:500;color:rgba(255,255,255,.95);
  text-shadow:0 1px 8px rgba(0,0,0,.5)}

/* ═══ EVENT-UMSCHALTER ═══ */
.ev-switch{position:relative}
.ev-switch-btn{background:none;border:none;font-family:var(--font-display);font-size:1.25rem;font-weight:600;
  color:var(--tx);cursor:pointer;padding:0;display:flex;align-items:center;gap:.4rem;line-height:1.15;text-align:left}
.ev-switch-btn--mini{background:rgba(255,255,255,.92);border-radius:99px;padding:.26rem .8rem;
  font-family:var(--font-body);font-size:.79rem;font-weight:600;color:var(--tx);box-shadow:var(--sh-1)}
.ev-switch-ca{font-size:.7rem;color:var(--tx3)}
.ev-switch-sub{font-size:.76rem;color:var(--tx2)}
.ev-dd{display:none;position:absolute;top:calc(100% + .6rem);left:0;z-index:200;min-width:250px;
  max-height:340px;overflow-y:auto;background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);
  box-shadow:var(--sh-3);padding:.4rem}
.ev-dd.open{display:block}
.ev-dd-i{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:8px;
  text-decoration:none;color:var(--tx);font-size:.87rem;font-weight:500}
.ev-dd-i:hover{background:var(--sf2)}
.ev-dd-i.on{background:var(--acc-s);color:var(--acc-d);font-weight:600}
.ev-dd-all{border-top:1px solid var(--ln);margin-top:.3rem;color:var(--tx3);font-size:.81rem;justify-content:center}

/* ═══ KARTEN ═══ */
.card{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);box-shadow:var(--sh-1);
  margin-bottom:1.1rem;overflow:hidden}
.card-h{font-family:var(--font-display);font-size:1.05rem;font-weight:600;padding:1rem 1.2rem .85rem;
  border-bottom:1px solid var(--ln-soft)}
.card>form,.card>.fg,.card>.fr{padding-left:1.2rem;padding-right:1.2rem}
.card>form{padding-bottom:1.2rem;padding-top:.9rem}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.9rem 1.2rem;
  border-bottom:1px solid var(--ln-soft)}
.card-head h2{font-family:var(--font-display);font-size:1.02rem;font-weight:600}
.link-sm{font-size:.8rem;color:var(--acc-d);text-decoration:none;font-weight:600}
.link-sm:hover{text-decoration:underline}
.empty-in{padding:1.1rem 1.2rem;color:var(--tx3);font-size:.87rem}

/* ═══ HEUTE ═══ */
.today-head{display:flex;align-items:baseline;justify-content:space-between;margin:.2rem 0 .8rem}
.today-h{font-family:var(--font-display);font-size:1.35rem;font-weight:600}
.today-date{font-size:.82rem;color:var(--tx3)}
.today-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-bottom:1.1rem}
.today-grid--2{grid-template-columns:repeat(2,1fr)}
.today-card{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:1rem 1.05rem;
  box-shadow:var(--sh-1);text-decoration:none;color:var(--tx);display:flex;gap:.6rem;position:relative;
  overflow:hidden;transition:box-shadow .16s,transform .16s;min-height:118px}
.today-card:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}
.today-l{flex:1;min-width:0;position:relative;z-index:2}
.today-lbl{font-size:.79rem;font-weight:600;color:var(--tx2)}
.today-val{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.15;margin:.1rem 0 .15rem}
.today-sub{font-size:.74rem;color:var(--tx3)}
.today-ill{position:absolute;right:.5rem;bottom:.4rem;width:62px;height:auto;opacity:.95;pointer-events:none}

/* ═══ ZWEISPALTIG ═══ */
.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:1.1rem;margin-bottom:1.1rem;align-items:start}
.act-row{display:flex;align-items:center;gap:.7rem;padding:.62rem 1.2rem;border-bottom:1px solid var(--ln-soft);
  font-size:.86rem}
.act-row:last-child{border-bottom:none}
.act-ic{width:26px;height:26px;border-radius:7px;background:var(--sf2);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;color:var(--tx2)}
.act-txt{flex:1;min-width:0}
.act-time{font-size:.74rem;color:var(--tx3);white-space:nowrap}
.quick-list{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.2rem}
.quick-btn{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border:1px solid var(--ln);
  border-radius:var(--r);background:var(--sf);text-decoration:none;color:var(--tx);font-size:.87rem;
  font-weight:500;transition:border-color .14s,background .14s}
.quick-btn:hover{border-color:var(--acc);background:var(--acc-s)}
.quick-btn .ic{display:flex;color:var(--acc)}
.quick-btn--primary{background:var(--acc);color:#fff;border-color:var(--acc)}
.quick-btn--primary:hover{background:var(--acc-d);border-color:var(--acc-d);color:#fff}
.quick-btn--primary .ic{color:#fff}
.empty-soft{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.6rem 1rem 1.9rem;color:var(--tx3)}
.empty-soft img{max-width:150px;height:auto;opacity:.9}
.empty-soft p{font-size:.9rem}
.own-balance{display:flex;flex-direction:column}
.own-amount{font-family:var(--font-display);font-size:2rem;font-weight:600;padding:.9rem 1.2rem 0;line-height:1.05}
.own--pos .own-amount{color:var(--ok)}
.own--neg .own-amount{color:var(--acc-d)}
.own-sub{padding:0 1.2rem .9rem;font-size:.85rem;color:var(--tx2)}
.own-rows{border-top:1px solid var(--ln-soft);display:flex}
.own-rows div{flex:1;padding:.75rem 1.2rem;display:flex;flex-direction:column;gap:.1rem}
.own-rows div+div{border-left:1px solid var(--ln-soft)}
.own-rows span{font-size:.72rem;color:var(--tx3);font-weight:500}
.own-rows strong{font-size:.98rem;font-weight:600}

/* ═══ SALDO ═══ */
.bal-hero{border-radius:var(--r2);padding:1.4rem 1.5rem;margin-bottom:1.1rem;color:#fff;box-shadow:var(--sh-2)}
.bal--pos{background:linear-gradient(150deg,var(--ok),color-mix(in srgb,var(--ok) 78%,white))}
.bal--neg{background:linear-gradient(150deg,var(--acc),color-mix(in srgb,var(--acc) 78%,white))}
.bal--zero{background:linear-gradient(150deg,var(--sb-dark),color-mix(in srgb,var(--sb-dark) 80%,white))}
.bal-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.85;font-weight:600}
.bal-amount{font-family:var(--font-display);font-size:2.2rem;font-weight:600;line-height:1.05;margin:.15rem 0}
.bal-sub{font-size:.88rem;opacity:.92}
.bal-detail{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:1rem;padding-top:.9rem;
  border-top:1px solid rgba(255,255,255,.28)}
.bal-detail div{display:flex;flex-direction:column}
.bal-detail span{font-size:.68rem;opacity:.82;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.bal-detail strong{font-size:1rem;font-weight:600}
.bal-todo{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.28);
  display:flex;flex-direction:column;gap:.3rem}
.bal-todo-row{font-size:.9rem}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.1rem}
.tile{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:.95rem .7rem;
  text-align:center;text-decoration:none;color:var(--tx);box-shadow:var(--sh-1);transition:all .15s}
.tile:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}
.tile-n{display:block;font-family:var(--font-display);font-size:1.3rem;font-weight:600}
.tile-l{display:block;font-size:.7rem;color:var(--tx2);margin-top:.2rem;font-weight:500}

/* ═══ LISTENZEILEN ═══ */
.bal-row,.exp-row,.sug-row,.pay-row,.mem-row,.cat-row,.hist-row,.shop-prev,.rank-row,.tpl-row,.trash-row{
  display:flex;align-items:center;gap:.7rem;padding:.7rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.bal-row:last-child,.exp-row:last-child,.sug-row:last-child,.pay-row:last-child,.mem-row:last-child,
.cat-row:last-child,.hist-row:last-child,.shop-prev:last-child,.rank-row:last-child,
.tpl-row:last-child,.trash-row:last-child{border-bottom:none}
.bal-row--me{background:var(--acc-s)}
.ava{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.82rem;font-weight:600;flex-shrink:0}
.ava-sm{width:24px;height:24px;font-size:.7rem}
.ava-lg{width:44px;height:44px;font-size:1.15rem}
.ava-img{padding:0;overflow:hidden;background:var(--sf2)}
.ava-img img{width:100%;height:100%;object-fit:cover;display:block}
.bal-name{min-width:66px;font-weight:500;font-size:.9rem}
.bal-bar{flex:1;height:6px;background:var(--sf2);border-radius:99px;overflow:hidden;min-width:40px}
.bal-fill{height:100%;border-radius:99px;transition:width .4s}
.bal-fill.pos{background:var(--ok)} .bal-fill.neg{background:var(--acc)}
.bal-val{font-size:.9rem;font-weight:600;min-width:88px;text-align:right}
.v-pos{color:var(--ok)} .v-neg{color:var(--acc-d)}
.chip-sm{padding:.14rem .5rem;border-radius:6px;font-size:.72rem;font-weight:600;white-space:nowrap;text-decoration:none}
.chip-neutral{background:var(--sf2);color:var(--tx2)}
.chip-var{background:var(--info-s);color:var(--info)}
.chip-open{background:var(--warn-s);color:var(--warn)}
.chip-late{background:var(--bad-s);color:var(--bad)}
.chip-link{background:var(--acc-s);color:var(--acc-d)}
.pill{padding:.12rem .5rem;border-radius:6px;font-size:.69rem;font-weight:600}
.pill--admin{background:var(--acc-s);color:var(--acc-d)}
.pill--live{background:var(--ok-s);color:var(--ok)}
.pill--todo{background:var(--warn-s);color:var(--warn)}
.pill--ghost{background:var(--sf2);color:var(--tx3)}
.pill--wait{background:var(--warn-s);color:var(--warn)}
.pill--ok{background:var(--ok-s);color:var(--ok)}
.ic-del{color:var(--tx3);text-decoration:none;font-size:.85rem;padding:.18rem .35rem;border-radius:6px;
  background:none;border:none;cursor:pointer;position:absolute;top:0;right:0;line-height:1}
.ic-del:hover{color:var(--bad);background:var(--bad-s)}
.ic-del--static{position:static}
.ic-edit{color:var(--tx3);text-decoration:none;font-size:.9rem;padding:.2rem .35rem;border-radius:6px;line-height:1}
.ic-edit:hover{color:var(--acc-d);background:var(--acc-s)}

/* ═══ FORMULARE ═══ */
.fg{display:flex;flex-direction:column;gap:.32rem;margin-bottom:.95rem}
.fg>label{font-size:.76rem;font-weight:600;color:var(--tx2)}
.fg input[type=text],.fg input[type=date],.fg input[type=password],.fg input[type=number],
.fg input[type=email],.fg input[type=datetime-local],.fg select,.fg textarea,
.cust-amt,.ab-main,.ab-qty,.ab-cat,.ab-for,.ab-note,.rate-cmt,.copy-field,.role-sel,.view-as,.inline-new input{
  padding:.58rem .8rem;border:1px solid var(--ln);border-radius:var(--r);font-family:inherit;font-size:.9rem;
  color:var(--tx);background:var(--sf);width:100%;transition:border-color .14s,box-shadow .14s}
.fg input:focus,.fg select:focus,.fg textarea:focus,.cust-amt:focus,.ab-main:focus,.ab-qty:focus,
.ab-cat:focus,.ab-for:focus,.ab-note:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-s)}
.fg input[type=file]{font-size:.84rem;padding:.45rem 0;border:none;background:none}
.fg textarea{resize:vertical;line-height:1.6}
.fr{display:flex;gap:.8rem;flex-wrap:wrap}
.fr .fg{flex:1;min-width:120px}
.actions{display:flex;gap:.55rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.5rem;padding-top:.85rem;
  border-top:1px solid var(--ln-soft)}
.cb-inline{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;cursor:pointer;color:var(--tx)}
.cb-inline input{width:16px;height:16px;accent-color:var(--acc);cursor:pointer}
.chip-row{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{padding:.38rem .8rem;border-radius:99px;border:1px solid var(--ln);background:var(--sf);font-size:.83rem;
  font-weight:500;color:var(--tx2);cursor:pointer;user-select:none;transition:all .14s}
.chip input{display:none}
.chip:hover{border-color:var(--acc)}
.chip.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.emoji-pick{display:flex;flex-wrap:wrap;gap:.32rem;max-width:100%}
.emo input{display:none}
.emo span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:1.05rem;
  border-radius:9px;border:1px solid var(--ln);cursor:pointer;background:var(--sf);transition:all .13s}
.emo input:checked+span{border-color:var(--acc);background:var(--acc-s)}
.col-pick{display:flex;gap:.4rem;flex-wrap:wrap}
.col-opt input{display:none}
.col-opt span{display:block;width:28px;height:28px;border-radius:50%;cursor:pointer;
  box-shadow:0 0 0 2px var(--sf),0 0 0 2px transparent;transition:box-shadow .14s}
.col-opt input:checked+span{box-shadow:0 0 0 2px var(--sf),0 0 0 4px var(--tx)}

/* ═══ BUTTONS ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;
  border-radius:var(--r);font-family:inherit;font-size:.88rem;font-weight:600;text-decoration:none;
  cursor:pointer;border:1px solid transparent;transition:all .14s;white-space:nowrap;line-height:1.3}
.btn-primary{background:var(--acc);color:#fff;box-shadow:var(--sh-1)}
.btn-primary:hover{background:var(--acc-d)}
.btn-ghost{background:var(--sf);color:var(--tx);border-color:var(--ln)}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc-d)}
.btn-text{background:none;color:var(--acc-d);padding:.4rem .5rem}
.btn-danger{background:var(--sf);color:var(--bad);border-color:var(--bad)}
.btn-danger:hover{background:var(--bad);color:#fff}
.btn-done{background:var(--ok-s);color:var(--ok)}
.btn-done:hover{background:var(--ok);color:#fff}
.btn-sm{padding:.34rem .72rem;font-size:.81rem}
.btn-full{width:100%}

/* ═══ HINWEISE ═══ */
.notice{border-radius:var(--r2);padding:.8rem 1rem;margin-bottom:1rem;font-size:.88rem;border:1px solid}
.notice--error{background:var(--bad-s);border-color:color-mix(in srgb,var(--bad) 35%,transparent);color:var(--bad)}
.notice--ok{background:var(--ok-s);border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}
.empty{text-align:center;padding:3rem 1rem;color:var(--tx2)}
.empty-ic{font-size:2.2rem;color:var(--tx3);margin-bottom:.8rem;display:flex;justify-content:center}
.empty-mascot,.empty-ill{display:flex;justify-content:center;margin-bottom:1rem}
.empty-mascot img,.empty-ill img,.empty-ill-img{max-width:190px;height:auto;opacity:.9;margin:0 auto .8rem}
.empty p{margin-bottom:1.1rem;font-size:.95rem}

/* ═══ MODAL ═══ */
.modal{position:fixed;inset:0;background:rgba(30,26,22,.5);z-index:500;display:flex;align-items:center;
  justify-content:center;padding:1rem;backdrop-filter:blur(3px)}
.modal-c{background:var(--sf);border-radius:var(--r3);box-shadow:var(--sh-3);width:100%;max-width:450px;overflow:hidden}
.modal-h{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--ln)}
.modal-h h3{font-family:var(--font-display);font-size:1.05rem;font-weight:600}
.modal-x{background:none;border:none;cursor:pointer;color:var(--tx3);font-size:1rem}
.modal-b{padding:1.2rem}
.modal-f{padding:.9rem 1.2rem;border-top:1px solid var(--ln);display:flex;gap:.55rem;align-items:center}

/* ═══ EVENT-ÜBERSICHT ═══ */
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}
.ev-card{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r3);overflow:hidden;
  text-decoration:none;color:var(--tx);box-shadow:var(--sh-1);transition:all .18s;display:flex;
  flex-direction:column;position:relative}
.ev-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.ev-card--arch{opacity:.6}
.ev-cover{width:100%;line-height:0;background:var(--sf2);overflow:hidden;aspect-ratio:16/9}
.ev-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ev-body{padding:.95rem 1.1rem 1.05rem}
.ev-emoji{font-size:1.9rem;line-height:1;padding:1rem 1.1rem 0}
.ev-kind{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.ev-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.2;margin:.15rem 0 .1rem}
.ev-tag{font-size:.83rem;color:var(--tx2);margin-bottom:.25rem}
.ev-loc{font-size:.8rem;color:var(--tx3);margin-bottom:.4rem}
.ev-meta{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.75rem;color:var(--tx3);align-items:center}
.ev-arch{position:absolute;top:.7rem;right:.7rem;background:rgba(255,255,255,.92);color:var(--tx2);
  font-size:.68rem;padding:.14rem .5rem;border-radius:6px}

/* ═══ TITELBILD ANSEHEN ═══ */
.cover-btn{width:32px;height:32px;padding:0;border:1px solid var(--ln);border-radius:8px;overflow:hidden;
  background:var(--sf);cursor:pointer;flex-shrink:0;line-height:0}
.cover-btn img{width:100%;height:100%;object-fit:cover;display:block}
.cover-btn:hover{border-color:var(--acc)}
.cover-ov{display:none;position:fixed;inset:0;z-index:900;background:rgba(24,20,16,.94);padding:1rem;overflow:auto}
.cover-ov.open{display:flex;flex-direction:column;align-items:center;gap:.9rem}
.cover-ov-bar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:1100px}
.cover-ov-name{flex:1;min-width:0;font-family:var(--font-display);font-size:1.05rem;color:#fff}
.cover-ov-x{background:rgba(255,255,255,.14);border:none;color:#fff;border-radius:8px;width:34px;height:34px;
  cursor:pointer;font-size:.95rem}
.cover-ov img{max-width:100%;max-height:calc(100vh - 110px);border-radius:var(--r2);box-shadow:var(--sh-3)}
.cover-prev{margin-top:.6rem}
.cover-prev img{width:100%;max-width:340px;border-radius:var(--r2);border:1px solid var(--ln);display:block}
.cover-cur{display:flex;align-items:flex-end;gap:.8rem;margin-bottom:.6rem;flex-wrap:wrap}
.cover-cur img{width:170px;border-radius:var(--r);border:1px solid var(--ln);display:block}

/* ═══ STIL-AUSWAHL ═══ */
.theme-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.55rem}
.theme-opt{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.7rem .5rem;
  border:1px solid var(--ln);border-radius:var(--r2);cursor:pointer;user-select:none;background:var(--sf);
  transition:all .14s}
.theme-opt input{display:none}
.theme-opt:hover{border-color:var(--acc)}
.theme-opt.on{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-s)}
.theme-sw{display:flex;border-radius:8px;overflow:hidden;width:100%;height:30px}
.theme-sw i{flex:1;display:block}
.theme-sw i:nth-child(1){background:var(--t1)}
.theme-sw i:nth-child(2){background:var(--t2)}
.theme-sw i:nth-child(3){background:var(--t3)}
.theme-nm{font-size:.78rem;font-weight:600;color:var(--tx2);text-align:center;line-height:1.25}
.theme-opt.on .theme-nm{color:var(--tx)}
.module-box{background:var(--sf2);border-radius:var(--r2);padding:.85rem 1rem;margin-bottom:1rem}
.module-box .cb-inline{font-weight:600}

/* ═══ PROFILBILDER ═══ */
.avatar-edit{display:flex;gap:1.1rem;align-items:center;margin-bottom:1.1rem;flex-wrap:wrap}
.avatar-prev{width:88px;height:88px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--sf2);
  display:flex;align-items:center;justify-content:center;border:1px solid var(--ln)}
.avatar-prev img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;
  font-size:2rem;font-weight:600}
.avatar-side{flex:1;min-width:180px;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.avatar-pick{cursor:pointer}
.ava-drop{width:56px;height:56px;border-radius:50%;border:1px dashed var(--ln);background:var(--sf2);
  display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;color:var(--tx3)}
.ava-drop:hover{border-color:var(--acc);color:var(--acc)}
.ava-drop img{width:100%;height:100%;object-fit:cover;display:block}

/* ═══════════════════════════════════════════════════════════
   UNTERSEITEN
═══════════════════════════════════════════════════════════ */

/* ── Reiter und Filter ── */
.vtabs,.gtabs{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin-bottom:1.1rem}
.vtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.vtabs::-webkit-scrollbar,.gtabs::-webkit-scrollbar,.list-tabs::-webkit-scrollbar,
.known-row::-webkit-scrollbar{display:none}
.vtab,.gtab{padding:.4rem .85rem;border-radius:99px;border:1px solid var(--ln);background:var(--sf);
  font-size:.83rem;font-weight:500;color:var(--tx2);text-decoration:none;white-space:nowrap;transition:all .14s}
.vtab:hover,.gtab:hover{border-color:var(--acc);color:var(--acc-d)}
.vtab.on,.gtab.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.gtab-n{opacity:.6;font-size:.72rem}
.vtab-sep{flex:1;min-width:.5rem}
.sort-row{display:flex;gap:.3rem}
.list-tabs{display:flex;gap:.35rem;margin-bottom:1.1rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}
.ltab{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:99px;
  border:1px solid var(--ln);background:var(--sf);font-size:.85rem;font-weight:500;color:var(--tx2);
  text-decoration:none;white-space:nowrap}
.ltab:hover{border-color:var(--acc)}
.ltab.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.ltab--mine{border-style:dashed}
.ltab-lock{font-size:.62rem;font-weight:600;opacity:.75;text-transform:uppercase;letter-spacing:.04em}
.ltab-add{background:var(--sf);border:1px dashed var(--ln);cursor:pointer;font-size:.95rem;color:var(--tx2);
  font-family:inherit;padding:.45rem .85rem;border-radius:99px}
.inline-new{display:flex;gap:.5rem;margin-bottom:1rem}
.inline-new input{flex:1}
.datesep{padding:1rem 0 .45rem;font-size:.74rem;font-weight:600;color:var(--tx3)}

/* ── Ausgaben ── */
.exp-card{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:.85rem 1.05rem;
  box-shadow:var(--sh-1);margin-bottom:.5rem;display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.exp-card-l{flex:1;min-width:0}
.exp-card-title{font-size:.95rem;font-weight:600;margin-bottom:.3rem}
.exp-card-meta{display:flex;flex-wrap:wrap;gap:.32rem;align-items:center}
.exp-card-r{text-align:right;flex-shrink:0}
.exp-card-amt{font-family:var(--font-display);font-size:1.1rem;font-weight:600}
.exp-card-share{font-size:.73rem;color:var(--tx3)}
.exp-card-act{display:flex;gap:.15rem;justify-content:flex-end;margin-top:.3rem}
.exp-note{font-size:.79rem;color:var(--tx2);margin-top:.25rem}
.exp-info{flex:1}.exp-title{font-size:.9rem;font-weight:500}
.exp-meta{font-size:.75rem;color:var(--tx3)}
.exp-amt{font-weight:600;font-size:.95rem;font-family:var(--font-display)}
.draft-box{background:var(--warn-s);border-radius:var(--r2);padding:.75rem .9rem;margin-bottom:1rem}
.draft-box .cb-inline{font-weight:600}
.draft-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:.1rem .45rem;border-radius:5px;
  background:var(--warn-s);color:var(--warn);margin-left:.4rem;vertical-align:middle}
.exp-card--draft{border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn-s) 40%,var(--sf))}
.exp-card--draft .exp-card-amt{color:var(--tx3)}
.rec-inputs{display:flex;flex-direction:column;gap:.35rem}
.rec-inputs input{font-size:.82rem}
.rec-area{border-top:1px solid var(--ln);background:var(--sf2)}
.rec-head{padding:.85rem 1.2rem .6rem;font-size:.78rem;font-weight:600;color:var(--tx2)}
.rec-grid{display:flex;gap:.6rem;flex-wrap:wrap;padding:0 1.2rem .9rem}
.rec-item{position:relative;width:94px}
.rec-item a{width:94px;height:94px;border-radius:var(--r);overflow:hidden;background:var(--sf);
  border:1px solid var(--ln);display:flex;align-items:center;justify-content:center}
.rec-item img{width:100%;height:100%;object-fit:cover;display:block}
.rec-pdf{font-size:.8rem;font-weight:600;color:var(--tx2)}
.rec-meta{font-size:.68rem;color:var(--tx3);margin-top:.2rem;text-align:center}
.rec-x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--sf);
  border:1px solid var(--ln);color:var(--tx3);display:flex;align-items:center;justify-content:center;
  font-size:.7rem;text-decoration:none;box-shadow:var(--sh-1)}
.rec-x:hover{background:var(--bad);color:#fff;border-color:var(--bad)}
.rec-add{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:0 1.2rem 1.1rem}
.rec-add input[type=file]{flex:1 1 200px;font-size:.82rem}
.rec-add input[type=text]{flex:1 1 180px;padding:.45rem .7rem;border:1px solid var(--ln);border-radius:var(--r);
  font-family:inherit;font-size:.84rem;background:var(--sf)}
.mem-pick{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.5rem}
.mpick{display:flex;align-items:center;gap:.45rem;padding:.36rem .75rem;border:1px solid var(--ln);
  border-radius:99px;cursor:pointer;font-size:.85rem;user-select:none;background:var(--sf);transition:all .14s}
.mpick input{display:none}
.mpick.on{border-color:var(--mc,var(--acc));background:color-mix(in srgb,var(--mc,var(--acc)) 12%,white);font-weight:600}
.mpick-av{width:20px;height:20px;border-radius:50%;background:var(--mc,var(--acc));color:#fff;font-size:.64rem;
  font-weight:600;display:flex;align-items:center;justify-content:center}
.split-note{font-size:.83rem;color:var(--acc-d);background:var(--acc-s);padding:.5rem .85rem;
  border-radius:var(--r);margin-top:.5rem;display:inline-block}
.split-note--warn{background:var(--bad-s);color:var(--bad)}
.cust-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--ln-soft)}
.cust-row:last-of-type{border-bottom:none}
.cust-name{flex:1;font-size:.89rem}
.cust-amt{width:100px;flex:0 0 auto;text-align:right}

/* ── Abrechnung ── */
.statement{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:1.4rem 1.5rem;
  margin-bottom:1.2rem;box-shadow:var(--sh-2)}
.stm-head{display:flex;align-items:center;gap:.9rem;padding-bottom:1rem;border-bottom:1px solid var(--ln);margin-bottom:1rem}
.stm-name{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.1}
.stm-event{font-size:.84rem;color:var(--tx2)}
.stm-date{margin-left:auto;font-size:.76rem;color:var(--tx3)}
.stm-rows{display:flex;flex-direction:column}
.stm-row{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;font-size:.92rem;
  border-bottom:1px solid var(--ln-soft)}
.stm-row span{color:var(--tx2)}
.stm-row--total{border-bottom:none;border-top:2px solid var(--ln);margin-top:.4rem;padding-top:.85rem}
.stm-row--total span{color:var(--tx);font-weight:600}
.stm-row--total strong{font-family:var(--font-display);font-size:1.45rem}
.stm-actions{margin-top:1.1rem;display:flex;flex-direction:column;gap:.55rem}
.stm-act{padding:.8rem .95rem;border-radius:var(--r2);font-size:.9rem}
.stm-act--pay{background:var(--acc-s)}
.stm-act--get{background:var(--ok-s)}
.stm-payinfo{margin-top:.5rem;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--acc) 30%,transparent);
  font-family:var(--mono);font-size:.8rem}
.stm-clear{margin-top:1rem;padding:.85rem;text-align:center;background:var(--ok-s);color:var(--ok);
  border-radius:var(--r2);font-weight:600;font-size:.92rem}
.stm-foot{margin-top:1.1rem;text-align:right;font-family:var(--font-display);font-size:.78rem;color:var(--tx3)}
.hint-line{font-size:.82rem;color:var(--tx2);margin:-.5rem 0 1.2rem}
.sug-arrow{color:var(--tx3)}
.sug-amt{font-family:var(--font-display);font-weight:600;font-size:1rem}
.sug-form{margin-left:auto}
.pay-amt{font-weight:600;margin-left:auto}

/* ── Aufgaben ── */
.tsec{margin-bottom:1.6rem}
.tsec-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.tsec-i{font-size:1.2rem;line-height:1}
.tsec-h h2{font-family:var(--font-display);font-size:1.08rem;font-weight:600;flex:1}
.tsec-n{font-size:.72rem;font-weight:600;background:var(--sf2);color:var(--tx2);padding:.12rem .5rem;border-radius:99px}
.tsec-act{display:flex;gap:.35rem;align-items:center}
.tcard{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:.8rem 1rem;
  box-shadow:var(--sh-1);margin-bottom:.5rem;display:flex;align-items:center;gap:.8rem}
.tcard:hover{border-color:color-mix(in srgb,var(--acc) 45%,var(--ln))}
.tcard-b{flex:1;min-width:0}
.tcard-t{font-size:.94rem;font-weight:600;margin-bottom:.25rem}
.tcard-m{display:flex;flex-wrap:wrap;gap:.3rem}
.tcard-a{display:flex;gap:.4rem;align-items:center;flex-shrink:0}
.todo{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);box-shadow:var(--sh-1);
  margin-bottom:.5rem;overflow:hidden}
.todo--done{background:var(--sf2);opacity:.75}
.todo-h{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem}
.todo-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--acc);flex-shrink:0;display:flex;
  align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff}
.todo-dot--on{background:var(--ok);border-color:var(--ok)}
.todo-b{flex:1;min-width:0}
.todo-t{font-size:.96rem;font-weight:600;margin-bottom:.2rem}
.todo-m{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.todo-a{display:flex;gap:.35rem;align-items:center;flex-shrink:0;position:relative}
.todo-a .ic-del{position:static}
.todo-d{padding:0 1rem .9rem;border-top:1px solid var(--ln-soft)}
.tcomp{display:flex;align-items:center;gap:.45rem;padding:.45rem 0;font-size:.83rem;flex-wrap:wrap}
.tcomp-c{font-style:italic;color:var(--tx2);font-size:.79rem}
.tdone-f{border-top:1px solid var(--ln-soft);padding-top:.8rem;margin-top:.4rem}
.donetgl{width:100%;padding:.7rem 1rem;background:var(--sf);border:1px dashed var(--ln);border-radius:var(--r2);
  font-family:inherit;font-size:.86rem;font-weight:500;color:var(--tx2);cursor:pointer;text-align:left;margin-top:.9rem}
.donetgl:hover{border-color:var(--acc);color:var(--acc-d)}
.tbanner{display:flex;align-items:center;gap:.9rem;background:var(--sf);border:1px solid var(--ln);
  border-left:3px solid var(--acc);border-radius:var(--r2);padding:1rem 1.15rem;margin-bottom:1.1rem;box-shadow:var(--sh-1)}
.tbanner-i{font-size:1.7rem}
.tbanner-t{font-family:var(--font-display);font-size:1.1rem;font-weight:600}
.tbanner-c{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.2rem}
.tbanner-c span{font-size:.73rem;color:var(--tx2);background:var(--sf2);padding:.1rem .45rem;border-radius:5px}
.varpick{display:flex;flex-direction:column;gap:.2rem;background:var(--sf2);border-radius:var(--r2);padding:.8rem}
.vitem{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:8px;cursor:pointer;font-size:.88rem}
.vitem:hover{background:var(--sf)}
.vitem input{width:16px;height:16px;accent-color:var(--acc);cursor:pointer}
.vitem-n{font-weight:500}
.vitem-p{margin-left:auto;font-size:.73rem;color:var(--tx3);font-style:italic;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:200px}
.vitem--all,.vitem--none{border-top:1px solid var(--ln);margin-top:.25rem;padding-top:.5rem}
.vitem--all{border-top:none;margin-top:0}
.prev{font-size:.85rem;color:var(--acc-d);background:var(--acc-s);padding:.5rem .85rem;border-radius:var(--r);
  font-weight:600;display:inline-block}
.fuinfo{background:var(--info-s);border-radius:var(--r);padding:.65rem .9rem;font-size:.84rem;color:var(--info);margin-bottom:.9rem}
.fubox{background:var(--sf2);border-radius:var(--r2);padding:.9rem 1rem;margin-top:.5rem}
.inline-num{display:flex;align-items:center;gap:.45rem}
.inline-num input{width:74px}
.inline-num span{font-size:.85rem;color:var(--tx2)}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.45rem}
.ccb{display:flex;align-items:center;gap:.45rem;padding:.5rem .7rem;border:1px solid var(--ln);
  border-radius:var(--r);cursor:pointer;font-size:.85rem;user-select:none;background:var(--sf);transition:all .14s}
.ccb:hover{border-color:var(--acc)}
.ccb.on{border-color:var(--acc);background:var(--acc-s);font-weight:600}
.ccb input{display:none}
.ccb-i{font-size:1rem}
.next-todo{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.2rem}
.next-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--acc);background:var(--acc-s);flex-shrink:0}
.next-b{flex:1;min-width:0}
.next-t{font-family:var(--font-display);font-size:1rem;font-weight:600}
.next-m{font-size:.77rem;color:var(--tx2);margin-top:.05rem}

/* ── Kalender ── */
.cal-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.1rem}
.cnav{width:34px;height:34px;border-radius:50%;background:var(--sf);border:1px solid var(--ln);display:flex;
  align-items:center;justify-content:center;text-decoration:none;color:var(--tx);font-weight:600}
.cnav:hover{border-color:var(--acc);color:var(--acc-d)}
.cal-t{font-family:var(--font-display);font-size:1.3rem;font-weight:600;min-width:180px;text-align:center}
.ctog{display:flex;gap:.3rem}
.cbtn{padding:.38rem .85rem;font-size:.82rem;font-weight:500;text-decoration:none;color:var(--tx2);
  background:var(--sf);border:1px solid var(--ln);border-radius:99px}
.cbtn.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.cmonth{display:grid;grid-template-columns:repeat(7,1fr);background:var(--ln);gap:1px;border:1px solid var(--ln);
  border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh-1)}
.cdow{background:var(--sf2);color:var(--tx2);text-align:center;padding:.55rem .3rem;font-size:.7rem;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ccell{background:var(--sf);min-height:96px;padding:.35rem .4rem}
.ccell--e{background:var(--sf2)}
.ccell--we{background:color-mix(in srgb,var(--sf2) 55%,var(--sf))}
.ccell--today{background:var(--acc-s) !important}
.cnum{font-size:.78rem;font-weight:600;color:var(--tx3);margin-bottom:.25rem}
.cnum--today{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;
  border-radius:50%;background:var(--acc);color:#fff;font-size:.72rem}
.cchip{font-size:.68rem;font-weight:500;padding:.13rem .38rem;border-radius:5px;margin-bottom:2px;
  background:color-mix(in srgb,var(--cc) 12%,var(--sf));color:color-mix(in srgb,var(--cc) 72%,black);
  border-left:2px solid var(--cc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cchip--done{opacity:.5;text-decoration:line-through}
.cweek{display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem}
.ccol{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);overflow:hidden;
  box-shadow:var(--sh-1);display:flex;flex-direction:column;min-height:170px}
.ccol--today{border-color:var(--acc)}
.ccol--we{background:var(--sf2)}
.ccol-h{padding:.55rem .65rem;border-bottom:1px solid var(--ln-soft);display:flex;align-items:center;gap:.35rem}
.ccol-d{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tx3)}
.ccol-n{font-family:var(--font-display);font-size:1.05rem;font-weight:600}
.ccol-n.on{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;
  border-radius:50%;background:var(--acc);color:#fff;font-size:.85rem}
.ccol-c{margin-left:auto;font-size:.66rem;font-weight:600;background:var(--acc-s);color:var(--acc-d);
  padding:.08rem .4rem;border-radius:99px}
.ccol-b{padding:.45rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.ctask{padding:.45rem .5rem;border-radius:var(--r);background:color-mix(in srgb,var(--cc) 7%,var(--sf));
  border-left:2px solid var(--cc)}
.ctask--done{opacity:.5}
.ctask-t{font-size:.79rem;font-weight:500;line-height:1.3}
.ctask-m{font-size:.68rem;margin-top:.1rem}
.ctask-a{display:flex;gap:.25rem;margin-top:.35rem}
.cmini{border:1px solid var(--ln);background:var(--sf);border-radius:6px;font-size:.7rem;padding:.12rem .35rem;
  cursor:pointer;font-family:inherit;color:var(--tx2)}
.cmini:hover{border-color:var(--acc);color:var(--acc-d)}
.cmini-ok{background:var(--ok-s);color:var(--ok);border-color:transparent}
.ccol-empty{font-size:.74rem;color:var(--tx3);text-align:center;padding:.4rem}
.clegend{display:flex;gap:1.2rem;margin-top:1rem;font-size:.79rem;color:var(--tx2)}
.clegend span{display:flex;align-items:center;gap:.35rem}
.ldot{width:9px;height:9px;border-radius:50%}

/* ── Einkauf ── */
.addbox{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:.85rem;
  margin-bottom:1.2rem;box-shadow:var(--sh-1)}
.addbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
.addbar--2{margin-bottom:0}
.ab-main{flex:2;min-width:160px}
.ab-qty{width:96px;flex:0 0 auto}
.ab-cat{width:128px;flex:0 0 auto}
.ab-for{flex:1 1 210px;min-width:0}
.ab-note{flex:2 1 230px;min-width:0}
.add-msg{margin-top:.55rem;padding:.45rem .8rem;background:var(--ok-s);color:var(--ok);border-radius:var(--r);
  font-size:.82rem;font-weight:500}
.shop-grp{margin-bottom:1.3rem}
.shop-grp-h{font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--tx3);
  margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--ln-soft)}
.sitem{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);margin-bottom:.45rem;
  overflow:hidden;box-shadow:var(--sh-1)}
.sitem--done{background:var(--sf2);opacity:.72}
.sitem-main{display:flex;align-items:center;gap:.75rem;padding:.7rem .95rem}
.scheck{width:24px;height:24px;border-radius:50%;border:2px solid var(--ln);background:var(--sf);cursor:pointer;
  flex-shrink:0;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;
  color:#fff;transition:all .14s}
.scheck:hover{border-color:var(--acc)}
.scheck--on{background:var(--ok);border-color:var(--ok)}
.sitem-info{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}
.sitem-name{font-size:.93rem;font-weight:500}
.sitem-qty{font-size:.78rem;color:var(--tx3);margin-left:.4rem}
.sitem-by{font-size:.74rem}
.sitem-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.15rem}
.tag-for{font-size:.72rem;font-weight:600;padding:.08rem .45rem;border-radius:5px;
  background:color-mix(in srgb,var(--mc) 14%,white);color:color-mix(in srgb,var(--mc) 74%,black)}
.tag-by{font-size:.72rem;color:var(--tx3)}
.tag-done{font-size:.72rem;font-weight:500;color:var(--ok)}
.sitem-note{font-size:.79rem;font-style:italic;color:var(--tx2);margin-top:.15rem}
.sitem-pref{font-size:.77rem;margin-top:.2rem;padding:.18rem .5rem;border-radius:6px;
  background:color-mix(in srgb,var(--mc) 10%,white);border-left:2px solid var(--mc);width:fit-content;max-width:100%}
.sitem-act{display:flex;gap:.35rem;align-items:center;flex-shrink:0}
.sbtn{border:1px solid var(--ln);background:var(--sf);border-radius:7px;padding:.24rem .5rem;font-size:.78rem;
  cursor:pointer;font-family:inherit;color:var(--tx2);text-decoration:none;line-height:1.5}
.sbtn:hover{border-color:var(--acc);color:var(--acc-d)}
.sbtn-star{background:var(--warn-s);color:var(--warn);border-color:transparent}
.sbtn-scan{background:var(--acc-s);color:var(--acc-d);border-color:transparent}
.sbtn-sug.on{background:var(--warn-s);color:var(--warn);border-color:transparent}
.bought{display:inline-flex;align-items:center;gap:.4rem;margin-top:.3rem;padding:.2rem .5rem;
  background:var(--sf2);border-radius:99px;text-decoration:none;color:var(--tx2);font-size:.75rem;width:fit-content}
.bought img{width:18px;height:18px;object-fit:contain;border-radius:3px;background:#fff}
.sedit{display:none;padding:.9rem .95rem;border-top:1px solid var(--ln-soft);background:var(--sf2)}
.sedit.open{display:block}
.sedit .fg{margin-bottom:.6rem}
.pref-box{background:var(--acc-s);border-radius:var(--r2);padding:.75rem .85rem;margin:.6rem 0}
.pref-box>label{display:block;font-size:.74rem;font-weight:600;margin-bottom:.5rem;color:var(--acc-d)}
.pref-box .fg{margin-bottom:0}
.sugp{display:none;padding:.75rem .95rem;border-top:1px solid var(--ln-soft);background:var(--sf2)}
.sugp.open{display:block}
.sugp-h{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tx3);margin-bottom:.55rem}
.sugc{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem .7rem;background:var(--sf);
  border:1px solid var(--ln);border-left:3px solid var(--rc,var(--ln));border-radius:var(--r);margin-bottom:.4rem}
.sugc-img{width:42px;height:42px;flex-shrink:0;background:var(--sf2);border-radius:8px;display:flex;
  align-items:center;justify-content:center;overflow:hidden;color:var(--tx3)}
.sugc-img img{width:100%;height:100%;object-fit:contain}
.sugc-b{flex:1;min-width:0}
.sugc-n{font-size:.87rem;font-weight:600;line-height:1.25}
.sugc-r{display:flex;align-items:center;gap:.4rem;margin:.15rem 0}
.verdict{font-size:.66rem;font-weight:600;padding:.06rem .4rem;border-radius:5px;background:var(--rc-s);color:var(--rc)}
.sugc-c{font-size:.76rem;color:var(--tx2);font-style:italic}
.sugc-m{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.7rem;color:var(--tx3);margin-top:.15rem}
.live{font-size:.7rem;font-weight:600;color:var(--ok);background:var(--ok-s);padding:.2rem .55rem;border-radius:99px}
.mine-hint{background:var(--info-s);border-radius:var(--r2);padding:.7rem .95rem;font-size:.85rem;
  color:var(--info);margin-bottom:1rem}
.sugg-card{border-style:dashed}
.sugg-wrap{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1.2rem .85rem}
.sugg-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem .35rem .5rem;background:var(--sf);
  border:1px solid var(--ln);border-radius:99px;cursor:pointer;font-family:inherit;font-size:.84rem;
  font-weight:500;color:var(--tx);transition:all .13s}
.sugg-chip:hover{border-color:var(--acc);background:var(--acc-s)}
.sugg-chip.taken{background:var(--ok-s);color:var(--ok);border-color:transparent;cursor:default}
.sugg-plus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  background:var(--acc);color:#fff;font-size:.74rem;font-weight:700;flex-shrink:0}
.sugg-chip.taken .sugg-plus{background:var(--ok)}
.sugg-c{font-size:.7rem;color:var(--tx3)}
.list-foot{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.2rem}
.tpl-apply{border-style:dashed}
.shop-prev-b{flex:1;min-width:0}
.shop-prev-n{font-size:.9rem;font-weight:500}
.shop-prev-r{font-size:.74rem;color:var(--tx2);display:flex;align-items:center;gap:.35rem;margin-top:.05rem}
.shop-prev-img{width:38px;height:38px;object-fit:contain;border-radius:8px;border:1px solid var(--ln);
  background:var(--sf2);flex-shrink:0}

/* ── Produkte ── */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}
.pcard{background:var(--sf);border:1px solid var(--ln);border-left:3px solid var(--rc,var(--ln));
  border-radius:var(--r2);padding:.95rem;box-shadow:var(--sh-1);position:relative}
.pcard-top{display:flex;gap:.85rem;margin-bottom:.6rem}
.pimg{position:relative;width:72px;height:72px;flex-shrink:0;border-radius:var(--r);background:var(--sf2);
  display:flex;align-items:center;justify-content:center;color:var(--tx3);font-size:1.4rem;overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:contain}
.pbadge{position:absolute;top:.25rem;left:.25rem;background:var(--rc-s);color:var(--rc);font-size:.6rem;
  font-weight:600;padding:.06rem .35rem;border-radius:4px}
.pinfo{flex:1;min-width:0}
.pbrand{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tx3)}
.pname{font-size:.95rem;font-weight:600;line-height:1.25;margin-bottom:.2rem}
.pstars{display:flex;align-items:center;gap:.3rem;margin-bottom:.3rem}
.pmeta{display:flex;flex-wrap:wrap;gap:.25rem}
.rate-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--ln-soft);padding-top:.6rem}
.rate-lbl{font-size:.72rem;font-weight:600;color:var(--tx3)}
.rate-cmt{flex:1;min-width:110px}
.pratings{margin-top:.5rem;border-top:1px solid var(--ln-soft);padding-top:.5rem}
.pratings summary{font-size:.78rem;color:var(--acc-d);cursor:pointer;font-weight:500}
.prow{display:flex;align-items:center;gap:.45rem;padding:.35rem 0;font-size:.81rem;flex-wrap:wrap}
.prow-n{font-weight:600}
.prow-c{font-style:italic;color:var(--tx2);flex-basis:100%;padding-left:1.9rem;font-size:.78rem}
.stars{display:inline-flex;align-items:center;gap:1px;font-size:.95rem;line-height:1}
.stars--sm{font-size:.8rem}
.stars--none{color:var(--tx3);font-size:.76rem;font-style:italic}
.star{color:color-mix(in srgb,var(--tx3) 45%,transparent)}
.star--on{color:#E0A93E}
.star--half{background:linear-gradient(90deg,#E0A93E 50%,color-mix(in srgb,var(--tx3) 45%,transparent) 50%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.stars-num{margin-left:.3rem;font-size:.76rem;font-weight:600;color:var(--tx2)}
.rat--top{--rc:#4E8C63;--rc-s:#E7F0E9}
.rat--good{--rc:#6E8E4A;--rc-s:#EDF2E3}
.rat--ok{--rc:#C08A2E;--rc-s:#FBF1DE}
.rat--bad{--rc:#B4483C;--rc-s:#F8E8E5}
.rat--none{--rc:#9A9187;--rc-s:#F2EEE7}
.starpick{display:inline-flex;align-items:center;gap:2px}
.starpick label{cursor:pointer;line-height:1}
.starpick input{display:none}
.starpick span{font-size:1.3rem;color:color-mix(in srgb,var(--tx3) 40%,transparent);transition:all .1s}
.sp-sm span{font-size:1rem}
.starpick span.on{color:#E0A93E}
.starpick label:hover span{transform:scale(1.15)}
.sp-label{margin-left:.55rem;font-size:.85rem;font-weight:500;color:var(--tx2)}
.scanbox{width:100%;max-width:400px;border-radius:var(--r2);overflow:hidden;background:var(--sf2);margin:0 1.2rem}
.scan-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.85rem 1.2rem 1.2rem}
.scan-msg{margin:0 1.2rem 1.2rem;padding:.6rem .85rem;border-radius:var(--r);background:var(--acc-s);
  color:var(--acc-d);font-size:.85rem;font-weight:500}
.scan-msg--err{background:var(--bad-s);color:var(--bad)}
.pv-img{max-width:140px;border-radius:var(--r);border:1px solid var(--ln)}
.dbimg{display:flex;align-items:center;gap:.65rem;background:var(--sf2);padding:.6rem .8rem;
  border-radius:var(--r);margin-bottom:.9rem}
.dbimg img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:8px}
.known{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:.95rem;
  margin-bottom:1.1rem;box-shadow:var(--sh-1)}
.known-h{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tx3);margin-bottom:.6rem}
.known-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}
.kchip{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border:1px solid var(--ln);
  border-left:3px solid var(--rc,var(--ln));background:var(--sf);border-radius:var(--r);min-width:230px;flex-shrink:0}
.kchip img{width:32px;height:32px;object-fit:contain;background:var(--sf2);border-radius:6px}
.kchip-b{flex:1;min-width:0}
.kchip-n{font-size:.8rem;font-weight:600;line-height:1.2;margin-bottom:.1rem}
.rate-box{background:var(--sf2);border-radius:var(--r2);padding:.85rem .95rem;margin-top:.6rem}

/* ── Statistik & Verlauf ── */
.stat-top{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-bottom:1.2rem}
.stat-big-tile{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:1.1rem .85rem;
  text-align:center;box-shadow:var(--sh-1)}
.sbt-n{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.15}
.sbt-l{display:block;font-size:.73rem;color:var(--tx2);margin-top:.25rem}
.rank-no{width:22px;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--tx3);text-align:right}
.rank-nm{min-width:74px;font-weight:500;font-size:.9rem}
.rank-bar{flex:1;height:8px;background:var(--sf2);border-radius:99px;overflow:hidden;min-width:40px}
.rank-bar div{height:100%;border-radius:99px;transition:width .4s}
.rank-v{font-weight:600;font-size:.9rem;min-width:84px;text-align:right}
.person-head{display:flex;align-items:center;gap:.85rem;padding:.95rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.person-nm{font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.15}
.person-sub{display:flex;gap:.35rem;margin-top:.15rem;flex-wrap:wrap;align-items:center}
.num-row{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--ln-soft)}
.num-row--money{grid-template-columns:repeat(3,1fr);background:var(--sf2)}
.num{padding:.75rem .4rem;text-align:center;border-right:1px solid var(--ln-soft)}
.num:last-child{border-right:none}
.num b{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.1}
.num span{display:block;font-size:.68rem;color:var(--tx3);margin-top:.2rem}
.fav-line{padding:.65rem 1.2rem;font-size:.85rem;color:var(--tx2);border-bottom:1px solid var(--ln-soft)}
.wchart{display:flex;gap:6px;align-items:flex-end;padding:1rem 1.2rem;height:120px;border-bottom:1px solid var(--ln-soft)}
.wcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;height:100%}
.wbar{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--sf2);border-radius:6px;overflow:hidden}
.wbar div{width:100%;min-height:2px;border-radius:6px 6px 0 0;transition:height .4s}
.wnum{font-size:.68rem;font-weight:600;color:var(--tx2)}
.wlbl{font-size:.62rem;color:var(--tx3);white-space:nowrap}
.mini-list{padding:.85rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.mini-list:last-child{border-bottom:none}
.mini-list h3{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tx3);margin-bottom:.5rem}
.mini-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.87rem;border-bottom:1px solid var(--ln-soft)}
.mini-row:last-child{border-bottom:none}
.cmt-row{padding:.35rem 0;border-bottom:1px solid var(--ln-soft)}
.cmt-row:last-child{border-bottom:none}
.cmt-meta{display:block;font-size:.7rem;color:var(--tx3)}
.cmt-txt{font-size:.85rem;font-style:italic;color:var(--tx2)}
.hist-b{flex:1;min-width:0}
.hist-t{font-size:.9rem;font-weight:500}
.hist-c{font-size:.8rem;font-style:italic;color:var(--tx2);margin-top:.1rem}
.hist-r{text-align:right;flex-shrink:0}
.hist-who{display:block;font-size:.79rem;font-weight:500}
.hist-time{display:block;font-size:.72rem;color:var(--tx3)}

/* ── Untergruppen ── */
.sggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.sgcard{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:1rem;
  box-shadow:var(--sh-1);position:relative}
.sgcard-h{display:flex;align-items:center;gap:.55rem;margin-bottom:.8rem;padding-bottom:.6rem;
  border-bottom:1px solid var(--ln-soft)}
.sg-i{font-size:1.3rem}
.sgcard-h h3{font-family:var(--font-display);font-size:1.02rem;font-weight:600;flex:1}
.sgcard-b{display:flex;flex-direction:column;gap:.3rem}
.sgm{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--ln);background:var(--sf);
  border-radius:var(--r);cursor:pointer;font-family:inherit;font-size:.85rem;text-align:left;width:100%;transition:all .13s}
.sgm:hover{border-color:var(--mc)}
.sgm.on{border-color:var(--mc);background:color-mix(in srgb,var(--mc) 10%,white);font-weight:600}
.sgm-ck{margin-left:auto;color:var(--mc);font-weight:700}

/* ── Verwaltung ── */
.code-box{background:var(--ok-s);border-radius:var(--r2);padding:1.1rem 1.2rem;margin-bottom:1.2rem}
.code-label{font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ok)}
.code-value{font-family:var(--mono);font-size:1.9rem;font-weight:700;letter-spacing:.2em;margin:.35rem 0;color:var(--tx)}
.code-hint{font-size:.82rem;color:var(--tx2);margin-bottom:.6rem}
.copy-field{font-family:var(--mono);font-size:.78rem}
.inv-list{padding:0 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.5rem}
.inv-row{display:flex;flex-direction:column;gap:.25rem}
.mem-info{flex:1;min-width:120px}
.mem-name{font-weight:600;font-size:.92rem}
.mem-state{margin-top:.15rem}
.inline-f{display:inline-flex}
.role-sel,.view-as{width:auto;padding:.32rem .6rem;font-size:.81rem}
.pc-head{display:flex;align-items:center;gap:.9rem;padding:.95rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.pc-info{flex:1;min-width:0}
.pc-name{font-family:var(--font-display);font-size:1.12rem;font-weight:600;line-height:1.15;
  display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.pc-state{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.2rem}
.pc-act{display:flex;gap:.4rem;align-items:center;flex-shrink:0}
.pc-events{display:flex;flex-direction:column;gap:.35rem;padding:.8rem 1.2rem}
.pc-ev{display:flex;align-items:center;gap:.5rem;border:1px solid var(--ln);border-radius:var(--r);
  padding:.45rem .65rem;background:var(--sf2);font-size:.85rem}
.pc-ev--arch{opacity:.55}
.pc-ev-name{flex:1;min-width:0;font-weight:500;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-add{display:flex;gap:.5rem;padding:0 1.2rem 1.1rem;flex-wrap:wrap}
.pc-add select{flex:1;min-width:160px}
.pc-avatar-form{flex-shrink:0}
.pc-avatar{position:relative;display:block;cursor:pointer;border-radius:50%;line-height:0}
.pc-avatar .ava{transition:filter .15s}
.pc-avatar:hover .ava{filter:brightness(.72)}
.pc-avatar-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;
  opacity:0;transition:opacity .15s;pointer-events:none}
.pc-avatar:hover .pc-avatar-ov{opacity:1}
.pc-color-form{display:inline-flex}
.pc-color{width:32px;height:32px;padding:2px;border:1px solid var(--ln);border-radius:8px;background:var(--sf);cursor:pointer}
.ev-pick{display:flex;flex-wrap:wrap;gap:.45rem}
.ev-cb{display:flex;align-items:center;padding:.4rem .8rem;border:1px solid var(--ln);border-radius:99px;
  cursor:pointer;font-size:.84rem;background:var(--sf);user-select:none}
.ev-cb input{display:none}
.ev-cb.on{border-color:var(--acc);background:var(--acc-s);font-weight:600}
.or-line{display:flex;align-items:center;gap:.8rem;padding:.7rem 1.2rem;color:var(--tx3);font-size:.76rem;
  font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.or-line::before,.or-line::after{content:'';flex:1;height:1px;background:var(--ln)}
.tpl-area{font-family:var(--mono);font-size:.83rem;line-height:1.7}
.tpl-sep{padding:.7rem 1.2rem .4rem;font-size:.73rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:var(--tx3)}
.tpl-row.on{background:var(--acc-s)}
.tpl-ic{font-size:1.25rem}
.tpl-b{flex:1;min-width:0}
.tpl-n{font-weight:600;font-size:.94rem}
.tpl-m{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-top:.15rem}
.cat-ic{font-size:1.25rem}
.cat-nm{flex:1;font-weight:500;font-size:.93rem}
.cat-ord{display:flex;flex-direction:column;gap:2px}
.ord-btn{font-size:.6rem;line-height:1;color:var(--tx3);text-decoration:none;padding:.12rem .3rem;
  border:1px solid var(--ln);border-radius:5px;background:var(--sf)}
.ord-btn:hover{border-color:var(--acc);color:var(--acc-d)}

/* ── Papierkorb & Protokoll ── */
.trash-row{flex-wrap:wrap}
.trash-b{flex:1;min-width:0}
.trash-t{font-size:.92rem;font-weight:500}
.trash-m{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;font-size:.78rem;color:var(--tx2);margin-top:.1rem}
.log-row{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.log-row:last-child{border-bottom:none}
.log-badge{font-size:.68rem;font-weight:600;padding:.14rem .5rem;border-radius:6px;white-space:nowrap;flex-shrink:0}
.log-delete{background:var(--bad-s);color:var(--bad)}
.log-restore{background:var(--ok-s);color:var(--ok)}
.log-purge{background:var(--tx);color:var(--sf)}
.log-edit{background:var(--info-s);color:var(--info)}
.log-b{flex:1;min-width:0}
.log-t{font-size:.87rem;font-weight:500}

/* ═══════════════════════════════════════════════════════════
   ANMELDUNG
═══════════════════════════════════════════════════════════ */
.auth-wrap{min-height:100vh;width:100%;display:grid;grid-template-columns:1.15fr .85fr;background:var(--bg)}
.auth-scene{position:relative;overflow:hidden;background:var(--sf2);display:flex;flex-direction:column;
  justify-content:flex-end;padding:2.5rem}
.auth-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:0}
.auth-scene::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(28,22,16,.72) 0,rgba(28,22,16,.18) 45%,rgba(28,22,16,.05) 100%)}
.auth-scene-txt{position:relative;z-index:2;color:#fff;max-width:460px}
.auth-scene-txt h2{font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:600;
  line-height:1.1;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.auth-scene-txt p{font-size:1rem;margin-top:.5rem;color:rgba(255,255,255,.92);text-shadow:0 2px 12px rgba(0,0,0,.45)}
.auth-scene-list{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1.4rem}
.auth-scene-list span{display:flex;align-items:center;gap:.45rem;font-size:.87rem;color:rgba(255,255,255,.95);
  text-shadow:0 1px 10px rgba(0,0,0,.5)}
.auth-side{display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem;background:var(--bg)}
.auth-shell{width:100%;max-width:360px;position:relative}
.auth-card{background:transparent}
.auth-logo{margin-bottom:.3rem}
.auth-logo img{width:100%;max-width:230px;height:auto;display:block}
.auth-brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.5rem;
  font-weight:600;color:var(--tx)}
.auth-tag{font-size:.92rem;color:var(--tx2);margin:.2rem 0 1.7rem}
.auth-form{display:flex;flex-direction:column;gap:.85rem}
.auth-form .fg{margin-bottom:0}
.auth-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.4rem;padding-top:1.1rem;
  border-top:1px solid var(--ln);font-size:.85rem}
.auth-links a{color:var(--acc-d);text-decoration:none;font-weight:600}
.auth-links a:hover{text-decoration:underline}
.auth-note{font-size:.78rem;color:var(--tx3);margin-top:.9rem}
.auth-claim{font-family:var(--font-display);font-size:.9rem;color:var(--tx2);margin-top:.35rem}
.invite-box{display:flex;gap:.85rem;align-items:center;background:var(--sf);border:1px solid var(--ln);
  border-left:3px solid var(--acc);border-radius:var(--r2);padding:.85rem;margin-bottom:1.2rem;font-size:.87rem;
  box-shadow:var(--sh-1)}
.invite-emoji{font-size:1.7rem}
.invite-cover{width:56px;height:42px;object-fit:cover;border-radius:8px;flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   RESPONSIV
═══════════════════════════════════════════════════════════ */
.mnav{display:none}
@media(max-width:1024px){
  .content,.page{padding:1.3rem 1.2rem 3rem}
  .two-col{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .pgrid,.sggrid{grid-template-columns:1fr}
  .stat-top{grid-template-columns:1fr}
}
@media(max-width:900px){
  .auth-wrap{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .auth-scene{min-height:230px;padding:1.5rem 1.2rem}
  .auth-scene-txt h2{font-size:1.5rem}
  .auth-scene-txt p{font-size:.9rem}
  .auth-scene-list{display:none}
  .auth-side{padding:1.8rem 1.2rem 3rem;align-items:flex-start}
}
@media(max-width:860px){
  .sidebar{width:min(84vw,280px);transform:translateX(-100%);transition:transform .22s ease}
  body.sb-open .sidebar{transform:translateX(0)}
  body.sb-open::after{content:'';position:fixed;inset:0;background:rgba(30,26,22,.45);z-index:299}
  .main{margin-left:0;padding-bottom:74px}
  .burger,.hero-burger{display:block}
  .topbar{padding:.7rem 1rem}
  .content,.page{padding:1rem 1rem 3rem}
  .hero{min-height:132px}
  .hero-top{padding:.7rem 1rem 0}
  .hero-body{padding:.8rem 1rem 1.1rem}
  .hero-people .ava{width:24px;height:24px}
  .sb-egg{display:none}
  .today-grid,.today-grid--2{grid-template-columns:1fr;gap:.6rem}
  .today-card{min-height:0;padding:.8rem .95rem}
  .today-ill{width:52px}
  .ev-grid{grid-template-columns:1fr}
  .fr .fg{flex:1 1 100%;min-width:0}
  .bal-row,.rank-row,.sug-row,.pay-row,.mem-row,.cat-row,.hist-row,.exp-row{flex-wrap:wrap}
  .bal-bar,.rank-bar{flex:1 1 100%;order:9;margin-top:.3rem}
  .bal-val,.rank-v{margin-left:auto}
  .bal-amount{font-size:1.85rem}
  .cweek{grid-template-columns:repeat(2,1fr)}
  .ccell{min-height:60px;padding:.2rem .25rem}
  .cchip{font-size:.6rem;padding:.08rem .25rem}
  .cal-t{min-width:0;flex:1}
  .num-row,.num-row--money{grid-template-columns:repeat(3,1fr)}
  .ab-main,.ab-qty,.ab-cat,.ab-for,.ab-note{flex:1 1 100%;width:100%}
  .cust-amt{width:100%}
  .cust-row{flex-wrap:wrap}
  .vitem-p{display:none}
  .rec-item,.rec-item a{width:80px}
  .rec-item a{height:80px}
  .pc-head{flex-wrap:wrap}
  .pc-act{width:100%;justify-content:flex-end}

  .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:250;background:var(--sf);
    border-top:1px solid var(--ln);padding:.3rem .2rem calc(.3rem + env(safe-area-inset-bottom,0px));
    box-shadow:0 -2px 16px rgba(46,42,36,.07)}
  .mnav-i{flex:1;display:flex;flex-direction:column;align-items:center;gap:.12rem;padding:.35rem .1rem;
    text-decoration:none;color:var(--tx3);font-size:.64rem;font-weight:500;background:none;border:none;
    cursor:pointer;font-family:inherit;border-radius:8px}
  .mnav-i svg{width:21px;height:21px}
  .mnav-i.on{color:var(--acc)}
  .mnav-fab{flex:0 0 auto;margin-top:-20px;padding-left:.4rem;padding-right:.4rem}
  .mnav-fab .fab-circle{width:50px;height:50px;border-radius:50%;background:var(--acc);color:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 14px color-mix(in srgb,var(--acc) 45%,transparent);transition:transform .14s}
  .mnav-fab:active .fab-circle{transform:scale(.93)}
  .mnav-fab span:not(.fab-circle){display:none}
}
@media(max-width:420px){
  .tiles,.stat-top{grid-template-columns:1fr}
  .cweek{grid-template-columns:1fr}
  .num-row,.num-row--money{grid-template-columns:repeat(2,1fr)}
}

/* ═══ FAHRTEN ═══ */
.ride-day{display:flex;justify-content:space-between;padding:.6rem 1.2rem .35rem;font-size:.74rem;font-weight:600;
  color:var(--tx3);background:var(--sf2);border-bottom:1px solid var(--ln-soft)}
.ride-row{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.ride-row:last-child{border-bottom:none}
.ride-b{flex:1;min-width:0}
.ride-t{font-size:.92rem;font-weight:600}
.ride-m{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.15rem}
.ride-who{display:inline-flex}
.ride-who .ava{margin-right:-6px;box-shadow:0 0 0 2px var(--sf)}
.ride-cost{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}
.ride-cost span{font-size:.72rem;background:var(--acc-s);color:var(--acc-d);padding:.08rem .45rem;border-radius:5px}
.ride-km{font-family:var(--font-display);font-size:1.2rem;font-weight:600;text-align:right;white-space:nowrap}
.ride-km small{font-size:.7rem;font-weight:500;color:var(--tx3);margin-left:.15rem;font-family:var(--font-body)}

/* Kilometer-Aufteilung im Ausgabenformular */
.km-intro{font-size:.82rem;color:var(--tx2);margin-bottom:.6rem}
.km-list{display:flex;flex-direction:column;gap:.4rem}
.km-ride{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.6rem;
  padding:.6rem .75rem;border:1px solid var(--ln);border-radius:var(--r);background:var(--sf);transition:all .13s}
.km-ride.on{border-color:var(--acc);background:var(--acc-s)}
.km-sel{display:flex;flex-direction:column;cursor:pointer;min-width:0;padding-left:1.6rem;position:relative}
.km-sel input{position:absolute;left:0;top:.2rem;width:16px;height:16px;accent-color:var(--acc)}
.km-name{font-size:.88rem;font-weight:600}
.km-meta{font-size:.72rem;color:var(--tx3)}
.km-who{display:inline-flex}
.km-who .ava{margin-right:-6px;box-shadow:0 0 0 2px var(--sf)}
.km-km{font-size:.84rem;font-weight:600;white-space:nowrap}
.km-fix{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--tx2);cursor:pointer;white-space:nowrap}
.km-fix input{accent-color:var(--acc)}
.km-cost{grid-column:1/-1;font-size:.74rem;color:var(--acc-d);font-weight:500;padding-left:1.6rem}
.km-cost:empty{display:none}

/* ═══ AUSWERTUNG ═══ */
.rep-filter{display:flex;gap:.7rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.1rem}
.rep-filter .fg{margin-bottom:0;min-width:150px}
.rep-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin-bottom:1.1rem}
.rep-kpi{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r2);padding:.9rem 1rem;box-shadow:var(--sh-1)}
.rep-kpi span{display:block;font-size:.75rem;color:var(--tx2);font-weight:500}
.rep-kpi strong{display:block;font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:1.2;margin:.1rem 0}
.rep-kpi small{display:block;font-size:.72rem;color:var(--tx3)}
.rep-stack{display:flex;height:12px;margin:.9rem 1.2rem .4rem;border-radius:99px;overflow:hidden;background:var(--sf2)}
.rep-stack i{display:block;height:100%}
.rep-row{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.2rem;border-bottom:1px solid var(--ln-soft);font-size:.87rem}
.rep-row:last-child{border-bottom:none}
.rep-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.rep-ic{display:flex;color:var(--tx3);flex-shrink:0}
.rep-nm{flex:1;min-width:0;font-weight:500}
.rep-nm small{display:block;font-size:.72rem;color:var(--tx3);font-weight:400}
.rep-bar{flex:1;height:7px;background:var(--sf2);border-radius:99px;overflow:hidden;min-width:50px;max-width:220px}
.rep-bar div{height:100%;border-radius:99px}
.rep-pc{font-size:.76rem;color:var(--tx3);min-width:36px;text-align:right}
.rep-val{font-weight:600;min-width:92px;text-align:right;white-space:nowrap}
.rep-km{font-size:.8rem;color:var(--tx2);white-space:nowrap}
.rep-person{padding:.75rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.rep-person:last-child{border-bottom:none}
.rep-person-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.45rem}
.rep-dual{display:flex;flex-direction:column;gap:3px}
.rep-dual .rep-bar{max-width:none}
.rep-bar--a div{background:var(--acc)}
.rep-bar--b div{background:color-mix(in srgb,var(--ok) 70%,white)}
.rep-mini{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.rep-mini span{font-size:.72rem;background:var(--sf2);padding:.1rem .45rem;border-radius:5px;color:var(--tx2)}
.rep-legend{display:flex;align-items:center;gap:.4rem;font-size:.74rem;color:var(--tx3)}
.rep-legend i{display:inline-block;width:10px;height:6px;border-radius:3px;margin-left:.4rem}
.lg-a{background:var(--acc)}.lg-b{background:color-mix(in srgb,var(--ok) 70%,white)}
.rep-days{height:150px}
.rep-sec-h{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.25rem;
  font-weight:600;margin:1.6rem 0 .8rem}

@media(max-width:860px){
  .km-ride{grid-template-columns:1fr auto}
  .km-who{display:none}
  .rep-bar{max-width:none}
  .rep-pc{display:none}
  .rep-val{min-width:0}
}

/* ═══ BILDEDITOR ═══ */
.ic-ov{display:none;position:fixed;inset:0;z-index:950;background:rgba(24,20,16,.62);
  backdrop-filter:blur(4px);padding:1rem;overflow:auto}
.ic-ov.open{display:flex;align-items:center;justify-content:center}
.ic-box{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r3);box-shadow:var(--sh-3);
  width:100%;max-width:600px;overflow:hidden}
.ic-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;
  border-bottom:1px solid var(--ln)}
.ic-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600}
.ic-x{background:none;border:none;cursor:pointer;color:var(--tx3);font-size:1rem;padding:.2rem .35rem;border-radius:6px}
.ic-x:hover{background:var(--sf2);color:var(--tx)}
.ic-stage{position:relative;display:flex;justify-content:center;padding:1.1rem;background:var(--sf2)}
#ic-canvas{border-radius:var(--r2);cursor:grab;touch-action:none;display:block;
  box-shadow:0 0 0 1px var(--ln),0 6px 20px rgba(46,42,36,.12)}
#ic-canvas:active{cursor:grabbing}
.ic-hint{position:absolute;left:50%;bottom:.55rem;transform:translateX(-50%);font-size:.74rem;
  color:var(--tx3);background:color-mix(in srgb,var(--sf) 88%,transparent);padding:.2rem .7rem;
  border-radius:99px;white-space:nowrap;max-width:94%;overflow:hidden;text-overflow:ellipsis;transition:all .2s}
.ic-hint--on{color:var(--acc-d);background:var(--acc-s);font-weight:500}
.ic-tools{padding:.9rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;border-top:1px solid var(--ln-soft)}
.ic-zoom{display:flex;align-items:center;gap:.6rem}
.ic-zoom input[type=range]{flex:1;accent-color:var(--acc)}
.ic-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.ic-btn{padding:.38rem .75rem;border:1px solid var(--ln);border-radius:var(--r);background:var(--sf);
  font-family:inherit;font-size:.82rem;font-weight:500;color:var(--tx2);cursor:pointer;transition:all .13s}
.ic-btn:hover{border-color:var(--acc);color:var(--acc-d)}
.ic-btn--undo{margin-left:auto;font-size:.76rem;color:var(--tx3)}
.ic-tol{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--tx2)}
.ic-tol input{width:90px;accent-color:var(--acc)}
.ic-lbl{font-size:.78rem;color:var(--tx2);margin-right:.2rem}
.ic-sw{width:26px;height:26px;border-radius:50%;border:1px solid var(--ln);cursor:pointer;padding:0;flex-shrink:0}
.ic-sw.on{box-shadow:0 0 0 2px var(--sf),0 0 0 4px var(--acc)}
.ic-sw--tr{background-image:linear-gradient(45deg,#DDD 25%,transparent 25%,transparent 75%,#DDD 75%),
  linear-gradient(45deg,#DDD 25%,#fff 25%,#fff 75%,#DDD 75%);background-size:10px 10px;
  background-position:0 0,5px 5px}
.ic-foot{display:flex;align-items:center;gap:.55rem;padding:.85rem 1.2rem;border-top:1px solid var(--ln);
  background:var(--sf2)}
.ic-info{flex:1;font-size:.76rem;color:var(--tx3)}
@media(max-width:600px){
  .ic-ov{padding:.5rem;align-items:flex-start}
  .ic-stage{padding:.7rem}
  .ic-tools{padding:.7rem .8rem}
  .ic-btn--undo{margin-left:0;width:100%;text-align:center}
  .ic-tol{width:100%}
  .ic-tol input{flex:1;width:auto}
}

/* ═══ BARCODE-TREFFER ═══ */
.treffer{margin:0 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.6rem}
.tr-box{border:1px solid var(--ln);border-radius:var(--r2);overflow:hidden;background:var(--sf)}
.tr-box--eigen{border-left:3px solid var(--ok)}
.tr-h{padding:.55rem .85rem;font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  color:var(--tx3);background:var(--sf2);border-bottom:1px solid var(--ln-soft)}
.tr-box--eigen .tr-h{color:var(--ok)}
.tr-row{display:flex;align-items:center;gap:.7rem;padding:.65rem .85rem;border-bottom:1px solid var(--ln-soft)}
.tr-row:last-child{border-bottom:none}
.tr-row img,.tr-ph{width:44px;height:44px;flex-shrink:0;object-fit:contain;border-radius:8px;
  background:var(--sf2);border:1px solid var(--ln)}
.tr-b{flex:1;min-width:0}
.tr-n{font-size:.88rem;font-weight:600;line-height:1.25}
.tr-m{font-size:.76rem;color:var(--tx2)}
.tr-q{font-size:.7rem;color:var(--tx3);margin-top:.1rem}
.tr-note{font-size:.78rem;color:var(--warn);background:var(--warn-s);padding:.5rem .8rem;border-radius:var(--r)}
.tr-again{align-self:flex-start}

/* ═══ KOSTENARTEN-VERWALTUNG ═══ */
.kk-haupt{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border-bottom:1px solid var(--ln-soft)}
.kk-haupt.on{background:var(--acc-s)}
.kk-ic{display:flex;color:var(--acc);flex-shrink:0}
.kk-nm{flex:1;min-width:0;font-weight:600;font-size:.93rem}
.kk-unter{display:flex;align-items:center;gap:.6rem;padding:.5rem 1.2rem .5rem 2.4rem;
  border-bottom:1px solid var(--ln-soft);background:var(--sf2)}
.kk-unter.on{background:var(--acc-s)}
.kk-unter .kk-nm{font-weight:500;font-size:.88rem}
.kk-strich{width:12px;height:1px;background:var(--ln);flex-shrink:0}
.iconpick{display:flex;flex-wrap:wrap;gap:.35rem}
.icosel input{display:none}
.icosel span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--ln);
  border-radius:var(--r);cursor:pointer;color:var(--tx2);background:var(--sf);transition:all .13s}
.icosel span:hover{border-color:var(--acc);color:var(--acc-d)}
.icosel input:checked+span{border-color:var(--acc);background:var(--acc-s);color:var(--acc-d)}

/* ═══ AUSWERTUNG: UNTERKATEGORIEN ═══ */
.rep-row--auf{cursor:pointer;user-select:none}
.rep-row--auf:hover{background:var(--sf2)}
.rep-pfeil{color:var(--tx3);font-size:.7rem;transition:transform .18s;flex-shrink:0;width:14px;text-align:center}
.rep-row--auf.auf .rep-pfeil{transform:rotate(180deg)}
.rep-unter{display:none;background:var(--sf2);border-bottom:1px solid var(--ln-soft)}
.rep-unter.open{display:block}
.rep-urow{display:flex;align-items:center;gap:.6rem;padding:.42rem 1.2rem .42rem 2.1rem;font-size:.84rem}
.rep-urow+.rep-urow{border-top:1px solid var(--ln-soft)}
.rep-ustrich{width:10px;height:1px;background:var(--ln);flex-shrink:0}
.rep-bar--u{height:5px;max-width:150px}
@media(max-width:860px){
  .rep-urow{padding-left:1.4rem}
  .rep-bar--u{max-width:none}
}
