:root{font-family:ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif;color:#102a43;background:#fffdf8;--navy:#102a43;--navy-deep:#0b2035;--navy-soft:#173a5b;--orange:#d98a2e;--cream:#f7e2ba;--paper:#fffdf8;--sand:#f1e1c5;--mist:#eaf1ef;--rose:#f5e7df;--ink:#102a43;--muted:#4c6275;--line:#f1e1c5;--surface:#fffdf8;--accent:#d98a2e}*{box-sizing:border-box}html{min-height:100%;background:#fffdf8}body{margin:0;min-height:100vh;padding-bottom:7rem;background:radial-gradient(circle at 8% 18%,#f7e2ba88 0 12rem,transparent 12.2rem),radial-gradient(circle at 92% 38%,#eaf1efaa 0 15rem,transparent 15.2rem),linear-gradient(180deg,#fff4df 0,#fffdf8 55%,#edf4f8 100%)}button,input,select,textarea{font:inherit}.hero{position:relative;overflow:hidden;padding:max(1.3rem,env(safe-area-inset-top)) max(1rem,calc((100% - 1180px)/2)) 1.6rem;background:linear-gradient(125deg,#f7e2ba 0%,#fffdf8 50%,#eaf1ef 100%);border-bottom:1px solid #f1e1c5}.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero::before{width:260px;height:260px;right:-90px;top:-120px;background:#d98a2e22}.hero::after{width:180px;height:180px;left:38%;bottom:-145px;background:#173a5b12}.hero-inner{position:relative;z-index:1;max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:1rem;min-width:0}.brand-mark{width:76px;height:76px;flex:0 0 auto;display:grid;place-items:center;border-radius:24px;background:#ffffffd9;box-shadow:0 10px 30px #102a4320;border:1px solid #fff}.brand-mark svg{width:52px;height:52px}.brand-mark .house{fill:#102a43}.brand-mark .heart{fill:#d98a2e}.eyebrow,.section-kicker{display:block;color:#173a5b;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.brand h1{margin:.15rem 0 .25rem;font-size:clamp(2.1rem,5vw,3.5rem);line-height:1;color:#102a43;letter-spacing:-.04em}.brand p{margin:0;color:#4c6275;font-size:1rem}.people{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap;max-width:530px}.person-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .78rem .45rem .45rem;border-radius:999px;color:#fff;font-size:.93rem;box-shadow:0 5px 14px #44364f1c;border:1px solid #ffffff88;cursor:pointer;transition:transform .18s,box-shadow .18s,opacity .18s,filter .18s}.person-chip:hover{transform:translateY(-2px)}.person-chip:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.person-chip.calendar-filter-active{transform:translateY(-2px);box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--person-color),0 8px 20px #102a4328}.people.calendar-filtering .person-chip:not(.calendar-filter-active){opacity:.55;filter:saturate(.65)}.person-initial{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffffdd;color:var(--person-color);font-weight:900}main{max-width:1180px;margin:auto;padding:1.25rem 1rem}.family-nav{display:grid;grid-template-columns:repeat(var(--nav-count,7),minmax(0,1fr));gap:.65rem;margin-bottom:1.2rem;padding:.55rem;background:#ffffffc7;border:1px solid #f1e1c5;border-radius:24px;box-shadow:0 12px 32px #102a4312;backdrop-filter:blur(14px)}.tab{min-height:70px;border:0;border-radius:18px;background:transparent;color:#4c6275;display:grid;place-items:center;align-content:center;gap:.3rem;padding:.65rem .35rem;cursor:pointer;font-weight:750;transition:background .18s,color .18s,transform .18s}.tab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab:hover{background:#eaf1ef;color:#102a43}.tab:active{transform:scale(.98)}.tab.active{background:#102a43;color:#fff;box-shadow:0 8px 18px #102a4338}.content-panel{min-height:420px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 1rem;padding:.35rem .25rem}.section-heading h2{font-size:clamp(1.7rem,4vw,2.25rem);margin:.12rem 0;color:#102a43;letter-spacing:-.025em}.section-heading p{margin:.15rem 0 0;color:#4c6275}.section-kicker{color:#d98a2e}#list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:.85rem}.card{position:relative;background:#fffdf8;border:1px solid #f1e1c5;border-radius:22px;padding:1rem 1.05rem;box-shadow:0 8px 24px #102a4310;min-height:112px;overflow:hidden}.card::after{content:"";position:absolute;inset:auto -18px -26px auto;width:78px;height:78px;border-radius:50%;background:var(--calendar-color,#eee5f5);opacity:.1}.event{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-left:6px solid var(--calendar-color,#aab3c2)}.card b{font-size:1.04rem;color:#102a43}.calendar-source,.item-source{display:flex;align-items:center;font-size:.76rem;font-weight:850;color:#4c6275;margin-bottom:.42rem;text-transform:uppercase;letter-spacing:.06em}.dot{display:inline-block;width:.72rem;height:.72rem;border-radius:50%;margin-right:.4rem;background:var(--calendar-color,#aab3c2);box-shadow:0 0 0 4px color-mix(in srgb,var(--calendar-color,#aaa) 16%,transparent)}.meta{color:#4c6275;font-size:.87rem;margin-top:.35rem;line-height:1.45}.card p{color:#655c6c;line-height:1.45}.card button,.secondary,.primary{border:0;border-radius:12px;min-height:42px;padding:.65rem .85rem;font-weight:750;cursor:pointer}.card button{background:#eaf1ef;color:#102a43}.danger{background:#fde8eb!important;color:#a71d31!important}.done{opacity:.66}.done b{text-decoration:line-through}.error{border-left:5px solid #cf334f;background:#fff5f6}.add-button{position:fixed;right:max(1.2rem,calc((100vw - 1180px)/2));bottom:max(1.2rem,env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;gap:.55rem;border:0;border-radius:999px;background:#d98a2e;color:#102a43;min-height:58px;padding:.75rem 1.2rem;box-shadow:0 12px 28px #d98a2e55;font-weight:850;cursor:pointer}.add-button>span:first-child{font-size:1.65rem;font-weight:400;line-height:1}.add-button:hover{background:#c87b24}.add-button.compact{width:58px;padding:.75rem;gap:0;justify-content:center}.add-button.compact .add-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .18s,opacity .18s}.add-button.compact:hover,.add-button.compact:focus-visible{width:auto;padding:.75rem 1.2rem;gap:.55rem}.add-button.compact:hover .add-label,.add-button.compact:focus-visible .add-label{max-width:220px;opacity:1}@media(min-width:1320px){.add-button{right:1rem}}dialog{border:0;padding:0;border-radius:26px;width:min(480px,calc(100% - 1.5rem));background:#fffdf8;color:#102a43;box-shadow:0 24px 70px #34294455}dialog::backdrop{background:#0b203566;backdrop-filter:blur(5px)}dialog form{display:grid;gap:.85rem;padding:1.25rem}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.dialog-head h2{margin:.1rem 0;font-size:1.65rem}.dialog-close{border:0;background:#eaf1ef;color:#102a43;width:42px;height:42px;border-radius:50%;font-size:1.55rem;cursor:pointer}label{display:grid;gap:.4rem;color:#5b515f;font-weight:700;font-size:.88rem}input,select,textarea{width:100%;border:1px solid #f1e1c5;border-radius:14px;background:#fff;padding:.8rem .9rem;min-height:48px;color:#102a43;outline:none}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#d98a2e;box-shadow:0 0 0 4px #d98a2e22}menu{display:flex;justify-content:flex-end;gap:.6rem;padding:0;margin:.25rem 0 0}.secondary{background:#eaf1ef;color:#102a43}.primary{background:#d98a2e;color:#102a43}.primary:hover{background:#c87b24}@media(max-width:820px){.hero-inner{align-items:flex-start;flex-direction:column;gap:1.2rem}.people{justify-content:flex-start;max-width:none}.tab{min-height:64px}.brand-mark{width:66px;height:66px;border-radius:20px}.brand-mark svg{width:46px;height:46px}}@media(max-width:520px){body{padding-bottom:6.5rem}.hero{padding:1rem 1rem 1.25rem}.brand{align-items:flex-start}.brand-mark{width:58px;height:58px;border-radius:18px}.brand-mark svg{width:40px;height:40px}.brand h1{font-size:2.15rem}.brand p{font-size:.9rem;max-width:260px}.eyebrow{font-size:.68rem}.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.5rem}.person-chip{justify-content:flex-start;padding:.42rem .7rem .42rem .42rem;font-size:.88rem}.person-initial{width:28px;height:28px}.tab{min-height:58px;font-size:.75rem;border-radius:15px}.tab svg{width:21px;height:21px}main{padding:1rem .8rem}.section-heading{padding:.15rem .2rem}.section-heading h2{font-size:1.7rem}#list{grid-template-columns:1fr}.card{border-radius:19px;min-height:104px}.add-button{right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));min-height:56px}.add-label{display:inline}dialog{width:calc(100% - 1rem);border-radius:26px 26px 18px 18px;margin:auto .5rem .5rem}dialog form{padding:1.1rem}menu{display:grid;grid-template-columns:1fr 1fr}menu button{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

[hidden]{display:none!important}.calendar-filterbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 1rem;padding:.75rem .85rem;border:1px solid var(--sand);border-radius:18px;background:#ffffffb8;box-shadow:0 7px 20px #102a430d}.calendar-date-search{display:flex;align-items:center;gap:.65rem;color:var(--navy);font-weight:850}.calendar-date-search span{white-space:nowrap}.calendar-date-search input{min-height:44px;border:1px solid var(--sand);border-radius:12px;background:var(--paper);color:var(--navy);padding:.55rem .7rem;font-weight:750}.calendar-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.calendar-range-label,.filter-reset{min-height:40px;display:inline-flex;align-items:center;border-radius:999px;padding:.5rem .75rem;font-size:.86rem;font-weight:850}.calendar-range-label{background:var(--mist);color:var(--navy)}.filter-reset{border:1px solid var(--sand);background:var(--paper);color:var(--navy);cursor:pointer}.filter-reset:hover{background:var(--cream)}.calendar-tools{display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.calendar-tools small{color:var(--muted);min-width:145px;text-align:right}.refresh-button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--sand);border-radius:999px;background:var(--paper);color:var(--navy);min-height:44px;padding:.6rem .9rem;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #102a4310}.refresh-button svg{width:19px;height:19px}.refresh-button:hover{background:var(--mist)}.refresh-button:disabled{opacity:.58;cursor:wait}@media(max-width:620px){.calendar-filterbar{align-items:stretch;flex-direction:column;padding:.75rem}.calendar-date-search{justify-content:space-between}.calendar-date-search input{flex:1;min-width:0}.calendar-filter-actions{justify-content:flex-start}.section-heading{align-items:flex-start;flex-wrap:wrap}.calendar-tools{width:100%;justify-content:space-between;align-items:center;margin-top:.45rem}.calendar-tools small{text-align:left;min-width:0}.refresh-button{min-height:46px}.dialog-head h2{font-size:1.5rem}}

.timetable-shell{background:var(--paper);border:1px solid var(--sand);border-radius:26px;padding:1rem;box-shadow:0 10px 28px #102a4312;overflow:hidden}.timetable-intro{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.timetable-owner{display:flex;align-items:center;gap:.75rem}.timetable-owner>div{display:grid;gap:.12rem}.timetable-owner b{font-size:1.15rem;color:var(--navy)}.timetable-owner span{font-size:.9rem;color:var(--muted)}.timetable-avatar{display:grid!important;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--person-color,#78909c)!important;color:#fff!important;font-size:1.2rem!important;font-weight:900}.week-label{border-radius:999px;background:#f3e8f7;color:#6f2f85;padding:.5rem .75rem;font-weight:800;font-size:.85rem}.timetable-desktop{overflow-x:auto;padding-bottom:.25rem}.timetable-grid{display:grid;grid-template-columns:92px repeat(5,minmax(145px,1fr));gap:7px;min-width:875px}.tt-corner,.tt-day,.tt-time,.tt-cell{min-height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center}.tt-corner{background:var(--navy);color:#fff;font-weight:850}.tt-day{background:var(--mist);color:var(--navy);font-weight:850;flex-direction:column;gap:.1rem}.tt-day small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.tt-day.today{background:#e85d9e;color:#fff}.tt-time{background:#fff7e9;color:var(--navy);flex-direction:column}.tt-time b{font-size:.95rem}.tt-time span{font-size:.75rem;color:var(--muted)}.tt-cell{border:1px solid #e7dfd2;font-size:1.05rem}.tt-cell.today-column{box-shadow:inset 0 0 0 2px #e85d9e33}.tt-cell.free{background:#f7f5f1;color:#a49b90;font-size:.8rem}.timetable-note{margin:1rem .2rem 0;color:var(--muted);font-size:.82rem}.timetable-mobile{display:none}.tt-mobile-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;margin-bottom:.85rem}.tt-mobile-tab{border:1px solid var(--sand);background:var(--paper);color:var(--navy);border-radius:13px;min-height:54px;font-weight:850;display:grid;place-items:center;padding:.35rem;cursor:pointer}.tt-mobile-tab small{font-size:.58rem;text-transform:uppercase;color:#e85d9e}.tt-mobile-tab.active{background:#e85d9e;color:#fff;border-color:#e85d9e;box-shadow:0 7px 18px #e85d9e33}.tt-mobile-tab.active small{color:#fff}.tt-mobile-tab.today:not(.active){box-shadow:inset 0 0 0 2px #e85d9e55}.tt-mobile-heading{display:flex;align-items:center;justify-content:space-between;margin:.3rem .15rem .65rem}.tt-mobile-heading>div{display:flex;align-items:baseline;gap:.5rem}.tt-mobile-heading span{font-size:1.15rem;font-weight:900;color:var(--navy)}.tt-mobile-heading b{font-size:.8rem;color:#e85d9e}.tt-lesson{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:.8rem;border-radius:17px;padding:.75rem;margin:.5rem 0;border:1px solid #ffffffaa;box-shadow:0 5px 14px #102a430b}.tt-lesson-time{display:grid;border-right:1px solid #102a4320}.tt-lesson-time b{font-size:1rem}.tt-lesson-time span{font-size:.75rem;color:var(--muted)}.tt-subject{display:grid;gap:.1rem}.tt-subject span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.tt-subject b{font-size:1.25rem}.tt-break{display:flex;justify-content:space-between;align-items:center;margin:.55rem .2rem;padding:.45rem .7rem;border-radius:999px;background:var(--mist);color:var(--muted);font-size:.78rem;font-weight:750}.tt-break.lunch{background:#fff4df}.tt-break small{font-size:.72rem}@media(max-width:760px){.timetable-shell{padding:.8rem;border-radius:22px}.timetable-intro{align-items:flex-start}.week-label{display:none}.timetable-owner b{font-size:1.05rem}.timetable-owner span{font-size:.82rem}.timetable-avatar{width:42px;height:42px;border-radius:13px}.timetable-desktop{display:none}.timetable-mobile{display:block}.timetable-note{text-align:center;margin-top:.85rem}}

/* Calendar search and inclusive range controls (v14) */
.calendar-filterbar{align-items:stretch;flex-direction:column}.calendar-filter-fields{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.8rem;align-items:end}.calendar-event-search,.calendar-range-fields label{display:grid;gap:.3rem;color:var(--navy);font-weight:850}.calendar-event-search input,.calendar-range-fields input{min-height:46px;border:1px solid var(--sand);border-radius:12px;background:var(--paper);color:var(--navy);padding:.58rem .72rem;font:inherit;font-weight:700}.calendar-event-search input:focus,.calendar-range-fields input:focus{outline:3px solid #d98a2e42;border-color:var(--orange)}.calendar-range-fields{display:grid;grid-template-columns:145px 145px auto;gap:.55rem;align-items:end}.range-apply{min-height:46px;border:0;border-radius:12px;background:var(--navy);color:#fff;padding:.6rem .9rem;font-weight:850;cursor:pointer}.range-apply:hover{background:#173f66}.calendar-filter-error{margin:0;padding:.6rem .75rem;border-radius:12px;background:#fff0ee;color:#8b2722;font-weight:750}.calendar-result-count{min-height:40px;display:inline-flex;align-items:center;padding:.5rem .1rem;color:var(--muted);font-size:.86rem;font-weight:800}.calendar-filter-actions{justify-content:flex-start}
@media(max-width:800px){.calendar-filter-fields{grid-template-columns:1fr}.calendar-range-fields{grid-template-columns:1fr 1fr}.range-apply{grid-column:1/-1}.calendar-event-search input{width:100%}}
@media(max-width:430px){.calendar-range-fields{grid-template-columns:1fr}.range-apply{grid-column:auto}.calendar-filter-actions{align-items:stretch}.calendar-range-label,.calendar-result-count,.filter-reset{justify-content:center}.calendar-result-count{padding:.3rem .1rem}}

/* Reusable person filter status outside the calendar (v16) */
.item-person-filter{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:0 0 1rem;padding:.65rem .8rem;border:1px solid var(--sand);border-radius:16px;background:#ffffffb8;color:var(--navy);font-weight:850}.person-chip:disabled{cursor:default;opacity:.68;transform:none}.item-person-filter .filter-reset{flex-shrink:0}@media(max-width:430px){.item-person-filter{align-items:stretch;flex-direction:column}.item-person-filter .filter-reset{justify-content:center}}

/* Event details and timed calendar creation (v18) */
.event-open{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.event-open:hover{transform:translateY(-2px);box-shadow:0 12px 28px #102a4318}.event-open:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.event-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.2rem}.event-more{flex-shrink:0;color:var(--navy);font-size:.82rem;font-weight:900}.calendar-all-day-field{margin:.1rem 0}.checkbox-row{display:flex;align-items:center;gap:.65rem;min-height:46px;padding:.55rem .7rem;border:1px solid var(--sand);border-radius:13px;background:var(--paper);font-weight:850;color:var(--navy)}.checkbox-row input{width:22px;height:22px;accent-color:var(--orange)}.calendar-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.calendar-time-fields label{display:grid;gap:.35rem}.calendar-time-fields input{min-height:46px;border:1px solid var(--sand);border-radius:12px;padding:.55rem .7rem;background:var(--paper);color:var(--navy);font:inherit;font-weight:750}.event-detail-dialog{width:min(620px,calc(100% - 1.5rem))}.event-detail-card{padding:1.3rem}.event-detail-source{display:inline-flex;align-items:center;gap:.45rem;margin:.2rem 0 1rem;padding:.4rem .65rem;border-radius:999px;background:var(--mist);font-weight:850;color:var(--navy)}.event-detail-source .dot{width:11px;height:11px;border-radius:50%;background:var(--navy)}.event-detail-list{display:grid;gap:.65rem;margin:0}.event-detail-list>div{padding:.75rem .85rem;border:1px solid var(--sand);border-radius:14px;background:#fffdf9}.event-detail-list dt{margin-bottom:.2rem;color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.event-detail-list dd{margin:0;color:var(--navy);font-weight:720}.event-detail-list #event-detail-description{white-space:pre-wrap;overflow-wrap:anywhere}.event-detail-series{padding:.75rem .85rem;border-radius:14px;background:#fff0ee;color:#8b2722;font-weight:800}.event-detail-card menu{margin-top:1rem}.event-detail-card .danger{min-height:46px;padding:.65rem 1rem;border-radius:12px;border:0;background:#b42318;color:#fff;font-weight:850;cursor:pointer}@media(max-width:520px){.calendar-time-fields{grid-template-columns:1fr}.event-card-footer{align-items:flex-start;flex-direction:column;gap:.2rem}.event-detail-dialog{width:calc(100% - 1rem);margin:auto .5rem .5rem}.event-detail-card{padding:1rem}.event-detail-card menu{grid-template-columns:1fr}.event-detail-card menu button{width:100%}}


/* Calendar week view and completed item groups (v20) */
.week-calendar-toolbar,.calendar-empty-message,.calendar-week,.completed-items{grid-column:1/-1}.week-calendar-toolbar{display:grid;grid-template-columns:46px minmax(0,1fr) auto 46px;align-items:center;gap:.55rem;margin:0 0 1rem;padding:.75rem;border:1px solid var(--sand);border-radius:18px;background:#ffffffc9;box-shadow:0 8px 24px #102a4309}.week-calendar-toolbar>button{min-width:44px;min-height:44px;border:1px solid var(--sand);border-radius:13px;background:var(--paper);color:var(--navy);font-size:1.45rem;font-weight:900;cursor:pointer}.week-calendar-toolbar>button:hover{background:var(--mist)}.week-calendar-toolbar>div{display:grid;gap:.12rem;text-align:center}.week-calendar-toolbar strong{font-size:1.05rem;color:var(--navy)}.week-calendar-toolbar span{font-size:.76rem;color:var(--muted);font-weight:750}.week-calendar-toolbar .week-today{padding:.5rem .85rem;font-size:.82rem;background:var(--navy);color:#fff;border-color:var(--navy)}.calendar-empty-message{margin:0 0 1rem;padding:.75rem 1rem;border-radius:14px;background:#fff7e9;color:var(--muted);font-weight:800}.calendar-week{margin:0 0 1.25rem}.calendar-week>h3{margin:.1rem 0 .55rem;color:var(--navy);font-size:.95rem}.calendar-week-grid{display:grid;grid-template-columns:repeat(var(--nav-count,7),minmax(0,1fr));gap:7px}.calendar-day{min-width:0;min-height:245px;border:1px solid #e4ddd1;border-radius:16px;background:#fffdf9;overflow:hidden;box-shadow:0 5px 15px #102a4307}.calendar-day>header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-height:68px;padding:.65rem;background:var(--mist);border-bottom:1px solid #e4ddd1}.calendar-day>header>span{font-size:.74rem;font-weight:900;color:var(--navy)}.calendar-day>header>div{display:flex;align-items:baseline;gap:.2rem}.calendar-day>header b{font-size:1.35rem;color:var(--navy)}.calendar-day>header small{font-size:.68rem;color:var(--muted);font-weight:800}.calendar-day>header em{position:absolute;left:.6rem;bottom:.25rem;font-size:.56rem;text-transform:uppercase;letter-spacing:.07em;color:#fff;font-style:normal;font-weight:900}.calendar-day.today{border-color:var(--orange);box-shadow:0 0 0 2px #d98a2e30,0 8px 20px #102a430c}.calendar-day.today>header{background:var(--orange)}.calendar-day.today>header span,.calendar-day.today>header b,.calendar-day.today>header small{color:#fff}.calendar-day.outside-range{opacity:.48}.calendar-day-events{display:grid;align-content:start;gap:.38rem;padding:.45rem}.calendar-day-empty{display:block;padding:.75rem .25rem;color:#8c9aa6;font-size:.72rem;text-align:center}.week-event{display:grid;width:100%;gap:.14rem;padding:.48rem .5rem;border:0;border-left:5px solid var(--event-color,var(--navy));border-radius:10px;background:#f4f7f8;color:var(--navy);text-align:left;cursor:pointer;overflow:hidden}.week-event:hover{filter:brightness(.97);transform:translateY(-1px)}.week-event:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.week-event>span{font-size:.68rem;font-weight:900;color:var(--event-color,var(--navy))}.week-event>b{font-size:.79rem;line-height:1.15;overflow-wrap:anywhere}.week-event>small{font-size:.63rem;color:var(--muted);font-weight:750}
.completed-items{margin:1rem 0;border:1px solid var(--sand);border-radius:18px;background:#ffffffad;overflow:hidden}.completed-items summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.8rem 1rem;color:var(--navy);font-weight:900;cursor:pointer;list-style:none}.completed-items summary::-webkit-details-marker{display:none}.completed-items summary::before{content:'▶';font-size:.72rem;transition:transform .18s}.completed-items[open] summary::before{transform:rotate(90deg)}.completed-items summary span{margin-right:auto}.completed-items summary strong{display:grid;place-items:center;min-width:30px;height:30px;padding:0 .45rem;border-radius:999px;background:var(--mist);font-size:.82rem}.completed-items-list{padding:0 .7rem .7rem;border-top:1px solid var(--sand)}.completed-items-list .item-card{margin:.7rem 0 0;box-shadow:none}.all-complete{text-align:center;color:var(--muted);font-weight:850}
@media(max-width:900px){.calendar-week-grid{grid-template-columns:repeat(7,minmax(132px,1fr));overflow-x:auto;padding:2px 2px .65rem;scroll-snap-type:x proximity}.calendar-day{scroll-snap-align:start}}
@media(max-width:640px){#list{padding-bottom:5.5rem}.week-calendar-toolbar{grid-template-columns:44px 1fr 44px}.week-calendar-toolbar .week-today{grid-column:1/-1;grid-row:2;width:100%}.calendar-week-grid{display:grid;grid-template-columns:1fr;overflow:visible;padding:0;gap:.55rem}.calendar-day{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:0;scroll-snap-align:none}.calendar-day>header{align-self:stretch;min-height:96px;flex-direction:column;justify-content:center;border-bottom:0;border-right:1px solid #e4ddd1}.calendar-day>header>span{font-size:.78rem}.calendar-day>header>div{display:flex}.calendar-day>header em{position:static;margin-top:.12rem}.calendar-day-events{min-height:96px;padding:.5rem}.calendar-day-empty{align-self:center}.calendar-day.outside-range{display:none}.week-event{padding:.55rem .6rem}.week-event>b{font-size:.86rem}.completed-items summary{min-height:54px}}


.week-calendar-toolbar .week-add{display:none}
@media(max-width:640px){body.calendar-active .add-button{display:none!important}.week-calendar-toolbar .week-add{display:block;grid-column:1/-1;grid-row:3;width:100%;font-size:.86rem;background:var(--orange);color:var(--navy);border-color:var(--orange)}}

/* v25: stabiles Suchleisten- und Terminbearbeitungsformular */
.calendar-filter-fields{grid-template-columns:minmax(260px,1fr) minmax(440px,auto);min-width:0}.calendar-event-search,.calendar-range-fields,.calendar-range-fields label{min-width:0}.calendar-range-fields{width:100%;grid-template-columns:repeat(2,minmax(160px,1fr)) minmax(110px,auto)}.calendar-event-search input,.calendar-range-fields input{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.range-apply{min-width:110px;white-space:nowrap}.calendar-all-day-options{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(150px,1fr);align-items:end;gap:.75rem}.calendar-all-day-field{align-self:center}.calendar-day-duration{display:grid;gap:.3rem}.event-detail-dialog menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
@media(max-width:1100px){.calendar-filter-fields{grid-template-columns:1fr}.calendar-range-fields{grid-template-columns:repeat(2,minmax(150px,1fr)) minmax(110px,auto)}}
@media(max-width:640px){.calendar-range-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.range-apply{grid-column:1/-1;width:100%}.calendar-all-day-options{grid-template-columns:1fr 1fr}.event-detail-dialog menu{grid-template-columns:1fr}.event-detail-dialog menu button{width:100%}}
@media(max-width:430px){.calendar-range-fields,.calendar-all-day-options{grid-template-columns:1fr}.range-apply{grid-column:auto}}

/* v23: Zeitachsen-Wochenansicht mit nebeneinanderliegenden Überschneidungen */
.week-calendar-toolbar,.calendar-empty-message,.calendar-week{grid-column:1/-1;min-width:0;max-width:100%}.calendar-week-scroll{min-width:0;max-width:100%}
.calendar-week-scroll{width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #e4ddd1;border-radius:16px;background:#fffdf9;box-shadow:0 7px 20px #102a4309;scrollbar-gutter:stable}
.calendar-time-grid{display:grid;grid-template-columns:48px repeat(7,minmax(138px,1fr));min-width:1014px;align-items:stretch}
.calendar-time-corner,.calendar-time-day-header{min-height:70px;border-right:1px solid #e4ddd1;border-bottom:1px solid #e4ddd1;background:var(--mist)}
.calendar-time-corner{display:grid;place-items:center;color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.calendar-time-day-header{position:relative;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem;color:var(--navy)}
.calendar-time-day-header>span{font-size:.72rem;font-weight:900}.calendar-time-day-header>div{display:flex;align-items:baseline;gap:.2rem}.calendar-time-day-header b{font-size:1.25rem}.calendar-time-day-header small{font-size:.65rem;color:var(--muted);font-weight:800}.calendar-time-day-header em{position:absolute;left:50%;bottom:.18rem;transform:translateX(-50%);font-size:.53rem;text-transform:uppercase;letter-spacing:.07em;font-style:normal;font-weight:900}
.calendar-time-day-header.today{background:var(--orange);color:#fff}.calendar-time-day-header.today small{color:#fff}.calendar-time-day-header.outside-range,.calendar-all-day-cell.outside-range,.calendar-day-timeline.outside-range{opacity:.42}
.calendar-all-day-label,.calendar-all-day-cell{min-height:48px;border-right:1px solid #e4ddd1;border-bottom:1px solid #e4ddd1;background:#fffaf2}
.calendar-all-day-label{display:flex;align-items:flex-start;justify-content:center;padding:.65rem .15rem;color:var(--muted);font-size:.58rem;font-weight:900;writing-mode:vertical-rl;transform:rotate(180deg)}
.calendar-all-day-cell{display:grid;align-content:start;gap:3px;padding:4px}.all-day-week-event{min-height:36px;padding:.3rem .38rem;border-left-width:4px;border-radius:7px}.all-day-week-event>b{font-size:.7rem}.all-day-week-event>small{font-size:.56rem}
.calendar-time-labels,.calendar-day-timeline{position:relative;height:var(--timeline-height);min-height:var(--timeline-height);border-right:1px solid #e4ddd1;background-image:repeating-linear-gradient(to bottom,#d9e0e4 0,#d9e0e4 1px,transparent 1px,transparent var(--hour-height))}
.calendar-time-labels{background-color:#fbfaf7;color:var(--muted);overflow:visible}.calendar-time-labels>span{position:absolute;top:var(--time-top);right:5px;transform:translateY(-50%);font-size:.58rem;font-weight:850;line-height:1;background:#fbfaf7;padding:1px 0;z-index:2}
.calendar-day-timeline{background-color:#fffdf9}.calendar-day-timeline.today{background-color:#fffaf3}.timed-week-event{position:absolute;top:var(--event-top);left:calc(var(--event-left) + 2px);width:calc(var(--event-width) - 4px);height:var(--event-height);min-height:24px;display:block;padding:.26rem .3rem;border-left-width:4px;border-radius:7px;box-sizing:border-box;z-index:2;line-height:1.05}.timed-week-event:hover{z-index:6}.timed-week-event>span,.timed-week-event>b,.timed-week-event>small{display:block;overflow:hidden;text-overflow:ellipsis}.timed-week-event>span{font-size:.57rem;white-space:nowrap}.timed-week-event>b{margin-top:.12rem;font-size:.7rem;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.timed-week-event>small{margin-top:.12rem;font-size:.54rem;white-space:nowrap}.calendar-now-line{position:absolute;left:0;right:0;top:var(--now-top);height:2px;background:#d53232;z-index:5;pointer-events:none}.calendar-now-line>i{position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#d53232}.calendar-week-empty{padding:1rem;border:1px dashed var(--sand);border-radius:14px;text-align:center;color:var(--muted);font-weight:800;background:#fffdf9}
@media(max-width:1100px){.calendar-time-grid{grid-template-columns:48px repeat(7,minmax(148px,1fr));min-width:1084px}}
@media(max-width:640px){.calendar-week-scroll{border-radius:14px;scroll-snap-type:x proximity;scroll-padding-left:46px}.calendar-time-grid{grid-template-columns:46px repeat(7,158px);min-width:1152px}.calendar-time-corner,.calendar-time-day-header{min-height:64px}.calendar-time-corner,.calendar-all-day-label,.calendar-time-labels{position:sticky;left:0;z-index:8}.calendar-time-day-header{scroll-snap-align:start;scroll-margin-left:46px}.calendar-time-day-header>span{font-size:.69rem}.calendar-time-day-header b{font-size:1.15rem}.timed-week-event{padding:.3rem .34rem}.timed-week-event>b{font-size:.74rem}.timed-week-event>span{font-size:.59rem}}

/* v27: alle Kalendernamen in einer Reihe */
.people{flex-wrap:nowrap;max-width:none}.person-chip{flex:0 0 auto}
@media(max-width:520px){.people{display:flex;grid-template-columns:none;flex-wrap:nowrap;overflow-x:auto;width:100%;gap:.5rem;padding-bottom:.2rem;scrollbar-width:thin}}

/* v28: klarer Abstand zwischen Startzeit und Dauer */
.calendar-time-fields{gap:1.15rem}.calendar-time-fields>*{min-width:0}.calendar-time-fields input{display:block;width:100%;min-width:0;box-sizing:border-box}
@media(max-width:760px){.calendar-time-fields{grid-template-columns:1fr;gap:.9rem}}

/* v29: Zeit und Dauer als klare volle Zeilen */
.calendar-time-fields{grid-template-columns:1fr!important;gap:1rem!important}.calendar-time-fields label,.calendar-time-fields input{width:100%;min-width:0;box-sizing:border-box}.calendar-all-day-field{width:fit-content;max-width:100%}

/* v30: robuste Filteranordnung ohne fragile Dreierzeile */
.calendar-filter-fields{grid-template-columns:minmax(0,1fr)!important;width:100%;min-width:0}.calendar-range-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important;width:100%;min-width:0}.calendar-range-fields label{min-width:0}.range-apply{grid-column:1/-1!important;width:100%!important;min-width:0!important}
@media(max-width:430px){.calendar-range-fields{grid-template-columns:minmax(0,1fr)!important}.range-apply{grid-column:1!important}}

/* v31: kompakte Filterkarte abhängig von ihrer echten Breite */
.calendar-filterbar{container-type:inline-size}
@container (min-width:620px){.calendar-range-fields{grid-template-columns:repeat(2,minmax(170px,1fr)) minmax(130px,.7fr)!important;gap:.8rem!important}.range-apply{grid-column:auto!important;width:100%!important;min-width:130px!important}}
@container (min-width:930px){.calendar-filter-fields{grid-template-columns:minmax(280px,.85fr) minmax(540px,1.15fr)!important;gap:1rem!important;align-items:end}}

/* v32: eine sichtbare Woche, auch bei Datumsbereich */
.week-calendar-toolbar>button:disabled{opacity:.35;cursor:not-allowed;transform:none}

/* v33: kompakte Datumsfelder mit dauerhaft sichtbarem Abstand */
@container (min-width:620px){.calendar-range-fields{grid-template-columns:190px 190px 150px!important;gap:1.25rem!important;justify-content:start}.range-apply{width:150px!important;min-width:150px!important}}
@container (min-width:930px){.calendar-filter-fields{grid-template-columns:minmax(280px,1fr) auto!important}.calendar-range-fields{width:auto!important}}

/* v34: kompakte Übersicht und Mittagspause im Stundenplan */
.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.overview-panel{min-width:0;padding:1rem;border:1px solid var(--sand);border-radius:22px;background:#ffffffc9;box-shadow:0 8px 24px #102a4309}.overview-panel>header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.overview-panel>header span{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.overview-panel h3{margin:.1rem 0 0;color:var(--navy);font-size:1.15rem}.overview-panel>header>strong{display:grid;place-items:center;min-width:44px;min-height:36px;border-radius:999px;background:var(--mist);color:var(--navy)}.overview-list{display:grid;gap:.55rem}.overview-event,.overview-task{width:100%;min-width:0;border:1px solid #e7dfd2;border-left:5px solid var(--person-color,var(--orange));border-radius:15px;background:var(--paper);color:var(--navy);text-align:left}.overview-event{display:grid;gap:.15rem;padding:.72rem .8rem;cursor:pointer}.overview-event:hover{background:var(--mist)}.overview-event b,.overview-task b{overflow-wrap:anywhere}.overview-event small,.overview-task small{color:var(--muted)}.overview-date{font-size:.72rem;font-weight:900;color:var(--person-color,var(--orange))}.overview-task{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:.65rem;padding:.62rem .65rem}.overview-task>div{display:grid;gap:.12rem;min-width:0}.overview-task>div>span{font-size:.69rem;font-weight:900;color:var(--person-color,var(--orange));text-transform:uppercase}.overview-task>button{min-width:42px;min-height:42px;border:0;border-radius:13px;background:var(--navy);color:#fff;font-size:1.1rem;font-weight:900;cursor:pointer}.overview-empty,.overview-warning{padding:.8rem;border-radius:14px;background:#fff7e9;color:var(--muted);font-weight:800}.overview-warning{grid-column:1/-1;margin-bottom:.8rem}.tt-lunch{grid-column:span 5;min-height:54px;border:1px dashed #d6b26e;border-radius:14px;background:#fff4da;color:#72521c;display:flex;align-items:center;justify-content:center;gap:.65rem}.tt-lunch b{font-size:1rem}.tt-lunch span{font-size:.76rem}.lunch-time{background:#fff0c9}.tt-break.lunch small{display:block;color:var(--muted);font-size:.72rem}
@media(max-width:760px){.overview-grid{grid-template-columns:1fr}.overview-panel{padding:.85rem}}

/* v35: kinderfreundliche Aufgaben mit lokalen Bildsymbolen */
.task-icon-field{margin:0;border:1px solid var(--sand);border-radius:18px;padding:.85rem;background:#fffaf1;display:grid;gap:.9rem}.task-icon-field[hidden]{display:none}.task-icon-field legend{padding:0 .35rem;color:var(--navy);font-weight:900}.task-template-block{display:grid;gap:.4rem}.task-picker-label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.task-template-picker{display:flex;gap:.45rem;overflow-x:auto;padding:.1rem .1rem .4rem;scrollbar-width:thin}.task-template-picker button{flex:0 0 120px;min-height:86px;border:1px solid var(--sand);border-radius:14px;background:var(--paper);color:var(--navy);padding:.45rem;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:.4rem;text-align:left;font-weight:850;cursor:pointer}.task-template-picker button:hover,.task-template-picker button:focus-visible{border-color:var(--orange);background:#fff4df}.task-template-icon{width:42px;height:42px;border-radius:12px}.task-icon-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;max-height:230px;overflow-y:auto;padding:.1rem}.task-icon-choice{min-width:0;cursor:pointer}.task-icon-choice input{position:absolute;opacity:0;pointer-events:none}.task-icon-choice>span{min-height:92px;border:2px solid transparent;border-radius:15px;background:var(--paper);display:grid;place-items:center;align-content:center;gap:.25rem;padding:.38rem;text-align:center}.task-icon-choice img{width:48px;height:48px;border-radius:13px}.task-icon-choice small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:.66rem;font-weight:800}.task-icon-choice input:checked+span{border-color:var(--orange);background:#fff1d9;box-shadow:0 0 0 3px #d98a2e22}.task-icon-choice input:focus-visible+span{outline:3px solid #d98a2e55}.child-task-card{display:grid;gap:.7rem;padding:1rem;border-left:6px solid var(--person-color,var(--orange))}.child-task-main{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:.9rem}.task-card-icon{width:76px;height:76px;border-radius:20px;box-shadow:0 5px 14px #102a4317}.child-task-main>div{display:grid;gap:.2rem;min-width:0}.child-task-main b{font-size:1.22rem;line-height:1.15;overflow-wrap:anywhere}.task-done-button{width:100%;min-height:50px;border:0;border-radius:15px;background:var(--navy);color:#fff;font-size:1rem;font-weight:900;cursor:pointer}.task-done-button:hover{background:#17466f}.child-task-card.done .task-card-icon{filter:grayscale(.65);opacity:.68}.overview-task{grid-template-columns:52px minmax(0,1fr) 42px}.overview-task-icon{width:52px;height:52px;border-radius:14px}.task-celebration{position:fixed;z-index:10000;left:50%;top:42%;transform:translate(-50%,-50%);min-width:260px;padding:1rem 1.25rem;border-radius:22px;background:#fff8dd;color:var(--navy);box-shadow:0 18px 60px #102a4350;border:2px solid #f3bd47;display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:1.2rem;animation:task-celebrate 1.2s ease both}.task-celebration span{color:#efa91e;font-size:1.55rem}@keyframes task-celebrate{0%{opacity:0;transform:translate(-50%,-45%) scale(.7)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}75%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(.96)}}
@media(max-width:650px){.task-icon-picker{grid-template-columns:repeat(4,minmax(0,1fr));max-height:210px}.task-icon-choice>span{min-height:78px}.task-icon-choice img{width:42px;height:42px}.task-template-picker button{flex-basis:108px;grid-template-columns:38px 1fr}.task-template-icon{width:38px;height:38px}.child-task-main{grid-template-columns:66px minmax(0,1fr)}.task-card-icon{width:66px;height:66px}.child-task-main b{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){.task-celebration{animation:none}}

/* v37: kompakter Aufgabendialog mit dauerhaft erreichbaren Aktionen */
.task-icon-more{border-top:1px solid var(--sand);padding-top:.55rem}.task-icon-more summary{cursor:pointer;color:var(--navy);font-weight:900;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:.35rem .15rem}.task-icon-more summary::-webkit-details-marker{display:none}.task-icon-more summary::after{content:'+';width:28px;height:28px;border-radius:50%;background:var(--mist);display:grid;place-items:center;font-size:1.1rem}.task-icon-more[open] summary::after{content:'−'}.task-icon-more .task-icon-picker{margin-top:.5rem}#entry-form menu{position:sticky;bottom:-1px;z-index:3;margin:.2rem -.15rem -.15rem;padding:.75rem .15rem .15rem;background:linear-gradient(180deg,#fff0,#fff 22%);border-radius:0 0 18px 18px}

/* v38: Wiederholungsoption bei der Terminerstellung */
.calendar-recurrence{margin:0;border:1px solid var(--sand);border-radius:17px;padding:.8rem;background:#f8fbfc;display:grid;gap:.7rem}.calendar-recurrence[hidden]{display:none}.calendar-recurrence legend{padding:0 .35rem;color:var(--navy);font-weight:900}.calendar-recurring-toggle{font-weight:900;color:var(--navy)}.calendar-recurrence-fields{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(190px,1.2fr);gap:.7rem;align-items:end}.calendar-recurrence-fields[hidden]{display:none}.calendar-recurrence-fields label{display:grid;gap:.3rem;color:var(--navy);font-weight:850}.calendar-recurrence-fields input,.calendar-recurrence-fields select{width:100%;min-width:0;min-height:46px;box-sizing:border-box;border:1px solid var(--sand);border-radius:12px;background:var(--paper);color:var(--navy);padding:.55rem .65rem;font:inherit;font-weight:750}.calendar-recurrence-fields small{color:var(--muted);font-size:.7rem}.recurrence-interval{display:grid;grid-template-columns:auto 72px 1fr;align-items:center;gap:.4rem;min-height:46px}.recurrence-interval input{text-align:center}
@media(max-width:720px){.calendar-recurrence-fields{grid-template-columns:1fr}.recurrence-interval{grid-template-columns:auto 76px 1fr}}

/* v39: Wiederholungsfelder an die echte Dialogbreite anpassen */
#entry-dialog{overflow-x:hidden}.calendar-recurrence{min-width:0;max-width:100%;box-sizing:border-box}.calendar-recurrence-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.calendar-recurrence-fields>label{min-width:0}.calendar-recurrence-fields>label:first-child{grid-column:1/-1}
@media(max-width:720px){.calendar-recurrence-fields{grid-template-columns:1fr}.calendar-recurrence-fields>label:first-child{grid-column:auto}}

/* v40: wiederkehrende Aufgaben und Wochenplan */
.task-recurrence-field{margin:0;border:1px solid var(--sand);border-radius:17px;padding:.8rem;background:#f8fbfc;display:grid;gap:.55rem}.task-recurrence-field[hidden]{display:none}.task-recurrence-field legend{padding:0 .35rem;color:var(--navy);font-weight:900}.task-recurrence-field label{display:grid;gap:.35rem;color:var(--navy);font-weight:850}.task-recurrence-field select{width:100%;min-height:46px;box-sizing:border-box;border:1px solid var(--sand);border-radius:12px;background:var(--paper);color:var(--navy);padding:.55rem .65rem;font:inherit;font-weight:800}.task-recurrence-field p{margin:0;color:var(--muted);font-size:.76rem}.task-week{grid-column:1/-1;display:grid;gap:1rem;min-width:0}.task-week-toolbar{display:flex;align-items:center;justify-content:center;gap:.65rem;background:#f7fafb;border:1px solid var(--sand);border-radius:18px;padding:.65rem}.task-week-toolbar div{display:grid;text-align:center;min-width:220px}.task-week-toolbar span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.task-week-toolbar b{color:var(--navy)}.task-week-toolbar button{border:1px solid var(--sand);background:var(--paper);color:var(--navy);border-radius:12px;min-width:44px;min-height:44px;font:inherit;font-weight:900}.task-week-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));gap:.55rem;align-items:start;overflow-x:auto;padding-bottom:.35rem}.task-week-day{background:#f7fafb;border:1px solid var(--sand);border-radius:18px;min-width:0;overflow:hidden}.task-week-day.today{border-color:var(--orange);box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 18%,transparent)}.task-week-day>header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .7rem;background:#eef3f4;color:var(--navy)}.task-week-day.today>header{background:#fff3df}.task-week-day>header span{font-weight:900;font-size:.8rem}.task-week-day>header b{font-size:.74rem}.task-week-day-list{display:grid;gap:.5rem;padding:.5rem}.task-week-day-list>p{margin:.4rem 0;color:var(--muted);font-size:.72rem;text-align:center}.task-week-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.45rem;background:var(--paper);border:1px solid var(--sand);border-radius:14px;padding:.5rem;box-shadow:0 5px 16px rgba(20,47,63,.06)}.task-week-card.done{opacity:.62}.task-week-icon{width:42px;height:42px;object-fit:contain}.task-week-card-body{min-width:0;display:grid;gap:.12rem}.task-week-card-body span{font-size:.63rem;color:var(--muted);font-weight:800}.task-week-card-body b{font-size:.8rem;line-height:1.15;color:var(--navy);overflow-wrap:anywhere}.task-week-card-body small{font-size:.67rem;color:var(--muted)}.task-week-card .task-done-button{grid-column:1/-1;width:100%;min-height:38px;padding:.4rem;border-radius:11px}.task-unscheduled{display:grid;gap:.55rem}.task-unscheduled h3{margin:0;color:var(--navy)}.task-unscheduled>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}
@media(max-width:720px){.task-week-toolbar{gap:.35rem}.task-week-toolbar div{min-width:0;flex:1}.task-week-toolbar button{min-width:40px;padding:.35rem}.task-week-grid{grid-template-columns:1fr;overflow:visible}.task-week-day{width:100%}.task-week-day-list{grid-template-columns:1fr}.task-week-card{grid-template-columns:50px minmax(0,1fr)}.task-week-icon{width:50px;height:50px}}
body.task-active .add-button,body.task-active .add-button:hover,body.task-active .add-button:focus-visible{width:58px;padding:.75rem;gap:0;justify-content:center}body.task-active .add-button .add-label{display:none}.task-week-grid{grid-template-columns:repeat(7,minmax(155px,1fr))}.task-week-card{grid-template-columns:34px minmax(0,1fr)}.task-week-icon{width:34px;height:34px}.task-week-card-body b{font-size:.76rem}
@media(max-width:720px){.task-week-grid{grid-template-columns:1fr}.task-week-card{grid-template-columns:50px minmax(0,1fr)}.task-week-icon{width:50px;height:50px}.task-week-card-body b{font-size:.82rem}}.task-week-card{border:2px solid var(--task-member-color,var(--sand));border-left-width:6px;background:color-mix(in srgb,var(--task-member-color,var(--sand)) 7%,var(--paper));box-shadow:0 5px 16px color-mix(in srgb,var(--task-member-color,var(--navy)) 12%,transparent)}.task-week-card-body span{color:var(--task-member-color,var(--muted))}

/* v43: lokale Produktauswahl und Einkaufskarten */
.shopping-product-field{margin:0;border:1px solid var(--sand);border-radius:16px;padding:.7rem;background:#fffaf2}.shopping-product-field legend{font-weight:850;color:var(--navy);padding:0 .25rem}.shopping-product-field p{margin:.1rem 0 .65rem;color:var(--muted);font-size:.82rem}.shopping-product-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.48rem;max-height:310px;overflow-y:auto;padding:.1rem}.shopping-product-picker button{min-width:0;min-height:94px;border:2px solid transparent;border-radius:15px;background:var(--paper);color:var(--navy);display:grid;place-items:center;align-content:center;gap:.28rem;padding:.42rem;cursor:pointer;font-weight:820}.shopping-product-picker button:hover,.shopping-product-picker button:focus-visible{border-color:var(--orange);background:#fff4df}.shopping-product-picker button.selected{border-color:var(--orange);background:#fff1d9;box-shadow:0 0 0 3px #d98a2e22}.shopping-picker-emoji{font-size:2.75rem;line-height:1;display:grid;place-items:center;width:52px;height:52px}.shopping-product-picker button>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.shopping-item-card{display:grid;gap:.7rem}.shopping-item-main{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:.85rem}.shopping-item-main>div{min-width:0}.shopping-card-icon{width:68px;height:68px;border-radius:18px;box-shadow:0 5px 14px #102a4317;background:#fff7e7;display:grid;place-items:center;font-size:2.8rem;line-height:1}.shopping-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.shopping-item-card.done .shopping-card-icon{filter:grayscale(.65);opacity:.68}.shopping-item-card>button{width:100%;min-height:48px;background:var(--navy);color:#fff;font-size:.96rem;font-weight:880}.shopping-item-card>button:hover{background:#17466f}@media(max-width:650px){.shopping-product-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-height:320px}.shopping-product-picker button{min-height:90px}.shopping-picker-emoji{width:48px;height:48px;font-size:2.55rem}.shopping-item-main{grid-template-columns:62px minmax(0,1fr)}.shopping-card-icon{width:62px;height:62px}}

/* v44: Mehrfachfilter und erledigte Wochenaufgaben */
.task-week-completed{margin-top:1rem}.task-week-completed .completed-items-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;padding:.7rem}.task-week-completed .task-week-card{margin:0}.people.calendar-filtering .person-chip.person-filter-active{opacity:1;filter:none}@media(max-width:650px){.task-week-completed .completed-items-list{grid-template-columns:1fr}}

/* v45: Aufgaben bearbeiten und löschen */
.task-card-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.38rem}.task-card-actions button{min-height:38px;border:1px solid var(--sand);border-radius:10px;background:var(--paper);color:var(--navy);font-size:.73rem;font-weight:850;cursor:pointer}.task-card-actions button:hover{background:var(--mist)}.task-card-actions .task-delete-button{border-color:#efb8c1;background:#fff3f5;color:#a71d31}.task-card-actions .task-delete-button:hover{background:#fde4e8}.task-week-card.done .task-card-actions{opacity:1}.task-week-card.done .task-card-actions button{text-decoration:none}

/* v46: Aktionsknöpfe in schmalen Wochenkarten vollständig sichtbar */
.task-week-grid .task-card-actions{grid-template-columns:1fr}.task-week-card{position:relative;z-index:1}body.task-active .add-button{z-index:0}@media(max-width:720px){.task-week-grid .task-card-actions{grid-template-columns:1fr 1fr}}

/* v47: expliziter Bearbeitungsmodus für Aufgaben */
.task-edit-mode-bar{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.55rem .7rem;border:1px solid var(--sand);border-radius:15px;background:#f7fafb}.task-edit-mode-bar span{margin-right:auto;color:var(--muted);font-size:.76rem;font-weight:750}.task-edit-mode-bar button{order:2;min-height:44px;padding:.55rem 1rem;border:1px solid var(--navy);border-radius:12px;background:var(--paper);color:var(--navy);font:inherit;font-weight:900;cursor:pointer}.task-week.editing .task-edit-mode-bar{border-color:#e6a13b;background:#fff5e5}.task-week.editing .task-edit-mode-bar button{background:var(--navy);color:white}.task-week:not(.editing) .task-week-card .task-done-button{margin-top:.15rem}@media(max-width:720px){.task-edit-mode-bar{display:grid;grid-template-columns:1fr}.task-edit-mode-bar button{order:0;width:100%}.task-edit-mode-bar span{text-align:center;margin:0}}

/* v48: dezenter Bearbeiten-Knopf im Normalmodus */
.task-edit-mode-bar{min-height:36px;padding:0;border:0;background:transparent;gap:.5rem}.task-edit-mode-bar span{display:none}.task-edit-mode-bar button{min-height:36px;padding:.35rem .7rem;border-color:#cbd5d9;border-radius:10px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800;box-shadow:none}.task-edit-mode-bar button:hover{border-color:#93a5ad;background:#f7fafb;color:var(--navy)}.task-week.editing .task-edit-mode-bar{min-height:44px;padding:.45rem .6rem;border:1px solid #edc27d;background:#fff8eb}.task-week.editing .task-edit-mode-bar span{display:block}.task-week.editing .task-edit-mode-bar button{min-height:38px;border-color:#d99022;background:#fff;color:var(--navy)}@media(max-width:720px){.task-edit-mode-bar{display:flex;justify-content:flex-end}.task-edit-mode-bar button{width:auto;justify-self:auto}.task-week.editing .task-edit-mode-bar{display:grid;grid-template-columns:1fr}.task-week.editing .task-edit-mode-bar button{width:100%}.task-week.editing .task-edit-mode-bar span{text-align:center;margin:0}}

/* v50: Punktekonten und Belohnungen */
.task-points-field{display:grid;gap:.35rem;border:1px solid var(--sand);border-radius:15px;padding:.7rem;background:#fffaf1}.task-points-field[hidden]{display:none}.task-points-field>span{font-weight:900;color:var(--navy)}.task-points-field input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid var(--sand);border-radius:11px;background:var(--paper);padding:.5rem .65rem;font:inherit;font-weight:850}.task-points-field small{color:var(--muted);font-size:.75rem}.task-points-badge{justify-self:start;padding:.16rem .42rem;border-radius:999px;background:#fff0bd;color:#805700;font-size:.67rem;font-style:normal;font-weight:950}.form-error{margin:.2rem 0;color:#a71d31;font-weight:850}.rewards-view{display:grid;gap:1.1rem}.reward-accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.reward-account{display:grid;grid-template-columns:1fr auto;gap:.2rem .7rem;text-align:left;min-height:92px;padding:.85rem 1rem;border:2px solid transparent;border-radius:18px;background:var(--paper);color:var(--navy);box-shadow:0 6px 18px rgba(20,47,63,.07);cursor:pointer}.reward-account span{font-weight:950}.reward-account strong{grid-row:1/3;grid-column:2;font-size:1.65rem;align-self:center}.reward-account small{color:var(--muted);font-weight:750}.reward-account.selected{border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 18%,transparent)}.reward-balance{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:18px;background:linear-gradient(135deg,#102f4a,#194869);color:white}.reward-balance div{display:grid}.reward-balance span{font-size:.76rem;font-weight:850;opacity:.82}.reward-balance strong{font-size:2rem}.reward-balance small{opacity:.85}.reward-section-head{display:flex;align-items:end;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}.reward-section-head span{color:var(--orange);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:950}.reward-section-head h3{margin:.1rem 0 0;color:var(--navy);font-size:1.2rem}.reward-section-head>button{min-height:40px;border:1px solid var(--navy);border-radius:11px;background:var(--paper);color:var(--navy);font-weight:900;padding:.45rem .75rem}.reward-section-head .parent-pin-ready{color:#3d7251;text-transform:none;letter-spacing:0}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.reward-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.65rem;padding:.85rem;border:1px solid var(--sand);border-radius:17px;background:var(--paper);box-shadow:0 5px 15px rgba(20,47,63,.05)}.reward-card.locked{background:#f5f7f7}.reward-card.locked .reward-icon,.reward-card.locked>div{opacity:.56}.reward-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#fff0d4;font-size:1.7rem}.reward-card h3{margin:0;color:var(--navy);font-size:.92rem}.reward-card p{margin:.18rem 0;color:var(--muted);font-size:.73rem;line-height:1.3}.reward-card strong{color:#946000;font-size:.78rem}.reward-card>button{grid-column:1/-1;min-height:42px;border:0;border-radius:11px;background:var(--navy);color:white;font-weight:900}.reward-card>button:disabled{background:#dce3e5;color:#6f7f86}.reward-requests{display:grid;gap:.55rem}.reward-request{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem .85rem;border:1px solid var(--sand);border-radius:14px;background:var(--paper)}.reward-request>div:first-child{display:grid;gap:.08rem}.reward-request span{color:var(--orange);font-size:.68rem;text-transform:uppercase;font-weight:950}.reward-request b{color:var(--navy)}.reward-request small{color:var(--muted)}.reward-request.status-approved{border-color:#8ac7a0;background:#f1fbf4}.reward-request.status-redeemed{opacity:.65}.reward-request.status-rejected{opacity:.52}.reward-request-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.reward-request-actions button{min-height:38px;border:0;border-radius:10px;padding:.4rem .65rem;background:var(--navy);color:white;font-weight:850}.reward-request-actions button.secondary{border:1px solid var(--sand);background:var(--paper);color:var(--navy)}.reward-empty{margin:.3rem 0;color:var(--muted)}.reward-history{border:1px solid var(--sand);border-radius:15px;background:#f8fbfc;padding:.75rem .9rem}.reward-history summary{cursor:pointer;color:var(--navy);font-weight:900}.reward-history ul{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.4rem}.reward-history li{display:grid;grid-template-columns:64px 1fr auto;gap:.5rem;padding:.45rem;border-radius:10px;background:var(--paper)}.reward-history li span{color:#946000;font-weight:950}.reward-history li b{color:var(--navy)}.reward-history li small{color:var(--muted)}#parent-pin-dialog form{display:grid;gap:.75rem;min-width:min(420px,calc(100vw - 3rem))}#parent-pin-dialog label{display:grid;gap:.35rem;color:var(--navy);font-weight:850}#parent-pin-dialog input{min-height:46px;border:1px solid var(--sand);border-radius:11px;padding:.5rem .65rem;font:inherit;font-size:1.1rem;letter-spacing:.18em}#parent-pin-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:.55rem}#parent-pin-dialog .dialog-actions button{min-height:42px;border:0;border-radius:10px;padding:.5rem .8rem;background:var(--navy);color:white;font-weight:900}#parent-pin-dialog .dialog-actions button.secondary{border:1px solid var(--sand);background:var(--paper);color:var(--navy)}
@media(max-width:900px){.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.reward-accounts{grid-template-columns:1fr 1fr;gap:.45rem}.reward-account{min-height:80px;padding:.65rem}.reward-account strong{font-size:1.3rem}.reward-account small{font-size:.65rem}.reward-balance{align-items:flex-start}.reward-balance strong{font-size:1.65rem}.reward-grid{grid-template-columns:1fr}.reward-request{align-items:flex-start;display:grid}.reward-request-actions{justify-content:stretch}.reward-request-actions button{flex:1}.reward-section-head{align-items:flex-start;display:grid}.reward-history li{grid-template-columns:58px minmax(0,1fr)}.reward-history li small{grid-column:2}.task-celebration{max-width:calc(100vw - 2rem);text-align:center}}

/* v52: vordefinierte Punkte in Aufgabenvorschlägen */
.task-template-picker button small{display:block;color:#946000;font-size:.67rem;font-weight:950;line-height:1}.reward-icon{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}

/* v54: Aufgaben-Plusknopf bleibt über Karten anklickbar; Scrollreserve schützt letzte Aktion */
body.task-active .add-button{z-index:6}body.task-active #list{padding-bottom:5rem}

/* v55: Eltern-Login und Kontomenü */
.account-menu{display:flex;align-items:center;gap:.55rem;margin-left:auto;color:var(--navy);font-weight:850}.account-menu form{margin:0}.account-menu button{min-height:38px;border:1px solid #d9e2e7;border-radius:999px;background:#fffdf8;color:var(--navy);padding:.45rem .75rem;font-weight:850;cursor:pointer}.auth-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,#fff1ca 0,transparent 35%),linear-gradient(150deg,#fffaf2,#eef6f8);color:#102a43}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.2rem}.auth-card{width:min(460px,100%);background:#fffdf8;border:1px solid #eadbc7;border-radius:28px;padding:clamp(1.25rem,5vw,2rem);box-shadow:0 24px 70px #102a4325}.auth-brand{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#f8c05a;color:#a95b12;font-size:1.65rem;margin-bottom:.8rem}.auth-card h1{font-size:clamp(1.75rem,7vw,2.35rem);line-height:1.05;margin:.25rem 0 .65rem}.auth-card>p{color:#526779;margin:0 0 1rem}.auth-form{display:grid;gap:.9rem}.auth-form label{display:grid;gap:.35rem;font-weight:850}.auth-form input{width:100%;box-sizing:border-box;min-height:52px;border:1px solid #d9c8af;border-radius:14px;background:#fff;padding:.75rem;font:inherit;color:#102a43}.auth-form input:focus{outline:3px solid #f2b34c55;border-color:#d98a2e}.auth-submit{min-height:54px;border:0;border-radius:15px;background:#d98a2e;color:#102a43;font:inherit;font-weight:900;cursor:pointer}.auth-error{border:1px solid #e59aa7;background:#fff1f3;color:#8c1d32;border-radius:14px;padding:.75rem;margin-bottom:.85rem;font-weight:750}.auth-note{display:block;color:#607485;line-height:1.4;margin-top:1rem}@media(max-width:720px){.hero-inner{flex-wrap:wrap}.account-menu{width:100%;justify-content:flex-end}.auth-shell{padding:.65rem}.auth-card{border-radius:22px}}

.auth-link{display:grid;place-items:center;text-decoration:none;margin-top:1rem}


/* Stundenplan-Legende und lange Unterrichtsblöcke */
.tt-cell.tt-long-block,.tt-time.tt-long-block{min-height:96px}.tt-cell.tt-long-block{flex-direction:column;gap:.22rem;border-width:2px}.tt-cell.tt-long-block small{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.72}.tt-lesson.tt-long-block{border:2px solid #8f70b855;box-shadow:0 8px 20px #563b7814}.tt-subject small{font-size:.78rem;color:var(--muted);font-weight:700}.tt-legend{margin-top:1rem;padding:1rem;border:1px solid var(--sand);border-radius:20px;background:#fffaf1}.tt-legend-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.tt-legend-heading>div:first-child{display:grid;gap:.12rem}.tt-legend-heading>div:first-child>span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tt-legend h3{margin:0;color:var(--navy);font-size:1.08rem}.tt-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .8rem}.tt-legend-item,.tt-staff-item{display:grid;grid-template-columns:minmax(48px,auto) 1fr;align-items:baseline;gap:.55rem;min-width:0;padding:.45rem .55rem;border-radius:11px;background:#fff}.tt-legend-item b,.tt-staff-item b{color:var(--navy)}.tt-legend-item span,.tt-staff-item span{color:var(--muted);font-size:.86rem}.tt-staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--sand)}.tt-staff-item{grid-template-columns:auto 1fr;background:var(--mist)}.tt-sports-key{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-radius:999px;background:#fff;color:var(--navy);font-size:.78rem;font-weight:850;white-space:nowrap}.tt-sports-key i{display:block;width:42px;height:12px;border-radius:3px;background:#e6a51d}.tt-lunch{grid-column:span 5;min-height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:.65rem;background:#fff4df;color:var(--navy)}.tt-lunch span{font-size:.78rem;color:var(--muted)}@media(max-width:760px){.tt-legend{padding:.8rem}.tt-legend-heading{align-items:flex-start;flex-direction:column}.tt-legend-grid{grid-template-columns:1fr}.tt-staff-grid{grid-template-columns:1fr}.tt-sports-key{white-space:normal}.tt-cell.tt-long-block,.tt-time.tt-long-block{min-height:64px}.tt-lesson.tt-long-block{padding:.9rem .75rem}}


/* v58: Sportsachen-Markierung und private Unterrichtsnotizen */
.tt-clickable{position:relative;width:100%;font:inherit;color:inherit;cursor:pointer;appearance:none;text-align:center;transition:transform .15s,box-shadow .15s,border-color .15s}.tt-clickable:hover{transform:translateY(-1px);box-shadow:0 7px 18px #102a4318}.tt-clickable:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.tt-cell.sports-gear,.tt-lesson.sports-gear{border:2px solid #dca019;box-shadow:inset 0 5px 0 #f4c542,0 5px 14px #102a430b}.tt-sports-badge{position:absolute;right:.38rem;bottom:.3rem;display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .35rem;border-radius:999px;background:#fff4be;color:#654900;font-size:.58rem;font-weight:900;line-height:1}.tt-sports-badge i,.timetable-note-sports i{display:inline-block;width:18px;height:7px;border-radius:2px;background:#e6a51d}.tt-note-indicator{position:absolute;right:.35rem;top:.3rem;padding:.16rem .32rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.55rem;font-weight:900;line-height:1}.tt-lesson{position:relative;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.tt-lesson .tt-note-indicator{right:.55rem;top:.45rem}.tt-lesson .tt-sports-badge{right:.55rem;bottom:.45rem}.timetable-note-dialog form{gap:.9rem}.timetable-note-meta{margin:.2rem 0 0;color:var(--muted);font-weight:750}.timetable-note-sports{display:flex;align-items:center;gap:.5rem;margin:0;padding:.65rem .75rem;border:1px solid #e0b444;border-radius:13px;background:#fff4be;color:#654900;font-weight:900}.timetable-note-dialog textarea{min-height:150px}.timetable-note-dialog label small{color:var(--muted);font-weight:650;line-height:1.4}.timetable-note-dialog menu{grid-template-columns:auto 1fr 1fr}.timetable-note-dialog .danger{margin-right:auto}@media(max-width:760px){.tt-lesson.sports-gear{padding-right:7.2rem}.tt-lesson .tt-sports-badge{bottom:auto;top:50%;transform:translateY(-50%)}.tt-lesson.has-note .tt-sports-badge{top:auto;bottom:.48rem;transform:none}.timetable-note-dialog menu{grid-template-columns:1fr}.timetable-note-dialog menu button{width:100%}.timetable-note-dialog .danger{order:3;margin:0}}


/* v59: Kontozeile unter Personen */
.header-controls{display:grid;justify-items:end;gap:.62rem;min-width:0;margin-left:auto}.header-controls .people{margin:0}.account-menu{justify-self:end;margin-left:0;gap:.65rem;min-height:34px}.account-user{display:flex;align-items:baseline;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}.account-user small{font-size:inherit}.account-user strong{color:var(--navy);font-size:.86rem}.account-menu button{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.36rem .65rem;border-color:#dfe5e8;background:#ffffffa8;color:var(--muted);font-size:.78rem}.account-menu button:hover{background:var(--mist);color:var(--navy)}.account-menu button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.account-menu button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}@media(max-width:1240px) and (min-width:821px){.hero-inner{align-items:flex-start;flex-direction:column;gap:1rem}.header-controls{width:100%;margin-left:0;justify-items:stretch}.header-controls .people{width:100%;max-width:100%;justify-content:flex-start}.account-menu{width:auto;justify-self:end;justify-content:flex-end}}@media(max-width:820px){.header-controls{width:100%;margin-left:0;justify-items:stretch}.header-controls .people{max-width:100%}.account-menu{width:auto;justify-self:end;justify-content:flex-end}}@media(max-width:520px){.header-controls{gap:.55rem}.account-menu{justify-self:start;justify-content:flex-start}.account-user{font-size:.74rem}.account-menu button{min-height:36px}}


/* v60: getrennter Notiz-Anzeige- und Bearbeitungsmodus */
.timetable-note-dialog{max-height:calc(100dvh - 1rem);overflow:auto;overscroll-behavior:contain}
.timetable-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.timetable-edit-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #dfe5e8;border-radius:999px;background:#ffffffb8;color:var(--muted);padding:.4rem .72rem;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.timetable-edit-toggle:hover{background:var(--mist);color:var(--navy)}.timetable-edit-toggle:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.timetable-edit-toggle[aria-pressed="true"]{border-color:#c89e50;background:#fff4df;color:var(--navy)}.timetable-editing .tt-clickable{outline:1px dashed #b67821;outline-offset:-5px}.timetable-editing .tt-clickable:hover{outline-width:2px}.timetable-note-readonly{display:grid;gap:.45rem;min-height:120px;padding:.85rem .9rem;border:1px solid var(--sand);border-radius:15px;background:#fffdf9}.timetable-note-readonly>span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.timetable-note-readonly p{margin:0;color:var(--navy);font-size:1rem;font-weight:700;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.timetable-note-readonly p.empty{color:var(--muted);font-weight:650;font-style:italic}.timetable-note-dialog menu{display:flex;grid-template-columns:none;align-items:center}.timetable-note-dialog #close-timetable-note-bottom{margin-left:auto}.timetable-note-dialog #cancel-timetable-note{margin-left:auto}@media(max-width:760px){.timetable-intro-actions{margin-left:auto}.timetable-edit-toggle{min-height:38px}.timetable-note-dialog menu{display:grid;grid-template-columns:1fr}.timetable-note-dialog #close-timetable-note-bottom,.timetable-note-dialog #cancel-timetable-note{margin-left:0}}


/* v61: kindgerechte lokale Erfolgsanimationen */
.task-celebration{position:fixed;inset:0;left:0;top:0;right:0;bottom:0;z-index:10000;display:grid;place-items:center;justify-content:stretch;transform:none;min-width:0;max-width:none;padding:1rem;border:0;border-radius:0;background:#102a4328;color:inherit;box-shadow:none;backdrop-filter:blur(3px);font-size:inherit;text-align:left;gap:0;pointer-events:auto;animation:celebration-backdrop .22s ease-out}.celebration-card{position:relative;z-index:2;display:flex;align-items:center;gap:1rem;width:min(430px,calc(100vw - 2rem));padding:1.05rem 1.2rem;border:1px solid #fff;border-radius:24px;background:#fffdf2;box-shadow:0 24px 70px #102a4340;animation:celebration-pop .5s cubic-bezier(.2,.9,.25,1.25)}.celebration-card img,.celebration-symbol{width:92px;height:92px;flex:0 0 auto}.celebration-symbol{display:grid;place-items:center;border-radius:50%;background:#fff0bb;color:#d98a2e;font-size:3.4rem}.celebration-card div{display:grid;gap:.22rem}.celebration-card span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.celebration-card .celebration-symbol{display:grid;color:#d98a2e;font-size:3.4rem;line-height:1;text-transform:none;letter-spacing:0}.celebration-card b{color:var(--navy);font-size:1.3rem;line-height:1.15}.celebration-card strong{color:#9a5a00;font-size:.95rem}.celebration-particles{position:absolute;inset:12% 8%;z-index:1;pointer-events:none}.celebration-particles i{position:absolute;left:50%;top:48%;width:11px;height:11px;border-radius:3px;background:#f39c12;animation:celebration-burst 1.4s ease-out forwards}.celebration-particles i:nth-child(2n){background:#e85d9e;border-radius:50%}.celebration-particles i:nth-child(3n){background:#43a047;transform:rotate(45deg)}.celebration-particles i:nth-child(4n){background:#8e44ad}.celebration-particles i:nth-child(1){--x:-150px;--y:-120px}.celebration-particles i:nth-child(2){--x:-90px;--y:-160px}.celebration-particles i:nth-child(3){--x:-25px;--y:-135px}.celebration-particles i:nth-child(4){--x:55px;--y:-155px}.celebration-particles i:nth-child(5){--x:130px;--y:-105px}.celebration-particles i:nth-child(6){--x:165px;--y:-20px}.celebration-particles i:nth-child(7){--x:140px;--y:90px}.celebration-particles i:nth-child(8){--x:60px;--y:135px}.celebration-particles i:nth-child(9){--x:-25px;--y:145px}.celebration-particles i:nth-child(10){--x:-105px;--y:120px}.celebration-particles i:nth-child(11){--x:-160px;--y:55px}.celebration-particles i:nth-child(12){--x:-170px;--y:-35px}@keyframes celebration-backdrop{from{opacity:0}to{opacity:1}}@keyframes celebration-pop{0%{opacity:0;transform:scale(.72) translateY(18px)}70%{transform:scale(1.04) translateY(0)}100%{opacity:1;transform:scale(1)}}@keyframes celebration-burst{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(0)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.15) rotate(220deg)}}@media(max-width:520px){.celebration-card{gap:.75rem;padding:.9rem}.celebration-card img,.celebration-symbol{width:76px;height:76px}.celebration-card b{font-size:1.08rem}}@media(prefers-reduced-motion:reduce){.task-celebration,.celebration-card,.celebration-particles i{animation:none!important}.celebration-particles{display:none}.task-celebration{background:#102a4318}}


/* v61: Familienzugang, Step-up und Geräteverwaltung */
.account-settings-button{border:1px solid #173a5b2b;background:#fffaf0;color:var(--navy);border-radius:999px;padding:.42rem .7rem;font-size:.76rem;font-weight:800}.access-dialog{width:min(680px,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow:auto}.access-status{padding:.8rem 1rem;border-radius:16px;background:#edf7f4;border:1px solid #287a6726}.access-status span{font-weight:900;color:#205c50}.access-status p{margin:.25rem 0 0;color:var(--muted)}.access-code-setup{display:grid;gap:.75rem;margin:1rem 0;padding:1rem;border:1px solid #173a5b20;border-radius:18px}.access-code-setup legend{padding:0 .4rem;font-weight:900;color:var(--navy)}.access-code-setup p{margin:0;color:var(--muted)}.access-enable,.family-device-choice{display:flex!important;align-items:flex-start;gap:.65rem}.access-enable input,.family-device-choice input{width:1.25rem;height:1.25rem;flex:0 0 auto;margin-top:.1rem}.access-devices{margin-top:1rem}.access-devices>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.access-device{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.6rem;padding:.75rem;border-radius:14px;background:#fffaf0;border:1px solid #173a5b18}.access-device div{display:grid;gap:.12rem}.access-device span,.access-device small{color:var(--muted);font-size:.78rem}.family-admin-link{display:block;margin-top:1rem;text-align:center;color:var(--muted);font-size:.8rem}.family-device-choice{padding:.75rem;border-radius:14px;background:#fffaf0;border:1px solid #173a5b18}.family-device-choice span{font-weight:800!important}@media(max-width:620px){.account-menu{align-items:flex-start}.account-settings-button{align-self:center}.access-device{align-items:flex-start;flex-direction:column}.access-device button{align-self:stretch}}


/* v61: Push-Mitteilungen */
.push-dialog{width:min(760px,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow:auto}.push-device-panel{display:grid;gap:.75rem;padding:1rem;border-radius:18px;background:#edf7f4;border:1px solid #287a6726}.push-device-panel>div:first-child{display:grid;gap:.15rem}.push-device-panel span{color:var(--muted);font-size:.82rem}.push-device-actions{display:flex;gap:.55rem;flex-wrap:wrap}.push-rule-editor{display:grid;gap:.8rem;margin:1rem 0;padding:1rem;border:1px solid #173a5b20;border-radius:18px}.push-rule-editor>legend,.push-weekdays>legend,.push-targets>legend{padding:0 .4rem;font-weight:900;color:var(--navy)}.push-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.push-weekdays,.push-targets{padding:.7rem;border:1px solid #173a5b18;border-radius:14px}.push-weekdays{display:flex;gap:.42rem;flex-wrap:wrap}.push-weekdays label,.push-targets label{display:flex;align-items:center;gap:.35rem}.push-weekdays label{padding:.35rem .5rem;border-radius:10px;background:#fffaf0}.push-weekdays input,.push-targets input{width:1.1rem;height:1.1rem}.push-targets #push-target-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.push-rule{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.6rem;padding:.8rem;border:1px solid #173a5b18;border-radius:14px;background:#fffaf0}.push-rule>div:first-child{display:grid;gap:.15rem}.push-rule span,.push-rule small{color:var(--muted);font-size:.78rem}.push-rule>div:last-child{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}@media(max-width:620px){.push-rule-grid,.push-targets #push-target-list{grid-template-columns:1fr}.push-rule{align-items:flex-start;flex-direction:column}.push-rule>div:last-child{width:100%}.push-rule>div:last-child button{flex:1}.push-device-actions button{width:100%}}


/* v63: kompakte Aufgabenansicht und SMS-Teilen der Einkaufsliste */
.shopping-sms-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid #e4c897;border-radius:17px;background:#fff8ea;color:var(--navy)}
.shopping-sms-bar>div{display:grid;gap:.12rem}.shopping-sms-bar strong{font-size:.92rem}.shopping-sms-bar span{color:var(--muted);font-size:.76rem}.shopping-sms-bar button{min-height:46px;padding:.65rem 1rem;border:0;border-radius:13px;background:var(--navy);color:#fff;font:inherit;font-size:.85rem;font-weight:900;white-space:nowrap;cursor:pointer}.shopping-sms-bar button:hover,.shopping-sms-bar button:focus-visible{background:#17466f}
.task-week-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.65rem;overflow:visible}.task-week-day{border-radius:15px}.task-week-day>header{padding:.5rem .65rem}.task-week-day-list{gap:.34rem;padding:.4rem}.task-week-card{grid-template-columns:30px minmax(0,1fr) 54px;align-items:center;gap:.42rem;border-width:1px;border-left-width:4px;border-radius:11px;padding:.38rem .4rem;box-shadow:none;min-height:52px}.task-week-icon{width:30px;height:30px}.task-week-card-body{gap:.05rem}.task-week-card-body span{font-size:.65rem;line-height:1.15}.task-week-card-body b{font-size:.78rem;line-height:1.15}.task-week-card-body small{font-size:.63rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-points-badge{font-size:.62rem;padding:.08rem .28rem;border-radius:999px}.task-week-card .task-done-button{grid-column:3;grid-row:1;align-self:stretch;width:54px;min-height:46px;margin:0;padding:.18rem;border-radius:9px;display:grid;place-items:center;align-content:center;gap:0;background:var(--navy);color:#fff}.task-week-card .task-done-button span{font-size:1rem;line-height:1}.task-week-card .task-done-button small{font-size:.64rem;color:inherit;font-weight:850}.task-card-actions{grid-column:1/-1;grid-row:auto}.task-unscheduled>div,.task-week-completed .completed-items-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.45rem}.task-week-card.done .task-done-button{background:#5e727d}
@media(max-width:720px){.shopping-sms-bar{align-items:stretch;display:grid}.shopping-sms-bar button{width:100%}.task-week-grid{grid-template-columns:1fr}.task-week-card{grid-template-columns:34px minmax(0,1fr) 58px;padding:.42rem}.task-week-icon{width:34px;height:34px}.task-week-card .task-done-button{grid-column:3;width:58px}.task-week-card-body b{font-size:.82rem}}


/* v64: eintägige Aufgabenansicht mit Tagesstatus */
.task-day-view{width:min(100%,980px);margin-inline:auto}.task-day-toolbar>div{flex:1;min-width:240px}.task-day-toolbar button:disabled{opacity:.42;cursor:default}.task-day-groups{display:grid;gap:.62rem}.task-person-group{--task-member-color:var(--family);border:1px solid var(--sand);border-radius:15px;background:#f9fbfb;overflow:hidden}.task-person-group>header{display:flex;align-items:center;gap:.5rem;min-height:45px;padding:.45rem .7rem;background:color-mix(in srgb,var(--task-member-color) 9%,var(--paper));border-bottom:1px solid color-mix(in srgb,var(--task-member-color) 22%,var(--sand));color:var(--navy)}.task-person-dot{width:11px;height:11px;border-radius:50%;background:var(--task-member-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--task-member-color) 13%,transparent)}.task-person-group>header b{font-size:.92rem}.task-person-group>header small{margin-left:auto;color:var(--muted);font-size:.7rem;font-weight:800}.task-person-list{display:grid;gap:.34rem;padding:.4rem}.task-person-list>p{margin:.2rem;color:var(--muted);font-size:.74rem}.task-day-card{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;min-height:58px;padding:.4rem .45rem}.task-day-card .task-week-icon{width:34px;height:34px}.task-day-card>.task-card-actions{grid-column:1/-1;grid-row:2}.task-status-actions{grid-column:3;grid-row:1;display:grid;grid-template-columns:60px 70px;gap:.3rem}.task-status-actions button{min-height:48px;border-radius:9px;padding:.18rem .25rem;display:grid;place-items:center;align-content:center;gap:.05rem;font:inherit;font-weight:900;cursor:pointer}.task-status-actions span{font-size:1rem;line-height:1}.task-status-actions small{font-size:.61rem;font-weight:850;line-height:1.05}.task-finish-button{border:1px solid var(--navy);background:var(--navy);color:#fff}.task-finish-button:hover,.task-finish-button:focus-visible{background:#17466f}.task-decline-button{border:1px solid #aebbc1;background:#f5f7f7;color:#405763}.task-decline-button:hover,.task-decline-button:focus-visible{background:#e9eeee}.task-status-result{grid-column:3;grid-row:1;display:flex;align-items:center;gap:.4rem}.task-status-result span{font-size:.68rem;font-weight:900;white-space:nowrap}.task-status-result button{min-height:44px;border:1px solid var(--sand);border-radius:9px;background:var(--paper);color:var(--navy);font:inherit;font-size:.68rem;font-weight:850;padding:.35rem .55rem;cursor:pointer}.task-status-result.status-completed span{color:#287447}.task-status-result.status-declined span{color:#5f7078}.task-day-card.status-completed{opacity:.72;background:#f4faf5}.task-day-card.status-declined{opacity:.78;background:#f5f7f7;border-color:#b9c4c8}.task-extra{border:1px solid var(--sand);border-radius:15px;background:#f8fafb;overflow:hidden}.task-extra summary{display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem;color:var(--navy);font-weight:850;cursor:pointer}.task-extra summary strong{margin-left:auto;min-width:25px;text-align:center;border-radius:999px;background:var(--navy);color:#fff;font-size:.7rem;padding:.16rem .4rem}.task-extra-list{display:grid;gap:.4rem;padding:.4rem;border-top:1px solid var(--sand)}.task-undated-finish{grid-column:3;grid-row:1;min-height:48px;border:0;border-radius:9px;background:var(--navy);color:#fff;font:inherit;font-size:.7rem;font-weight:900;padding:.35rem .65rem}.task-extra-overdue summary{background:#fff8e9}.task-extra-undated summary{background:#f3f7f8}
@media(max-width:600px){.task-day-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.task-day-toolbar>div{min-width:0;grid-column:2;grid-row:1}.task-day-toolbar [data-task-day-shift="-1"]{grid-column:1;grid-row:1}.task-day-toolbar [data-task-day-shift="1"]{grid-column:3;grid-row:1}.task-day-toolbar [data-task-day-today]{grid-column:1/-1;grid-row:2;width:100%}.task-day-card{grid-template-columns:34px minmax(0,1fr)}.task-status-actions,.task-status-result,.task-undated-finish{grid-column:1/-1;grid-row:2;width:100%}.task-status-actions{grid-template-columns:1fr 1fr}.task-day-card>.task-card-actions{grid-row:3}.task-status-result{justify-content:space-between}.task-status-result button{min-width:110px}.task-person-group>header{min-height:42px}}


/* v65: Reihenfolge der Aufgaben-Personensektionen */
.task-person-order-controls{display:flex;align-items:center;gap:.32rem;margin-left:.3rem}.task-day-view.editing .task-person-group>header>small{display:none}.task-day-view.editing .task-person-order-controls{margin-left:auto}.task-person-order-controls button{min-width:60px;min-height:44px;border:1px solid color-mix(in srgb,var(--task-member-color) 35%,var(--sand));border-radius:9px;background:var(--paper);color:var(--navy);display:grid;grid-template-columns:auto auto;place-content:center;align-items:center;gap:.2rem;font:inherit;font-weight:900;cursor:pointer}.task-person-order-controls button span{font-size:1rem;line-height:1}.task-person-order-controls button small{font-size:.61rem;font-weight:850}.task-person-order-controls button:hover,.task-person-order-controls button:focus-visible{background:color-mix(in srgb,var(--task-member-color) 12%,var(--paper))}.task-person-order-controls button:disabled{opacity:.3;cursor:default;background:var(--paper)}
@media(max-width:600px){.task-day-view.editing .task-person-group>header{min-height:54px}.task-person-order-controls button{min-width:58px;min-height:46px}}

.tt-cell.tt-clickable,.tt-lesson.tt-clickable{background:var(--subject-bg,#fff);color:var(--subject-fg,var(--navy))}

/* v66: familien- und kalenderneutrale Laufzeitfarben */
.person-chip{background:var(--person-color,#78909c)}
.item-card{--calendar-color:var(--person-color,#78909c);border-left-color:var(--calendar-color)}
.item-card .item-source .dot,.event-detail-card .event-detail-source .dot{background:var(--calendar-color,#78909c)}
.week-event{--event-color:var(--calendar-color,#78909c);background:color-mix(in srgb,var(--event-color) 7%,var(--paper))}
.overview-event{background:color-mix(in srgb,var(--person-color,#78909c) 7%,var(--paper))}
.overview-task{background:color-mix(in srgb,var(--person-color,#78909c) 7%,var(--paper));border-left-color:var(--person-color,#78909c)}
.reward-account{border-left-color:var(--person-color,#78909c)}

/* v69: elterngeschuetzte Belohnungsverwaltung */
.reward-catalog-actions,.reward-card-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.reward-catalog-actions button,.reward-card-actions button{min-height:40px;border:0;border-radius:11px;padding:.45rem .75rem;background:var(--navy);color:white;font:inherit;font-weight:900}.reward-catalog-actions button.secondary,.reward-card-actions button.secondary{border:1px solid var(--sand);background:var(--paper);color:var(--navy)}.reward-card-actions{grid-column:1/-1}.reward-card-actions button{flex:1}.reward-card-actions button:disabled{background:#dce3e5;color:#6f7f86}.reward-grid.editing .reward-card{border-color:#edc27d;background:#fffaf1}#reward-editor-dialog form{display:grid;gap:.75rem;min-width:min(440px,calc(100vw - 3rem))}#reward-editor-dialog label{display:grid;gap:.35rem;color:var(--navy);font-weight:850}#reward-editor-dialog input,#reward-editor-dialog textarea{box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--sand);border-radius:11px;padding:.55rem .7rem;background:var(--paper);font:inherit}#reward-editor-dialog textarea{min-height:100px;resize:vertical}#reward-editor-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:.55rem}#reward-editor-dialog .dialog-actions button{min-height:42px;border:0;border-radius:10px;padding:.5rem .8rem;background:var(--navy);color:white;font-weight:900}#reward-editor-dialog .dialog-actions button.secondary{border:1px solid var(--sand);background:var(--paper);color:var(--navy)}@media(max-width:620px){.reward-catalog-actions{width:100%;justify-content:stretch}.reward-catalog-actions button{flex:1}.reward-card-actions{justify-content:stretch}}

/* v71: gesamte Kalender-Filterkarte hinter externer Lupe */
.calendar-filter-toggle{position:relative;display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border:1px solid var(--sand);border-radius:50%;background:var(--paper);color:var(--navy);cursor:pointer;box-shadow:0 6px 18px #102a4310}.calendar-filter-toggle:hover,.calendar-filter-toggle.is-open{background:var(--mist)}.calendar-filter-toggle:focus-visible{outline:3px solid #d98a2e42;outline-offset:2px}.calendar-filter-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.calendar-filter-toggle.has-active-filters::after{content:"";position:absolute;right:3px;top:3px;width:10px;height:10px;border:2px solid var(--paper);border-radius:50%;background:var(--orange)}.calendar-filter-fields{grid-template-columns:minmax(240px,1fr) auto}.calendar-event-search{min-width:0}.calendar-event-search input{min-width:0;width:100%}
@media(max-width:800px){.calendar-filter-fields{grid-template-columns:1fr}.calendar-filter-toggle{width:48px;height:48px}}

/* v72: Wochentagszeile haftet erst am oberen Viewportrand */
.calendar-week-sticky{position:sticky;top:max(0px,env(safe-area-inset-top));z-index:20;height:0;overflow:visible;pointer-events:none}.calendar-week-sticky-viewport{height:70px;max-width:100%;overflow:hidden;visibility:hidden;opacity:0;border:1px solid #e4ddd1;border-radius:16px 16px 0 0;background:var(--mist);box-shadow:0 8px 22px #102a4324;transition:none}.calendar-week-sticky.is-stuck .calendar-week-sticky-viewport{visibility:visible;opacity:1}.calendar-week-sticky-track{display:grid;grid-template-columns:48px repeat(7,minmax(138px,1fr));min-width:1014px;align-items:stretch;will-change:transform}.calendar-week-sticky-track .calendar-time-corner,.calendar-week-sticky-track .calendar-time-day-header{min-height:100%;height:100%}
@media(max-width:640px){.calendar-week-sticky-viewport{border-radius:14px 14px 0 0}.calendar-week-sticky-track{grid-template-columns:46px repeat(7,158px);min-width:1152px}}

/* v73 reward request timers */
.reward-card-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.reward-card-meta span{display:inline-flex;align-items:center;border-radius:999px;background:#eef6f8;color:var(--navy);font-size:.7rem;font-weight:900;padding:.18rem .42rem}.reward-request.timer-active{border-color:#4a9ec2;background:#edf9fe;box-shadow:0 7px 20px rgba(34,110,143,.11)}.reward-request.timer-expired{border-color:#e3a15b;background:#fff5e8}.reward-request-copy{min-width:0}.reward-duration-note{margin-top:.2rem;font-weight:850;color:#3c7188!important}.reward-timer{display:grid;grid-template-columns:auto auto;align-items:end;gap:.05rem .55rem;margin-top:.45rem;padding:.5rem .65rem;border-radius:12px;background:rgba(255,255,255,.82);border:1px solid rgba(74,158,194,.3)}.reward-timer span{grid-column:1;color:#267393;font-size:.68rem}.reward-timer strong{grid-row:1/3;grid-column:2;font-size:1.55rem;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}.reward-timer small{grid-column:1;color:var(--muted);font-size:.7rem}.reward-request.timer-expired .reward-timer{border-color:#e3a15b}.reward-request.timer-expired .reward-timer span{color:#a55a12}
@media(max-width:640px){.reward-request{align-items:stretch;flex-direction:column}.reward-request-actions{justify-content:stretch}.reward-request-actions button{flex:1}.reward-timer{max-width:320px}}

.reward-request-actions button{min-height:44px}

/* v74 Phase 3: sicherer Tenant-Setup-Assistent */
.setup-page{min-height:100vh;background:linear-gradient(145deg,#fff8ef,#eef8fa)}.setup-shell{width:min(940px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.2rem,4vw,3.5rem) 0}.setup-header{text-align:center;color:var(--navy);margin-bottom:1rem}.setup-header h1{margin:.15rem 0}.setup-header p{color:var(--muted)}.setup-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;list-style:none;padding:0;margin:1rem 0}.setup-progress li{padding:.5rem .25rem;border-radius:999px;background:#e8edee;color:#6b7b82;font-size:.72rem;font-weight:900}.setup-progress li.complete{background:#cfe4df;color:var(--navy)}.setup-progress li.active{background:var(--navy);color:#fff;box-shadow:0 0 0 2px rgba(16,42,67,.12)}.setup-wizard{background:var(--paper);border:1px solid var(--sand);border-radius:22px;box-shadow:0 18px 50px rgba(20,47,63,.12);padding:clamp(1rem,3vw,2rem)}.setup-step{display:grid;gap:.8rem}.setup-step h2{margin:0;color:var(--navy)}.setup-step>p{margin:0;color:var(--muted)}.setup-step label{display:grid;gap:.35rem;color:var(--navy);font-weight:850}.setup-step input,.setup-step select{min-height:48px;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.6rem .72rem;font:inherit}.setup-step input[type=color]{padding:.25rem;width:100%}.setup-step label small{color:var(--muted);font-weight:600}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.setup-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem;border-top:1px solid var(--sand);padding-top:1rem}.setup-actions button,.setup-add-member{min-height:46px;border:0;border-radius:12px;padding:.55rem .9rem;background:var(--navy);color:#fff;font-weight:900}.setup-actions .secondary,.setup-add-member.secondary{border:1px solid var(--sand);background:#fff;color:var(--navy)}.setup-children{display:grid;gap:.7rem}.setup-child{border:1px solid var(--sand);border-radius:15px;background:#f8fbfc;padding:.8rem}.setup-child-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;color:var(--navy)}.setup-child-head button{min-height:38px}.setup-child-options,.setup-modules{display:flex;gap:.55rem;flex-wrap:wrap}.setup-child-options label,.setup-modules label{display:flex;align-items:center;gap:.45rem;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.65rem .75rem}.setup-child-options input,.setup-modules input,.setup-confirm input{min-height:auto;width:20px;height:20px}.setup-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.setup-hint{padding:.75rem;border-radius:12px;background:#eef8fa}.setup-summary dl{display:grid;gap:.55rem;margin:0}.setup-summary dl div{display:grid;grid-template-columns:150px 1fr;gap:.7rem;padding:.65rem;border-radius:12px;background:#f7fafb}.setup-summary dt{font-weight:900;color:var(--navy)}.setup-summary dd{margin:0;color:var(--muted)}.setup-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:.6rem;padding:.8rem;border:1px solid var(--sand);border-radius:12px}.setup-global-error{width:min(940px,calc(100% - 2rem));margin:0 auto 1rem}.setup-claim,.setup-complete{max-width:620px}.setup-link{display:block;text-align:center;text-decoration:none;margin-top:1rem}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;list-style:none;padding:0}.recovery-codes li{border:1px solid var(--sand);border-radius:10px;background:#f7fafb;padding:.5rem;text-align:center}.recovery-codes code{font-size:.95rem;font-weight:900;color:var(--navy)}.setup-warning{padding:.65rem;border-radius:10px;background:#fff0d4;color:#7d4b00;font-weight:800}
@media(max-width:640px){.setup-shell{width:min(100% - 1rem,940px);padding:.5rem 0 1.5rem}.setup-progress{grid-template-columns:repeat(5,minmax(42px,1fr));overflow-x:auto}.setup-progress li{font-size:.62rem}.setup-grid,.setup-modules{grid-template-columns:1fr}.setup-summary dl div{grid-template-columns:1fr;gap:.15rem}.setup-actions{position:sticky;bottom:0;background:var(--paper);padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom))}.setup-actions button{flex:1}.recovery-codes{grid-template-columns:1fr}}

/* v76: elterngeschützte manuelle Punkte und kompletter Statistikreset */
.reward-points-admin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:14px 0 22px;padding:18px;border:1px solid #d7e1ea;border-radius:20px;background:#f7fafc}.reward-points-admin h3,.reward-points-admin p{margin:3px 0}.reward-point-stepper{display:flex;align-items:end;gap:8px}.reward-point-stepper button{width:52px;height:52px;font-size:1.7rem;font-weight:800}.reward-point-stepper label{display:grid;gap:4px;font-size:.78rem;font-weight:700}.reward-point-stepper input{width:82px;height:52px;text-align:center;font:inherit;font-size:1.1rem;border:1px solid #b8c7d4;border-radius:12px}.reward-reset-box{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid #d7e1ea}.reward-reset-box div{display:grid;gap:3px}.reward-reset-box small{color:#5e6f7e}.reward-reset-box button.danger{background:#a52828!important;color:#fff!important;border-color:#7f1d1d!important;box-shadow:0 2px 0 #7f1d1d}.reward-history .points-negative span{color:#a52828}
@media(max-width:620px){.reward-points-admin{grid-template-columns:1fr}.reward-point-stepper{justify-content:stretch}.reward-point-stepper label{flex:1}.reward-point-stepper input{width:100%}.reward-point-stepper button{min-width:56px}.reward-reset-box{flex-direction:column;align-items:stretch}.reward-reset-box button{width:100%;min-height:48px}}

/* v77 Phase 3B: CalDAV-Discovery im sicheren Setup */
.setup-progress{grid-template-columns:repeat(7,1fr)}.setup-choice-row{display:flex;gap:.6rem;flex-wrap:wrap}.setup-choice-row label{display:flex;align-items:center;gap:.5rem;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.7rem .85rem;font-weight:850}.setup-choice-row input{width:20px;height:20px;min-height:auto}.setup-caldav-connect{display:grid;gap:.8rem}.setup-calendar-list{display:grid;gap:.65rem}.setup-calendar-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,220px);gap:.7rem;align-items:center;border:1px solid var(--sand);border-radius:14px;background:#fff;padding:.75rem}.setup-calendar-row>input{width:22px;height:22px;min-height:auto}.setup-calendar-title{display:grid;gap:.18rem}.setup-calendar-title b{display:flex;align-items:center;gap:.45rem}.setup-calendar-color{width:14px;height:14px;border-radius:50%;background:var(--calendar-color,#718096)}.setup-calendar-title small{color:var(--muted)}.setup-calendar-row select{min-height:44px}.setup-caldav-connect button{justify-self:start;min-height:46px}.setup-calendar-rights.write{color:#176b45}.setup-calendar-rights.read{color:#76510b}@media(max-width:640px){.setup-progress{grid-template-columns:repeat(7,minmax(38px,1fr))}.setup-calendar-row{grid-template-columns:auto minmax(0,1fr)}.setup-calendar-row select{grid-column:1/-1;width:100%}.setup-caldav-connect button{width:100%}}

/* v77 Phase 3B: manueller Stundenplan-Assistent */
.setup-timetable-fields{display:grid;gap:1rem}.setup-timetable-entry{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr;gap:.65rem;align-items:end;border:1px solid var(--sand);border-radius:14px;background:#fff;padding:.8rem}.setup-timetable-entry label:nth-of-type(5){grid-column:1/3}.setup-timetable-entry label:nth-of-type(6){grid-column:3/5}.setup-timetable-entry label{min-width:0}.setup-timetable-entry input,.setup-timetable-entry select{min-width:0;width:100%}.setup-timetable-sports{grid-column:1/3;display:flex!important;align-items:center;gap:.5rem}.setup-timetable-sports input{width:22px!important;height:22px;min-height:auto}.setup-timetable-entry button{grid-column:3/5;min-height:46px}.setup-timetable-list{display:grid;gap:.6rem}.setup-timetable-card{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr) auto;gap:.7rem;align-items:center;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.7rem}.setup-timetable-card b,.setup-timetable-card span{overflow-wrap:anywhere}.setup-timetable-card small{color:var(--muted)}.setup-timetable-card button{min-height:42px;border:1px solid #d9b4ad;border-radius:10px;background:#fff5f3;color:#8b2f24;font-weight:850}@media(max-width:760px){.setup-timetable-entry{grid-template-columns:1fr 1fr}.setup-timetable-entry label:nth-of-type(1),.setup-timetable-entry label:nth-of-type(2),.setup-timetable-entry label:nth-of-type(5),.setup-timetable-entry label:nth-of-type(6),.setup-timetable-sports,.setup-timetable-entry button{grid-column:1/-1}.setup-timetable-card{grid-template-columns:1fr auto}.setup-timetable-card .setup-timetable-detail{grid-column:1/-1;grid-row:2}.setup-timetable-card button{grid-column:2;grid-row:1}}

/* v77 Phase 3B: Mehrkind-Stundenplan */
.timetable-person-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:.2rem 0 .7rem;scrollbar-width:thin}.timetable-person-tabs button{min-height:44px;flex:0 0 auto;border:1px solid var(--sand);border-radius:999px;background:#fff;color:var(--navy);padding:.55rem .9rem;font-weight:900}.timetable-person-tabs button.active{background:var(--navy);color:#fff}.tt-room{display:block;color:var(--muted);font-weight:750;margin-top:.15rem}.tt-lesson .tt-room{font-size:.78rem}@media(max-width:640px){.timetable-person-tabs{margin-inline:-.2rem;padding-inline:.2rem}}

@media(max-width:640px){.setup-progress{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:.25rem}.setup-progress li{flex:0 0 112px;scroll-snap-align:center;white-space:nowrap}}

/* v77 Phase 3B: dynamische Anzahl Schultage */
.timetable-grid.tt-day-count-1{grid-template-columns:92px repeat(1,minmax(0,1fr))}.timetable-grid.tt-day-count-2{grid-template-columns:92px repeat(2,minmax(0,1fr))}.timetable-grid.tt-day-count-3{grid-template-columns:92px repeat(3,minmax(0,1fr))}.timetable-grid.tt-day-count-4{grid-template-columns:92px repeat(4,minmax(0,1fr))}.timetable-grid.tt-day-count-5{grid-template-columns:92px repeat(5,minmax(0,1fr))}.timetable-grid.tt-day-count-6{grid-template-columns:92px repeat(6,minmax(0,1fr))}.timetable-grid.tt-day-count-7{grid-template-columns:92px repeat(7,minmax(0,1fr))}

.tt-cell .tt-room{flex-basis:100%;width:100%;text-align:center;margin-left:0}

/* v78 Alltag: aktive Timer, Essensplanung und Familienfarben */
.global-reward-timer{position:sticky;top:0;z-index:24;margin:0 auto;width:min(1180px,calc(100% - 28px));padding-top:8px}.global-reward-timer[hidden]{display:none}.global-reward-timer button{width:100%;min-height:58px;border:0;border-radius:18px;background:linear-gradient(100deg,#282052,var(--orange));color:var(--accent-text,#fff);display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:10px 18px;box-shadow:0 10px 26px #241d4b38;text-align:left}.global-reward-timer button span{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.global-reward-timer button strong{grid-row:1/3;grid-column:2;font-size:1.7rem;font-variant-numeric:tabular-nums}.global-reward-timer button small{opacity:.9}.global-reward-timer.warning button{background:linear-gradient(100deg,#784a00,#e79a13);color:#16100a}.global-reward-timer.final button{background:linear-gradient(100deg,#771d1d,#d84343);color:#fff;animation:timerPulse 1s ease-in-out infinite alternate}@keyframes timerPulse{to{transform:scale(1.006);box-shadow:0 12px 30px #b02f2f55}}
.overview-active-timer{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;background:linear-gradient(120deg,#282052,#47398d);color:#fff;border-radius:24px;padding:18px 22px;margin:0 0 18px;box-shadow:0 14px 34px #2a20533b}.overview-active-timer.warning{background:linear-gradient(120deg,#684000,#d78d0b);color:#171008}.overview-active-timer.final{background:linear-gradient(120deg,#6f1b1b,#cf4040)}.overview-timer-icon{font-size:2.3rem}.overview-active-timer h3{margin:2px 0;font-size:1.3rem}.overview-active-timer>strong{font-size:2.25rem;font-variant-numeric:tabular-nums;min-width:120px;text-align:center}.overview-active-timer button{min-height:46px;border-radius:14px;background:#fff;color:#292250;border:0;padding:0 16px;font-weight:800}.overview-timer-progress{display:block;width:100%;height:8px;margin-top:10px;accent-color:#f6b93b}.reward-choice-snapshot{display:block;color:var(--orange);font-style:normal;font-weight:800}.reward-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-choice-options label{position:relative;min-height:76px;border:2px solid var(--line);border-radius:18px;padding:12px;display:flex;align-items:center;gap:12px;cursor:pointer}.reward-choice-options input{position:absolute;opacity:0}.reward-choice-options label:has(input:checked){border-color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,white)}.reward-choice-icon{font-size:2rem}
.meal-planner{width:100%}.meal-week-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.meal-week-toolbar>div{flex:1;text-align:center}.meal-week-toolbar h3{margin:3px 0}.meal-week-toolbar button{min-height:44px;border-radius:14px;border:1px solid var(--line);background:var(--card);padding:0 14px;font-weight:750}.meal-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}.meal-day{border:1px solid var(--line);background:var(--card);border-radius:20px;min-height:250px;overflow:hidden}.meal-day.today{border-color:var(--orange);box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 18%,transparent)}.meal-day>header{display:flex;justify-content:space-between;gap:6px;padding:12px;background:var(--soft);font-size:.78rem;text-transform:capitalize}.meal-card{padding:14px;display:flex;flex-direction:column;gap:10px}.meal-card-icon{font-size:2.3rem}.meal-card h3{font-size:1rem;margin:0 0 4px;overflow-wrap:anywhere}.meal-card span,.meal-card small{display:block}.meal-card p{font-size:.82rem;margin:8px 0 0}.meal-card-actions{display:grid;gap:7px;margin-top:auto}.meal-card-actions button,.meal-card-actions a,.meal-empty{min-height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;font-weight:750;padding:7px}.meal-card-actions .danger{color:#a62e2e}.meal-empty{width:calc(100% - 20px);margin:10px;min-height:170px;flex-direction:column;gap:8px;border-style:dashed}.meal-empty span{font-size:2rem}.meal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-shopping-options,.theme-member-colors{display:grid;gap:10px}.meal-shopping-options label,.theme-member-colors label{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:12px;min-height:58px}.meal-shopping-options input{width:24px;height:24px;accent-color:var(--orange)}.meal-shopping-options span{flex:1}.meal-shopping-options small{display:block}.theme-member-colors input[type=color],#theme-accent{width:64px;height:44px;border:1px solid var(--line);border-radius:12px;padding:3px;background:#fff}.reward-alarm-dialog{border:0;border-radius:28px;padding:0;background:transparent}.reward-alarm-dialog::backdrop{background:#2a1020d9}.reward-alarm-dialog>div{min-width:min(440px,calc(100vw - 32px));text-align:center;background:#fff;border-radius:28px;padding:30px;box-shadow:0 24px 70px #0007}.reward-alarm-icon{display:block;font-size:4rem;animation:alarmShake .4s ease-in-out infinite alternate}.reward-alarm-dialog button{width:100%;min-height:58px;font-size:1.1rem}@keyframes alarmShake{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
@media(max-width:900px){.meal-week-grid{grid-template-columns:repeat(7,minmax(220px,72vw))}.overview-active-timer{grid-template-columns:auto 1fr auto}.overview-active-timer button{grid-column:1/-1}}
@media(max-width:560px){.global-reward-timer{width:calc(100% - 16px)}.global-reward-timer button{grid-template-columns:1fr auto;padding:9px 13px}.global-reward-timer button strong{font-size:1.45rem}.overview-active-timer{grid-template-columns:auto 1fr;padding:16px}.overview-active-timer>strong{grid-column:1/-1;text-align:left;font-size:2rem}.overview-active-timer button{grid-column:1/-1}.reward-choice-options,.meal-form-grid{grid-template-columns:1fr}.meal-week-toolbar{flex-wrap:wrap}.meal-week-toolbar>div{order:-1;flex-basis:100%}.meal-week-grid{display:grid;grid-template-columns:1fr;overflow:visible}.meal-day{min-height:0}.meal-empty{min-height:92px}.meal-card{display:grid;grid-template-columns:auto 1fr}.meal-card-actions{grid-column:1/-1}}

@media(max-width:620px){.account-menu{width:100%;max-width:100%;justify-self:stretch;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.45rem}.account-user{flex:1 0 100%;white-space:normal}.account-menu button{flex:0 1 auto;max-width:100%}}

/* v80: einzeilige Hauptnavigation auf Desktop, Tablet und Smartphone */
.family-nav{grid-template-columns:repeat(var(--nav-count,7),minmax(0,1fr));overflow:hidden}.family-nav .tab{min-width:0}.family-nav .tab span{white-space:nowrap}
@media(max-width:900px) and (min-width:701px){.family-nav{gap:.4rem;padding:.45rem}.family-nav .tab{min-height:64px;padding:.55rem .18rem;font-size:.76rem}}
@media(max-width:700px){.family-nav{display:flex;grid-template-columns:none;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding:.45rem;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.family-nav .tab{flex:0 0 112px;min-width:112px;min-height:58px;scroll-snap-align:start}}

/* v81: sichere Geräte-Einladungen */
.setup-device-list,.setup-device-invites,.setup-invite-grid{display:grid;gap:.75rem}.setup-device-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr) auto;gap:.65rem;align-items:end;padding:.75rem;border:1px solid var(--sand);border-radius:14px;background:#fff}.setup-device-row label,.access-invite-fields label{display:grid;gap:.3rem}.setup-invite-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.setup-invite-grid article,.device-invite-result{display:grid;gap:.55rem;justify-items:center;padding:1rem;border:1px solid var(--sand);border-radius:18px;background:#fff}.setup-invite-grid img,.device-invite-result img{width:180px;height:180px}.setup-invite-grid a,.device-invite-result a{overflow-wrap:anywhere;color:var(--navy);font-weight:850}.access-device-invite{display:grid;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid var(--sand);border-radius:18px;background:#fffaf1}.access-device-invite h3{margin:0}.access-invite-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);gap:.65rem;align-items:end}.access-invite-fields>button{grid-column:1/-1;width:100%;min-height:46px}.access-invite-fields input,.access-invite-fields select{min-height:46px}.device-invite-result{grid-template-columns:180px minmax(0,1fr);justify-items:start;align-items:center}.device-invite-result>div{display:grid;gap:.4rem}@media(max-width:700px){.setup-device-row,.access-invite-fields,.device-invite-result{grid-template-columns:1fr}.setup-device-row button,.access-invite-fields button{width:100%;min-height:46px}.device-invite-result{justify-items:center;text-align:center}}

/* v84: serverseitige Modulrichtlinie */
.family-nav.nav-count-1{--nav-count:1}.family-nav.nav-count-2{--nav-count:2}.family-nav.nav-count-3{--nav-count:3}.family-nav.nav-count-4{--nav-count:4}.family-nav.nav-count-5{--nav-count:5}.family-nav.nav-count-6{--nav-count:6}.family-nav.nav-count-7{--nav-count:7}
.module-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.module-settings-grid label{display:flex;align-items:center;gap:.65rem;padding:.8rem;border:1px solid var(--sand);border-radius:14px;background:#fff;font-weight:800}.module-settings-grid input{width:22px;height:22px;min-height:auto}@media(max-width:560px){.module-settings-grid{grid-template-columns:1fr}}

.settings-main-button{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .9rem}.settings-hub-dialog{width:min(720px,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow:auto}.settings-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.settings-hub-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon copy";column-gap:.75rem;align-items:center;text-align:left;padding:1rem;border:1px solid #173a5b20;border-radius:18px;background:#fffaf0;color:var(--navy);min-height:92px}.settings-hub-card>span{grid-area:icon;font-size:1.65rem}.settings-hub-card>b{grid-area:title;font-size:1rem}.settings-hub-card>small{grid-area:copy;color:var(--muted);line-height:1.35}.settings-hub-card:hover,.settings-hub-card:focus-visible{border-color:var(--orange);box-shadow:0 8px 22px #173a5b14}@media(max-width:560px){.settings-hub-grid{grid-template-columns:1fr}.settings-hub-card{min-height:82px}}

.calendar-settings-dialog{width:min(760px,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow:auto}.calendar-settings-fields{display:grid;grid-template-columns:1.3fr .7fr;gap:.75rem;margin:1rem 0}.calendar-settings-fields label{display:grid;gap:.35rem}.calendar-settings-fields label:first-child{grid-column:1/-1}.calendar-current{margin:1rem 0;padding:.85rem;border:1px solid #173a5b20;border-radius:16px;background:#edf7f4}.calendar-current> b{display:block;margin-bottom:.4rem}.calendar-current-list{display:grid;gap:.4rem}.calendar-current-list p{display:flex;justify-content:space-between;gap:.75rem;margin:0;padding:.45rem .55rem;border-radius:10px;background:#ffffffb8}.calendar-current-list span{color:var(--muted);text-align:right}.calendar-settings-actions{grid-template-columns:auto 1fr auto}.calendar-settings-actions #cancel-calendar-settings{justify-self:end}@media(max-width:560px){.calendar-settings-fields{grid-template-columns:1fr}.calendar-settings-fields label:first-child{grid-column:auto}.calendar-current-list p{align-items:flex-start;flex-direction:column}.calendar-current-list span{text-align:left}.calendar-settings-actions{grid-template-columns:1fr}.calendar-settings-actions>*{width:100%}}

.timetable-settings-dialog{width:min(860px,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow:auto}.timetable-settings-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:.75rem;margin:1rem 0}.timetable-settings-head label,.timetable-entry-grid label{display:grid;gap:.32rem}.timetable-entry-editor{margin:1rem 0;padding:1rem;border:1px solid var(--sand);border-radius:18px}.timetable-entry-editor legend{padding:0 .4rem;font-weight:900}.timetable-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.timetable-settings-sports{display:flex!important;align-items:center;gap:.55rem}.timetable-settings-sports input{width:22px;min-height:22px}.timetable-entry-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.8rem}.timetable-settings-entry-list{display:grid;gap:.55rem;margin:1rem 0}.timetable-settings-entry-list>article{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem;border:1px solid #173a5b18;border-radius:14px;background:#fffaf0}.timetable-settings-entry-list article>div:first-child{display:grid;gap:.2rem}.timetable-settings-entry-list article span{color:var(--muted);font-size:.86rem}.timetable-settings-entry-list article>div:last-child{display:flex;gap:.4rem}.timetable-settings-actions{grid-template-columns:auto 1fr auto}.timetable-settings-actions #cancel-timetable-settings{justify-self:end}@media(max-width:650px){.timetable-settings-head,.timetable-entry-grid{grid-template-columns:1fr}.timetable-settings-entry-list>article{align-items:stretch;flex-direction:column}.timetable-settings-entry-list article>div:last-child{display:grid;grid-template-columns:1fr 1fr}.timetable-settings-actions{grid-template-columns:1fr}.timetable-settings-actions>*{width:100%}}

.shopping-item-actions{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:.5rem;align-items:center}.shopping-item-actions button{margin:0!important}.shopping-item-actions .secondary{background:#fff;color:var(--navy);border:1px solid var(--sand)}@media(max-width:430px){.shopping-item-actions{grid-template-columns:1fr}}

.meal-edit-mode-button{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important;white-space:nowrap}.meal-empty-readonly{cursor:default;color:var(--muted);background:#ffffff80}.meal-empty-readonly:hover{transform:none;box-shadow:none}.meal-planner:not(.editing) .meal-card-actions:empty{display:none}

/* v87 settings UX polish */
dialog.settings-dialog-shell,dialog.settings-detail-dialog{box-sizing:border-box;border:0;border-radius:26px;background:var(--paper);color:var(--navy);box-shadow:0 28px 80px #0b203555;margin:auto;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden}
dialog.settings-dialog-shell::backdrop,dialog.settings-detail-dialog::backdrop{background:#102a436b;backdrop-filter:blur(7px)}
dialog.settings-dialog-shell{width:min(760px,calc(100vw - 2rem));padding:1.45rem}
dialog.settings-detail-dialog{width:min(760px,calc(100vw - 2rem));padding:0}
dialog.timetable-settings-dialog{width:min(900px,calc(100vw - 2rem))}
dialog.access-dialog{width:min(720px,calc(100vw - 2rem))}
dialog.theme-dialog,dialog.form-dialog.settings-detail-dialog{width:min(620px,calc(100vw - 2rem))}
.settings-detail-dialog>form{box-sizing:border-box;display:grid;gap:.9rem;width:100%;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:1.35rem 1.45rem 0;scrollbar-gutter:stable}
.settings-dialog-shell .dialog-head,.settings-detail-dialog .dialog-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;margin:0 0 1.1rem;padding:0}
.settings-dialog-shell .dialog-head>div,.settings-detail-dialog .dialog-head>div{min-width:0}
.settings-dialog-shell .dialog-head h2,.settings-detail-dialog .dialog-head h2{margin:.18rem 0 .35rem;font-size:clamp(1.75rem,4vw,2.2rem);line-height:1.05;letter-spacing:-.035em}
.settings-dialog-shell .dialog-head p,.settings-detail-dialog .dialog-head p{margin:0;color:var(--muted);line-height:1.45}
.settings-dialog-shell .dialog-close,.settings-detail-dialog .dialog-close{display:grid;place-items:center;width:46px;height:46px;min-height:46px;padding:0;border:0;border-radius:50%;background:var(--mist);color:var(--navy);font-size:1.55rem;font-weight:500;cursor:pointer}
.settings-dialog-shell .dialog-close:hover,.settings-detail-dialog .dialog-close:hover{background:var(--cream)}
.settings-dialog-nav{display:flex;align-items:center;margin:0 0 .8rem}
.settings-back-button{display:inline-flex;align-items:center;min-height:42px;padding:.52rem .78rem;border:1px solid var(--sand);border-radius:999px;background:#fffaf0;color:var(--navy);font-weight:850;cursor:pointer}
.settings-back-button:hover,.settings-back-button:focus-visible{border-color:var(--orange);background:#fff3dc}
.settings-hub-grid{gap:.75rem;margin-top:.4rem}
.settings-hub-card{position:relative;min-height:98px;padding:1rem 2.5rem 1rem 1rem;border-color:var(--sand);background:#fffaf3;box-shadow:0 5px 16px #102a4309;transition:transform .16s,box-shadow .16s,border-color .16s}
.settings-hub-card::after{content:"›";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#738391;font-size:1.55rem;font-weight:700}
.settings-hub-card:hover,.settings-hub-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #173a5b18}
.settings-detail-dialog label>span{color:var(--navy);font-weight:850}
.settings-detail-dialog input:not([type="checkbox"]):not([type="color"]):not([type="radio"]),.settings-detail-dialog select,.settings-detail-dialog textarea{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #decda9;border-radius:13px;background:#fffefb;color:var(--navy);padding:.65rem .75rem;font:inherit;font-weight:720;outline:none}
.settings-detail-dialog textarea{min-height:100px;resize:vertical}
.settings-detail-dialog input:focus,.settings-detail-dialog select:focus,.settings-detail-dialog textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #d98a2e1f}
.settings-detail-dialog fieldset{background:#fffaf3;border-color:#e7d7b8}
.settings-detail-dialog .dialog-actions{position:sticky;z-index:2;bottom:0;margin:1rem -1.45rem 0;padding:.9rem 1.45rem calc(.9rem + env(safe-area-inset-bottom));border-top:1px solid var(--sand);background:#fffdf8f2;box-shadow:0 -8px 20px #102a4308;backdrop-filter:blur(10px)}
.timetable-settings-head{margin:.15rem 0 .2rem;padding:.85rem;border:1px solid var(--sand);border-radius:17px;background:#f5faf8}
.timetable-entry-editor{margin:.25rem 0;padding:1rem 1.05rem;background:#fffaf3}
.timetable-entry-editor legend{color:var(--navy);font-size:1.02rem}
.timetable-settings-entry-list{margin:.25rem 0 .5rem}
.timetable-settings-entry-list:empty::after{content:"Noch kein Unterricht für dieses Kind eingetragen.";display:block;padding:1rem;border:1px dashed var(--sand);border-radius:14px;background:#fffaf3;color:var(--muted)}
@media(max-width:900px){.timetable-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-entry-grid>label:nth-child(1),.timetable-entry-grid>.timetable-settings-sports{grid-column:1/-1}.timetable-entry-actions{justify-content:stretch}.timetable-entry-actions button{flex:1}}
@media(max-width:600px){dialog.settings-dialog-shell,dialog.settings-detail-dialog{max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:22px}dialog.settings-dialog-shell{width:calc(100vw - 1rem);padding:1rem}.settings-detail-dialog>form{max-height:calc(100dvh - 1rem);padding:1rem 1rem 0;scrollbar-gutter:auto}.settings-detail-dialog .dialog-actions{margin:1rem -1rem 0;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom))}.settings-dialog-shell .dialog-head h2,.settings-detail-dialog .dialog-head h2{font-size:1.65rem}.settings-hub-grid{grid-template-columns:1fr}.settings-hub-card{min-height:84px}.timetable-settings-head,.timetable-entry-grid{grid-template-columns:1fr}.timetable-entry-grid>*{grid-column:auto!important}.timetable-entry-actions{display:grid;grid-template-columns:1fr}.settings-dialog-nav{margin-bottom:.65rem}}

.shopping-edit-toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--sand);border-radius:18px;background:#fffaf3;box-shadow:0 7px 20px #102a430b}.shopping-edit-toolbar>div{display:grid;gap:.12rem}.shopping-edit-toolbar span{color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.shopping-edit-toolbar strong{color:var(--navy)}.shopping-edit-toolbar button{min-height:44px;padding:.58rem .9rem;border:1px solid var(--navy);border-radius:12px;background:var(--navy);color:#fff;font-weight:900;cursor:pointer}.shopping-edit-toolbar.editing{border-color:#e5b461;background:#fff4df}.shopping-edit-toolbar.editing button{background:var(--orange);border-color:var(--orange);color:var(--navy)}.shopping-item-actions{grid-template-columns:1fr}.shopping-item-actions.editing{grid-template-columns:auto minmax(120px,1fr)}.shopping-item-card.shopping-editing{border-color:#e8bd77;background:#fffaf3}@media(max-width:560px){.shopping-edit-toolbar{align-items:stretch;flex-direction:column}.shopping-edit-toolbar button{width:100%}.shopping-item-actions.editing{grid-template-columns:1fr}}

.settings-detail-dialog .dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.settings-detail-dialog .dialog-actions>.danger:first-child{margin-right:auto}.settings-detail-dialog .dialog-actions #cancel-timetable-settings,.settings-detail-dialog .dialog-actions #cancel-calendar-settings{justify-self:auto}@media(max-width:560px){.settings-detail-dialog .dialog-actions{align-items:stretch;flex-direction:column}.settings-detail-dialog .dialog-actions>*{width:100%}.settings-detail-dialog .dialog-actions>.danger:first-child{margin-right:0}}

.shopping-edit-control{grid-column:1/-1;display:flex;justify-content:flex-end;margin:0 0 .15rem}.shopping-edit-control button{min-height:44px;padding:.6rem .95rem;border:1px solid var(--navy);border-radius:12px;background:var(--navy);color:#fff;font-weight:900;cursor:pointer}.shopping-edit-control.editing button{border-color:var(--orange);background:var(--orange);color:var(--navy)}@media(max-width:560px){.shopping-edit-control button{width:100%}}

/* Shopping edit control mirrors the quiet task edit affordance. */
.shopping-edit-control{min-height:36px;align-items:center;margin:0 0 .1rem}.shopping-edit-control button{width:auto;min-height:36px;padding:.35rem .7rem;border:1px solid #cbd5d9;border-radius:10px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800;box-shadow:none}.shopping-edit-control button:hover,.shopping-edit-control button:focus-visible{border-color:#93a5ad;background:#f7fafb;color:var(--navy)}.shopping-edit-control.editing button{min-height:38px;border-color:#d99022;background:#fff8eb;color:var(--navy)}@media(max-width:560px){.shopping-edit-control{justify-content:flex-end}.shopping-edit-control button{width:auto}}

/* v81: Aufgaben-Emojis und geschützte zukünftige Tagesinstanzen */
.task-emoji{display:grid;place-items:center;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;box-shadow:none;filter:none}.task-template-icon{font-size:2.15rem}.task-card-icon{font-size:3.15rem}.overview-task-icon{font-size:2.35rem}.task-week-icon{font-size:1.9rem}.status-future{background:#eef3f5;color:var(--muted);justify-content:center}.status-future span{font-weight:900}


/* v82: kompakte Timerkarte auf Übersicht und Wandtablet */
.overview-grid{grid-column:1/-1;width:100%}
.overview-active-timer{width:min(100%,860px);grid-template-columns:64px minmax(0,1fr) 172px;gap:18px;margin:0 auto 18px;padding:18px 20px;overflow:hidden}
.overview-timer-icon{width:58px;height:58px;display:grid;place-items:center;align-self:center;border-radius:18px;background:#ffffff18;border:1px solid #ffffff26;font-size:2.25rem;line-height:1}
.overview-timer-copy{min-width:0;display:grid;align-content:center}.overview-timer-copy>span{font-size:.76rem;font-weight:850;letter-spacing:.03em}.overview-timer-copy small{overflow-wrap:anywhere;opacity:.92}
.overview-timer-side{min-width:0;display:grid;align-content:center;gap:8px}.overview-timer-countdown{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.overview-timer-countdown span{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;opacity:.86}.overview-timer-countdown strong{font-size:1.9rem;font-variant-numeric:tabular-nums;line-height:1}.overview-active-timer .overview-timer-side button{grid-column:auto;width:100%;min-height:42px;padding:0 10px;font-size:.78rem;white-space:nowrap}
.overview-timer-progress{appearance:none;-webkit-appearance:none;height:9px;border:0;border-radius:999px;overflow:hidden;background:#ffffff2e}.overview-timer-progress::-webkit-progress-bar{background:#ffffff2e;border-radius:999px}.overview-timer-progress::-webkit-progress-value{background:#f6b93b;border-radius:999px}.overview-timer-progress::-moz-progress-bar{background:#f6b93b;border-radius:999px}
@media(max-width:900px){.overview-active-timer{grid-template-columns:58px minmax(0,1fr) 172px}.overview-active-timer .overview-timer-side button{grid-column:auto}}
@media(max-width:700px){.overview-active-timer{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:16px}.overview-timer-icon{width:48px;height:48px;border-radius:15px;font-size:1.9rem}.overview-timer-side{grid-column:1/-1;display:grid;grid-template-columns:minmax(118px,auto) 1fr;align-items:center;gap:12px}.overview-timer-countdown{justify-content:flex-start}.overview-timer-countdown strong{font-size:1.75rem}.overview-active-timer .overview-timer-side button{width:100%;min-height:44px}.overview-timer-progress{margin-top:8px}}
@media(max-width:420px){.overview-active-timer{width:100%;border-radius:20px}.overview-timer-side{grid-template-columns:1fr}.overview-timer-countdown{justify-content:space-between}.overview-active-timer .overview-timer-side button{white-space:normal}}


/* v100: lokaler Stundenplan-Scan als bestätigungspflichtiger Entwurf */
.timetable-scan-panel{display:grid;gap:.85rem;margin:.35rem 0 1rem;padding:1rem 1.05rem;border:1px solid #9fc7bb;border-radius:18px;background:#f0faf6}.timetable-scan-panel h3{margin:.12rem 0 .25rem;color:var(--navy)}.timetable-scan-panel p{margin:0;color:var(--muted);line-height:1.45}.timetable-scan-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem}.timetable-scan-file{display:grid;gap:.3rem}.timetable-scan-file input{min-height:48px;padding:.55rem;border:1px solid var(--sand);border-radius:12px;background:#fff}.timetable-scan-file small{color:var(--muted)}#scan-timetable{min-height:48px}.timetable-scan-review{display:grid;gap:.75rem;padding:.85rem;border:1px solid #e1b35e;border-radius:15px;background:#fffaf0}.timetable-scan-summary{display:grid;gap:.2rem}.timetable-scan-summary>b{color:var(--orange)}.timetable-scan-summary span{font-weight:800}.timetable-scan-summary small{color:var(--muted)}.timetable-scan-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:340px;overflow:auto}.timetable-scan-entry-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.65rem .7rem;border:1px solid #b8d9ca;border-left:5px solid #4a9d78;border-radius:12px;background:#fff}.timetable-scan-entry-list article>div{display:grid;gap:.15rem;min-width:0}.timetable-scan-entry-list article span{color:var(--muted);overflow-wrap:anywhere}.timetable-scan-entry-list article small{align-self:start;padding:.22rem .42rem;border-radius:999px;background:#e3f4eb;color:#205e46;font-size:.72rem;font-weight:850;white-space:nowrap}.timetable-scan-entry-list article.scan-medium{border-left-color:#d89b22;background:#fffaf0}.timetable-scan-entry-list article.scan-medium small{background:#fff0ca;color:#765000}.timetable-scan-entry-list article.scan-low{border-left-color:#c64d47;background:#fff4f2}.timetable-scan-entry-list article.scan-low small{background:#fde1de;color:#7f2521}.timetable-scan-confirm{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem;border-radius:12px;background:#fff}.timetable-scan-confirm input{width:22px;min-height:22px;margin-top:.05rem}.timetable-scan-review-actions{display:flex;justify-content:flex-end;gap:.6rem}.timetable-scan-review-actions button{min-height:46px}
@media(max-width:700px){.timetable-scan-actions{grid-template-columns:1fr}.timetable-scan-actions button{width:100%}.timetable-scan-entry-list{grid-template-columns:1fr;max-height:420px}.timetable-scan-entry-list article{grid-template-columns:1fr}.timetable-scan-entry-list article small{justify-self:start}.timetable-scan-review-actions{display:grid;grid-template-columns:1fr}.timetable-scan-review-actions button{width:100%}}

/* v102: sichtbarer Auto-Scan-Status */
#timetable-scan-status[data-state=busy]{border-color:#6da5c0;background:#edf8fd;color:#184d68}#timetable-scan-status[data-state=success]{border-color:#74b895;background:#eef9f2;color:#1f6243}#timetable-scan-status[data-state=error]{border-color:#d78989;background:#fff0f0;color:#8a2424;font-weight:800}

/* v103: Dauer vor Upload */
.timetable-scan-actions{grid-template-columns:minmax(150px,.55fr) minmax(0,1fr) auto}.timetable-scan-duration{display:grid;gap:.3rem}.timetable-scan-duration select{min-height:48px;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.55rem}.timetable-scan-duration small{color:var(--muted)}@media(max-width:800px){.timetable-scan-actions{grid-template-columns:1fr}.timetable-scan-actions button{width:100%}}

/* v103: bearbeitbarer lokaler Handschriftraster */
.timetable-scan-entry-list.scan-grid-list{grid-template-columns:1fr;max-height:520px}.scan-grid-row{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important}.scan-grid-time,.scan-grid-time label{display:grid;gap:.3rem}.scan-grid-time input,.scan-grid-cells input{min-height:44px;border:1px solid var(--sand);border-radius:10px;padding:.45rem;background:#fff}.scan-grid-cells{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:.45rem}.scan-grid-cells label{display:grid;gap:.2rem;font-size:.75rem;font-weight:800}@media(max-width:700px){.scan-grid-row{grid-template-columns:1fr!important}.scan-grid-cells{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v105: lokale Zellvorschauen und bestätigte Ähnlichkeitsgruppen */
.scan-grid-cell{display:grid;gap:.25rem;align-content:start;font-size:.75rem;font-weight:800}.scan-grid-cell img{width:100%;height:48px;object-fit:cover;border:1px solid var(--sand);border-radius:8px;background:#fff}.scan-grid-cell:not(.occupied) img{opacity:.45}.scan-cluster-apply{min-height:34px;padding:.3rem .45rem;font-size:.7rem}.scan-grid-cells{align-items:start}

/* v106: geführter Stundenplan-Assistent */
.scan-wizard-list{display:block!important;max-height:none!important}.scan-wizard-step{display:grid;gap:1rem}.scan-wizard-step h4{margin:0;font-size:1.2rem}.scan-wizard-times{display:grid;gap:.65rem}.scan-wizard-times label{display:grid;grid-template-columns:1fr 120px 100px;align-items:center;gap:.65rem;padding:.75rem;border:1px solid var(--sand);border-radius:14px;background:#fff}.scan-wizard-times input{min-height:48px;border:1px solid var(--sand);border-radius:10px;padding:.4rem}.scan-wizard-active article{display:grid;place-items:center;min-height:150px;padding:1rem;border-radius:18px;background:#fff7dc;border:2px solid #e2bd55}.scan-wizard-active article[hidden]{display:none}.scan-wizard-active img{width:min(100%,360px);height:110px;object-fit:contain;border-radius:12px;background:#fff}.scan-wizard-subject-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.scan-wizard-subject-buttons button{min-height:52px}.scan-wizard-step>label{display:grid;grid-template-columns:1fr auto;gap:.5rem}.scan-wizard-step>label span{grid-column:1/-1}.scan-wizard-step>label input{min-height:48px;border:1px solid var(--sand);border-radius:10px;padding:.5rem}.scan-wizard-nav{display:flex;justify-content:space-between;gap:.6rem}.scan-wizard-final-list{display:grid;gap:1rem}.scan-wizard-final-list section{display:grid;gap:.35rem}.scan-wizard-final-list h4{color:var(--accent)}.scan-wizard-final-list button{display:grid;grid-template-columns:110px 1fr;text-align:left;gap:.5rem;min-height:48px;background:#fff;border:1px solid var(--sand);border-radius:12px;padding:.6rem}@media(max-width:600px){.scan-wizard-times label{grid-template-columns:1fr 110px}.scan-wizard-times small{grid-column:1/-1}.scan-wizard-subject-buttons{grid-template-columns:1fr 1fr}}

/* v107: vordefinierter anklickbarer Wochenplan */
.timetable-click-panel{display:grid;gap:.8rem;margin:.35rem 0 1rem;padding:1rem 1.05rem;border:1px solid #9fc7bb;border-radius:18px;background:#f0faf6}.timetable-click-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.timetable-click-heading h3{margin:.12rem 0 .25rem;color:var(--navy)}.timetable-click-heading p{margin:0;color:var(--muted);line-height:1.45}.timetable-click-duration{display:grid;grid-template-columns:auto minmax(150px,220px);align-items:center;gap:.6rem;font-weight:850}.timetable-click-duration select{min-height:46px;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.5rem}.timetable-click-grid{display:grid;grid-template-columns:104px repeat(5,minmax(118px,1fr));width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #c9ddd5;border-radius:14px;background:#fff}.timetable-click-grid>*{border-right:1px solid #d8e5df;border-bottom:1px solid #d8e5df}.timetable-click-corner,.timetable-click-day{position:sticky;top:0;z-index:3;padding:.65rem .35rem;background:#e7f4ee;color:var(--navy);font-size:.78rem;font-weight:900;text-align:center}.timetable-click-corner{left:0;z-index:5}.timetable-click-time{position:sticky;left:0;z-index:2;display:grid;align-content:center;gap:.15rem;padding:.45rem;background:#f6fbf8}.timetable-click-time input{width:100%;min-height:40px;border:1px solid var(--sand);border-radius:9px;background:#fff;padding:.3rem;font-weight:850}.timetable-click-time small{text-align:center;color:var(--muted);font-size:.68rem}.timetable-click-cell{display:grid;place-items:center;align-content:center;gap:.15rem;min-height:70px;padding:.45rem;border:0;border-radius:0;background:#fff;color:var(--navy);font-weight:900}.timetable-click-cell:hover,.timetable-click-cell:focus-visible{background:#fff8df;outline:3px solid #e3b94f;outline-offset:-3px}.timetable-click-cell.filled{background:#dff2e8;color:#195b42}.timetable-click-cell.filled span{overflow-wrap:anywhere}.timetable-click-cell small{font-size:.65rem;color:#8a5a14}.timetable-click-help{color:var(--muted)}.timetable-advanced{margin:.4rem 0 1rem;border:1px solid var(--sand);border-radius:15px;background:#fffaf3}.timetable-advanced>summary{cursor:pointer;padding:.8rem 1rem;color:var(--navy);font-weight:900}.timetable-advanced[open]>summary{border-bottom:1px solid var(--sand)}.timetable-advanced .timetable-entry-editor{border:0;border-radius:0;background:transparent}.timetable-advanced .timetable-settings-entry-list{padding:0 1rem 1rem}.timetable-cell-picker{width:min(560px,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);border:0;border-radius:24px;padding:0;box-shadow:0 24px 80px #10283f55}.timetable-cell-picker form{display:grid;gap:1rem;padding:1.1rem}.timetable-cell-subject-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.timetable-cell-subject-buttons button{min-height:50px;padding:.5rem;overflow-wrap:anywhere}.timetable-cell-custom{display:grid;gap:.35rem;font-weight:850}.timetable-cell-custom>div{display:grid;grid-template-columns:1fr auto;gap:.5rem}.timetable-cell-custom input{min-width:0;min-height:48px;border:1px solid var(--sand);border-radius:10px;padding:.5rem}.timetable-cell-picker .dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}
@media(max-width:650px){.timetable-click-heading{display:grid}.timetable-click-heading button{width:100%}.timetable-click-duration{grid-template-columns:1fr}.timetable-click-grid{grid-template-columns:92px repeat(5,116px)}.timetable-cell-picker{margin:auto .5rem .5rem;width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:24px}.timetable-cell-subject-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-cell-custom>div{grid-template-columns:1fr}.timetable-cell-picker .dialog-actions{align-items:stretch;flex-direction:column}.timetable-cell-picker .dialog-actions button{width:100%}}

/* v107 mobile day tabs override the horizontally scrolling week matrix */
.timetable-click-grid{display:block;overflow:visible;border:0;background:transparent}.timetable-click-grid>.timetable-click-desktop,.timetable-click-grid>.timetable-click-mobile{border:0}.timetable-click-desktop{display:grid;grid-template-columns:104px repeat(5,minmax(118px,1fr));width:100%;overflow-x:auto;border:1px solid #c9ddd5;border-radius:14px;background:#fff}.timetable-click-desktop>*{border-right:1px solid #d8e5df;border-bottom:1px solid #d8e5df}.timetable-click-mobile{display:none}.timetable-click-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}.timetable-click-tabs button{min-height:44px;border:1px solid var(--sand);border-radius:999px;background:#fff;color:var(--navy);font-weight:900}.timetable-click-tabs button.active{border-color:#397e64;background:#397e64;color:#fff}.timetable-click-mobile h4{margin:.1rem 0;color:var(--navy)}.timetable-click-mobile-rows{display:grid;gap:.55rem}.timetable-click-mobile-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:.55rem;align-items:stretch}.timetable-click-mobile-row label{display:grid;align-content:center;gap:.1rem;padding:.45rem;border:1px solid var(--sand);border-radius:12px;background:#fff;font-size:.7rem;font-weight:850}.timetable-click-mobile-row label input{width:100%;min-height:38px;border:0;background:transparent;font-weight:900}.timetable-click-mobile-row label small{color:var(--muted)}.timetable-click-mobile-row .timetable-click-cell{min-height:66px;border:1px solid #c9ddd5;border-radius:12px}.timetable-click-mobile-row .timetable-click-cell.filled{border-color:#70ae92}
@media(max-width:650px){.timetable-click-desktop{display:none}.timetable-click-mobile{display:grid;gap:.7rem}.timetable-click-grid{grid-template-columns:none}.timetable-click-cell span{font-size:.88rem}}

/* v108: automatisch abgeleitete Schulpausen */
.tt-break-time{min-height:48px;background:#eef5f2}.tt-break-desktop{grid-column:2/-1;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.7rem;border:1px dashed #91b6a8;border-radius:14px;background:#edf7f3;color:#285c49}.tt-break-desktop b{font-size:.95rem}.tt-break-desktop span{font-size:.76rem;color:var(--muted)}.tt-break-desktop.lunch{border-color:#d6b26e;background:#fff4df;color:#72521c}.timetable-click-break{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:38px;padding:.4rem;border-top:1px dashed #86ad9e;border-bottom:1px dashed #86ad9e;background:#edf7f3;color:#285c49}.timetable-click-break span{font-size:.75rem;color:var(--muted)}.timetable-click-break.lunch{border-color:#d6b26e;background:#fff4df;color:#72521c}.timetable-click-break.invalid{border-color:#d78989;background:#fff0f0;color:#8a2424}.timetable-click-break.invalid span{color:#8a2424;font-weight:800}
@media(max-width:650px){.timetable-click-break{border:1px dashed #86ad9e;border-radius:999px}.timetable-click-break.lunch{border-color:#d6b26e}}

/* v109: zuverlässiger Klickraster ist primär, Fotoimport bleibt Pilot */
.timetable-scan-experimental{margin:.4rem 0 1rem;border:1px solid #b9d4ca;border-radius:15px;background:#f7fbf9}.timetable-scan-experimental>summary{cursor:pointer;padding:.8rem 1rem;color:var(--navy);font-weight:900}.timetable-scan-experimental[open]>summary{border-bottom:1px solid #b9d4ca}.timetable-scan-experimental:not([open])>.timetable-scan-panel{display:none}.timetable-scan-experimental .timetable-scan-panel{margin:0;border:0;border-radius:0;background:transparent}

/* v112: provider-friendly setup and click timetable onboarding */
.setup-provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.setup-provider-grid button{display:grid;align-content:start;gap:.25rem;min-height:86px;padding:.75rem;border:1px solid var(--sand);border-radius:14px;background:#fff;color:var(--navy);text-align:left;cursor:pointer}.setup-provider-grid button b{font-size:.95rem}.setup-provider-grid button span{color:var(--muted);font-size:.76rem;line-height:1.35}.setup-provider-grid button.active{border-color:#397e64;background:#e8f5ef;box-shadow:inset 0 0 0 2px #397e6433}.setup-provider-later{display:grid;gap:.2rem;margin-top:.8rem;padding:.75rem .85rem;border-radius:13px;background:#f3f5f7;color:var(--navy)}.setup-provider-later span{color:var(--muted);font-size:.82rem}.setup-timetable-click{margin:0}.setup-timetable-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:.7rem}.setup-timetable-toolbar label{display:grid;gap:.3rem;font-weight:850}.setup-timetable-toolbar select{min-height:48px;border:1px solid var(--sand);border-radius:12px;background:#fff;padding:.5rem}.setup-timetable-cell-picker-body{display:grid;gap:1rem;padding:1.1rem}.setup-timetable-cell-picker-body>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.setup-timetable-cell-picker-body h3{margin:.1rem 0;color:var(--navy)}.setup-timetable-cell-picker-body p{margin:.15rem 0;color:var(--muted)}.setup-timetable-picker-sports{display:flex;align-items:center;gap:.55rem;font-weight:850}.setup-timetable-picker-sports input{width:22px;height:22px}.setup-timetable-advanced{margin-bottom:0}.setup-timetable-advanced .setup-timetable-entry{margin:.8rem}.setup-timetable-advanced .setup-timetable-list{padding:0 .8rem .8rem}
@media(max-width:850px){.setup-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.setup-provider-grid{grid-template-columns:1fr 1fr}.setup-provider-grid button{min-height:92px;padding:.65rem}.setup-timetable-toolbar{grid-template-columns:1fr}.setup-timetable-cell-picker-body .dialog-actions{align-items:stretch;flex-direction:column}.setup-timetable-cell-picker-body .dialog-actions button{width:100%}}

/* v112: individuelle Aufgabenpunkte */
.task-points-member-list{display:grid;gap:.65rem;margin:1rem 0}.task-points-member-list label{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--sand);border-radius:16px;background:#fff}.task-points-member-list label>span{display:grid}.task-points-member-list small{color:var(--muted)}.task-points-member-list input{position:absolute;opacity:0;pointer-events:none}.task-points-member-list i{width:52px;height:30px;border-radius:999px;background:#c8cdd2;position:relative;flex:none;transition:.2s}.task-points-member-list i:after{content:'';position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:.2s}.task-points-member-list input:checked+i{background:var(--orange)}.task-points-member-list input:checked+i:after{transform:translateX(22px)}.task-points-member-list input:focus-visible+i{outline:3px solid #173a5b55;outline-offset:2px}.settings-info{color:var(--muted);font-size:.9rem}
