:root{--bg:#f3f6fb;--surface:#fff;--text:#172033;--muted:#64708a;--line:#e1e7f0;--accent:#2563eb;--accent-soft:#e0eaff;--accent-text:#fff;--danger:#c62828;--calm:#0f9f7a;--shadow:0 1px 2px #1720330f, 0 4px 14px #1720330f;--area-arbeit:#3b82f6;--area-bez:#ec4899;--area-persoenlich:#8b5cf6;--area-gesundheit:#10b981;--tabbar-height:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1422;--surface:#182033;--text:#e8edf7;--muted:#94a0b8;--line:#273149;--accent:#60a5fa;--accent-soft:#1d2d52;--accent-text:#0b1220;--danger:#f2b8b5;--calm:#34d399;--shadow:0 1px 2px #0000004d, 0 4px 14px #00000040;--area-arbeit:#60a5fa;--area-bez:#f472b6;--area-persoenlich:#a78bfa;--area-gesundheit:#34d399}}*{box-sizing:border-box}body{min-height:100dvh;margin:0}button,input{font:inherit;color:inherit}.login{min-height:100dvh;padding:24px max(24px, env(safe-area-inset-left));flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;display:flex}.login h1{letter-spacing:.02em;margin:0 0 32px;font-size:1.8rem}.login form{flex-direction:column;gap:12px;display:flex}.login label{color:var(--muted);font-size:.9rem}.login input{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 16px;font-size:1rem}.login button{background:var(--accent);color:var(--accent-text);border:0;border-radius:12px;margin-top:8px;padding:14px;font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.login .hint{color:var(--muted);margin:0;font-size:.85rem}.login button:disabled{opacity:.5}.error{color:var(--danger);margin:0}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:3;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:1.6rem}.link{color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:.9rem}.content{padding:20px;padding-bottom:calc(88px + env(safe-area-inset-bottom));flex:1}.empty{color:var(--muted)}.tabbar{height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.tabbar a span{font-size:1.3rem}.tabbar a[aria-current=page]{color:var(--accent);font-weight:600}@media (width>=900px){.content,.topbar{width:100%;max-width:900px;margin:0 auto}}.fokus{flex-direction:column;gap:12px;max-width:420px;margin:0 auto;display:flex}.fokus-what{text-align:center;color:var(--muted);overflow-wrap:anywhere;margin:24px 0 0}.fokus-clock{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent);margin:0 0 16px;font-size:5.5rem;font-weight:600}.fokus-clock.break{color:var(--calm)}.fokus .fokus-done{background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;margin:8px 0;font-size:1.2rem;display:flex}.fokus-done small{color:var(--muted);font-size:.85rem;font-weight:400}.fokus .fokus-done.alarming{background:var(--accent);color:var(--accent-text);animation:1s ease-in-out infinite alternate alarm}.fokus-done.alarming small{color:inherit}@keyframes alarm{to{opacity:.55}}.fokus hr{border:0;border-top:1px solid var(--line);width:100%;margin:8px 0}.fokus-label{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 16px;font-size:1rem}.fokus button{border-radius:12px;padding:16px;font-weight:600}.fokus .primary{background:var(--accent);color:var(--accent-text);border:0;font-size:1.15rem}.fokus .secondary{border:1px solid var(--line);background:var(--surface)}.fokus button:disabled:not(.fokus-done){opacity:.5}.fokus-count{text-align:center;color:var(--muted);margin:16px 0 0}.fokus-today ol{margin:8px 0 0;padding:0;font-size:.9rem;list-style:none}.fokus-today li{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;gap:10px;padding:8px 0;display:grid}.fokus-today .when,.fokus-today .how{color:var(--muted);font-variant-numeric:tabular-nums}.fokus-today .what{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fokus-today li.cancelled .what{color:var(--muted);text-decoration:line-through}.fokus-hint{color:var(--muted);text-align:center;margin:8px 0 0;font-size:.85rem}.tasks-view{padding-bottom:220px}.missed{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 12px}.missed-toggle{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;justify-content:space-between;padding:12px 14px;font-size:.9rem;display:flex}.missed ul{margin:0;padding:0 14px 8px;list-style:none}.missed li{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.missed-title small{color:var(--muted)}.missed-actions{gap:6px;display:flex}.missed-actions button{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex:1;padding:8px 4px;font-size:.85rem}.missed-actions button:last-child{flex:0 0 44px}.filters{align-items:center;gap:6px;margin-bottom:4px;display:flex;overflow-x:auto}.filters button,.chips button,.chip-date{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;flex:none;padding:6px 12px;font-size:.85rem}.filters button[aria-pressed=true],.chips button[aria-pressed=true],.chip-date.on{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.task .prefix{color:var(--muted);font-size:.85rem}.week .day{margin-bottom:6px}.week .day h2{border-bottom:2px solid var(--line);margin:0;font-size:1rem}.week .day h2 button{width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:0;align-items:baseline;gap:6px;padding:8px 0;font-weight:600;display:flex}.week .day h2 .load{margin-left:auto}.task.compact{align-items:center;gap:10px}.task.compact .check{width:22px;height:22px;margin:8px 0;font-size:.75rem}.task.compact .body{flex-direction:row;align-items:baseline;gap:8px;padding:8px 0}.task.compact .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.task.compact .marks{flex:none}.task.ticked .check{animation:.35s ease-out tick-pop}.task.ticked{animation:.35s ease-out tick-flash}@keyframes tick-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes tick-flash{0%{background:color-mix(in srgb, var(--accent) 25%, transparent)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.task.ticked,.task.ticked .check{animation:none}}.week .day.today h2{border-color:var(--accent);color:var(--accent)}.week .day.past{opacity:.55}.week .load{color:var(--muted);font-size:.8rem;font-weight:400}.week .load.full{color:var(--danger);font-weight:600}.tasks{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;display:flex}.task .check{border:2px solid var(--muted);width:28px;height:28px;color:var(--accent-text);background:0 0;border-radius:50%;flex:none;margin:12px 0;font-size:.9rem;line-height:1}.task.mit .check{border-color:var(--accent)}.task.done .check{border-color:var(--accent);background:var(--accent)}.task .body{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;min-width:0;padding:14px 0;display:flex}.task .title{overflow-wrap:anywhere}.task .marks{color:var(--muted);font-size:.8rem}.task.done .title{color:var(--muted);text-decoration:line-through}.quick-add{inset:auto 0 calc(var(--tabbar-height) + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:8px 16px;display:flex;position:fixed}.quick-row{gap:8px;display:flex}.quick-preview{overflow-wrap:anywhere;margin:0;font-size:.85rem}.chips{flex-direction:column;gap:6px;display:flex}.chip-row{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.chip-date{position:relative;overflow:hidden}.chip-date input{opacity:0;position:absolute;inset:0}.link-button{color:var(--accent);font-size:inherit;background:0 0;border:0;padding:0;font-weight:600}.sheet-actions.two{grid-template-columns:repeat(2,1fr)}.sheet .danger{color:var(--danger)}.quick-row input{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:1;min-width:0;padding:12px 14px;font-size:1rem}.quick-row button{background:var(--accent);width:48px;color:var(--accent-text);border:0;border-radius:12px;font-size:1.5rem;line-height:1}.quick-row button:disabled{opacity:.4}.quick-note{color:var(--muted);margin:0;font-size:.85rem}.sheet-backdrop{z-index:10;background:#00000059;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:560px;padding:20px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg);border-radius:18px 18px 0 0;flex-direction:column;gap:12px;margin:0 auto;display:flex}.sheet-title{overflow-wrap:anywhere;margin:0;font-weight:600}.sheet button,.sheet input{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px;font-size:1rem}.sheet-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sheet-actions button{padding:14px 4px;font-weight:600}.sheet-date{gap:8px;display:flex}.sheet-date input{flex:1;min-width:0}.sheet .sheet-cancel{color:var(--muted);background:0 0;border:0}@media (width>=900px){.quick-add{max-width:900px;margin:0 auto}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sheet .sheet-edit{flex:none;padding:6px 10px;font-size:.85rem}.sheet-notes{color:var(--muted);white-space:pre-wrap;margin:0;font-size:.9rem}.task-edit{flex-direction:column;gap:8px;max-height:75dvh;display:flex;overflow-y:auto}.task-edit>*{flex-shrink:0}.task-edit label,.task-edit .edit-label{color:var(--muted);font-size:.85rem}.task-edit textarea{border:1px solid var(--line);background:var(--surface);font:inherit;color:inherit;resize:vertical;border-radius:12px;padding:12px 14px}.task-edit .chip-row button{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;padding:6px 12px;font-size:.85rem}.task-edit .chip-row button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.sheet .primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text);font-weight:600}.review .export{color:var(--accent);background:0 0;border:0;margin-top:16px;padding:0;font-weight:600;text-decoration:none;display:inline-block}.export-confirm{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.export-confirm p{flex-basis:100%;margin:16px 0 0}.week .hint{color:var(--muted);margin:0 0 8px;font-size:.8rem}.week .task{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.task.dragging{opacity:.3}.week .day.drop{outline:2px dashed var(--accent);outline-offset:4px;border-radius:12px}.drag-overlay{background:var(--surface);border-radius:12px;margin:0;padding:0 12px;list-style:none;box-shadow:0 8px 24px #00000040}.inbox-head{align-items:baseline;gap:8px;display:flex}.inbox-head .link-button{margin-left:auto}.inbox-items{margin:0;padding:0;list-style:none}.inbox-heading h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 4px;font-size:.85rem}.inbox-item{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-bottom:8px;padding:12px 14px}.inbox-image{object-fit:contain;border-radius:10px;max-width:100%;max-height:260px;margin-bottom:8px;display:block}.inbox-text a,.card-notes a{color:var(--accent);overflow-wrap:anywhere}.inbox-item.converting{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.inbox-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 6px}.inbox-actions{align-items:center;gap:12px;font-size:.85rem;display:flex}.inbox-date{color:var(--muted);margin-right:auto}.inbox-actions a{color:var(--muted)}.inbox-actions button{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:6px 12px;font-size:.85rem}.review{padding-bottom:200px}.review-head{top:calc(60px + env(safe-area-inset-top));z-index:2;background:var(--bg);border-bottom:1px solid var(--line);margin:-20px -20px 16px;padding:10px 20px 12px;position:sticky}.review-head>p{color:var(--muted);margin:0 0 8px;font-size:.8rem}.stepper{gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.stepper li{flex:1}.stepper button{width:100%;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0;font-size:.65rem;display:flex}.stepper .dot{border:2px solid var(--line);border-radius:50%;place-items:center;width:24px;height:24px;font-weight:600;display:grid}.stepper .past .dot{border-color:var(--accent);color:var(--accent)}.stepper [aria-current=step]{color:var(--accent);font-weight:600}.stepper [aria-current=step] .dot{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.stepper .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.review-nav{align-items:center;gap:8px;display:flex}.review-nav h2{text-align:center;flex:1;margin:0;font-size:1.1rem}.review-nav button,.step button,.card-actions button,.card-date button,.inline-add button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 14px;font-weight:600}.review-nav .primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.review-nav button:disabled,.step button:disabled{opacity:.4}.step-intro{color:var(--muted);margin:0 0 12px}.step h3{margin:18px 0 6px;font-size:.95rem}.checklist ul{margin:0 0 12px;padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--line);align-items:center;display:flex}.checklist label{flex:1;align-items:center;gap:12px;padding:12px 0;display:flex}.checklist input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.checklist li.done label{color:var(--muted)}.checklist .link{background:0 0;border:0;font-weight:400}.inline-add{gap:8px;display:flex}.inline-add input,.card-date input,.reflection textarea,.reflection input{border:1px solid var(--line);background:var(--surface);min-width:0;font:inherit;color:inherit;border-radius:12px;flex:1;padding:10px 12px}.card{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:12px;padding:16px;list-style:none}.card h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:1.1rem}.card-meta{color:var(--muted);margin:0 0 8px;font-size:.85rem}.card-notes{max-height:8em;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:.85rem;overflow:auto}.card-actions{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px;display:grid}.card-actions .danger{color:var(--danger)}.card-date{gap:8px;display:flex}.projects-step ul{margin:0;padding:0}.projects-step .card-actions{grid-template-columns:repeat(2,1fr);margin:8px 0 0}.step-why{color:var(--muted);text-align:center;margin:8px 0 0;font-size:.85rem}.area-done{color:var(--muted);margin:0;padding:0;font-size:.85rem;list-style:none}.area-done .none{font-style:italic}.projects-step .card-actions button{padding:10px 4px;font-size:.8rem}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;display:grid}.stats div{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:10px 4px;display:flex}.stats strong{font-size:1.4rem}.stats span{color:var(--muted);font-size:.7rem}.by-area{color:var(--muted);margin:0 0 8px;font-size:.85rem}.done-list{margin-bottom:16px;font-size:.9rem}.reflection{flex-direction:column;gap:8px;display:flex}.reflection label,.reflection .field-label{color:var(--muted);margin-top:8px;font-size:.85rem}.area-field{flex-direction:column;gap:4px;display:flex}.week-load{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.week-load div{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;align-items:center;padding:6px 0;font-size:.75rem;display:flex}.week-load strong{font-size:1.1rem}.week-load .today{border-color:var(--accent)}.week-load .full{border-color:var(--danger);color:var(--danger)}.candidates{margin:0 0 8px;padding:0;list-style:none}.candidate{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.candidate-title{overflow-wrap:anywhere}.day-picks{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.step .day-picks button{border-radius:8px;padding:6px 0;font-size:.75rem;font-weight:600}.review-done{text-align:center;margin:20px 0;font-size:1.1rem;font-weight:600}.review-foot{border-top:1px solid var(--line);margin-top:32px;padding-top:12px}.day-head{margin:0 0 14px}.day-date{margin:0 0 8px;font-size:1.15rem;font-weight:700}.progress{align-items:center;gap:10px;display:flex}.progress-bar{background:var(--accent-soft);border-radius:999px;flex:1;height:8px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--calm));height:100%;transition:width .4s ease-out;display:block}.progress-text{color:var(--muted);white-space:nowrap;font-size:.8rem}.heute .tasks{flex-direction:column;gap:8px;display:flex}.heute .task{background:var(--surface);box-shadow:var(--shadow);border:0;border-radius:14px;padding:0 12px 0 14px;position:relative;overflow:hidden}.heute .task:before{content:"";background:var(--line);width:5px;position:absolute;inset:0 auto 0 0}.task.area-arbeit:before{background:var(--area-arbeit)}.task.area-bez:before{background:var(--area-bez)}.task.area-persoenlich:before{background:var(--area-persoenlich)}.task.area-gesundheit:before{background:var(--area-gesundheit)}.heute .task.mit{box-shadow:0 0 0 2px var(--accent), var(--shadow)}.heute .task .body{gap:6px;padding:12px 0}.heute .task .title{font-weight:500}.heute .task .marks{flex-wrap:wrap;gap:4px;display:flex}.pill{background:var(--bg);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem}.top-badge{background:var(--accent);color:var(--accent-text);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:.7rem;font-weight:700}.heute .task .check{border-color:var(--line);border-width:2.5px}.heute .task.mit .check{border-color:var(--accent)}.task.done .check,.heute .task.done .check{border-color:var(--calm);background:var(--calm)}.done-section{margin-top:18px}.done-toggle{color:var(--muted);background:0 0;border:0;margin-bottom:8px;padding:4px 0;font-size:.9rem;font-weight:600}.heute .done-section .task{opacity:.55;box-shadow:none;background:0 0}.heute .task.done .title{text-decoration:none}.filters button[aria-pressed=true]{box-shadow:var(--shadow)}.note-field{gap:8px;display:flex}.note-field input{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:1;min-width:0;padding:12px 14px;font-size:1rem}.fokus .dictate,.dictate{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:none;width:48px;padding:0;font-size:1.2rem}.dictate.listening{border-color:var(--danger);animation:1s ease-in-out infinite alternate alarm}.fokus-today .note{color:var(--muted);white-space:normal;grid-column:2/4;font-size:.85rem}
