:root{--bg:#EEF0F6;--surface:#FFFFFF;--surface-2:#F5F6FA;--ink:#0A1841;--muted:#565E80;--line:#D6DAE8;--accent:#27348B;--accent-ink:#FFFFFF;--accent-soft:#E1E4F4;--da:#1B7C45;--da-soft:#DBF1E3;--ent:#6F7590;--ent-soft:#ECEEF3;--warn:#B3261E;--warn-soft:#FBE2DF;--logo:#0A1841;--head-bg:#27348B;--head-ink:#FFFFFF;--head-muted:#C6CCF0;--rope:#E7AE01;--proto:#0A1841;--proto-ink:#E3E6F4;--f-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--f-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#090E26;--surface:#131A3D;--surface-2:#0F1534;--ink:#E8EAF6;--muted:#9AA2C8;--line:#283160;--accent:#9AA6F7;--accent-ink:#090E26;--accent-soft:#1F2A66;--da:#56CC86;--da-soft:#123A25;--ent:#8C93B0;--ent-soft:#1C2347;--warn:#FF8A80;--warn-soft:#3D1715;--logo:#FFFFFF;--head-bg:#1A2368;--head-ink:#FFFFFF;--head-muted:#B4BCE8;--rope:#F2C230;--proto:#050817;--proto-ink:#C3C9E8;color-scheme:dark}}:root[data-theme=dark]{--bg:#090E26;--surface:#131A3D;--surface-2:#0F1534;--ink:#E8EAF6;--muted:#9AA2C8;--line:#283160;--accent:#9AA6F7;--accent-ink:#090E26;--accent-soft:#1F2A66;--da:#56CC86;--da-soft:#123A25;--ent:#8C93B0;--ent-soft:#1C2347;--warn:#FF8A80;--warn-soft:#3D1715;--logo:#FFFFFF;--head-bg:#1A2368;--head-ink:#FFFFFF;--head-muted:#B4BCE8;--rope:#F2C230;--proto:#050817;--proto-ink:#C3C9E8;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.4}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--head-bg)}button,select,textarea,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.wrap{max-width:560px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.app-head{background:var(--head-bg);color:var(--head-ink)}.head-in{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:10px}.brand{display:flex;align-items:center;gap:10px;min-width:0;font-family:var(--f-display);font-weight:700;font-size:24px;letter-spacing:.01em;line-height:1}.logo{display:block;flex:none;aspect-ratio:714.3/735.2;background:currentColor;-webkit-mask:url(/logo.svg) center/contain no-repeat;mask:url(/logo.svg) center/contain no-repeat}.brand .logo{width:40px}.who{text-align:right;font-size:14px;color:var(--head-muted);line-height:1.25}.who b{display:block;color:var(--head-ink);font-weight:600}.head-r{display:flex;align-items:center;gap:10px;min-width:0}.head-btn{flex:none;width:44px;height:44px;border-radius:10px;border:1px solid color-mix(in srgb,var(--head-ink) 35%,transparent);background:transparent;color:var(--head-ink);display:grid;place-items:center}.head-btn svg{width:22px;height:22px}.rope{height:4px;background:var(--rope)}main{padding-block:14px calc(96px + env(safe-area-inset-bottom,0px))}.stack{display:flex;flex-direction:column;gap:14px}h2.sec{font-family:var(--f-display);font-weight:700;font-size:22px;margin:6px 0 0;text-wrap:balance}h3.sub{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 -4px}.hint{font-size:14px;color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}.note-box{background:var(--accent-soft);border-radius:var(--r);padding:12px 14px;font-size:15px;display:flex;gap:10px;align-items:flex-start}.note-box p{margin:0;flex:1}.note-box.warn{background:var(--warn-soft)}.note-box.ent{background:var(--ent-soft)}.x{background:none;border:0;font-size:22px;line-height:1;color:var(--muted);padding:0 4px}.weekbar{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:8px}.iconbtn{height:52px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-size:28px;line-height:1;font-family:var(--f-display)}.wk{text-align:center;line-height:1.15}.wk b{font-family:var(--f-display);font-size:24px;display:block}.wk span{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.linkbtn{background:none;border:0;color:var(--accent);font-weight:600;padding:4px 0;align-self:center}.days{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.day{position:relative;height:60px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.1}.day span{font-family:var(--f-display);font-weight:700;font-size:22px}.day small{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.day.today small{color:var(--accent);font-weight:700}.day.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.day.on small{color:var(--accent-ink)}.day .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--da)}.day.on .dot{background:var(--accent-ink)}.glist,.klist,.plist,.slist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gcard{width:100%;text-align:left;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-height:76px}.gcard:active{background:var(--surface-2)}.g-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.g-stufe{font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.1}.g-meta{font-size:14px;color:var(--muted)}.g-count{text-align:right;line-height:1.1;font-variant-numeric:tabular-nums}.g-count b{font-family:var(--f-display);font-size:30px}.g-count span{display:block;font-size:13px;color:var(--muted)}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.pill{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.03em;border-radius:999px;padding:2px 9px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.pill.own{background:var(--accent-soft);color:var(--accent);border-color:transparent}.pill.subst{background:var(--ent-soft);color:var(--ent);border-color:transparent}.pill.ok{background:var(--da-soft);color:var(--da);border-color:transparent}.pill.bad{background:var(--warn-soft);color:var(--warn);border-color:transparent}.pill.wait{background:var(--ent-soft);color:var(--ent);border-color:transparent}.back{align-self:flex-start;background:none;border:0;color:var(--accent);font-weight:600;font-size:16px;padding:6px 0}.ghead h2{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1.1;margin:0;text-wrap:balance}.ghead p{margin:4px 0 0;color:var(--muted);font-size:15px}.counter{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;box-shadow:0 6px 14px -12px #00000080}.c-num{font-size:17px;font-variant-numeric:tabular-nums}.c-num b{font-family:var(--f-display);font-size:34px;line-height:1;margin-right:2px}.bar{display:flex;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin:6px 0;border:1px solid var(--line)}.bar .b-da{background:var(--da)}.bar .b-ent{background:var(--ent)}.c-sub{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.saved{color:var(--da);font-weight:700;opacity:0;transition:opacity .2s}.saved.show{opacity:1}.kid{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 8px 8px 14px;min-height:68px}.kid.ent{background:var(--surface-2)}.kid.ent .kid-name{color:var(--muted)}.kid-name{flex:1;min-width:0;font-size:17px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.kid-name small{display:block;font-size:13px;font-weight:500;color:var(--muted)}.mk{height:52px;border-radius:10px;border:2px solid var(--line);background:var(--surface);font-weight:700;font-size:16px;padding:0 10px}.mk.da{min-width:66px}.mk.ent{min-width:76px}.mk.da.on{background:var(--da);border-color:var(--da);color:var(--surface)}.mk.ent.on{background:var(--ent);border-color:var(--ent);color:var(--surface)}.mk:disabled{opacity:.35;cursor:not-allowed}.nb{width:40px;height:52px;border:0;background:none;color:var(--muted);display:grid;place-items:center;border-radius:10px}.nb svg{width:22px;height:22px}.nb.has{color:var(--accent)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:14px;font-weight:600;color:var(--muted)}.field select,.field textarea,.field input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:12px;font-size:16px}.field textarea{min-height:90px;resize:vertical}.btn{min-height:50px;border-radius:var(--r);border:0;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:16px;padding:0 18px}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ok{background:var(--da);color:var(--surface)}.btn.no{background:transparent;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line))}.btn.sm{min-height:42px;font-size:15px;padding:0 14px}.row{display:flex;gap:8px;flex-wrap:wrap}.row>.btn{flex:1 1 auto}.scard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.scard .t{font-weight:700;font-size:17px;line-height:1.25}.scard .m{font-size:14px;color:var(--muted)}.scard q{font-style:italic;quotes:"„" "“"}.scard.done{opacity:.7}.prow{width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}.prow .pn{font-weight:700;font-size:16px;min-width:0}.prow .pn span{font-weight:500;color:var(--muted);font-size:14px}.prow .pq{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--f-display);font-size:22px;font-weight:700;line-height:1}.prow .pq small{display:block;font-family:var(--f-body);font-size:12px;font-weight:500;color:var(--muted)}.prow .pf{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.qbar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}.qbar span{display:block;height:100%;background:var(--accent)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px;text-align:center;font-variant-numeric:tabular-nums}.stat b{display:block;font-family:var(--f-display);font-size:26px;line-height:1}.stat span{font-size:12px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;font-size:15px;min-height:40px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.ansicht{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ansicht .chip{min-height:52px;border-radius:var(--r);font-weight:600}.mrow{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 8px 8px 12px;display:grid;grid-template-columns:1fr auto auto;gap:6px 10px;align-items:center}.mrow .nm{font-weight:600;min-width:0;overflow-wrap:anywhere}.mrow .q{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;text-align:right}.mrow.gone{opacity:.55}.ktags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pill.new{background:var(--accent);color:var(--accent-ink);border-color:transparent}.filter{display:flex;gap:8px;align-items:flex-end}.filter .field{flex:1;min-width:0}.filter .field select{padding:9px 10px}.filter .chip{min-height:44px;white-space:nowrap}.dayblock{display:flex;flex-direction:column;gap:6px}.dayh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:8px 0 0;font-family:var(--f-display);font-size:22px;border-bottom:2px solid var(--ink);padding-bottom:2px}.dayh span{font-family:var(--f-body);font-size:14px;font-weight:600;color:var(--muted)}.ohead,.orow{display:grid;grid-template-columns:1fr 58px 62px;gap:8px;align-items:center}.ohead{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 10px 0 12px}.ohead span:not(:first-child){text-align:center}.olist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.orow{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 12px;min-height:52px}.o-name{min-width:0;font-size:15px;line-height:1.2}.o-name small{display:block;color:var(--muted);font-size:13px}.o-bel{text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);font-size:15px}.o-frei{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;height:44px;font-size:11px;font-weight:600;line-height:1}.o-frei b{font-family:var(--f-display);font-size:24px;line-height:1}.o-frei.ok{background:var(--da-soft);color:var(--da)}.o-frei.full{background:var(--ent-soft);color:var(--ent)}.o-frei.over{background:var(--warn-soft);color:var(--warn)}.sheet{max-height:92vh;overflow-y:auto}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;align-items:center;gap:10px;font-weight:600;min-height:44px}.check input{width:22px;height:22px;accent-color:var(--accent)}.memb{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;background:var(--surface-2)}.memb .m{font-size:13px;color:var(--muted)}.memb-h{display:flex;justify-content:space-between;align-items:center;font-weight:600}.memb-h b{font-family:var(--f-display);font-size:22px}.memb-h b.yes{color:var(--da)}.memb-h b.no{color:var(--warn)}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:22px}.stepper b{font-family:var(--f-display);font-size:26px;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.tabs-in{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;max-width:560px;margin:0 auto;padding-left:max(4px,env(safe-area-inset-left,0px));padding-right:max(4px,env(safe-area-inset-right,0px))}.tab{position:relative;background:none;border:0;padding:8px 2px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12.5px;font-weight:600;color:var(--muted);min-height:60px}.tab svg{width:24px;height:24px}.tab.on{color:var(--accent)}.tab.on:before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.badge{position:absolute;top:5px;left:calc(50% + 6px);min-width:19px;height:19px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12px;line-height:19px;padding:0 5px;font-variant-numeric:tabular-nums}.sheet-bg{position:fixed;inset:0;z-index:30;background:#0312198c;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;background:var(--surface);border-radius:16px 16px 0 0;padding:18px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:12px}.sheet h3{margin:0;font-family:var(--f-display);font-size:24px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 16px;font-weight:600;font-size:15px;max-width:calc(100% - 32px);text-align:center;box-shadow:0 8px 24px -10px #00000080}.empty{text-align:center;padding:22px 14px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:10px;align-items:center}.wait-screen{display:flex;flex-direction:column;gap:12px;padding-top:20px}.wait-screen h2{font-family:var(--f-display);font-size:30px;margin:0;line-height:1.1}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.devbar{background:var(--proto);color:var(--proto-ink);font-size:14px}.devbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-block:8px}.devbar select{flex:1 1 160px;min-width:0;background:transparent;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--proto-ink)}.devbar select option{color:#0a1841;background:#fff}.devtag{font-family:var(--f-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;background:var(--rope);color:var(--proto);border-radius:4px;padding:2px 7px}.who button{background:none;border:0;color:var(--head-ink);text-decoration:underline;text-underline-offset:2px;font-weight:600;padding:2px 0;font-size:13px}.login{display:flex;flex-direction:column;gap:14px;padding-top:16px}.login-logo{width:112px;align-self:center;color:var(--logo);margin-bottom:4px}.login h2{font-family:var(--f-display);font-size:30px;margin:0;line-height:1.1}.err{color:var(--warn);font-weight:600;font-size:15px;margin:0}.loading{padding:40px 0;text-align:center;color:var(--muted)}.linkbtn.left{align-self:flex-start}
