:root{--bg:#f5f6f8;--surface:#fff;--text:#16191f;--muted:#5f6672;--border:#dde1e7;--accent:#1d3a6e;--accent-text:#fff;--on:#e6f2ea;--on-mark:#1f7a3f;--co:#1f7a3f;--co-text:#fff;--danger:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:calc(16px * var(--font-scale,1));line-height:1.4}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#1b1e24;--text:#e8eaee;--muted:#9aa1ad;--border:#2e333c;--accent:#7ea6ef;--accent-text:#0d1526;--on:#18321f;--on-mark:#6cd28f;--co:#6cd28f;--co-text:#0d1f14;--danger:#f2827a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1{margin:0 0 .5rem;font-size:1.5rem}h2{margin:0 0 .5rem;font-size:1.25rem}h3{margin:1.5rem 0 .5rem;font-size:1rem}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:var(--accent);min-height:44px;color:var(--accent-text);border:0;border-radius:10px;padding:0 1rem;font-weight:600}button:disabled{opacity:.5;cursor:default}button.secondary{border:1px solid var(--border);color:var(--text);background:0 0}button.danger{border:1px solid var(--danger);color:var(--danger);background:0 0}button.plain{color:inherit;text-align:left;background:0 0;border:0;min-height:0;padding:0}button.link{color:var(--accent);background:0 0;min-height:36px;padding:0 .5rem;font-weight:500}button.refresh{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}button.refresh .spin{animation:.6s ease-out refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}button.icon{background:var(--surface);color:var(--text);border:1px solid var(--border);width:44px;padding:0;font-size:1.5rem}input,select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:0 .75rem}input[type=time],input[type=date]{appearance:none;text-align:left;min-width:0;max-width:100%;display:block}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time],input[type=date]{height:44px;line-height:42px}.app{max-width:640px;padding-bottom:calc(96px + env(safe-area-inset-bottom));margin:0 auto}main{padding:0 16px}.center{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:420px;margin:0 auto;padding:3rem 16px;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:.5rem 0 0}.ok{color:var(--on-mark,var(--accent));font-weight:600}.sticky{background:var(--bg);z-index:1;flex-direction:column;gap:8px;padding:12px 0 8px;display:flex;position:sticky;top:0}.date-row{align-items:center;gap:8px;display:flex}.date-label{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:44px;font-weight:600;display:flex;position:relative}.date-label input{opacity:0;cursor:pointer;position:absolute;inset:0}.count{color:var(--muted);align-items:center;gap:.25rem;display:flex}.count b{color:var(--text);font-size:1.25rem}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--surface);min-height:34px;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:0 .8rem;font-weight:500}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.row{text-align:left;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:10px 12px;font-weight:400;display:flex}.row.static{cursor:default}.row .name{flex-direction:column;flex:1;font-weight:500;display:flex}.row .meta{color:var(--muted);flex-direction:column;align-items:flex-end;font-size:.9rem;display:flex}.row .meta b{color:var(--text);font-size:1.1rem}.row .sub{color:var(--muted);font-size:.8rem;font-weight:400}.row .sub.warn{color:var(--danger);font-weight:600}.row .actions{display:flex}.row .icon{text-align:center;flex:none;width:1.6rem;font-size:1.3rem;line-height:1}.menu-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .4rem;font-size:.8rem;font-weight:600}.toggle.on{background:var(--on);border-color:var(--on-mark)}.check{border:2px solid var(--border);width:28px;height:28px;color:var(--on-mark);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.toggle.on .check{border-color:var(--on-mark)}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats div{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.stats b{font-size:1.25rem}.stats span{color:var(--muted);text-align:center;font-size:.8rem}.stats.four{grid-template-columns:repeat(4,1fr)}.tiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.tile>span,.tile>label{color:var(--muted);font-size:.8rem}.tile button{width:100%;min-width:0;padding:0 .5rem;line-height:1.15}.date-field{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;min-height:44px;padding:0 .6rem;font-weight:600;display:flex;position:relative;overflow:hidden}.date-field input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;position:absolute;inset:0}.date-field .search-clear{z-index:1}.edit-actions{grid-template-columns:1fr 2fr;gap:8px;margin-top:16px;display:grid}.form,.form-row{flex-direction:column;gap:8px;display:flex}.form label{min-width:0;display:block}.form label>input,.form label>select{color:var(--text);margin-top:4px;font-size:1rem}.form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.form-section{margin:12px 0 0;font-weight:600}.form-section>span{font-weight:400;display:block}@media (width>=480px){.form-row{flex-direction:row}.form-row>*{flex:1}}.form-row.pair{grid-template-columns:1fr 1fr;display:grid}.plain{margin:.5rem 0;padding-left:1.2rem}.dates{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px 12px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.tabs{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);letter-spacing:-.01em;background:0 0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:72px;padding:8px 2px 6px;font-size:.95rem;font-weight:600;display:flex;position:relative}.tabs button svg{flex:none}.tabs button.active{color:var(--accent);font-weight:700}.tabs button.active svg{stroke-width:2.4px}.tab-count{background:var(--danger);min-width:18px;color:var(--surface);border-radius:999px;padding:0 5px;font-size:.75rem;font-weight:700;line-height:18px;position:absolute;top:4px;left:calc(50% + 8px)}.detail .sticky{align-items:flex-start}.section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section-head h3{margin-bottom:.5rem}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.badge.bereit{color:var(--on-mark);border-color:var(--on-mark);background:var(--on)}.chart{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;overflow-x:auto}.chart svg{width:100%;min-width:280px;height:auto;display:block}.chart .axis{stroke:var(--border);stroke-width:1px}.chart .bar{fill:var(--accent);opacity:.75}.chart .bar.active{opacity:1}.chart .tick{fill:var(--muted);font-size:11px}.chart .value{fill:var(--text);font-size:11px;font-weight:600}.chart-note{margin:6px 0 0}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;font-size:.95rem;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.table th{color:var(--muted);font-size:.85rem;font-weight:500}.table tr:last-child td{border-bottom:0}.check-row{align-items:center;gap:10px;min-height:44px;margin-top:10px;display:flex}.check-row input{flex:none;width:22px;height:22px;min-height:22px}.check-row .hint{margin-top:2px;display:block}.switch-row{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;margin-top:10px;display:flex}.switch-row .hint{margin-top:2px;display:block}.switch-row .state{font-weight:600}.switch{appearance:none;border:1px solid var(--border);background:var(--border);cursor:pointer;border-radius:999px;flex:none;width:52px;height:30px;min-height:30px;margin:0;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--on-mark);border-color:var(--on-mark)}.switch:checked:after{transform:translate(22px)}.locked-wrap{min-height:180px;position:relative}.locked-wrap .list{opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.lock-note{z-index:0;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:6px;width:min(100% - 32px,560px);padding:18px 16px;display:flex;position:fixed;top:62%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 20px #00000026}.lock-note b{font-size:1.35rem;line-height:1.3}.lock-note span,.lock-note button.link{font-size:1.05rem}.lock-note .lock-icon{font-size:1.6rem;line-height:1}.unlock-bar button{white-space:nowrap}.locked-line{justify-content:space-between;align-items:center;gap:8px;margin:8px 2px;display:flex}.locked-line b{color:var(--danger);white-space:nowrap;font-size:1.05rem}.locked-line .lock-svg{vertical-align:-2px}.locked-wrap.viewing{min-height:0}.locked-wrap.viewing .list{opacity:1;pointer-events:auto}.locked-trainers{margin:-4px 2px 10px;font-size:.95rem}.early-line{margin:8px 2px;font-size:1rem}.check{position:relative}.check-lock{background:var(--surface);width:17px;height:17px;color:var(--muted);border:1px solid var(--border);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-7px;right:-7px}.locked-trainers b.trainer-name{color:var(--text);white-space:nowrap;font-weight:600}.locked-trainers b.trainer-name.co{color:var(--co)}.time-trainers b.trainer-name{color:var(--accent);font-weight:600}.time-trainers b.trainer-name.co{color:var(--co)}.locked-line button{white-space:nowrap}.unlock-bar{background:var(--surface);border:1px dashed var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:.95rem;display:flex}.picker{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;max-height:50vh;margin-top:8px;padding:8px;display:flex;overflow-y:auto}.dialog-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:14px;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:20px;display:flex;box-shadow:0 10px 30px #00000040}.dialog h2{margin:0;font-size:1.15rem}.dialog p{margin:0 0 6px}:root{--s0:#1d3a6e;--s1:#d9822b;--s2:#2e9e6b;--s3:#9b4dca}@media (prefers-color-scheme:dark){:root{--s0:#7ea6ef;--s1:#f0a35e;--s2:#5cc995;--s3:#c08ae8}}.chart .bar.s0,.swatch.s0{fill:var(--s0);background:var(--s0)}.chart .bar.s1,.swatch.s1{fill:var(--s1);background:var(--s1)}.chart .bar.s2,.swatch.s2{fill:var(--s2);background:var(--s2)}.chart .bar.s3,.swatch.s3{fill:var(--s3);background:var(--s3)}.swatch{vertical-align:baseline;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;font-size:.85rem;display:flex}.dots{gap:3px;margin-top:4px;display:inline-flex}.dot{border:1.5px solid var(--muted);opacity:.55;border-radius:50%;width:8px;height:8px}.dot.on{background:var(--on-mark);border-color:var(--on-mark);opacity:1}.dots.large{flex-wrap:wrap;gap:6px;padding:0 8px}.dots.large .dot{width:26px;height:26px;margin-bottom:18px;position:relative}.dots.large .dot small{color:var(--muted);white-space:nowrap;font-size:.65rem;position:absolute;top:28px;left:50%;transform:translate(-50%)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.chip.planned{border-style:dashed}.trainer-pick{flex-direction:column;gap:6px;margin:0;display:flex}button.trainer-toggle{text-align:left;min-height:32px;color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:0;font-weight:400;display:flex}button.trainer-toggle:disabled{opacity:1}.trainer-unit{align-items:center;gap:4px;display:inline-flex}.initials{background:var(--accent);min-width:28px;height:28px;color:var(--accent-text);border:2px solid var(--accent);letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:.75rem;font-weight:700;display:inline-flex}.initials.co{background:var(--co);color:var(--co-text);border-color:var(--co)}.initials.planned{color:var(--accent);background:0 0;border-style:dashed}.initials.co.planned{color:var(--co)}.trainer-edit{color:var(--accent)}.trainer-dialog{max-width:420px}.trainer-dialog>button:last-child{box-shadow:0 -10px 10px var(--surface), 0 20px 0 var(--surface);flex:none;position:sticky;bottom:-20px}.trainer-unit-pick{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.trainer-unit-pick h3{margin:0;font-size:1rem}.trainer-kind{flex-direction:column;gap:4px;display:flex}.trainer-kind>small{font-weight:600}.chip.co.active{background:var(--co);color:var(--co-text);border-color:var(--co)}.trainer-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-row .count{flex:none}.chips.tight{flex-wrap:nowrap;gap:4px}.chips.tight .chip{white-space:nowrap;flex:none;padding:0 .55rem}.title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.title-row h2{margin:0}.dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.date-label{flex-direction:column;padding:4px 0;line-height:1.2}.day-info{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 6px;font-size:.72rem;font-weight:500;overflow:hidden}.day-info.closed{color:var(--danger)}.row.closed{border-color:var(--danger)}a.phone{color:var(--accent);font-size:1.05rem;font-weight:600;text-decoration:none}.search-row{align-items:center;gap:8px;display:flex}.search-row .search{flex:1;min-width:0}.search-row .new-member,.icon-button{background:var(--surface);width:46px;height:46px;min-height:46px;color:var(--accent);border:1px solid var(--border);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}:root{--cal-training:#cdebd6;--cal-ferien:#fbe9a6;--cal-closed:#f8c79a;--cal-missed:#fbe6e8}@media (prefers-color-scheme:dark){:root{--cal-training:#1f4a2c;--cal-ferien:#4d4317;--cal-closed:#5a3415;--cal-missed:#3a2226}}button.date-label{color:var(--text);padding:4px 0}.dialog.cal{max-width:380px}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-wd{text-align:center;color:var(--muted);font-size:.75rem}.cal-day{min-height:40px;color:var(--text);background:0 0;border:2px solid #0000;border-radius:8px;padding:0;font-weight:500}.cal-day.training,.cal-legend i.training{background:var(--cal-training)}.cal-day.ferien,.cal-legend i.ferien{background:var(--cal-ferien)}.cal-day.closed,.cal-legend i.closed{background:var(--cal-closed)}.cal-day.today{border-color:var(--muted)}.cal-day.selected{border-color:var(--accent);font-weight:700}.cal-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.cal-legend i{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.help{flex-direction:column;gap:12px;padding-bottom:1rem;display:flex}.help>.muted{margin:0}.help-toc{padding:2px 0}.help-card{scroll-margin-top:70px}.help-card h3{align-items:center;gap:8px;margin:0 0 .5rem;font-size:1.1rem;display:flex}.help-card h4{margin:1rem 0 .25rem;font-size:.95rem}.help-card p{margin:.4rem 0;line-height:1.45}.help-icon{background:var(--bg);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:1rem;display:inline-grid}.help-steps{margin:.25rem 0;padding-left:1.3rem;line-height:1.45}.help-steps li{margin:.3rem 0}.help-tip{background:var(--bg);border-left:3px solid var(--accent);border-radius:6px;padding:.5rem .7rem;font-size:.92rem}.help-links{flex-wrap:wrap;gap:6px;margin-top:.6rem;display:flex}.help-link{background:var(--accent);min-height:36px;color:var(--accent-text);border:none;border-radius:999px;padding:0 .9rem;font-weight:600}.help-faq{border-top:1px solid var(--border);padding:.6rem 0}.help-faq:first-of-type{border-top:none}.help-faq summary{cursor:pointer;font-weight:600}.help-faq>div{margin-top:.4rem;line-height:1.45}.help-top{align-self:center}.search-box{width:100%;position:relative}.search-box input{padding-right:44px}.search-box input::-webkit-search-cancel-button{appearance:none;display:none}.search-clear{width:36px;height:36px;min-height:0;color:var(--muted);background:0 0;border:0;border-radius:50%;padding:0;font-size:1.4rem;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.tabs button{font-size:15px}.tab-count{font-size:12px}.font-size-row{align-items:center;gap:12px;display:flex}.font-size-row b{text-align:center;min-width:64px;font-size:20px}.font-size-row .secondary{white-space:nowrap;margin-left:auto;font-size:16px}.font-size-row .icon{width:56px;font-size:18px;font-weight:700}.member-picker .search-row>.secondary{white-space:nowrap;flex:none;min-height:44px}.picker-list{max-height:50vh;margin-top:8px;overflow-y:auto}.detail-nav{justify-content:space-between;align-items:center;width:100%;display:flex}button.link.strong{font-weight:700}.facts{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.facts li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.facts li span:first-child{color:var(--muted)}.facts li span:last-child{text-align:right}.facts .warn{color:var(--danger);font-weight:600}textarea{font:inherit;color:var(--text);resize:vertical;padding:.6rem .75rem}.note{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);white-space:pre-wrap;border-radius:12px;margin:12px 0 0;padding:10px 12px}.rules-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.rules-grid label{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 4px 10px;font-size:.9rem;display:flex}.rules-grid input{text-align:center;flex:none;width:64px;min-height:36px}.usage-detail{margin-top:.5rem;display:block}.usage-bars{gap:6px;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.usage-bars li{grid-template-columns:minmax(0,11rem) 1fr 2.5rem;align-items:center;gap:.6rem;font-size:.9rem;display:grid}.usage-bars .label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-bars .track{background:var(--border);border-radius:5px;height:10px;overflow:hidden}.usage-bars .fill{background:var(--accent);border-radius:5px;height:100%;display:block}.usage-bars .n{text-align:right;font-variant-numeric:tabular-nums}.att-cal{scrollbar-width:none;overscroll-behavior-x:contain;margin-top:8px;display:flex;overflow-x:auto}.att-cal::-webkit-scrollbar{display:none}.att-month{flex:0 0 100%;max-width:100%}.att-month .cal-grid{max-width:380px;margin:0 auto}.att-month .cal-head{max-width:380px;margin:0 auto 4px}.att-month .cal-day{min-height:36px;color:var(--muted);justify-content:center;align-items:center;font-weight:400;display:flex}.att-month .cal-day.today{color:var(--text)}.att-month .cal-day.missed{background:var(--cal-missed)}.att-month .cal-day.attended{background:var(--co);color:var(--co-text);font-weight:700}button.link.inline{min-height:0;font-size:inherit;padding:0;text-decoration:underline}.usage-link{text-align:center;margin-top:2.5rem}.usage-link button.link{color:var(--muted,var(--accent));font-weight:400}.icon-button:disabled{opacity:.4}.head-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.head-row h2{margin:0}.push-end{margin-left:auto}.sort-icon{color:var(--text);align-items:center;padding-right:2px;display:flex}.sort-arrow{vertical-align:-3px;margin-left:4px}.unit-chips .chip.unit{font-variant-numeric:tabular-nums;font-weight:600}.unit-chips .chip.unit small{font-weight:400}.chips.sort-row{flex-wrap:nowrap;gap:4px}.chips.sort-row .chip{white-space:nowrap;flex:none;padding:0 .6rem}.head-row .icon-button{width:40px;height:40px;min-height:40px}.export-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day-chips{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day-chips .chip{min-width:0;padding:0}button.link.danger-text{color:var(--danger)}button.with-icon{align-items:center;gap:8px;display:inline-flex}button.with-icon svg{color:var(--accent);flex:none}.report-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.progress{background:var(--border);border-radius:999px;height:12px;position:relative;overflow:hidden}.progress span{background:var(--on-mark);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.progress span.ahead{background:repeating-linear-gradient(45deg, var(--on-mark) 0 4px, transparent 4px 8px);opacity:.5;border-radius:0}.badge.chancenlos{color:var(--danger);border-color:var(--danger)}.chart .bar-possible{fill:var(--border)}.weekday-bars li{align-items:center}.weekday-bars li span:first-child{flex:none;width:2rem}.weekday-bars li span:last-child{flex:none;width:4.5rem}.meter{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.meter span{background:var(--accent);border-radius:999px;height:100%;display:block}.hints{flex-direction:column;gap:6px;margin:0;padding-left:1.2rem;display:flex}.row .chevron{color:var(--muted);flex:none;font-size:1.3rem}.report-line{justify-content:space-between;align-items:center;gap:8px;margin:8px 0 0;display:flex}.report-line .badge{white-space:nowrap}.badge.knapp{color:var(--warn,#b26a00);border-color:currentColor}.heat .heat-scroll{overflow-x:auto}.heat-grid{border-collapse:separate;border-spacing:3px}.heat-grid th{color:var(--muted);text-align:left;white-space:nowrap;padding:0 4px 0 0;font-size:11px;font-weight:400}.heat-grid thead th{height:14px}.heat-grid td{padding:0}.heat-cell{background:var(--surface);width:14px;height:14px;min-height:0;box-shadow:inset 0 0 0 1px var(--border);border:0;border-radius:3px;padding:0;display:block}.heat-cell.none,.heat-cell.out{box-shadow:none;background:0 0}.heat-cell.closed{background:var(--border);box-shadow:none}.heat-cell.missing{box-shadow:inset 0 0 0 1.5px var(--danger)}.heat-cell.h1{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:none}.heat-cell.h2{background:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:none}.heat-cell.h3{background:color-mix(in srgb, var(--accent) 70%, transparent);box-shadow:none}.heat-cell.h4{background:var(--accent);box-shadow:none}.heat-cell.picked{outline:2px solid var(--text);outline-offset:1px}.heat-legend{align-items:center;gap:4px;margin-top:8px;display:flex}.heat-legend .heat-cell{width:12px;height:12px}.heat-grid.members th:first-child{background:var(--surface);z-index:1;text-overflow:ellipsis;max-width:9rem;position:sticky;left:0;overflow:hidden}.heat-grid.members th .link{text-align:left;min-height:0;padding:0;font-size:13px}.heat-grid.members .heat-cell{text-align:center;width:26px;height:22px;color:var(--text);font-size:11px;line-height:22px}.heat-grid.members .heat-cell.h3,.heat-grid.members .heat-cell.h4{color:var(--surface)}.heat-grid.members thead th{text-align:center}.heat-grid .total{padding-left:4px;font-size:12px;font-weight:600}.heat-grid.days{width:100%}.heat-grid.days th{width:3.2rem}.heat-days{flex-wrap:wrap;gap:3px;display:flex;padding:2px 0!important}.heat-grid .heat-cell.num{text-align:center;width:22px;height:22px;color:var(--text);font-size:10px;line-height:22px}.heat-grid .heat-cell.num.h3,.heat-grid .heat-cell.num.h4{color:var(--surface)}.heat-grid.days .total{text-align:right;width:3.4rem;color:var(--muted);white-space:nowrap;font-weight:400}.heat-grid.members th:nth-child(2),.heat-grid.members td.total{background:var(--surface);z-index:1;position:sticky;left:9rem}.heat-grid.members th:first-child{width:9rem;min-width:9rem}.heat-grid.days th .avg{font-size:10px;display:block}.heat-grid.members td.total{text-align:right;padding-right:6px}.heat-grid.chance{width:100%}.heat-grid.chance thead th{text-align:center}.heat-grid.chance th:first-child{text-overflow:ellipsis;max-width:10rem;overflow:hidden}.heat-grid.chance th .link{text-align:left;min-height:0;padding:0;font-size:13px}.heat-grid .heat-cell.num.wide{width:auto;min-width:44px;padding:0 4px}.heat-grid.chance tfoot th{color:var(--text);padding-top:6px;font-weight:600}.heat-grid.chance tfoot .total{text-align:center;padding-top:6px}.heat-grid.chance td{text-align:center}.heat-grid.chance .heat-cell.num.wide{width:52px;min-width:0;padding:0;display:inline-block}
