:root{--gruen:#0f5132;--gruen-hell:#e3efe8;--grund:#f6f7f5;--text:#1d2420;--grau:#6b746f;--rand:#dfe3e0;--fehler:#a4161a;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--grund:#121614;--text:#e8ece9;--grau:#9aa39e;--rand:#2a302d;--gruen-hell:#1e3328;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--grund);color:var(--text)}button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:10px 14px;background:var(--gruen);color:#fff}button:disabled{opacity:.5;cursor:default}input{font:inherit;padding:12px;border-radius:10px;border:1px solid var(--rand);background:transparent;color:var(--text);width:100%}.login{max-width:420px;margin:12vh auto;padding:0 20px}.login h1{color:var(--gruen)}.login form{display:grid;grid-gap:12px;gap:12px}.hinweis{background:var(--gruen-hell);padding:12px;border-radius:10px}.fehler{color:var(--fehler)}.app{flex-direction:column;height:100dvh;max-width:720px;margin:0 auto}.app,header{display:flex}header{justify-content:space-between;align-items:center;border-bottom:1px solid var(--rand);padding:max(14px,env(safe-area-inset-top)) 16px 14px}header strong{color:var(--gruen);font-size:1.1rem}header span{color:var(--grau);font-size:.9rem}.verlauf{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.blase{max-width:85%;padding:10px 12px;border-radius:14px;line-height:1.4;white-space:pre-wrap}.blase time{display:block;font-size:.72rem;color:var(--grau);margin-top:4px}.blase.kunde{align-self:flex-end;background:var(--gruen);color:#fff}.blase.kunde time{color:#cfe3d8}.blase.bot{align-self:flex-start;background:var(--gruen-hell)}.blase .datei{font-size:.85rem;opacity:.9;margin-top:4px}.karte p{margin:0 0 8px}.optionen{display:flex;flex-wrap:wrap;gap:6px}.optionen button{background:#fff;color:var(--gruen);border:1px solid var(--gruen);padding:8px 12px}.status{margin:0 16px;padding:8px 12px;border-radius:10px;background:var(--gruen-hell);font-size:.9rem}.status.fehler{background:#f8d7da;color:var(--fehler)}footer{border-top:1px solid var(--rand);padding:10px 12px max(10px,env(safe-area-inset-bottom));display:grid;grid-gap:8px;gap:8px}.aktionen{display:flex;gap:6px;overflow-x:auto}.aktionen button{background:var(--gruen-hell);color:var(--gruen);white-space:nowrap}footer form{display:flex;gap:8px}.blase .absender{display:block;font-size:.72rem;font-weight:600;color:var(--gruen);margin-bottom:2px}header .unter{font-size:.75rem;color:var(--grau)}