:root{--bg:#0b1020;--bg2:#10172e;--panel:#141d38;--panel2:#1a2447;--ink:#eef2ff;--muted:#9fb0d8;--line:#26335c;--a:#6ea8fe;--b:#7af0c8;--c:#f7b955;--d:#c79bff;--e:#ff8fb1;--good:#42d392;--prio-niedrig:#5b6b8c;--prio-mittel:#6ea8fe;--prio-hoch:#f7b955;--prio-dringend:#ff8fb1}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}a{color:var(--a);text-decoration:none}.app{display:grid;grid-template-columns:248px 1fr;height:100vh}.sidebar{background:var(--bg2);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:6px;overflow:auto}.content{overflow:auto;padding:28px 34px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;margin-bottom:18px;letter-spacing:-.01em}.brand .logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--a),var(--d));display:flex;align-items:center;justify-content:center;font-size:15px}.navlabel{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:14px 6px 4px}.navitem{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;color:var(--ink);border:none;background:transparent;width:100%;text-align:left;font-size:14px}.navitem:hover{background:var(--panel)}.navitem.active{background:var(--panel2);color:#fff}.navitem .badge{margin-left:auto;font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:1px 7px}.kbdhint{margin-top:auto;font-size:12px;color:var(--muted);padding:8px 6px}.kbd{font-family:ui-monospace,Menlo,monospace;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:11px;color:var(--a)}h1{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.sub{color:var(--muted);margin:0 0 22px;font-size:14px}h2{font-size:18px;font-weight:700;margin:26px 0 12px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.pcard{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:18px;text-align:left;transition:.12s;display:flex;flex-direction:column;gap:10px;color:var(--ink)}.pcard h3{color:var(--ink)}.pcard:hover{border-color:var(--a);transform:translateY(-2px)}.pcard .top{display:flex;align-items:center;justify-content:space-between}.pcard h3{margin:0;font-size:16px}.chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.chip.aktiv{color:var(--good);border-color:#1d5e49;background:#42d3921a}.pcard .stats{display:flex;gap:16px;color:var(--muted);font-size:13px;margin-top:auto}.pcard .stats b{color:var(--ink)}.codeort{font-size:12px;color:var(--muted);font-family:ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.col{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px;min-height:120px}.col h4{margin:0 0 10px;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.col h4 .count{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:0 7px;font-size:11px}.task{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px;margin-bottom:9px}.task .t{font-size:14px;margin:0 0 8px;line-height:1.35}.task .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:50%}.prio{font-size:11px;color:var(--muted)}.src{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.task .adv{margin-top:9px;display:flex;gap:6px}.task .adv button{font-size:11px;border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;padding:3px 8px}.task .adv button:hover{color:#fff;border-color:var(--a)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:900px){.grid2{grid-template-columns:1fr}.board{grid-template-columns:1fr 1fr}.app{grid-template-columns:1fr}.sidebar{display:none}}.docrow{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:7px;background:var(--bg2);width:100%;color:var(--ink);text-align:left}.docrow:hover:not(:disabled){border-color:var(--a)}.docrow:disabled{opacity:.45;cursor:default}.docrow .o{font-size:13px}.docrow .n{font-size:12px;color:var(--muted)}.docfiles{padding:0 0 8px 16px}.docfile{display:block;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:8px;padding:7px 11px;margin-bottom:6px;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docfile:hover{color:#fff;border-color:var(--a)}.goal{border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:9px;background:var(--bg2)}.goal .gt{font-size:14px;font-weight:600;margin-bottom:8px}.bar{height:7px;border-radius:99px;background:var(--bg);overflow:hidden}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--a),var(--b))}.btn{background:var(--a);color:#08122b;border:none;border-radius:9px;padding:8px 14px;font-weight:700;font-size:13px}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost.aktiv{border-color:var(--a);color:#fff;background:var(--panel2)}.tl{display:flex;flex-direction:column;gap:6px}.tl-head,.tl-row{display:grid;grid-template-columns:96px 1fr 150px 150px 130px;gap:10px;align-items:center}.tl-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 12px}.tl-row{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:7px 12px}.tl-row:hover{border-color:var(--a)}.tl-row .titel{font-size:14px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-row .titel:hover{color:var(--a)}.tl-row input,.tl-row select{background:var(--bg);border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:13px;padding:5px 7px;width:100%;font-family:inherit}.tl-row input:focus,.tl-row select:focus{outline:none;border-color:var(--a)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0408149e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.modal{width:600px;max-width:100%;max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 30px 80px #00000080}.btn:hover{filter:brightness(1.06)}.input{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:9px 11px;color:var(--ink);font-size:14px;width:100%}.input:focus{outline:none;border-color:var(--a)}.row{display:flex;gap:10px;align-items:center}.ff{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.ff>span{letter-spacing:.04em;text-transform:uppercase}textarea.input{resize:vertical;font-family:inherit}.login{display:flex;align-items:center;justify-content:center;height:100vh}.loginbox{width:360px;background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:18px;padding:30px}.loginbox h1{font-size:22px}.err{color:var(--e);font-size:13px;margin-top:8px}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04081499;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:50}.cmdk{width:560px;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px #00000080}.cmdk input{width:100%;border:none;background:transparent;color:var(--ink);font-size:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.cmdk input:focus{outline:none}.cmdk .res{max-height:320px;overflow:auto;padding:6px}.cmdk .item{padding:10px 12px;border-radius:9px;font-size:14px;display:flex;align-items:center;gap:10px}.cmdk .item.sel{background:var(--panel2)}.cmdk .item .muted{color:var(--muted);font-size:12px;margin-left:auto}.empty{color:var(--muted);font-size:14px;padding:18px}.loading{color:var(--muted);padding:40px;text-align:center}
