:root{--bg:#f4f6f5;--panel:#fff;--ink:#1f2926;--muted:#71807a;--line:#e3e9e5;--accent:#2e7d68;--accent2:#d9eee6;--danger:#b85454;--shadow:0 10px 35px #18382b0b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;color:inherit}.topbar{height:78px;border-bottom:1px solid var(--line);background:#ffffffd9;backdrop-filter:blur(15px);display:flex;align-items:center;padding:0 4vw;gap:55px;position:sticky;top:0;z-index:10}.logo{display:grid;grid-template-columns:28px auto;grid-template-rows:22px 17px;column-gap:8px;min-width:170px}.logo span{grid-row:1/3;font-size:35px;color:var(--accent);line-height:38px}.logo b{font-size:17px;letter-spacing:-.4px}.logo small{font-size:10px;color:var(--muted);letter-spacing:1.5px}.topbar nav{display:flex;gap:8px;height:100%;align-items:center}.nav{background:none;color:var(--muted);padding:29px 12px 25px;border-bottom:2px solid transparent}.nav.active{color:var(--accent);border-color:var(--accent);font-weight:650}.top-actions{margin-left:auto;display:flex;gap:14px;align-items:center}.icon-btn,.avatar{width:36px;height:36px;border-radius:50%;background:var(--bg);display:grid;place-items:center;text-decoration:none}.avatar{background:var(--accent);color:#fff;font-weight:700}.shell{max-width:1440px;margin:auto;padding:48px 4vw 80px}.hero,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;color:var(--accent);margin:0 0 8px}.hero h1,.section-heading h1{font-size:clamp(28px,3vw,42px);letter-spacing:-1.8px;margin:0 0 8px;font-weight:720}.muted{color:var(--muted)}.primary,.secondary,.text-btn{border-radius:8px;padding:11px 17px;font-weight:650;transition:.15s}.primary{background:var(--accent);color:#fff;box-shadow:0 5px 14px #2e7d6826}.primary:hover{filter:brightness(.94);transform:translateY(-1px)}.secondary{background:var(--accent2);color:var(--accent)}.text-btn{background:none;color:var(--accent);padding:5px}.wide{width:100%;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats article,.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.stats article{padding:22px 23px}.stats span,.stats em{display:block;color:var(--muted);font-size:12px;font-style:normal}.stats strong{font-size:31px;letter-spacing:-1px;display:inline-block;margin:10px 6px 4px 0}.stats strong small{font-size:15px}.danger-text{color:var(--danger)!important}.success-text{color:var(--accent)!important}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:25px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.panel h2{font-size:19px;margin:0;letter-spacing:-.4px}.task-list{display:grid;gap:8px}.task-row{display:grid;grid-template-columns:8px 1fr auto;gap:13px;align-items:center;border-top:1px solid var(--line);padding:15px 2px}.task-row .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.task-row h3{font-size:14px;margin:0 0 3px}.task-row small{color:var(--muted)}.task-row .date{font-size:11px;color:var(--muted)}.focus-panel{text-align:center;background:linear-gradient(145deg,#f4fbf8,#fff)}.focus-panel .panel-head{text-align:left}.pill{background:var(--accent2);color:var(--accent);font-size:11px;padding:6px 10px;border-radius:20px}.timer{font-size:60px;font-weight:700;letter-spacing:-4px;margin:19px 0 0}.timer-label{font-size:11px;color:var(--muted);letter-spacing:1px}.timer-controls{display:flex;gap:10px;justify-content:center;margin:18px}.timer-note{font-size:12px;max-width:300px;margin:18px auto 0;line-height:1.5}.progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.progress-top{display:flex;justify-content:space-between;margin-bottom:10px}.progress-top span{color:var(--accent);font-size:12px;font-weight:700}.progress{height:7px;background:#edf1ef;border-radius:10px;overflow:hidden;margin-bottom:9px}.progress i{display:block;height:100%;background:var(--accent);border-radius:10px}.progress i.mint{background:#56a78e}.progress i.purple{background:#8376bd}.view.hidden{display:none}.heading-actions{display:flex;gap:10px}.board{display:flex;gap:15px;overflow:auto;align-items:flex-start;padding-bottom:10px}.board-col{min-width:245px;flex:1;background:#e9efec;border:1px solid #dfe8e2;border-radius:12px;padding:14px}.col-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.col-head h3{margin:0;font-size:13px}.count{background:#d8e4de;border-radius:20px;padding:3px 8px;font-size:11px;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:9px;box-shadow:0 3px 9px #18382b08;cursor:grab}.card:active{cursor:grabbing}.card h4{margin:0 0 9px;font-size:14px}.card p{font-size:12px;color:var(--muted);line-height:1.4;margin:0 0 11px;white-space:pre-line}.card-foot{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.priority{font-size:10px;padding:3px 6px;border-radius:5px}.priority.hoch{background:#fde9e7;color:#ae5047}.priority.mittel{background:#fff5d9;color:#a37a19}.priority.niedrig{background:#e7f3ee;color:#307963}.col-add{width:100%;text-align:left;background:none;color:var(--muted);padding:10px 3px;font-size:12px}.calendar-panel{overflow:hidden}.calendar-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-head{border-bottom:1px solid var(--line);padding-bottom:15px}.calendar-head div{text-align:center;font-size:11px;color:var(--muted)}.calendar-grid{min-width:650px}.day{min-height:135px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px}.day:nth-child(7n){border-right:0}.day-number{font-size:12px;color:var(--muted);margin-bottom:8px}.day.today .day-number{background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}.cal-task{font-size:10px;background:var(--accent2);color:var(--accent);padding:5px 6px;border-radius:5px;margin:4px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.note-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;min-height:150px}.note-card h3{font-size:16px;margin:0 0 10px}.note-card p{font-size:13px;line-height:1.6;white-space:pre-line;color:var(--muted)}.health{display:flex;justify-content:space-between;align-items:center}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#dff4eb,transparent 38%),var(--bg)}.login-card{width:min(430px,calc(100% - 35px));background:#fff;border:1px solid var(--line);border-radius:17px;padding:44px;box-shadow:0 20px 60px #244d3b13}.brand-mark{font-size:47px;color:var(--accent);line-height:1}.login-card h1{font-size:32px;letter-spacing:-1.5px;margin:10px 0}.login-card form{margin:28px 0;display:grid;gap:15px}.login-card label,.dialog label{display:grid;gap:7px;font-size:12px;font-weight:650}.login-card input,.dialog input,.dialog textarea,.dialog select{border:1px solid var(--line);border-radius:7px;background:#fbfcfb;padding:12px;outline:none;color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2e7d6815}.alert{background:#fff0ee;color:#a84f48;border-radius:7px;padding:11px;font-size:13px;margin-top:18px}.toast{position:fixed;right:25px;bottom:25px;background:#20332d;color:white;padding:12px 17px;border-radius:8px;transform:translateY(100px);transition:.2s;z-index:30}.toast.show{transform:translateY(0)}dialog{border:0;border-radius:15px;padding:0;box-shadow:0 20px 70px #18382b30;width:min(520px,calc(100% - 30px));color:var(--ink)}dialog::backdrop{background:#12241f66;backdrop-filter:blur(3px)}dialog form{padding:28px;display:grid;gap:15px;position:relative}dialog h2{margin:0 0 5px;font-size:24px}.close{position:absolute;right:18px;top:15px;background:none;font-size:24px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog menu{padding:0;margin:5px 0 0;display:flex;justify-content:flex-end;gap:9px}.segmented{display:flex;background:var(--line);padding:3px;border-radius:7px}.segmented button{background:none;padding:8px 12px;font-size:12px;border-radius:5px}.segmented .selected{background:#fff;box-shadow:0 1px 3px #0001}.dark{--bg:#17231f;--panel:#21312b;--ink:#ecf4f0;--muted:#a1b4ac;--line:#334840;--accent2:#294f43}.dark .topbar{background:#17231fe8}.dark .board-col{background:#1d2b26;border-color:#30433a}.dark .card,.dark .login-card,.dark .segmented .selected{background:#24352f;border-color:#3a5046}.dark .focus-panel{background:#1d332b}.dark .progress{background:#364840}.dark input,.dark textarea,.dark select{background:#1d2e28;color:var(--ink)}@media(max-width:800px){.topbar{padding:0 18px;gap:15px}.topbar nav{overflow:auto}.nav{padding:29px 7px 25px;font-size:12px}.logo{min-width:115px}.logo small{display:none}.shell{padding:32px 16px 60px}.hero,.section-heading{align-items:flex-start;flex-direction:column}.hero .primary{width:100%}.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.progress-grid,.notes-grid{grid-template-columns:1fr}.board{margin-right:-16px}.heading-actions{width:100%}.heading-actions>*{flex:1}.top-actions{display:none}.panel{padding:19px}.calendar-panel{overflow:auto}.health{align-items:flex-start;flex-direction:column;gap:18px}}
/* Kanban-only layout */
#boardGrid{display:flex;flex-direction:column;gap:14px;width:100%;max-width:1000px}
.board-col{width:100%;box-sizing:border-box;min-width:0}
.board-toolbar{display:flex;gap:12px;align-items:center;margin:0 0 18px;max-width:1000px}
.search{display:flex;align-items:center;gap:8px;flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--muted)}
.search input{border:0;background:transparent;outline:0;width:100%;padding:12px;color:var(--ink)}
dialog{border:0;border-radius:16px;padding:24px;max-width:560px;width:calc(100% - 32px);color:var(--ink);background:var(--panel);box-shadow:0 25px 80px #10251c33}
dialog::backdrop{background:#10251c66}
dialog form{display:grid;gap:14px}
dialog label{display:grid;gap:7px;font-size:12px;font-weight:650}
dialog input,dialog textarea,dialog select{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:11px;color:var(--ink);font:inherit}
.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-actions{justify-content:flex-end}.close{border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}
@media(max-width:600px){.hero{display:block}.hero .primary{margin-top:16px}.board-toolbar{align-items:stretch}.board-toolbar .secondary{white-space:nowrap}.board-col{padding:11px}.card{padding:12px}}
