:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#f0efea;--ink:#1d2126;--ink-2:#5d6570;--line:#e2e0d9;--accent:#1f6f5c;--accent-ink:#fff;--accent-soft:#e1efea;--warn:#9a5b00;--warn-soft:#fbf0d9;--danger:#b3261e;--danger-soft:#fbe9e7;--radius:12px;--shadow:0 1px 2px #0000000d, 0 8px 24px #0000000f;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14171a;--surface:#1c2024;--surface-2:#252a30;--ink:#e9ebed;--ink-2:#9aa3ad;--line:#2f353c;--accent:#4fb89f;--accent-ink:#0c1f1a;--accent-soft:#1d3530;--warn:#e7b458;--warn-soft:#3a2f17;--danger:#f08a80;--danger-soft:#3d2220;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{background:var(--surface-2);border-radius:5px;padding:1px 5px;font:.9em ui-monospace,SF Mono,Menlo,Consolas,monospace}.muted{color:var(--ink-2)}.icon{flex:none;width:1.15em;height:1.15em}.button{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:6px 14px;font-weight:550;display:inline-flex}.button:hover:not(:disabled){background:var(--surface-2)}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.button-quiet{color:var(--ink-2);background:0 0;border-color:#0000}.button-small{min-height:30px;padding:3px 10px;font-size:13px}.icon-button{width:36px;height:36px;color:var(--ink-2);background:0 0;border:0;border-radius:9px;place-items:center;font-size:17px;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.link{color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:550;text-decoration:underline}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip-ok{color:var(--accent)}.chip-warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.field{gap:4px;min-width:0;display:grid}.field>span{color:var(--ink-2);font-size:13px}.field input,.field select{border:1px solid var(--line);background:var(--surface);border-radius:9px;width:100%;min-height:38px;padding:6px 10px}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:9px;padding:8px 12px;font-size:14px}.notice{background:var(--surface-2);color:var(--ink-2);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:14px;display:flex}.notice .icon{margin-top:3px}.notice-warn{background:var(--warn-soft);color:var(--warn)}.splash,.login{place-items:center;min-height:100%;padding:16px;display:grid}.login-card{border:1px solid var(--line);background:var(--surface);width:min(380px,100%);box-shadow:var(--shadow);border-radius:16px;gap:16px;padding:28px;display:grid}.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:17px;font-weight:700;display:flex}.brand-large{font-size:22px}.brand-mark{background:linear-gradient(#fff,#fff) 22% 68%/38% 22% no-repeat,linear-gradient(#ffffff8c,#ffffff8c) 50% 30%/56% 18% no-repeat,#1f6f5c;border-radius:.32em;width:1.25em;height:1.25em}.app{grid-template-rows:auto 1fr;height:100%;display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:8px 16px;display:flex}.topbar-status{gap:8px;min-width:0;margin-left:auto;display:flex}.layout{grid-template-columns:minmax(0,1fr) 420px;min-height:0;display:grid}.calendar-pane{min-width:0;min-height:0;padding:14px 16px 16px}.side-pane{border-left:1px solid var(--line);background:var(--surface);grid-template-rows:auto 1fr;min-height:0;display:grid}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:8px 12px 0;display:flex}.tabs button{color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.tabs button[aria-selected=true]{border-color:var(--accent);color:var(--ink)}.count{background:var(--surface-2);text-align:center;border-radius:999px;min-width:20px;padding:0 6px;font-size:12px;line-height:20px}.count-accent{background:var(--accent);color:var(--accent-ink)}.panel-scroll{min-height:0;padding:14px;overflow-y:auto}.bottom-nav{display:none}.chat{grid-template-rows:1fr auto auto;min-height:0;display:grid}.chat-scroll{flex-direction:column;gap:12px;display:flex}.chat-intro{gap:10px;margin:auto 0;padding:12px 4px;display:grid}.chat-intro h2{letter-spacing:-.01em;font-size:22px}.examples{gap:8px;margin-top:6px;display:grid}.example{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:10px;padding:10px 12px}.example:hover{border-color:var(--accent);background:var(--accent-soft)}.message{gap:6px;max-width:100%;display:grid}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;padding:9px 13px}.message-user{justify-items:end}.message-user .bubble{background:var(--accent);max-width:88%;color:var(--accent-ink);border-bottom-right-radius:5px}.message-assistant .bubble{background:var(--surface-2);border-bottom-left-radius:5px;justify-self:start;max-width:94%}.message-error .bubble{background:var(--danger-soft);color:var(--danger)}.stamp{color:var(--ink-2);padding:0 4px;font-size:11px}.cards{gap:8px;display:grid}.typing{gap:4px;padding:14px;display:inline-flex}.typing span{background:var(--ink-2);border-radius:50%;width:6px;height:6px;animation:1.2s infinite both blink}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-end;gap:8px;margin:0 12px;padding:6px 6px 6px 12px;display:flex}.composer:focus-within{border-color:var(--accent)}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:7px 0;line-height:1.45}.send{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border:0;border-radius:10px;place-items:center;font-size:18px;display:grid}.clear-chat{color:var(--ink-2);justify-self:center;margin:6px 0 0;font-size:12px;font-weight:400}.chat>:last-child{margin-bottom:12px}.todo{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);gap:8px;padding:12px;display:grid}.todo-proposed{border-style:dashed dashed dashed solid}.todo-unscheduled{border-left-color:var(--warn)}.todo-done{border-left-color:var(--line)}.todo-done h3{color:var(--ink-2);text-decoration:line-through}.todo-head{align-items:flex-start;gap:8px;display:flex}.todo-head h3{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;font-weight:650}.badge{background:var(--surface-2);color:var(--ink-2);border-radius:999px;flex:none;padding:1px 8px;font-size:12px;font-weight:600}.badge-scheduled{background:var(--accent-soft);color:var(--accent)}.badge-proposed,.badge-unscheduled{background:var(--warn-soft);color:var(--warn)}.todo-meta{color:var(--ink-2);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.todo-meta span{align-items:center;gap:4px;display:inline-flex}.prio-hoch{color:var(--danger);font-weight:600}.group{background:var(--surface-2);border-radius:6px;padding:0 7px}.slots{font-variant-numeric:tabular-nums;gap:2px;margin:0;padding:0;font-weight:550;list-style:none;display:grid}.slots li{align-items:center;gap:6px;display:flex}.slots .icon{color:var(--accent)}.todo-notes,.todo-warning{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;gap:6px;font-size:14px;display:flex}.todo-notes .icon,.todo-warning .icon{margin-top:3px}.todo-warning{background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:6px 8px}.todo-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.todo-delete{margin-left:auto}.todo-list{align-content:start;gap:18px;display:grid}.todo-list section,.done-section{gap:8px;display:grid}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-head h2,.done-section summary{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:13px;font-weight:650}.done-section summary{cursor:pointer}.done-section[open] summary{margin-bottom:8px}.empty{text-align:center;place-content:center;gap:4px;display:grid}.calendar{--fc-border-color:var(--line);--fc-page-bg-color:var(--surface);--fc-neutral-bg-color:var(--surface-2);--fc-today-bg-color:color-mix(in srgb, var(--accent) 7%, transparent);--fc-now-indicator-color:#d6453d;--fc-non-business-color:color-mix(in srgb, var(--ink) 4%, transparent);--fc-button-bg-color:var(--surface);--fc-button-border-color:var(--line);--fc-button-text-color:var(--ink);--fc-button-hover-bg-color:var(--surface-2);--fc-button-hover-border-color:var(--line);--fc-button-active-bg-color:var(--accent-soft);--fc-button-active-border-color:var(--line);--fc-event-border-color:transparent;flex-direction:column;gap:8px;height:100%;display:flex}.calendar .fc{flex:1;min-height:0}.calendar .fc-view-harness{border-radius:var(--radius);background:var(--surface);overflow:hidden}.calendar .fc-toolbar.fc-header-toolbar{gap:8px;margin-bottom:12px}.calendar .fc-toolbar-title{letter-spacing:-.01em;font-size:18px;font-weight:650}.calendar .fc-button{padding:6px 12px;font-size:14px;font-weight:550;box-shadow:none!important}.calendar .fc-button-primary:not(:disabled).fc-button-active{color:var(--accent)}.calendar .fc-button-primary:disabled{background:var(--surface);color:var(--ink-2);border-color:var(--line)}.calendar .fc-col-header-cell-cushion,.calendar .fc-daygrid-day-number{color:var(--ink);padding:6px 4px;font-size:13px;font-weight:600;text-decoration:none}.calendar .fc-timegrid-slot-label,.calendar .fc-timegrid-axis{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.calendar .fc-event{cursor:default;border-radius:6px;font-size:12.5px}.calendar .fc-event-main{padding:1px 4px;overflow:hidden}.ev{flex-direction:column;height:100%;line-height:1.3;display:flex;overflow:hidden}.ev-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:0 auto;min-height:1.3em;font-weight:600;display:-webkit-box;overflow:hidden}.ev-time{opacity:.8;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.fc-timegrid-event-short .ev,.fc-daygrid-event .ev{flex-direction:row;gap:6px}.fc-timegrid-event-short .ev-title,.fc-daygrid-event .ev-title{white-space:nowrap;text-overflow:ellipsis;display:block}.fc-timegrid-event-short .ev-time{display:none}.fc-daygrid-event .ev-time{order:-1}.calendar .ev-ext{--ev-color:#6b7a90;border:0;border-left:3px solid var(--ev-color);background:color-mix(in srgb, var(--ev-color) 20%, var(--surface))}.calendar .ev-ext .fc-event-main,.calendar .fc-daygrid-dot-event.ev-ext{color:var(--ink)}.calendar .ev-free{opacity:.6}.calendar .ev-todo{border:1px solid var(--accent);background:var(--accent);cursor:pointer}.calendar .ev-todo .fc-event-main{color:var(--accent-ink)}.calendar .ev-proposed{background:repeating-linear-gradient(135deg, var(--accent-soft) 0 8px, color-mix(in srgb, var(--accent) 22%, var(--surface)) 8px 16px);border-style:dashed}.calendar .ev-proposed .fc-event-main{color:var(--ink)}.calendar .ev-done{opacity:.5}.calendar .ev-done .ev-title{text-decoration:line-through}.calendar .fc-daygrid-dot-event.ev-todo{color:var(--accent-ink)}.calendar .fc-daygrid-dot-event.ev-proposed{color:var(--ink)}.calendar .fc-daygrid-event-dot{display:none}.overlay{z-index:50;background:#0f121673;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog,.sheet{background:var(--surface);width:min(640px,100%);max-height:min(860px,100%);box-shadow:var(--shadow);border-radius:16px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.sheet{grid-template-rows:auto auto;gap:8px;width:min(440px,100%);padding:12px;overflow-y:auto}.sheet-close{justify-self:end}.dialog-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 12px 12px 20px;display:flex}.dialog-head h2{font-size:17px}.save-state{color:var(--ink-2);margin-left:auto;font-size:13px}.dialog-body{gap:26px;padding:20px;display:grid;overflow-y:auto}.dialog-body section{justify-items:start;gap:12px;display:grid}.dialog-body section>*{max-width:100%}.dialog-body h3{font-size:15px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;width:100%;display:grid}.span-2{grid-column:1/-1}.segmented{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.segmented button{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:10px;gap:2px;padding:12px;display:grid}.segmented button span{color:var(--ink-2);font-size:13px}.segmented button[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.weekdays{flex-wrap:wrap;gap:6px;display:flex}.weekdays button{border:1px solid var(--line);background:var(--surface);width:42px;height:36px;color:var(--ink-2);border-radius:9px;font-weight:600}.weekdays button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.check{align-items:center;gap:8px;display:flex}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--accent)}.calendars{border-collapse:collapse;width:100%;font-size:14px}.calendars th{color:var(--ink-2);text-align:center;padding:4px 8px;font-size:12px;font-weight:600}.calendars th:first-child,.calendars td:first-child{text-align:left;padding-left:0}.calendars td{border-top:1px solid var(--line);text-align:center;padding:8px}.dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.toast{z-index:60;background:var(--ink);max-width:min(520px,100% - 32px);color:var(--bg);box-shadow:var(--shadow);cursor:pointer;border-radius:10px;padding:10px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=900px){.app{grid-template-rows:auto 1fr auto}.layout{grid-template-columns:minmax(0,1fr)}.app[data-mobile-calendar=true] .side-pane,.app[data-mobile-calendar=false] .calendar-pane{display:none}.side-pane{border-left:0;grid-template-rows:1fr}.tabs{display:none}.calendar-pane{padding:10px 8px 8px}.calendar .fc-toolbar.fc-header-toolbar{flex-wrap:wrap}.calendar .fc-toolbar-title{font-size:16px}.calendar .fc-button{padding:5px 9px;font-size:13px}.topbar-status .chip:not(.chip-warn){display:none}.bottom-nav{padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);display:grid}.bottom-nav button{color:var(--ink-2);background:0 0;border:0;justify-items:center;gap:2px;padding:8px 4px;font-size:12px;font-weight:600;display:grid}.bottom-nav .icon{font-size:19px}.bottom-nav button[aria-current=true]{color:var(--accent)}.segmented,.grid{grid-template-columns:minmax(0,1fr)}.toast{bottom:84px}}@media (prefers-reduced-motion:reduce){.typing span{animation:none}}
