:root{
  --paper:#F6F4ED;--surface:#fff;--surface-2:#FBFAF4;--ink:#1B1D24;--ink-soft:#3C404B;
  --muted:#74777F;--line:#E7E2D6;--line-strong:#D9D3C4;--navy:#1F2C49;--navy-700:#16203A;
  --brass:#A8791F;--brass-600:#8C6515;--brass-tint:#F2E9D2;--brass-lite:#E7C77E;
  --ok:#356B4F;--ok-bg:#E6F0EA;--danger:#A6362F;--danger-bg:#F5E4E1;
  --r:11px;--r-lg:16px;--shadow-1:0 1px 2px rgba(27,29,36,.06);
  --shadow-2:0 10px 30px -14px rgba(27,29,36,.24);
  --font-display:"Fraunces",Georgia,serif;--font-ui:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.55}
h1,h2,h3{font-family:var(--font-display);font-weight:560;margin:0}
a{color:var(--navy);text-decoration:none}a:hover{color:var(--brass-600)}
.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.small{font-size:13px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:560;
  font-size:14px;cursor:pointer;padding:10px 15px;border-radius:11px;border:1px solid var(--line-strong);
  background:var(--surface);color:var(--ink)}
.btn--brass{background:var(--brass);color:#fff;border-color:var(--brass)}.btn--brass:hover{background:var(--brass-600)}
.btn--block{width:100%}.btn--sm{padding:6px 10px;font-size:13px}
label{display:block;font-size:13px;font-weight:560;color:var(--ink-soft);margin:12px 0 6px}
input,textarea,select{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line-strong);
  border-radius:var(--r);background:var(--surface-2)}
input:focus,textarea:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-tint);background:#fff}
.flash{padding:10px 13px;border-radius:var(--r);margin-bottom:12px;font-size:14px}
.flash--error{background:var(--danger-bg);color:var(--danger)}.flash--ok{background:var(--ok-bg);color:var(--ok)}
/* auth */
.authpage{display:grid;place-items:center;min-height:100vh;padding:20px}
.authcard{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:28px}
.authcard h1{font-size:24px;margin-bottom:14px}.qr{width:180px;height:180px;display:block;margin:10px 0}
.codes{columns:2;font-size:14px}
/* shell */
.topbar{background:linear-gradient(180deg,var(--navy),var(--navy-700));color:#fff;display:flex;
  align-items:center;gap:18px;padding:0 18px;height:56px}
.topbar .brand{font-family:var(--font-display);font-size:18px;color:#fff}
.topbar nav{display:flex;gap:16px;margin-left:10px}.topbar nav a{color:#C9CEDA;font-size:14px}
.topbar nav a.active{color:#fff}.topbar nav a[aria-disabled]{color:#6b7488;cursor:not-allowed}
.topbar .spacer{flex:1}.topbar .who{color:#C9CEDA;font-size:13px}
.tabbar{display:flex;align-items:center;gap:2px;background:var(--surface-2);border-bottom:1px solid var(--line);
  padding:6px 10px 0;overflow-x:auto}
.tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);
  border-bottom:none;border-radius:9px 9px 0 0;background:var(--surface);font-size:13px;white-space:nowrap;cursor:pointer}
.tab.is-active{border-color:var(--brass);box-shadow:inset 0 2px 0 var(--brass)}
.tab__close{border:0;background:none;cursor:pointer;color:var(--muted);font-size:15px;line-height:1}
.workspace{padding:22px;max-width:1000px}
.wsempty{color:var(--muted);padding:60px 0;text-align:center}
.inbox-list{list-style:none;padding:0;margin:0}
.inbox-list li{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
  padding:12px 14px;margin-bottom:8px;cursor:pointer;display:flex;gap:10px;align-items:center}
.inbox-list li:hover{border-color:var(--line-strong)}
.badge{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:999px;background:var(--brass-tint);color:var(--brass-600)}
.badge--neu{background:#E7EDF7;color:#2C4778}.badge--erledigt{background:var(--ok-bg);color:var(--ok)}
.ticket__msg{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:12px 0}
.timeline{list-style:none;padding:0;margin:14px 0}.timeline li{font-size:13px;color:var(--muted);padding:4px 0}
.thread{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.msg{border:1px solid var(--line);border-radius:12px;padding:10px 12px;max-width:80%}
.msg__meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-bottom:4px}
.msg__body{white-space:pre-wrap;font-size:14px}
.msg--inbound{align-self:flex-start;background:var(--surface)}
.msg--outbound{align-self:flex-end;background:var(--brass-tint)}
.msg--auto{opacity:.9;border-style:dashed}
.msg--note{align-self:stretch;max-width:100%;background:#FBF6E8;border-color:#E9DBB4}
