:root{--bg:#f1f5f9;--surface:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#0f172a;--accent:#2563eb;--ok:#16a34a;--warn:#d97706;--danger:#dc2626;--abgerechnet:#7c3aed;--radius:14px;--shadow:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--tab-h:64px;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4}h1,h2,h3{margin:0}a{color:inherit}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:10;background:var(--brand);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:.02em;font-size:1.1rem;font-weight:700}.topbar-aktionen{align-items:center;gap:14px;display:flex}.topbar .such-link{font-size:1.2rem;line-height:1;text-decoration:none}.topbar .logout{color:#cbd5e1;cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:.85rem;text-decoration:none}main{padding:14px 14px calc(var(--tab-h) + var(--safe-b) + 14px);flex:1;width:100%;max-width:720px;margin:0 auto}.tabbar{height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--line);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--accent)}.tabbar .ico{font-size:1.3rem;line-height:1}.karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:14px}.karte .kunde{font-size:1.05rem;font-weight:700}.karte .adresse{color:var(--muted);margin-top:2px}.karte .info{color:var(--ink);border:1px solid var(--line);white-space:pre-wrap;background:#f8fafc;border-radius:10px;margin-top:8px;padding:8px 10px;font-size:.9rem}.badge{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.badge.lieferung{color:#166534;background:#dcfce7}.badge.abholung{color:#9a3412;background:#ffedd5}.badge.offen{color:#1e40af;background:#dbeafe}.badge.ausgeliefert{color:#166534;background:#dcfce7}.badge.nicht_angetroffen{color:#991b1b;background:#fee2e2}.badge.abgerechnet{color:#5b21b6;background:#ede9fe}.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:12px 16px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-nav{color:var(--accent);background:#eef2ff;border:1px solid #c7d2fe}.btn-ok{background:var(--ok);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warn{background:var(--warn);color:#fff}.btn-abgerechnet{background:var(--abgerechnet);color:#fff}.btn-ghost{color:var(--ink);border:1px solid var(--line);background:#f1f5f9}.btn-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.aktionen{flex-direction:column;gap:10px;margin-top:12px;display:flex}textarea,input[type=text],input[type=password]{width:100%;font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:12px}textarea{resize:vertical;min-height:60px}.leer{text-align:center;color:var(--muted);padding:48px 16px}.fehler{color:#991b1b;background:#fee2e2;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:.9rem}
