/* Rückenwind — ruhig, warm, ohne Druck.
   Bewusst keine Rottöne, keine Zähler, keine Fortschrittsbalken:
   Alles davon erzeugt Schuld, und Schuld lähmt. */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;background:#12141c;color:#e9ebf0;
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  min-height:100vh;-webkit-font-smoothing:antialiased}
.hidden{display:none!important}
button{font-family:inherit}

/* Login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.loginbox{background:#191d27;border:1px solid #262b3a;border-radius:20px;padding:38px 32px;width:100%;max-width:360px;text-align:center}
.logo{font-size:40px;margin-bottom:10px}
.loginbox h1{margin:0 0 6px;font-size:24px;font-weight:650;letter-spacing:-.02em}
.loginbox p{margin:0 0 26px;color:#8f97ab;font-size:14px}
.loginbox input{width:100%;padding:14px 16px;background:#12141c;border:1px solid #2f3548;border-radius:12px;color:#e9ebf0;font-size:16px;text-align:center}
.loginbox input:focus{outline:none;border-color:#5eb89f}
.loginbox button{width:100%;margin-top:12px;padding:14px;background:#5eb89f;border:0;border-radius:12px;color:#0a1512;font-weight:700;font-size:16px;cursor:pointer}
.loginbox button:active{transform:scale(.985)}
.fehler{color:#e79a9a;font-size:14px;margin-top:14px;min-height:20px}

/* Startbildschirm */
.ansicht{min-height:100vh}
.mitte{max-width:600px;margin:0 auto;padding:min(9vh,70px) 22px 50px;display:flex;flex-direction:column;min-height:100vh}
.gruss{color:#8f97ab;font-size:15px;margin:0 0 22px;text-align:center}

.karte{background:#191d27;border:1px solid #262b3a;border-radius:22px;padding:30px 26px 26px}
.karte.ruhig{text-align:center;padding:52px 26px}
.grossemoji{font-size:46px;margin-bottom:14px}
.kbereich{display:inline-block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;
  color:#7fd3bb;background:#1b3630;padding:5px 12px;border-radius:20px;margin-bottom:16px;font-weight:600}
.ktext{margin:0 0 12px;font-size:25px;line-height:1.35;font-weight:600;letter-spacing:-.015em}
.kstille{margin:0 0 22px;color:#8f97ab;font-size:14.5px}

.beleg{margin:0 0 24px;border-top:1px solid #262b3a;padding-top:14px}
.beleg summary{cursor:pointer;color:#8f97ab;font-size:13.5px;list-style:none;user-select:none}
.beleg summary::-webkit-details-marker{display:none}
.beleg summary::before{content:"› ";display:inline-block;transition:transform .2s}
.beleg[open] summary::before{transform:rotate(90deg)}
.beleg summary:hover{color:#b9c0d0}
.belegzeile{background:#12141c;border-left:2px solid #3a4256;
  border-radius:0 8px 8px 0;padding:9px 13px;margin-top:10px;font-size:13.5px;color:#b9c0d0;line-height:1.55}
.belegzeile b{display:block;color:#6f7893;font-weight:500;font-size:12px;margin-bottom:3px}

.knoepfe{display:flex;gap:10px;flex-wrap:wrap}
.knoepfe.zweit{margin-top:10px}
button.gross{flex:1;min-width:135px;padding:15px 18px;border-radius:13px;border:1px solid #2f3548;
  background:#222735;color:#e9ebf0;font-size:15.5px;font-weight:600;cursor:pointer;transition:.15s}
button.gross:hover{background:#2a3040;border-color:#3d445c}
button.gross:active{transform:scale(.98)}
button.gross.gruen{background:#5eb89f;border-color:#5eb89f;color:#0a1512}
button.gross.gruen:hover{background:#6cc9af}
button.klein{flex:1;min-width:130px;padding:11px 14px;border-radius:11px;border:1px solid #262b3a;
  background:transparent;color:#8f97ab;font-size:14px;cursor:pointer}
button.klein:hover{color:#e9ebf0;border-color:#3d445c}

.fuss{margin-top:auto;padding-top:34px;text-align:center;color:#6f7893;font-size:14px}
.trenn{margin:0 9px;color:#3d445c}
button.link{background:none;border:0;color:#8f97ab;font-size:14px;cursor:pointer;padding:4px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#3d445c}
button.link:hover{color:#7fd3bb}
.erledigtzeile{text-align:center;color:#5c6478;font-size:12.5px;margin:14px 0 0;line-height:1.7}

/* Liste */
.lkopf{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 20px;border-bottom:1px solid #262b3a;position:sticky;top:0;background:#12141cf2;backdrop-filter:blur(8px);z-index:10}
.lkopf h2{margin:0;font-size:16px;font-weight:600}
.wrap{max-width:680px;margin:0 auto;padding:18px 20px 60px}
.reiter{display:flex;gap:8px;margin-bottom:18px}
.reiter button{flex:1;padding:10px;border-radius:11px;border:1px solid #262b3a;background:transparent;color:#8f97ab;font-size:14px;cursor:pointer}
.reiter button.aktiv{background:#1b3630;border-color:#2f5a4e;color:#7fd3bb;font-weight:600}

.eintrag{background:#191d27;border:1px solid #262b3a;border-radius:15px;padding:16px 18px;margin-bottom:11px}
.eintrag .oben{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:7px}
.marke{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#7fd3bb;font-weight:600}
.zeit{font-size:12.5px;color:#6f7893;white-space:nowrap}
.etext{font-size:15.5px;line-height:1.5;margin:0 0 12px}
.eknoepfe{display:flex;gap:8px;flex-wrap:wrap}
.eknoepfe button{padding:8px 13px;border-radius:9px;border:1px solid #2f3548;background:transparent;color:#8f97ab;font-size:13.5px;cursor:pointer}
.eknoepfe button:hover{color:#e9ebf0;border-color:#3d445c}
.eknoepfe button.ja{color:#7fd3bb;border-color:#2f5a4e}
.leer{text-align:center;color:#6f7893;padding:50px 20px;font-size:14.5px;line-height:1.7}

/* Eigenes eintragen */
.modal{position:fixed;inset:0;background:#0a0c12cc;display:flex;align-items:center;justify-content:center;padding:22px;z-index:50;backdrop-filter:blur(4px)}
.modalinhalt{background:#191d27;border:1px solid #262b3a;border-radius:18px;padding:24px;width:100%;max-width:440px}
.modalinhalt h3{margin:0 0 14px;font-size:17px;font-weight:600}
.modalinhalt textarea{width:100%;padding:13px;background:#12141c;border:1px solid #2f3548;border-radius:11px;color:#e9ebf0;font-size:15.5px;resize:vertical;font-family:inherit;line-height:1.5}
.modalinhalt textarea:focus{outline:none;border-color:#5eb89f}
.modalknoepfe{display:flex;gap:10px;margin-top:14px}

.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(90px);
  background:#222735;border:1px solid #3d445c;color:#e9ebf0;padding:13px 22px;border-radius:12px;
  font-size:14.5px;opacity:0;transition:.28s cubic-bezier(.2,.8,.2,1);z-index:100;max-width:88vw;text-align:center}
.toast.an{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.fehler{background:#3a2020;border-color:#5f3030}

@media(max-width:520px){
  .ktext{font-size:22px}
  .mitte{padding-top:38px}
  .karte{padding:24px 20px 22px;border-radius:18px}
  button.gross{min-width:100%}
  button.klein{min-width:calc(50% - 5px)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
