:root{--bg:#0f172a;--surface:#1e293b;--surface-2:#172033;--field-bg:#0b1220;--text:#e2e8f0;--muted:#94a3b8;--faint:#64748b;--border:#334155;--border-subtle:#263041;--hover:#273449;--primary:#3b82f6;--primary-contrast:#fff;--primary-soft-border:#24457e;--primary-soft-hover:#1a2a44;--danger:#ef4444;--danger-border:#7f1d1d;--danger-hover:#2a1414;--green:#34d399;--shadow:rgba(0,0,0,.4);color-scheme:dark}:root[data-theme=light]{--bg:#f4f6f8;--surface:#fff;--surface-2:#eef2f6;--field-bg:#fff;--text:#1a2b3c;--muted:#5a6b7c;--faint:#94a3b8;--border:#cbd5e1;--border-subtle:#e2e8f0;--hover:#eef2f6;--primary:#2563eb;--primary-contrast:#fff;--primary-soft-border:#bcd0f5;--primary-soft-hover:#eef3fd;--danger:#dc2626;--danger-border:#f3c2c2;--danger-hover:#fdecec;--green:#16794c;--shadow:rgba(0,0,0,.06);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}.wrap{max-width:640px;margin:0 auto;padding:24px 16px 64px}h1{font-size:1.4rem;margin-bottom:4px}.summary{margin-bottom:24px}.empty,.summary{color:var(--muted)}.empty{padding:32px 0}.list{list-style:none;display:flex;flex-direction:column;gap:12px}.card{background:var(--surface);border-radius:12px;padding:16px;box-shadow:0 1px 3px var(--shadow);border-left:4px solid var(--primary)}.card.anfrage{border-left-color:#16a34a}.card.absage{border-left-color:#dc2626}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary)}.card.anfrage .badge{color:#22c55e}.card.absage .badge{color:#f87171}time{font-size:.8rem;color:var(--faint)}.card-body p{margin:2px 0;font-size:.95rem}.msg{margin-top:8px!important;color:var(--text)}.archive{margin-top:12px;background:var(--primary);color:var(--primary-contrast);border:0;border-radius:8px;padding:8px 16px;font-size:.9rem;cursor:pointer}.archive:disabled{opacity:.5;cursor:default}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.praxis-name{color:var(--muted);font-size:.9rem;margin-top:2px}.topbar-actions{display:flex;gap:8px;align-items:center}.theme-toggle{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:1rem;line-height:1;cursor:pointer}.theme-toggle:hover{background:var(--hover)}.btn-primary{width:100%;background:var(--primary);color:var(--primary-contrast);border:0;border-radius:8px;padding:10px 16px;font-size:.95rem;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.85rem;cursor:pointer}.btn-ghost:hover{background:var(--hover)}.tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:10px;margin-bottom:20px}.tab{flex:1 1;text-align:center;padding:8px 12px;border-radius:7px;font-size:.9rem;font-weight:600;color:var(--muted);text-decoration:none}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px var(--shadow)}.done-info{color:var(--green)}.deleted-info,.done-info{font-size:.85rem;font-weight:600}.deleted-info{margin-top:12px;color:var(--faint)}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.card-actions .archive{margin-top:0}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.summary-row .summary{margin-bottom:0}.btn-danger{background:var(--danger);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:.85rem;cursor:pointer}.btn-danger:disabled{opacity:.5;cursor:default}.btn-danger-ghost{background:transparent;color:var(--danger);border:1px solid var(--danger-border);border-radius:8px;padding:6px 12px;font-size:.85rem;cursor:pointer}.btn-danger-ghost:hover{background:var(--danger-hover)}.btn-danger-ghost:disabled{opacity:.5;cursor:default}.btn-primary-ghost{background:transparent;color:var(--primary);border:1px solid var(--primary-soft-border);border-radius:8px;padding:6px 12px;font-size:.85rem;cursor:pointer}.btn-primary-ghost:hover{background:var(--primary-soft-hover)}.btn-primary-ghost:disabled{opacity:.5;cursor:default}.trash-actions{margin-top:12px}.empty-trash-confirm,.trash-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.confirm-text{font-size:.85rem;color:var(--text);font-weight:600}.role-chip{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border-radius:6px;padding:2px 6px;vertical-align:middle}.role-chip.admin{color:#fbbf24;background:rgba(251,191,36,.15)}.search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.search input[type=search]{flex:1 1;min-width:180px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--field-bg);color:var(--text)}.reply-box,.reply-toggle{margin-top:12px}.reply-box{border-top:1px solid var(--border-subtle);padding-top:12px;display:flex;flex-direction:column;gap:10px}.reply-actions{display:flex;flex-wrap:wrap;gap:8px}.reply-text{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;line-height:1.45;resize:vertical;background:var(--field-bg);color:var(--text)}.reply-note{font-size:.82rem;color:var(--muted)}.reply-sent{margin-top:12px;font-size:.85rem;color:var(--green);font-weight:600}.rte{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--field-bg)}.rte-toolbar{display:flex;gap:2px;padding:4px;background:var(--surface-2);border-bottom:1px solid var(--border-subtle)}.rte-toolbar button{min-width:30px;padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.85rem;cursor:pointer;color:var(--text)}.rte-toolbar button:hover{background:var(--hover)}.rte-editor{min-height:140px;max-height:320px;overflow-y:auto;padding:12px;font-size:.95rem;line-height:1.5;color:var(--text);outline:none}.rte-editor:focus{box-shadow:inset 0 0 0 2px var(--primary-soft-border)}.rte-editor p{margin:0 0 8px}.rte-editor p:last-child{margin-bottom:0}.rte-editor ol,.rte-editor ul{margin:0 0 8px 20px}.preview-toggle{align-self:flex-start;background:none;border:0;padding:0;color:var(--primary);font-size:.82rem;cursor:pointer;text-decoration:underline}.reply-preview{border:1px solid var(--border-subtle);border-radius:8px;padding:12px;background:var(--surface-2)}.preview-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin-bottom:6px}.preview-body{font-size:.9rem;color:var(--text);line-height:1.5}.preview-body p{margin:0 0 8px}.preview-body p:last-child{margin-bottom:0}.preview-body ol,.preview-body ul{margin:0 0 8px 18px}.reply-meta{display:flex;flex-wrap:wrap;gap:12px}.reply-meta label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.reply-meta input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--field-bg);color:var(--text)}.sent-reply{margin-top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.sent-reply .reply-preview{width:100%}.archive-confirm{margin-top:12px;display:flex;flex-direction:column;gap:10px}.archive-confirm label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.archive-confirm input[type=date]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--field-bg);color:var(--text)}.archive-actions{display:flex;gap:8px}.archive-actions .archive{margin-top:0}.login-wrap{display:flex;align-items:center;min-height:70vh}.login-card{position:relative;width:100%;background:var(--surface);border-radius:12px;padding:28px 24px;box-shadow:0 1px 3px var(--shadow)}.login-card h1{margin-bottom:4px}.login-card .theme-toggle{position:absolute;top:16px;right:16px}.login-form{display:flex;flex-direction:column;gap:8px;margin-top:16px}.login-form label{font-size:.82rem;color:var(--muted)}.login-form input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit;background:var(--field-bg);color:var(--text)}.login-form .btn-primary{margin-top:8px}.form-error{color:var(--danger);font-size:.85rem}