@font-face{font-family:Inter;src:url(/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--canvas:#F6F4F1;--surface:#fff;--ink:#1B1D20;--ink2:#4C5057;--ink3:#71757C;--primary:#2B2E33;--deep:#1F2125;--night:#141517;--accent:#B4693F;--accent2:#DDB494;--accentInk:#99542E;--paper:#F1EBE3;--tint:#EEEDEA;--line:#D9D6D1;--lineSoft:#E8E6E2;--onDark:#F1EFEC;--onDark2:#B9B6B1;--r:14px;--sh:0 1px 2px #0000000a,0 4px 16px #00000008;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.45 Inter,system-ui,sans-serif;background:var(--canvas);color:var(--ink)}
a{color:var(--accentInk)}button,input,select,textarea{font:inherit;color:inherit}
header{position:sticky;top:0;z-index:20;background:var(--night);color:var(--onDark);display:flex;align-items:center;gap:16px;padding:0 20px;height:58px;padding-top:env(safe-area-inset-top,0)}
.brand{font-weight:700;letter-spacing:.02em;white-space:nowrap;text-decoration:none;color:var(--onDark)}.brand span{color:var(--accent)}
.topnav{display:flex;gap:2px}.topnav a{color:var(--onDark2);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:500}.topnav a.on,.topnav a:hover{color:#fff;background:#ffffff14}
.sp{flex:1}
.gsearch{position:relative;flex:0 1 320px}.gsearch input{width:100%;background:#ffffff12;border:1px solid #ffffff22;color:#fff;border-radius:10px;padding:9px 12px}
.gsearch input::placeholder{color:var(--onDark2)}
.results{position:absolute;top:110%;left:0;right:0;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 12px 40px #0004;max-height:70vh;overflow:auto;padding:6px;display:none}
.results.open{display:block}.results h4{margin:8px 10px 4px;font-size:11px;text-transform:uppercase;color:var(--ink3);letter-spacing:.06em}
.results a{display:block;padding:10px;border-radius:8px;text-decoration:none;color:var(--ink)}.results a:hover,.results a:focus{background:var(--paper)}.results small{color:var(--ink3)}
main{max-width:1280px;margin:0 auto;padding:22px 20px 40px}
h1{font-size:24px;margin:0 0 16px;letter-spacing:-.01em}h2{font-size:15px;margin:0 0 10px;font-weight:650}
.card{background:var(--surface);border:1px solid var(--lineSoft);border-radius:var(--r);padding:16px;box-shadow:var(--sh)}
.stack>*+*{margin-top:12px}.grid{display:grid;gap:12px}.kpis{grid-template-columns:repeat(7,1fr)}.two{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.kpi{cursor:pointer;border-top:3px solid var(--line);text-align:left;font:inherit}.kpi b{display:block;font-size:28px;letter-spacing:-.02em}.kpi small{color:var(--ink3);text-transform:capitalize}.kpi:hover{border-top-color:var(--accent)}
.kpi .v{font-size:12px;color:var(--accentInk)}
.hero{background:linear-gradient(135deg,var(--primary),var(--night));color:var(--onDark);border:0}.hero b{color:#fff;font-size:30px}.hero small{color:var(--onDark2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:0 16px;cursor:pointer;font-weight:600;text-decoration:none}
.btn:hover{background:var(--accentInk)}.btn.ghost{background:#fff;color:var(--ink2);border:1px solid var(--line)}.btn.ghost:hover{background:var(--tint)}
.btn.dark{background:var(--primary)}.btn.sm{min-height:36px;padding:0 12px;font-size:14px}
header .btn.ghost{background:transparent;color:var(--onDark2);border-color:#ffffff30}
input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;min-height:44px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent2);border-color:var(--accent)}
label.f{display:block;font-size:13px;color:var(--ink3);margin-bottom:10px}label.f input,label.f select,label.f textarea{display:block;width:100%;margin-top:4px;color:var(--ink)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;scroll-snap-type:x proximity}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;scroll-snap-align:start;border:1px solid var(--line);background:#fff;padding:0 14px;min-height:38px;border-radius:99px;cursor:pointer;color:var(--ink2);font-weight:500;white-space:nowrap}
.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.chip .n{opacity:.6;margin-left:4px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid var(--lineSoft)}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--lineSoft);vertical-align:top}th{background:var(--tint);font-weight:600;color:var(--ink2);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tbody tr{cursor:pointer}tbody tr:hover{background:var(--paper)}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600;background:var(--tint);color:var(--ink2);white-space:nowrap}
.s-neu{background:#E8EEF5;color:#34506E}.s-kontaktiert{background:var(--paper);color:var(--accentInk)}.s-Antwort{background:#FFF1D6;color:#8A5B00}
.s-Termin{background:#E6F0EA;color:#2F6B47}.s-Angebot{background:#EDE6F5;color:#5A3E85}.s-gewonnen{background:#2F6B47;color:#fff}.s-verworfen{background:#EEE;color:#888}
.lcards{display:none}.lcard{display:block;background:#fff;border:1px solid var(--lineSoft);border-radius:var(--r);padding:14px;box-shadow:var(--sh);text-decoration:none;color:var(--ink)}
.lcard .t{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.lcard b{font-size:16px}.lcard .m{color:var(--ink3);font-size:13px;margin-top:2px}
.lcard .a{display:flex;gap:8px;margin-top:12px}.lcard .a>*{flex:1}
.ibtn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border-radius:10px;border:1px solid var(--line);background:var(--canvas);color:var(--ink2);text-decoration:none;font-weight:600;font-size:14px;gap:6px;cursor:pointer}
.ibtn:hover{background:var(--paper)}.ibtn[aria-disabled=true]{opacity:.35;pointer-events:none}
dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 12px;margin:0}dt{color:var(--ink3)}dd{margin:0;word-break:break-word}
.tl{position:relative;padding-left:18px}.tl:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--lineSoft)}
.ev{position:relative;padding:4px 0 12px}.ev:before{content:"";position:absolute;left:-17px;top:9px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--accent2)}
.ev.Status:before{border-color:var(--accent);background:var(--accent)}.ev.E-Mail:before{border-color:#34506E}.ev small{color:var(--ink3)}
.mail{border:1px solid var(--lineSoft);border-radius:12px;padding:12px;margin:8px 0;background:var(--canvas)}.mail pre{white-space:pre-wrap;font:inherit;margin:8px 0 0;color:var(--ink2)}
.muted{color:var(--ink3)}.due{color:#B23B2E;font-weight:600}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}
.task{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--lineSoft)}.task:last-child{border:0}
.task input[type=checkbox]{width:24px;height:24px;min-height:0;accent-color:var(--accent);flex:none}.task .x{flex:1;min-width:0}.task a{text-decoration:none}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.col{background:var(--tint);border-radius:var(--r);padding:10px;min-height:300px;scroll-snap-align:start;transition:background .15s}.col.over{background:var(--paper);outline:2px dashed var(--accent)}
.col h3{font-size:13px;margin:2px 4px 10px;display:flex;justify-content:space-between;text-transform:capitalize}.col h3 small{color:var(--ink3);font-weight:500}
.kc{background:#fff;border-radius:10px;padding:10px 12px;margin-bottom:8px;box-shadow:var(--sh);cursor:grab;border:1px solid var(--lineSoft)}.kc.drag{opacity:.4}
.kc b{display:block;font-size:14px}.kc small{color:var(--ink3)}.kc .row{margin-top:6px}
.sheet-bg{position:fixed;inset:0;background:#14151799;z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}
.sheet{background:#fff;width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:18px 18px calc(18px + var(--safe));max-height:88vh;overflow:auto;animation:up .2s ease-out}
.sheet .grab{width:40px;height:5px;border-radius:3px;background:var(--line);margin:-6px auto 12px}
.sheet .opts{display:grid;gap:8px}.sheet .opts button{min-height:50px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:left;padding:0 16px;font-weight:600;cursor:pointer}
.sheet .opts button.on{border-color:var(--accent);background:var(--paper);color:var(--accentInk)}
@media(min-width:700px){.sheet-bg{align-items:center}.sheet{border-radius:20px}}
@keyframes up{from{transform:translateY(40px);opacity:.5}}@keyframes fade{from{opacity:0}}
.fab{position:fixed;right:18px;bottom:calc(84px + var(--safe));width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;border:0;font-size:30px;box-shadow:0 8px 24px #B4693F66;z-index:30;cursor:pointer;display:none}
.tabbar{display:none}
.actbar{display:none}
.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe));transform:translateX(-50%);background:var(--night);color:#fff;padding:10px 18px;border-radius:99px;z-index:60;font-size:14px;animation:fade .2s}
.login{max-width:380px;margin:12vh auto;padding:0 16px}.login .card{padding:28px}.err{color:#B23B2E;min-height:20px}
.empty{padding:20px;text-align:center;color:var(--ink3)}
@media(max-width:899px){
 body{font-size:16px}main{padding:16px 14px calc(150px + var(--safe))}h1{font-size:22px}
 header{padding:0 14px;gap:10px}.topnav,#logout,.desk{display:none}.gsearch{flex:1}
 .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi b{font-size:22px}.kpi{padding:12px}.two{grid-template-columns:minmax(0,1fr)}
 table{display:none}.lcards{display:grid;gap:10px}
 dl{grid-template-columns:1fr}dt{font-size:12px;margin-top:6px}
 .kanban{grid-auto-columns:82%}
 .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--night);padding:6px 4px calc(6px + var(--safe));border-top:1px solid #ffffff14}
 .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--onDark2);text-decoration:none;font-size:11px;font-weight:600;min-height:52px;justify-content:center;border-radius:10px}
 .tabbar a svg{width:24px;height:24px}.tabbar a.on{color:var(--accent2)}
 .tabbar .badge{position:absolute;margin-left:22px;margin-top:-30px;background:var(--accent);color:#fff;border-radius:99px;font-size:10px;padding:1px 6px}
 .fab{display:block}
 .actbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:calc(64px + var(--safe));z-index:35;padding:10px 12px;background:#ffffffee;backdrop-filter:blur(8px);border-top:1px solid var(--lineSoft)}
 .actbar>*{flex:1}.has-act .fab{display:none}
}
html,body{overflow-x:hidden}code{word-break:break-all}.card{min-width:0}#deal label{min-width:120px}
