:root{--bg:#f4f0e6;--paper:#fffdf8;--ink:#262722;--muted:#73746c;--line:#ddd8cb;--accent:#4f7c6b;--soft:#e8eee9;--danger:#a44949;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,.button{border:0;border-radius:12px;background:var(--accent);color:white;padding:.8rem 1rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:white;padding:.72rem .8rem;font:inherit;color:var(--ink)}label{display:grid;gap:.35rem;font-weight:650}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,253,248,.9);position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:800}.brandmark{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;background:var(--accent);color:white;font-weight:900}.who{font-size:13px;color:var(--muted)}.shell{display:grid;grid-template-columns:190px minmax(0,1fr);max-width:1500px;margin:auto}.nav{padding:24px 16px;display:grid;align-content:start;gap:5px;position:sticky;top:68px;height:calc(100vh - 68px)}.nav a{padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:650}.nav a.active,.nav a:hover{background:var(--soft);color:#284d40}.main{padding:28px;min-width:0}.hero{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.hero h1,.headline h1{font-size:clamp(30px,4vw,46px);line-height:1;margin:.15em 0}.hero p{color:var(--muted);margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:850;color:var(--accent)}.familychips{display:flex;gap:7px;flex-wrap:wrap}.familychips span{background:var(--soft);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:750}.grid3{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px}.twocol{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:16px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 8px 30px rgba(55,48,36,.035)}.card h2{margin-top:0;font-size:18px}.stack{display:grid;gap:13px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rowitem{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #eeeae0}.rowitem span{display:grid}.rowitem small,.task small,.shopitem small,.doc small,.event small{color:var(--muted)}.textlink{display:inline-block;margin-top:14px;color:var(--accent);font-weight:750}.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:7px}.bigcount{font-size:56px;font-weight:900;line-height:1}.muted{color:var(--muted)}.headline{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.task,.shopitem{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eeeae0}.task span,.shopitem span{display:grid}.task.erledigt span,.shopitem.done span{text-decoration:line-through;opacity:.5}.checkbtn,.ghost{background:transparent;color:var(--ink);padding:.45rem;border:1px solid var(--line)}.danger{color:var(--danger)}.quickadd{display:grid;grid-template-columns:1fr 120px 150px 52px;gap:8px;margin-bottom:16px}.event{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #eeeae0}.datebox{width:52px;border:1px solid var(--line);border-radius:12px;text-align:center;overflow:hidden;flex:0 0 auto}.datebox b{display:block;font-size:21px;padding:4px}.datebox span{display:block;background:var(--soft);font-size:11px;padding:2px}.grow{flex:1;display:grid}.grow p{margin:.35rem 0 0}.trip{padding:13px 0;border-bottom:1px solid #eeeae0}.trip h3{margin:.2rem 0}.trip p{margin:.2rem 0}.doc{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #eeeae0;text-decoration:none}.doc span:last-child{display:grid}.fileicon{width:38px;height:38px;border-radius:10px;background:var(--soft);display:grid;place-items:center}.flash{padding:10px 13px;border-radius:10px;margin-bottom:14px}.success{background:#e4f1e7;color:#285535}.error{background:#f7e4e4;color:#7b3030}.prose code{background:#f0ede4;padding:.15em .35em;border-radius:5px;word-break:break-all}.loginbody{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(430px,100%);background:var(--paper);padding:32px;border:1px solid var(--line);border-radius:24px}.loginbox .brandmark{width:48px;height:48px}.loginbox h1{font-size:32px;margin:.6rem 0 .2rem}.loginbox>p{color:var(--muted)}@media(max-width:850px){.topbar{padding:0 14px}.who{font-size:0}.who a{font-size:13px}.shell{display:block}.nav{position:sticky;top:68px;height:auto;display:flex;overflow:auto;background:var(--bg);padding:9px 10px;z-index:4;border-bottom:1px solid var(--line)}.nav a{white-space:nowrap;padding:8px 10px}.main{padding:16px}.hero{display:grid;align-items:start}.grid3,.twocol{grid-template-columns:1fr}.quickadd{grid-template-columns:1fr 90px 48px}.quickadd select{grid-column:1/-1;grid-row:2}.formrow{grid-template-columns:1fr}.familychips{order:2}}
.dashboard-second{margin-top:16px}.inlinecheck{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px}.inlinecheck input{width:auto}.stack hr,.card hr{border:0;border-top:1px solid var(--line);margin:10px 0}.meal{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #eeeae0}.recipe{border-top:1px solid #eeeae0;padding:10px 0}.recipe summary,.collection summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px}.recipe summary small,.collection summary small{color:var(--muted)}.recipebody,.collectionbody{padding:12px 0 4px}.recipebody h3{margin:.6rem 0 .2rem}.recipebody ul{margin:.3rem 0 1rem;padding-left:20px}.tags,.topicchips{display:flex;gap:6px;flex-wrap:wrap}.tags span,.topicchips span,.statuspill{font-size:12px;border-radius:999px;padding:5px 8px;background:var(--soft)}.buttonrow{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.buttonrow form{margin:0}.chatadd{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.chatmsg{padding:14px 0;border-bottom:1px solid #eeeae0}.chatmsg>div:first-child{display:flex;justify-content:space-between;gap:10px}.chatmsg small{color:var(--muted)}.chatmsg p{margin:.5rem 0}.savedlink{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:13px 0;border-bottom:1px solid #eeeae0}.savedlink a{text-decoration:none}.savedlink p{margin:.3rem 0}.statuspill{margin-top:2px}.statuspill.gemerkt{background:#eee8d8}.statuspill.erledigt{opacity:.55}.linkactions{display:grid;gap:5px}.topicgrid{grid-template-columns:1fr 1.2fr 1.2fr}.compactform{padding-bottom:14px;border-bottom:1px solid #eeeae0;margin-bottom:8px}.project,.collectionitem{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #eeeae0}.project span{display:grid}.project small{color:var(--muted)}.project.erledigt span,.collectionitem.done span{text-decoration:line-through;opacity:.5}.collection{padding:10px 0;border-bottom:1px solid #eeeae0}.miniadd{display:grid;grid-template-columns:1fr 46px;gap:6px;margin-top:8px}@media(max-width:850px){.topicgrid{grid-template-columns:1fr}.chatadd{grid-template-columns:1fr}.savedlink{grid-template-columns:1fr}.linkactions{display:flex}.dashboard-second{margin-top:16px}.recipe summary{display:grid}}

.moneyline{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line,#e5e2da)}.moneyline:last-child{border-bottom:0}.financecols{margin-top:1rem}.transaction{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line,#e5e2da)}.transaction .amount{white-space:nowrap}.budget{margin:.9rem 0}.budget>div{display:flex;justify-content:space-between;gap:1rem}.budget small{display:block}.budget progress{width:100%;height:.65rem}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem;border-bottom:1px solid var(--line,#e5e2da);vertical-align:top}.importmain{max-width:1100px;margin:0 auto}

.taskcard{padding:.8rem 0;border-bottom:1px solid var(--line,#e5e2da)}.taskcard:last-child{border-bottom:0}.tasktop{display:flex;gap:.7rem;align-items:flex-start}.taskcard.erledigt .grow>strong{text-decoration:line-through;opacity:.6}.tasknote{margin:.45rem 0 0;white-space:normal;line-height:1.45}.taskedit{margin:.55rem 0 0 2.6rem}.taskedit summary{cursor:pointer;font-size:.9rem;font-weight:600}.taskedit form{margin-top:.7rem}

.financeanalysis{margin:1rem 0}.financeanalysis .moneyline small{opacity:.65}.upgradehint{margin-bottom:1rem}.rulelist{max-height:22rem;overflow:auto;margin:.8rem 0}.txedit{margin-top:.45rem}.txedit summary{cursor:pointer;font-size:.86rem;font-weight:650}.txedit form{margin-top:.6rem}.txeditable{align-items:flex-start}

.memberchips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .85rem}.memberchip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line,#ddd8cc);border-radius:999px;padding:.5rem .7rem;cursor:pointer;background:var(--card,#fff)}.memberchip input{width:auto;margin:0}.memberchip:has(input:checked){font-weight:700;border-color:currentColor}.allchip{font-weight:650}.memberadmin{display:grid;gap:.6rem;margin-bottom:1rem}.memberadminrow{display:grid;grid-template-columns:minmax(10rem,1.8fr) minmax(7rem,1fr) 5rem auto;gap:.5rem;align-items:end}.memberadminrow input,.memberadminrow select{margin:0}.memberadmin .inlineform{margin:-.35rem 0 .15rem auto}.sortinput{max-width:5rem}.memberadd{border-top:1px solid var(--line,#e5e2da);padding-top:1rem}@media(max-width:700px){.memberadminrow{grid-template-columns:1fr 1fr}.memberadminrow button{grid-column:1/-1}.sortinput{max-width:none}}

.monthcompare{margin:1rem 0}.comparehead{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.rangeswitch{display:flex;gap:.25rem;flex-wrap:wrap}.rangeswitch a{padding:.45rem .65rem;border-radius:999px;text-decoration:none;border:1px solid var(--line,#ddd8cc)}.rangeswitch a.active{font-weight:800;border-color:currentColor}.comparestats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.comparestats>div{padding:.75rem;border:1px solid var(--line,#e5e2da);border-radius:.8rem}.comparestats small,.comparestats strong{display:block}.comparestats strong{font-size:1.2rem;margin-top:.2rem}.monthbars{display:flex;gap:.65rem;align-items:end;overflow-x:auto;min-height:190px;padding:.5rem 0}.monthbar{min-width:70px;flex:1;text-align:center}.bartrack{height:120px;display:flex;align-items:end;justify-content:center;border-bottom:1px solid var(--line,#ddd8cc)}.bartrack span{display:block;width:60%;min-height:2px;background:currentColor;border-radius:.4rem .4rem 0 0;opacity:.65}.monthbar strong,.monthbar small{display:block;font-size:.78rem;margin-top:.25rem}.comparetables{margin:1rem 0}.comparetable th,.comparetable td{white-space:nowrap;text-align:right}.comparetable th:first-child{text-align:left;position:sticky;left:0;background:var(--card,#fff)}@media(max-width:700px){.comparehead{display:block}.rangeswitch{margin-top:.7rem}.comparestats{grid-template-columns:1fr}.monthbar{min-width:62px}}

.internalnote{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.internalnote p{margin:.25rem 0 0}.accountrow{align-items:flex-start}.txright{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.smallbtn{font-size:.75rem;padding:.35rem .5rem}.transferbadge{font-weight:800}.transaction.isinternal{opacity:.66}.transaction.isinternal .amount{text-decoration:line-through}.upgradehint{margin-bottom:1rem}@media(max-width:700px){.internalnote{display:block}.internalnote form{margin-top:.7rem}.txright{align-items:flex-start}}

.dangerzone{margin-top:1rem;border-style:dashed}.dangerzone summary{cursor:pointer;font-weight:700}.dangerzone form{margin-top:.8rem}.dangerzone button.danger{font-weight:800}

.savingscard{margin-bottom:1rem}.sectionhead{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.sectionhead h2{margin:.15rem 0}.savingsstats{display:flex;gap:1.2rem}.savingsstats span{display:flex;flex-direction:column;text-align:right}.financeinsight{font-size:1.05rem;line-height:1.55;padding:.8rem 1rem;border-radius:12px;background:rgba(0,0,0,.035)}.savingmonths{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin:1rem 0}.savingmonth{padding:.75rem;border:1px solid rgba(0,0,0,.1);border-radius:12px;display:flex;flex-direction:column;gap:.25rem}.savingmonth span{font-size:.82rem}.savingmonth b{margin-top:.25rem}.positive{font-weight:800}.negative{font-weight:800}@media(max-width:700px){.sectionhead{display:block}.savingsstats{margin-top:.7rem}.savingsstats span{text-align:left}}

.transferdiag{margin:.45rem 0;padding:.5rem .65rem;border:1px dashed rgba(0,0,0,.18);border-radius:9px;font-size:.82rem;opacity:.85}
.inlineform{display:inline-block;margin:.3rem .35rem .3rem 0}
button.small,.small{font-size:.8rem;padding:.42rem .62rem}


/* V1.2.16 – Geldfarben global */
:root{
  --money-in:#17823b;
  --money-out:#c62828;
}
.positive,.money-positive,.income,.amount-positive,.transaction-positive,
.badge.positive{color:var(--money-in)!important}
.negative,.money-negative,.expense,.amount-negative,.transaction-negative,
.badge.negative{color:var(--money-out)!important}
.money-positive strong,.income strong,.amount-positive strong,
.money-negative strong,.expense strong,.amount-negative strong{color:inherit!important}


/* V1.2.20 – aufgeräumte Finanzseite */
.finance-section-gap{margin-top:18px}
.collapsible-card>summary{
  cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  list-style:none;font-weight:700
}
.collapsible-card>summary::-webkit-details-marker{display:none}
.collapsible-card>summary::after{content:"▾";font-size:1rem;opacity:.65}
.collapsible-card[open]>summary::after{transform:rotate(180deg)}
.collapsible-card>summary>span:first-child{display:flex;flex-direction:column;gap:2px}
.collapsible-card .detailsbody{margin-top:18px}
.finance-comparisons .monthcompare,
.finance-comparisons .comparetables{margin-top:14px}
.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border,#ddd)}
.pagination a{text-decoration:none}
.finance-bottom-tools{margin-top:16px}
@media(max-width:700px){
  .pagination{justify-content:space-between}
  .collapsible-card>summary{align-items:flex-start}
}


/* V1.2.21 – Kontobewegungen wieder sauber im Raster */
.finance-transactions-area{
  margin-top:16px;
}
.finance-transactions-area>.card{
  width:100%;
}
.finance-transactions-area .transaction{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 150px;
  gap:16px;
  align-items:start;
  padding:14px 0;
}
.finance-transactions-area .transaction>div:first-child{
  min-width:0;
}
.finance-transactions-area .transaction>.grow{
  min-width:0;
  overflow-wrap:anywhere;
}
.finance-transactions-area .transaction>.grow>strong,
.finance-transactions-area .transaction>.grow>small{
  min-width:0;
}
.finance-transactions-area .txright{
  width:150px;
  justify-self:end;
  align-items:flex-end;
  text-align:right;
}
.finance-transactions-area .txright .amount{
  font-size:1.02rem;
}
.finance-transactions-area .txright form{
  margin:0;
}
.finance-transactions-area .txedit{
  max-width:680px;
}
@media(max-width:760px){
  .finance-transactions-area .transaction{
    grid-template-columns:88px minmax(0,1fr);
  }
  .finance-transactions-area .txright{
    grid-column:2;
    width:auto;
    justify-self:start;
    align-items:flex-start;
    text-align:left;
  }
}
@media(max-width:520px){
  .finance-transactions-area .transaction{
    grid-template-columns:1fr;
    gap:7px;
  }
  .finance-transactions-area .txright{
    grid-column:1;
  }
}


/* V1.3.0 – klare Informationsarchitektur */
.finance-subnav{
  display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;padding:5px;
  border:1px solid var(--line);border-radius:14px;background:var(--paper);
}
.finance-subnav a{
  text-decoration:none;color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:750;
}
.finance-subnav a.active{background:var(--soft)}
@media(max-width:620px){
  .finance-subnav{display:grid;grid-template-columns:1fr 1fr}
  .finance-subnav a{text-align:center}
}


/* V1.4.0 – Finanzen: Übersicht / Analyse / Buchungen / Verwaltung */
.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.finance-kpis article{display:flex;flex-direction:column;gap:5px}
.finance-kpis article>strong{font-size:1.65rem}
.finance-kpis article>small,.finance-kpis article>span{color:var(--muted)}
.finance-overview-grid,.finance-manage-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}
.category-spend{margin:.85rem 0}.category-spend>div{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.category-spend progress{width:100%}
.deviation-number{font-size:2.4rem;font-weight:900;margin:.6rem 0}
.analysis-months{height:250px;display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:18px 4px 0}
.analysis-month{height:100%;min-width:76px;display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center}
.analysis-bar{height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}
.analysis-bar i{display:block;width:56%;min-height:2px;background:currentColor;border-radius:7px 7px 0 0;opacity:.55}
.analysis-month small{color:var(--muted)}
.rangeswitch{display:flex;gap:5px}.rangeswitch a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink)}.rangeswitch a.active{background:var(--soft);font-weight:800}
@media(max-width:900px){.finance-kpis{grid-template-columns:1fr 1fr}.finance-overview-grid,.finance-manage-grid{grid-template-columns:1fr}}
@media(max-width:520px){.finance-kpis{grid-template-columns:1fr}.analysis-months{height:210px}}


/* V1.4.1 – Buchungsfilter */
.finance-filter-card{margin-bottom:16px}
.finance-filterbar{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(180px,1fr) auto auto;
  gap:10px;
  align-items:end;
}
.finance-filterbar label{margin:0}
.finance-filterbar input,.finance-filterbar select{margin-top:5px}
.filter-uncategorized{align-self:center;white-space:nowrap}
.filter-actions{display:flex;gap:8px;align-items:center}
.filter-actions .ghost{display:inline-flex;align-items:center;text-decoration:none}
.filter-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--soft)}
@media(max-width:980px){
  .finance-filterbar{grid-template-columns:1fr 1fr}
  .filter-actions{grid-column:1/-1}
}
@media(max-width:620px){
  .finance-filterbar{grid-template-columns:1fr}
  .filter-actions{grid-column:1}
}


/* V1.5.0 */
.event-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.eventedit,.recipeedit{margin-top:8px}
.birthday-fields{padding:8px 0}
.rulelist{margin-top:16px}
@media(max-width:620px){.event-actions{align-items:stretch}.event-actions button{width:100%}}

/* V1.5.1 – Finanzkategorien */
.category-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px auto;gap:8px;align-items:center}
.category-sort{max-width:90px}
@media(max-width:620px){.category-edit-row{grid-template-columns:1fr 80px}.category-edit-row button{grid-column:1/-1}}

/* V1.5.3 – Analyse als echter Monatsvergleich */
.compare-table-wrap{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;min-width:520px}
.compare-table th,.compare-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.compare-table th:first-child,.compare-table td:first-child{text-align:left;position:sticky;left:0;background:var(--card,#fff)}
.compare-table thead th{font-size:.85rem;color:var(--muted)}
.compare-table tbody th{font-weight:700}

/* V1.5.6 – Sparbewegungen in Analyse */
.compact-kpis{margin:14px 0 18px}
.compact-kpis article{padding:12px}
.saving-moves td:nth-child(4){white-space:normal;min-width:260px}
.saving-reason{display:block;margin-top:3px;color:var(--muted);font-weight:400}

/* V1.5.7 – Regeln verständlich und PayPal/Klarna-sicherer */
.rule-explainer,.rule-hint{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--soft,#f7f7f7);margin:10px 0 14px;font-size:.92rem;line-height:1.45}
.rule-hint{margin:0 0 8px}
