/* Roadmap & Aufgaben: ruhig und listenbasiert, gleiche Farben und Schrift wie Revenue, Team und Recruiting */
:root{
  --bg:#ffffff; --surface:#ffffff; --raised:#f5f5f7; --hover:#fafafa; --ink:#1d1d1f; --muted:#6e6e73; --faint:#a1a1a6; --line:#ececf0; --track:#ececf0;
  --accent:#0071e3; --accent-soft:#e8f1fd; --good:#30a14e; --warn:#e08600; --bad:#e0262f; --bad-soft:#fdecec; --warn-soft:#fff4e2;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04); --scrim:rgba(0,0,0,.25);
  --f-display:'Inter Tight','Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif; --f-body:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#000; --surface:#111113; --raised:#1c1c1e; --hover:#18181a; --ink:#f5f5f7; --muted:#a1a1a6; --faint:#6e6e73; --line:#2a2a2d; --track:#2a2a2d;
  --accent:#2997ff; --accent-soft:#0f2a4a; --good:#30d158; --warn:#ff9f0a; --bad:#ff453a; --bad-soft:#3a1110; --warn-soft:#3a2508;
  --shadow:none; --scrim:rgba(0,0,0,.6); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#000; --surface:#111113; --raised:#1c1c1e; --hover:#18181a; --ink:#f5f5f7; --muted:#a1a1a6; --faint:#6e6e73; --line:#2a2a2d; --track:#2a2a2d;
  --accent:#2997ff; --accent-soft:#0f2a4a; --good:#30d158; --warn:#ff9f0a; --bad:#ff453a; --bad-soft:#3a1110; --warn-soft:#3a2508;
  --shadow:none; --scrim:rgba(0,0,0,.6); color-scheme:dark}
*{box-sizing:border-box}
html,body{background:var(--bg)!important;color:var(--ink);font:14.5px/1.45 var(--f-body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
.wrap{max-width:980px;margin:0 auto;padding:14px 16px 96px}
/* Kopfleiste */
.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:2px 0 22px}
.brand{display:flex;align-items:center;gap:10px;font:700 16px var(--f-display)}
.brand img{width:26px;height:26px;object-fit:contain;display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand img{filter:invert(1)}}
:root[data-theme="dark"] .brand img{filter:invert(1)}
.suite{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:var(--raised);max-width:100%;overflow-x:auto;scrollbar-width:none}
.suite::-webkit-scrollbar{display:none}
.suite a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}
.suite a:hover{color:var(--ink)}
.suite a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.suite a i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45}
.suite a.on i{background:var(--accent);opacity:1}
.right{margin-left:auto;display:flex;align-items:center;gap:12px}
.me{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.me select{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 10px;font-weight:600;font-size:13px}
.sync{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.sync i{width:7px;height:7px;border-radius:50%;background:var(--faint)}
.sync.ok i{background:var(--good)} .sync.busy i{background:var(--warn)} .sync.err i{background:var(--bad)}
/* Seitentitel, Umschalter, Zeitraum */
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.head h1{font:800 30px/1.1 var(--f-display);letter-spacing:-.025em;margin:0}
.head p{margin:3px 0 0;color:var(--muted);font-size:13.5px}
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--raised)}
.seg button{border:0;background:none;padding:6px 13px;border-radius:8px;font-weight:600;color:var(--muted);font-size:13.5px}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.pnav{display:flex;align-items:center;gap:8px;margin:16px 0 0}
.pnav b{font:700 16px var(--f-display)}
.pnav .rng{font:500 13px var(--f-body);color:var(--muted);margin-left:4px}
.ib{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:inline-grid;place-items:center;font-size:16px;line-height:1;color:var(--muted)}
.ib:hover{color:var(--ink);background:var(--raised)}
.lnk{border:0;background:none;padding:0;color:var(--accent);font-weight:600;font-size:13px;text-decoration:none}
.lnk:hover{text-decoration:underline}
/* Kennzahlen: eine Leiste */
.stats{display:flex;flex-wrap:wrap;margin:18px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.stat{flex:1 1 120px;padding:12px 16px;border-left:1px solid var(--line);text-decoration:none;color:inherit}
.stat:first-child{border-left:0}
a.stat:hover{background:var(--hover)}
.stat b{display:block;font:700 22px/1.15 var(--f-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.stat span{font-size:12.5px;color:var(--muted)}
.stat.bad b{color:var(--bad)}
/* Abschnitte */
.sec{margin:26px 0 0}
.sh{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.sh h2{font:700 17px var(--f-display);letter-spacing:-.01em;margin:0}
.sh .sub{color:var(--muted);font-size:13px}
.sp{flex:1}
.btn{border:0;border-radius:8px;padding:7px 14px;font-weight:600;font-size:13.5px;background:var(--accent);color:#fff}
.btn.sec2{background:var(--raised);color:var(--ink)}
.btn.sm{padding:5px 11px;font-size:13px}
.btn.danger{background:var(--bad-soft);color:var(--bad)}
.note{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:10px;border-radius:10px;background:var(--accent-soft);font-size:13px;color:var(--muted)}
.note span{flex:1}
.empty{border:1px dashed var(--line);border-radius:14px;padding:22px;text-align:center;color:var(--muted);font-size:13.5px}
.empty b{display:block;color:var(--ink);font:600 15px var(--f-body);margin-bottom:2px}
/* Listen */
.list{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.list > * + *{border-top:1px solid var(--line)!important}
.tg{display:flex;align-items:center;gap:8px;padding:9px 16px 7px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--raised)}
.tg span{font-weight:600;color:var(--faint)}
.tg.bad{color:var(--bad)}
/* Zielzeile */
.grow{display:grid;grid-template-columns:10px minmax(0,1fr) 200px 44px 26px;gap:14px;align-items:center;width:100%;padding:12px 16px;border:0;background:var(--surface);text-align:left}
.grow:hover,.task:hover{background:var(--hover)}
.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.gt{min-width:0}
.gt b{display:block;font-weight:600;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt small,.tm{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt small i,.tm i{font-style:normal;margin:0 6px;color:var(--faint)}
.gb{display:block;min-width:0}
.gb small{display:block;font-size:12px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp{font:700 14px var(--f-display);text-align:right;font-variant-numeric:tabular-nums}
.bar{display:block;height:6px;border-radius:99px;background:var(--track);overflow:visible;position:relative}
.bar i{position:absolute;inset:0 auto 0 0;border-radius:99px;max-width:100%}
.bar em{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:1px;background:var(--ink);opacity:.35}
.engc{color:var(--bad);font-weight:600}
/* Aufgabenzeile */
.task{display:grid;grid-template-columns:22px minmax(0,1fr) auto 70px 26px;gap:12px;align-items:center;padding:10px 16px;background:var(--surface)}
.task.eng{grid-template-columns:34px minmax(0,1fr) 0 auto 26px}
.task.done .tt{text-decoration:line-through;color:var(--faint)}
.tb{min-width:0}
.tt{display:block;max-width:100%;border:0;background:none;padding:0;text-align:left;font-weight:500;font-size:14.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm{margin-top:1px}
.tm .st-arbeit{color:var(--accent);font-weight:600} .tm .st-wartet,.tm .st-offen{color:var(--warn);font-weight:600}
.moved{color:var(--warn)}
.ck{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--faint);background:none;display:grid;place-items:center;padding:0}
.ck:hover{border-color:var(--good)}
.ck.on{background:var(--good);border-color:var(--good);color:#fff}
.ck.on::after{content:'✓';font-size:12px;font-weight:700}
.pr{border:0;border-radius:6px;padding:2px 7px;font:700 11.5px var(--f-display);white-space:nowrap;background:none}
.p1{background:var(--bad-soft);color:var(--bad)} .p2{background:var(--warn-soft);color:var(--warn)} .p3{color:var(--faint)}
.due{font-size:12.5px;color:var(--muted);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.due.bad{color:var(--bad);font-weight:600} .due.soon{color:var(--warn);font-weight:600}
.donebox{margin-top:12px}
.donebox summary{cursor:pointer;padding:6px 2px;font-size:13px;color:var(--muted);list-style:none;font-weight:600}
.donebox summary::before{content:'▸ '} .donebox[open] summary::before{content:'▾ '}
.donebox .list{margin-top:6px}
.foot{margin-top:12px;text-align:right}
/* Eingabe und Filter */
.quick{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 12px;margin-bottom:12px;background:var(--surface)}
.quick:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.quick .plus{color:var(--faint);font-size:18px;line-height:1}
.quick input{flex:1;min-width:0;border:0;outline:0;background:none;padding:11px 0;font-size:14.5px}
.quick .help{width:20px;height:20px;border-radius:50%;background:var(--raised);color:var(--muted);display:grid;place-items:center;font-size:12px;font-weight:700;cursor:help}
.quick .btn{margin-right:-6px}
.filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;color:var(--muted)}
.chip .av{width:18px;height:18px;font-size:8px;margin-left:-6px}
.chip b{color:var(--ink);font-weight:700}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)} .chip.on b{color:var(--bg)}
.chip.warn{border-color:var(--warn)} .chip.warn b{color:var(--warn)}
.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.colh{display:flex;align-items:center;gap:8px;padding:10px 16px;font-weight:600;background:var(--raised)}
.colh small{margin-left:auto;color:var(--muted)}
.none{margin:0;padding:12px 16px;color:var(--muted);font-size:13px}
/* Avatare */
.av{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;font:700 9.5px var(--f-display);color:#fff;background:linear-gradient(135deg,hsl(var(--h) 70% 58%),hsl(calc(var(--h) + 40) 65% 48%))}
.av.lg{width:32px;height:32px;font-size:12px}
.av.none{background:var(--track);color:var(--muted)}
/* Engpass-Vorschläge */
.sugbox{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.sugbox summary{cursor:pointer;list-style:none;padding:10px 16px;font-size:13.5px;color:var(--muted);background:var(--raised)}
.sugbox summary b{color:var(--ink)}
.sugbox summary::after{content:'anzeigen';float:right;color:var(--accent);font-weight:600;font-size:13px}
.sugbox[open] summary::after{content:'ausblenden'}
.sug{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}
.sug b{font-weight:600}
.sug small{display:block;color:var(--muted);font-size:12.5px}
/* Seitenpanel und Dialog */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:50}
.panel{position:fixed;top:0;right:0;bottom:0;width:min(540px,100%);background:var(--surface);z-index:51;overflow:auto;padding:22px 22px 60px;box-shadow:-20px 0 60px rgba(0,0,0,.12)}
.panel h2{font:800 24px/1.2 var(--f-display);letter-spacing:-.02em;margin:6px 40px 4px 0}
.panel .x{position:absolute;top:16px;right:16px}
.panel .sec{margin-top:24px}
.big{display:flex;align-items:center;gap:18px;margin:14px 0}
.ring{width:64px;height:64px;position:relative;flex-shrink:0}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:6}
.ring .t{stroke:var(--track)} .ring .v{stroke-linecap:round}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font:700 14px var(--f-display);font-variant-numeric:tabular-nums}
.c-gruen,.c-done{stroke:var(--good)} .c-gelb{stroke:var(--warn)} .c-rot{stroke:var(--bad)} .c-plan{stroke:var(--faint)}
.num{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums} .num b{color:var(--ink)}
.pill{display:inline-flex;align-items:center;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:600;white-space:nowrap}
.st-gruen{background:#e7f6ec;color:var(--good)} .st-gelb{background:var(--warn-soft);color:var(--warn)} .st-rot{background:var(--bad-soft);color:var(--bad)}
.st-done{background:var(--good);color:#fff} .st-plan{background:var(--raised);color:var(--muted)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13.5px;margin:0}
.kv dt{color:var(--muted)} .kv dd{margin:0;font-weight:600}
.kid{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 16px;text-align:left;background:var(--surface);border:0;width:100%}
.kid .ring{width:36px;height:36px} .kid .ring b{font-size:10px}
.kid small{display:block;color:var(--muted);font-size:12px}
.panel .kid{border-top:1px solid var(--line);padding:10px 0}
dialog{border:0;border-radius:18px;padding:0;width:min(520px,calc(100% - 32px));background:var(--surface);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.3)}
dialog::backdrop{background:var(--scrim)}
dialog form{padding:22px;display:grid;gap:12px}
dialog h3{margin:0;font:800 20px var(--f-display);letter-spacing:-.02em}
.fl{display:grid;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}
.fl input,.fl select,.fl textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 11px;font-size:14.5px;font-weight:500;color:var(--ink);width:100%}
.fl textarea{min-height:64px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.acts{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.acts .sp{flex:1}
.chk{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink);font-weight:500}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:10px;font-weight:600;font-size:13.5px;z-index:99;box-shadow:var(--shadow)}
@media (max-width:700px){
  .right{margin-left:0;width:100%;justify-content:space-between}
  .head{align-items:flex-start;flex-direction:column}
  .seg{width:100%;overflow-x:auto} .seg button{flex:1;padding:6px 8px}
  .stat{flex:1 1 33%;border-top:1px solid var(--line)}
  .grow{grid-template-columns:10px minmax(0,1fr) 40px;row-gap:6px}
  .grow .gb{grid-column:2/4;order:5} .grow .av{display:none}
  .task{grid-template-columns:22px minmax(0,1fr) auto 58px;padding:10px 12px}
  .task.eng{grid-template-columns:34px minmax(0,1fr) auto}
  .task .av,.task.eng > span:nth-child(3){display:none}
  .sug{grid-template-columns:10px minmax(0,1fr)} .sug .btn,.sug .lnk{grid-column:2}
  .row3{grid-template-columns:1fr 1fr}
}
.errbox{margin:16px 0 0;padding:12px 16px;border-radius:12px;background:var(--bad-soft);color:var(--bad);font-size:13.5px}
.errbox b{display:block;margin-bottom:4px}
.errbox p{margin:6px 0 0;color:var(--ink)}
.errbox code{background:rgba(0,0,0,.06);padding:0 5px;border-radius:4px}
