button.btn:disabled,button.btn.btn-disabled{background:var(--Surface);color:var(--TextMuted);border-color:var(--Border);opacity:.6}.app-shell label.row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;color:var(--Text);font-size:var(--TypeBody)}.app-shell label.stack-sm{gap:8px}.app-shell .confirm-chip{position:relative;display:inline-flex;align-items:center}.app-shell .confirm-chip .chip-toggle{position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;appearance:none;cursor:pointer}.app-shell button.item.item-selected{border-left-color:var(--Primary);background:var(--Bg)}.termin-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}button.chip{width:auto;min-height:0;font-family:var(--font);cursor:pointer}h1.when{flex:1 1 auto;min-width:0}:root{color-scheme:light;--color-bg: #c5d4e3;--color-bg-dark: #0a1628;--color-surface: #dbe6f0;--color-surface-dark: #122033;--color-text: #1a2f45;--color-text-dark: #cbefff;--color-text-muted: #3e5a72;--color-text-muted-dark: #6aa8c8;--color-primary: #0d9aaa;--color-primary-dark: #0d9aaa;--color-on-primary: #ffffff;--color-on-primary-dark: #ffffff;--color-border: #9aafc0;--color-border-dark: #1e3a52;--color-danger: #a21caf;--color-danger-dark: #a21caf;--color-on-danger: #ffffff;--color-on-danger-dark: #ffffff;--color-primary-dark-text: #242424;--color-secondary: #dfd8f7;--color-secondary-dark-text: #9880e5;--color-tertiary: #2b0b98;--color-white: #ffffff;--color-black: #000000;--color-magenta: #d600aa;--color-midnight-blue: #190649;--color-off-black: #1f1f1f;--color-gray-100: #e1e1e1;--color-gray-200: #c8c8c8;--color-gray-300: #acacac;--color-gray-400: #919191;--color-gray-500: #6e6e6e;--color-gray-600: #404040;--color-gray-900: #212121;--color-gray-950: #141414;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-size-title: 22px;--font-size-body: 16px;--font-size-caption: 13px;--control-min: 44px}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-bg: var(--color-bg-dark);--color-surface: var(--color-surface-dark);--color-text: var(--color-text-dark);--color-text-muted: var(--color-text-muted-dark);--color-primary: var(--color-primary-dark);--color-on-primary: var(--color-on-primary-dark);--color-border: var(--color-border-dark);--color-danger: var(--color-danger-dark);--color-on-danger: var(--color-on-danger-dark)}}:root[data-theme=dark]{color-scheme:dark;--color-bg: var(--color-bg-dark);--color-surface: var(--color-surface-dark);--color-text: var(--color-text-dark);--color-text-muted: var(--color-text-muted-dark);--color-primary: var(--color-primary-dark);--color-on-primary: var(--color-on-primary-dark);--color-border: var(--color-border-dark);--color-danger: var(--color-danger-dark);--color-on-danger: var(--color-on-danger-dark)}:root[data-theme=light]{color-scheme:light}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:Open Sans,Segoe UI,sans-serif;font-size:var(--font-size-body)}.screen{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.screen-body{flex:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.screen-actions{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-bg)}.theme-choice{display:flex;gap:var(--space-3)}h1,h2{margin:0;font-weight:600}h1{font-size:var(--font-size-title)}h2{font-size:var(--font-size-body)}.brand{margin:0;font-size:var(--font-size-title);font-weight:600}label{display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-caption)}input{min-height:var(--control-min);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-body)}button,.button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--control-min);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-body);text-decoration:none;cursor:pointer}button.primary,.button.primary{border:0;background:var(--color-primary);color:var(--color-on-primary)}button.secondary,.button.secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.termin-list,.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.termin-card,.member-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md)}.alert{margin:0;color:var(--color-danger);font-size:var(--font-size-caption)}button:disabled{background:var(--color-gray-200);color:var(--color-gray-950)}:root{--Bg: var(--color-bg);--Surface: var(--color-surface);--Text: var(--color-text);--TextMuted: var(--color-text-muted);--Primary: var(--color-primary);--OnPrimary: var(--color-on-primary);--Border: var(--color-border);--Danger: var(--color-danger);--OnDanger: var(--color-on-danger);--Space1: var(--space-1);--Space2: var(--space-2);--Space3: var(--space-3);--Space4: var(--space-4);--Space5: var(--space-5);--Space6: 32px;--RadiusSm: var(--radius-sm);--RadiusMd: var(--radius-md);--RadiusLg: var(--radius-lg);--TypeTitle: var(--font-size-title);--TypeBody: var(--font-size-body);--TypeCaption: var(--font-size-caption);--font: "Open Sans", "Segoe UI", Roboto, ui-sans-serif, system-ui, sans-serif}.app-shell,.app-shell *,.app-shell *:before,.app-shell *:after{box-sizing:border-box}[hidden]{display:none!important}#root,.app-shell{min-height:100dvh;width:100%;max-width:390px;margin-inline:auto;display:flex;flex-direction:column;background:var(--Bg);color:var(--Text);overflow:hidden}.app-shell{position:relative;height:100dvh;font-family:var(--font)}.navbar{flex:0 0 52px;padding:0 16px;display:flex;flex-direction:row;align-items:center;gap:12px;border-bottom:1px solid var(--Border);background:var(--Surface);font-size:var(--TypeBody);font-weight:600}.navbar-flyout{width:44px;height:44px;border:0;border-radius:var(--RadiusSm);background:transparent;color:var(--Text);cursor:pointer;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0}.icon{width:24px;height:24px;flex:0 0 24px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.icon-menu{-webkit-mask-image:url(/icons/menu.svg);mask-image:url(/icons/menu.svg)}.icon-arrow-back{-webkit-mask-image:url(/icons/arrow-back.svg);mask-image:url(/icons/arrow-back.svg)}.icon-apartment{-webkit-mask-image:url(/icons/apartment.svg);mask-image:url(/icons/apartment.svg)}.icon-mail{-webkit-mask-image:url(/icons/mail.svg);mask-image:url(/icons/mail.svg)}.icon-logout{-webkit-mask-image:url(/icons/logout.svg);mask-image:url(/icons/logout.svg)}.icon-dark-mode{-webkit-mask-image:url(/icons/dark-mode.svg);mask-image:url(/icons/dark-mode.svg)}.icon-home{-webkit-mask-image:url(/icons/home.svg);mask-image:url(/icons/home.svg)}.icon-event{-webkit-mask-image:url(/icons/event.svg);mask-image:url(/icons/event.svg)}.icon-groups{-webkit-mask-image:url(/icons/groups.svg);mask-image:url(/icons/groups.svg)}.icon-expand{-webkit-mask-image:url(/icons/expand-more.svg);mask-image:url(/icons/expand-more.svg)}.icon-download{-webkit-mask-image:url(/icons/download.svg);mask-image:url(/icons/download.svg)}.icon-settings{-webkit-mask-image:url(/icons/settings.svg);mask-image:url(/icons/settings.svg)}.scroll,.pane-page{scrollbar-width:thin;scrollbar-color:var(--Border) transparent}.scroll::-webkit-scrollbar,.pane-page::-webkit-scrollbar{width:4px;height:4px}.scroll::-webkit-scrollbar-track,.pane-page::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb,.pane-page::-webkit-scrollbar-thumb{background:var(--Border);border-radius:4px}.navbar-flyout:active{opacity:.82}.navbar-title{flex:1 1 auto;min-width:0}.navbar-actions{display:flex;flex-direction:row;gap:8px;margin-left:auto;flex:0 0 auto}.flyout-toolbar{display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;padding:4px 0;border-bottom:1px solid var(--Border)}.stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.scroll{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:24px}.action-bar{flex:0 0 auto;padding:12px 16px 16px;background:var(--Bg);display:flex;flex-direction:column;gap:12px}.scrim{position:absolute;inset:0;background:#0a1628;opacity:.55;border:0;padding:0;cursor:pointer;z-index:2}.flyout{position:absolute;top:0;left:0;bottom:0;width:260px;background:var(--Surface);border-right:1px solid var(--Border);z-index:3;display:flex;flex-direction:column;gap:0;padding:0}.flyout-brand{display:flex;flex-direction:row;align-items:center;gap:12px;padding:16px;font-size:var(--TypeTitle);font-weight:600}.flyout-appicon{position:relative;width:40px;height:40px;flex:0 0 40px;border-radius:var(--RadiusMd);overflow:hidden}.flyout-appicon img{position:absolute;inset:0;width:100%;height:100%;display:block}.flyout-appicon-fg{z-index:1}.flyout-profile{display:flex;flex-direction:column;gap:4px;padding:16px;border-top:1px solid var(--Border);border-bottom:1px solid var(--Border)}.flyout-label{padding:8px 16px 12px;font-size:var(--TypeCaption);color:var(--TextMuted)}.flyout-item{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:44px;padding:12px 16px;border:0;border-left:4px solid transparent;background:transparent;color:var(--Text);font-family:var(--font);font-size:var(--TypeBody);text-align:left;cursor:pointer}.flyout-item:active{opacity:.82}.flyout-item-on{border-left-color:var(--Primary);background:var(--Bg)}.app-shell h1{margin:0;font-size:var(--TypeTitle);font-weight:600;line-height:1.25}.app-shell p,.app-shell label{margin:0}.body{font-size:var(--TypeBody);font-weight:400;line-height:1.4}.caption{font-size:var(--TypeCaption);color:var(--TextMuted);line-height:1.35}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:8px}.row{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center}.btn{font-family:var(--font);font-size:var(--TypeBody);min-height:44px;padding:12px 16px;border-radius:var(--RadiusMd);border:1px solid transparent;cursor:pointer;width:100%}a.btn{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;box-sizing:border-box}a.item,a.navbar-flyout,a.flyout-item,a.fab{text-decoration:none;color:inherit;box-sizing:border-box}a.item{width:100%}a.fab{display:flex;align-items:center;justify-content:center}a.tab{text-decoration:none;color:var(--TextMuted);box-sizing:border-box}a.tab.tab-on{color:var(--Primary)}.btn:active{opacity:.82}.btn-primary{background:var(--Primary);color:var(--OnPrimary)}.btn-secondary{background:var(--Surface);color:var(--Text);border-color:var(--Border)}.btn-danger{background:var(--Danger);color:var(--OnDanger)}.btn-disabled{background:var(--Surface);color:var(--TextMuted);border-color:var(--Border);opacity:.6;pointer-events:none}.field-label{font-size:var(--TypeCaption);color:var(--TextMuted)}.entry{font-family:var(--font);font-size:var(--TypeBody);color:var(--Text);caret-color:var(--Primary);background:var(--Surface);border:1px solid var(--Border);border-radius:var(--RadiusMd);padding:12px;min-height:44px;width:100%;outline:none}.entry::placeholder{color:var(--TextMuted)}.entry:focus{border-color:var(--Primary)}.entry-error,.entry-error:focus{border-color:var(--Danger)}.error-text{font-size:var(--TypeCaption);color:var(--Danger)}.form-grid{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:12px;align-items:center}.form-span{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px}.card{background:var(--Surface);border:1px solid var(--Border);border-radius:var(--RadiusLg);padding:16px;display:flex;flex-direction:column;gap:8px}.list{display:flex;flex-direction:column;gap:0;border:1px solid var(--Border);border-radius:var(--RadiusLg);overflow:hidden;background:var(--Surface)}.item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:56px;border-bottom:1px solid var(--Border);border-left:4px solid transparent}.item:last-child{border-bottom:0}.item-selected{border-left-color:var(--Primary);background:var(--Bg)}.chip{font-size:var(--TypeCaption);padding:6px 10px;border-radius:var(--RadiusSm);border:1px solid var(--Border);background:var(--Bg);color:var(--TextMuted)}a.chip,a.body{text-decoration:none;color:inherit}.chip-primary{background:var(--Primary);color:var(--OnPrimary);border-color:var(--Primary)}.chip-danger{background:var(--Danger);color:var(--OnDanger);border-color:var(--Danger)}.fab{position:absolute;right:16px;bottom:16px;width:56px;height:56px;min-height:44px;border:0;border-radius:var(--RadiusMd);background:var(--Primary);color:var(--OnPrimary);font-size:28px;line-height:1;cursor:pointer;z-index:1;padding:0}.fab:active{opacity:.82}.tabbar{flex:0 0 72px;display:flex;flex-direction:row;border-top:1px solid var(--Border);background:var(--Surface);padding-bottom:8px}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--TextMuted);min-height:44px;border-top:3px solid transparent}.tab-on{color:var(--Primary);font-weight:600;background-color:var(--Bg);border-top-color:var(--Primary)}.tab-dot{width:6px;height:6px;border-radius:6px;background:currentColor}.scrim,.tag button,.proto-reiter button,button.item,.month-rule{border-radius:0}.tag button,.proto-reiter button{padding:0}.finder-slot{padding:12px 12px 0;flex:0 0 auto}.stage:has(>.finder-slot)>.scroll{padding:0 26px 16px 12px;scrollbar-width:none;overflow-x:clip;overflow-y:auto}.stage:has(>.finder-slot)>.scroll::-webkit-scrollbar{width:0;height:0}.wash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .35s ease}.wash.is-flash{transition:opacity .4s ease}.finder{display:flex;flex-direction:column;gap:8px}.tag{display:flex;flex-direction:row;align-items:center;gap:8px;align-self:flex-start;max-width:100%;padding:4px 4px 4px 10px;border:1px solid var(--Border);border-radius:var(--RadiusSm);background:var(--Bg);color:var(--Text)}.tag span{font-size:var(--TypeCaption);line-height:1.35}.tag button{width:44px;height:44px;flex:0 0 44px;border:0;background:transparent;color:var(--Text);font-size:18px;cursor:pointer}.tag-overlay{position:sticky;top:0;z-index:2}.groups,.month{display:block}.month+.month{margin-top:8px}.month.is-collapsed+.month{margin-top:0}.month-rule{position:sticky;top:0;z-index:2;display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;min-height:32px;margin:0;padding:8px 0;border:0;background:var(--Bg);color:inherit;font:inherit;text-align:left;cursor:pointer}.month-chevron{width:16px;height:16px;flex:0 0 16px;fill:currentColor}.month.is-collapsed .month-chevron{transform:rotate(-90deg)}.month.is-collapsed .month-rule{position:relative;top:auto;padding-top:6px;padding-bottom:6px}.month.is-collapsed .list{display:none}.list{position:relative;z-index:0}.month-rule-start{width:24px;flex:0 0 24px;height:1px;background:var(--Border)}.month-rule-label{font-size:var(--TypeCaption);font-weight:600;color:var(--Text);white-space:nowrap}.month-rule-rest{flex:1;height:1px;background:var(--Border)}.swipe{position:relative;background:var(--Surface)}.swipe-back{position:absolute;inset:0;display:flex;align-items:stretch;justify-content:space-between;color:var(--OnPrimary)}.edge{opacity:0;display:flex;align-items:center;padding:0 12px}.edge-word{font-size:var(--TypeBody);font-weight:600}.swipe[data-dir=zu]{background:var(--Primary)}.swipe[data-dir=ab]{background:var(--Danger)}.swipe[data-dir=vb]{background:var(--Border);color:var(--Text)}.swipe[data-dir=zu] .edge-left,.swipe[data-dir=vb] .edge-left,.swipe[data-dir=ab] .edge-right{opacity:1}.swipe-face{background:var(--Surface);position:relative;z-index:1;touch-action:pan-y;cursor:grab;width:100%;transition:transform .28s ease}.face-zu{border-left-color:var(--Primary)}.face-ab{border-left-color:var(--Danger)}.face-vb{border-left-color:var(--TextMuted)}.chip-vorbehalt{background:transparent;color:var(--Primary);border-color:var(--Primary)}.scrub{position:absolute;top:8px;right:8px;bottom:8px;width:14px;z-index:5;touch-action:none}.scrub-line{position:absolute;top:0;bottom:0;right:4px;width:2px;background:var(--Border);border-radius:2px}.scrub-mark{position:absolute;right:0;width:14px;height:0;opacity:0}.scrub.scrubbing .scrub-mark{opacity:1}.scrub-dot{position:absolute;right:1px;top:0;width:8px;height:8px;border-radius:8px;background:var(--TextMuted);transform:translateY(-50%) scale(1);transform-origin:center}.bubble{position:absolute;z-index:6;pointer-events:none;background:var(--Surface);color:var(--Text);border:1px solid var(--Border);right:28px;padding:8px 12px;border-radius:var(--RadiusMd);font-size:var(--TypeBody);font-weight:600;white-space:nowrap}.stage:has(>.pane-viewport)>.scroll{flex:1 1 auto;min-height:0;padding:0}.intro{flex:0 0 auto;display:flex;flex-direction:column}.intro-pad{padding:16px 16px 0}.intro .card{margin:0 16px 12px}.list-under{border-radius:0;border-left:0;border-right:0}button.item{font-family:var(--font);font-size:var(--TypeBody);color:var(--Text);background:var(--Surface);width:100%;text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--Border);border-left:4px solid transparent}button.item:last-child{border-bottom:0}.proto-reiter{flex:0 0 auto;display:flex;flex-direction:row;width:100%;min-height:44px;background:var(--Surface);border-bottom:1px solid var(--Border)}.proto-reiter button{flex:1 1 0;position:relative;min-height:44px;border:0;background:transparent;color:var(--TextMuted);font-family:var(--font);font-size:var(--TypeBody);cursor:pointer}.proto-reiter button[aria-pressed=true]{color:var(--Primary);font-weight:600}.proto-reiter button[aria-pressed=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--Primary)}.pane-viewport{flex:1 1 auto;min-height:0;overflow:hidden}.pane-track{display:flex;height:100%;width:100%;transform:translate3d(-100%,0,0);transition:transform .4s cubic-bezier(.35,0,.25,1)}.pane-page{flex:0 0 100%;height:100%;overflow-x:clip;overflow-y:auto;touch-action:pan-y}.termin-body{display:flex;flex-direction:column;gap:16px;padding:16px}.proto-bild{flex:0 0 168px;height:168px;margin:0;background:var(--Surface);overflow:hidden}.proto-bild img{width:100%;height:100%;object-fit:cover;display:block}.app-shell .list,.app-shell .card,.app-shell .stack,.proto-bild{flex-shrink:0}.when{font-size:var(--TypeTitle);font-weight:600;line-height:1.25;color:var(--Text)}.file-mark{display:flex;flex-direction:row;align-items:center;gap:8px;color:var(--TextMuted)}.file-mark .icon{width:20px;height:20px;flex:0 0 20px}.file-mark.is-done{color:var(--Primary)}.load-spin{width:18px;height:18px;flex:0 0 18px;border:2px solid var(--Border);border-top-color:var(--Primary);border-radius:50%;animation:load-spin .7s linear infinite}@keyframes load-spin{to{transform:rotate(360deg)}}
