:root{color-scheme:dark;--accent:#7aad8f;--accent-rgb:122,173,143;--bg:#0a0d0e;--panel:rgba(27,33,34,.68);--text:#f5f5f0;--muted:#aab2af;--line:rgba(255,255,255,.11);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif}
[hidden]{display:none!important}
*{box-sizing:border-box}html{background:var(--bg);touch-action:manipulation}body{margin:0;min-height:100dvh;background:linear-gradient(145deg,#090b0d 0%,#111719 55%,#0b0e0f 100%);color:var(--text);-webkit-tap-highlight-color:transparent}.ambient{position:fixed;border-radius:50%;filter:blur(70px);opacity:.2;pointer-events:none}.ambient-one{width:280px;height:280px;background:var(--accent);top:-90px;right:-100px}.ambient-two{width:220px;height:220px;background:#5d708b;bottom:10%;left:-130px}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.07);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}button,input,select{font:inherit}button{color:inherit}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:28px 20px}.login-card{width:min(100%,440px);padding:32px 24px;border-radius:32px}.logo{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:linear-gradient(145deg,var(--accent),rgba(var(--accent-rgb),.45));font-size:28px;font-weight:750;margin-bottom:24px;box-shadow:0 12px 30px rgba(var(--accent-rgb),.22)}h1,h2,h3,p{margin-top:0}h1{font-size:34px;margin-bottom:8px}h1 span{color:var(--accent);font-size:.45em;vertical-align:top}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:750;color:var(--accent);margin-bottom:8px}.muted{color:var(--muted);line-height:1.45}.segmented{display:flex;background:rgba(0,0,0,.3);padding:4px;border-radius:14px;margin:26px 0 20px}.segment{flex:1;border:0;background:transparent;padding:10px;border-radius:11px;color:var(--muted)}.segment.active{background:rgba(var(--accent-rgb),.2);color:var(--text)}label{display:block;color:var(--muted);font-size:13px;margin:14px 0}input,select{width:100%;margin-top:7px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;color:var(--text);background:rgba(3,5,6,.45);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.primary,.secondary{width:100%;border:0;border-radius:16px;padding:15px;font-weight:700}.primary{background:var(--accent);color:#07110b;margin-top:8px}.secondary{background:rgba(255,255,255,.07)}.danger{color:#ffaaa4;margin-top:20px}.error{min-height:20px;color:#ffaaa4;font-size:13px;margin:6px 0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:max(22px,env(safe-area-inset-top)) 20px 12px;max-width:760px;margin:auto}.topbar h1{font-size:29px}.avatar{width:46px;height:46px;border-radius:16px;border:1px solid var(--line);background:rgba(var(--accent-rgb),.2);font-weight:750}.content{max-width:760px;margin:auto;padding:10px 18px calc(110px + env(safe-area-inset-bottom))}.page{display:none}.page.active{display:block;animation:fade .22s ease}@keyframes fade{from{opacity:.35;transform:translateY(5px)}}.hero{border-radius:26px;padding:24px;margin-bottom:14px}.hero h2{font-size:25px;line-height:1.12;max-width:330px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary{border-radius:24px;padding:18px;text-align:left;color:var(--text)}.summary-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:rgba(var(--accent-rgb),.2);color:var(--accent);font-size:20px}.summary strong{display:block;font-size:32px;margin-top:16px}.summary small{color:var(--muted)}.section{margin-top:28px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:4px 3px 14px}.section-title h2,.section-title h3{margin:0}.section-title button{border:0;background:none;color:var(--accent)}.empty{border-radius:20px;padding:19px;color:var(--muted)}.add-form{display:grid;grid-template-columns:1fr minmax(100px,.45fr) 46px;gap:8px;padding:9px;border-radius:20px;margin-bottom:18px}.add-form input,.add-form select{margin:0;padding:12px;border:0;background:transparent}.round-add{width:44px;height:44px;border:0;border-radius:14px;background:var(--accent);color:#07110b;font-size:26px}.list{display:grid;gap:9px}.list-item{display:grid;grid-template-columns:42px 1fr;align-items:center;padding:13px 15px;border-radius:19px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.check{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--accent);background:transparent;color:transparent}.list-item.done{opacity:.55}.list-item.done .check{background:var(--accent);color:#07110b}.list-item.done .item-title{text-decoration:line-through}.item-title{font-weight:650}.item-meta{font-size:12px;color:var(--muted);margin-top:3px}.settings-card{padding:20px;border-radius:24px;margin:15px 0}.themes{display:flex;gap:13px;margin-top:18px}.theme{width:42px;height:42px;border-radius:50%;border:3px solid transparent;background:var(--color)}.theme.active{border-color:white;box-shadow:0 0 0 3px var(--color)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;color:var(--muted)}.feature-grid span{padding:11px;background:rgba(255,255,255,.04);border-radius:12px}.tabbar{position:fixed;z-index:5;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100% - 24px);max-width:590px;border-radius:24px;display:grid;grid-template-columns:repeat(4,1fr);padding:7px}.tab{border:0;background:transparent;color:var(--muted);font-size:10px;padding:7px 2px;border-radius:17px}.tab span{display:block;font-size:21px;line-height:23px}.tab.active{color:var(--text);background:rgba(var(--accent-rgb),.16)}#toast{position:fixed;z-index:10;left:50%;bottom:105px;transform:translate(-50%,20px);background:#eef3ef;color:#152019;padding:11px 17px;border-radius:13px;opacity:0;transition:.2s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}
.text-button{display:block;margin:15px auto 0;border:0;background:transparent;color:var(--accent);padding:8px}.form-message{min-height:22px;color:var(--muted);font-size:13px}.form-message.success{color:var(--accent)}
.shopping-add-form{display:grid;grid-template-columns:1fr 100px;gap:8px;padding:9px;border-radius:20px;margin-bottom:12px}.shopping-add-form input,.shopping-add-form select{margin:0;padding:12px}.shopping-add-form .round-add{justify-self:end}.shopping-filter{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;margin:8px 4px 16px}.shopping-filter select{width:auto;margin:0;padding:8px 30px 8px 10px}.shopping-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(var(--accent-rgb),.18);font-size:20px}.shopping-row{grid-template-columns:42px 1fr auto}.shopping-content{display:flex;flex-direction:column;align-items:flex-start;border:0;background:transparent;text-align:left;padding:0}.shopping-content:disabled{color:inherit}.pending{border-color:rgba(255,170,80,.45)}.pending-label{color:#ffb060;font-size:11px;font-weight:650;margin-top:4px}.review-actions{display:flex;grid-column:1/-1;gap:8px;margin-top:6px}.review-actions button{flex:1;border:0;border-radius:12px;padding:9px;font-weight:650;background:rgba(255,255,255,.07)}.review-actions .approve{color:var(--accent)}.review-actions .reject{color:#ffaaa4}
@media(max-width:480px){.shopping-add-form{grid-template-columns:minmax(0,1fr) 46px}.shopping-add-form #shopping-title,.shopping-add-form #shopping-quantity{grid-column:1/-1}.shopping-add-form .round-add{grid-column:2}.add-form{grid-template-columns:1fr 105px 46px}.feature-grid{grid-template-columns:1fr}.login-card{padding:28px 20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.store-add-form{display:flex;gap:8px;margin-top:14px}.store-add-form[hidden]{display:none}.store-add-form input{margin:0;flex:1;min-width:0}.store-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.04);border-radius:12px}.store-row button{border:0;background:none;color:#ffaaa4}
.shopping-section-title{font-size:16px;margin:20px 4px 10px}.shopping-section-title small{font-size:12px;color:var(--muted);font-weight:400}.member-card{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:16px;padding:12px}.member-card summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.member-card summary::-webkit-details-marker{display:none}.member-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.08);font-size:25px}.member-card small{display:block;color:var(--muted);font-size:12px}.member-edit-form,.child-password-form{margin-top:16px}.member-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.member-options label{min-width:0}.member-delete{color:#ffaaa4}
.shopping-store-heading{font-size:13px;color:var(--muted);margin:12px 4px 2px}.shopping-photo{object-fit:cover}.shopping-check{border:1.5px solid var(--accent);cursor:pointer}.shopping-check:disabled{cursor:default}.shopping-edit-dialog{width:min(420px,calc(100% - 28px));max-height:calc(100dvh - 60px);overflow:auto;color:var(--text);border-radius:22px;padding:18px}.shopping-edit-dialog::backdrop{background:rgba(0,0,0,.7)}.shopping-edit-dialog h3{margin:0 0 12px}.shopping-edit-dialog label{margin:10px 0}.shopping-edit-dialog input,.shopping-edit-dialog select{margin-top:5px}.shopping-edit-dialog input[type=file]{padding:9px}.shopping-edit-dialog img{display:block;max-width:100%;max-height:160px;object-fit:contain;border-radius:12px;margin:10px auto}.shopping-edit-actions{display:flex;gap:8px}.shopping-edit-actions button{margin:0;width:50%}
.tabbar{grid-template-columns:repeat(5,1fr)}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:18px;padding:8px;margin:14px 0}.planner-toolbar button{border:0;background:rgba(255,255,255,.07);border-radius:12px;width:42px;height:42px;font-size:27px}.planner-toolbar strong{text-align:center;font-size:14px}.planner-actions{display:flex;gap:8px;margin-bottom:20px}.planner-actions select{margin:0;flex:1;min-width:0;padding:10px}.planner-actions button{width:auto;margin:0;white-space:nowrap;padding:11px}.print-week{margin:0 0 22px}.print-week h3{margin:0 0 12px}.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.planner-day{min-height:170px;padding:11px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.04)}.planner-day-head{font-weight:700;font-size:12px;margin-bottom:10px}.planner-day-head small{display:block;color:var(--muted);font-weight:400}.planner-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--event-color,var(--accent));border-radius:8px;background:rgba(255,255,255,.06);padding:7px;margin:5px 0;font-size:12px;line-height:1.3}.planner-event small{display:block;color:var(--muted)}.planner-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;font-size:12px;color:var(--muted)}.planner-dialog{width:min(92vw,520px);max-height:90dvh;overflow:auto;border-radius:24px;color:var(--text);padding:22px}.planner-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}.planner-dialog fieldset{border:1px solid var(--line);border-radius:14px;padding:10px}.planner-dialog legend{color:var(--muted)}.planner-person-option{display:flex;align-items:center;gap:9px;margin:6px 0}.planner-person-option input{width:auto;margin:0}.planner-time-fields,.planner-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.planner-dialog-actions{margin-top:18px}.planner-dialog-actions button{margin:0}.planner-dialog .danger{margin:15px auto 0}@media(max-width:700px){.planner-grid{grid-template-columns:1fr 1fr}.planner-day{min-height:110px}}@media(max-width:430px){.planner-grid{grid-template-columns:1fr}.planner-actions{flex-wrap:wrap}.planner-actions select{min-width:100%}}
.main-menu{position:absolute;right:18px;top:calc(max(22px,env(safe-area-inset-top)) + 54px);z-index:8;width:min(280px,calc(100vw - 36px));padding:8px;border-radius:20px}.main-menu[hidden]{display:none}.main-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:14px;border-radius:12px}.main-menu button:focus-visible,.main-menu button:hover{background:rgba(var(--accent-rgb),.18)}.settings-link{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border-radius:20px;padding:18px;margin:12px 0}.settings-link strong,.settings-link small{display:block}.settings-link small{color:var(--muted);margin-top:5px}.settings-link>span:last-child{font-size:26px;color:var(--accent)}.settings-heading{align-items:center}.settings-heading .round-add{flex:none}.settings-back{width:auto!important;padding:0!important;margin:0 0 10px;color:var(--accent)}.content{padding-bottom:calc(28px + env(safe-area-inset-bottom))}#member-choice-dialog .secondary,#child-create-dialog .secondary,#adult-invite-dialog>.secondary{margin-top:10px}#member-choice-dialog .text-button{margin-top:18px}
@media print{.settings-subpage,.main-menu{display:none!important}}
.settings-link[hidden]{display:none}
.shopping-remind{width:auto;margin:0 0 12px;color:var(--accent);font-weight:700}
#toast{max-width:calc(100vw - 36px);white-space:normal;text-align:center}
/* Dashboard und Navigation: Menü als eigenständige Seite, nie als Overlay. */
body{background:linear-gradient(150deg,#132234 0%,#101c2a 56%,#0c1723 100%)}
.topbar{padding:calc(env(safe-area-inset-top) + 22px) 22px 8px}.topbar h1{font-size:31px;line-height:1.15}.content{padding:8px 18px calc(112px + env(safe-area-inset-bottom))}
.hero{position:relative;overflow:hidden;min-height:178px;background:radial-gradient(circle at 79% 75%,rgba(245,182,93,.58) 0 7%,transparent 8%),linear-gradient(155deg,#25364c 0%,#2b3d52 55%,#14283a 100%);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-38px;height:110px;border-radius:50% 55% 0 0;background:linear-gradient(150deg,transparent,#172a3d 35%,#101f2f 85%);opacity:.72;pointer-events:none}
.hero h2{color:var(--accent);font-size:24px;position:relative;z-index:1;margin:0 0 6px}.hero .muted,.hero-note{position:relative;z-index:1}.hero-note{margin:auto 0 0;font-size:13px;line-height:1.4}
.summary-grid{gap:10px}.summary{display:flex;align-items:center;gap:12px;min-height:88px;padding:12px;border-radius:20px}.summary-icon{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#152234;font-size:23px;font-weight:750}.summary strong{font-size:15px;margin:0;line-height:1.2}.summary small{display:block;margin-top:5px;font-size:11px}.section{margin-top:24px}.section-title button{font-size:13px;font-weight:700}
.home-week{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:3px 0 9px}.home-week::-webkit-scrollbar{display:none}.home-day{flex:none;width:calc((100% - 36px)/7);min-width:51px;display:flex;flex-direction:column;align-items:center;gap:7px;background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:14px;padding:10px 2px;color:var(--text);font-size:12px}.home-day.selected{border-color:var(--accent)}.home-day small{color:var(--muted);font-size:10px;white-space:nowrap}.home-day span{font-size:20px;color:var(--accent)}.home-events{border-radius:20px;padding:5px 16px}.home-events>.muted{padding:12px 0;margin:0}.home-event{display:flex;align-items:center;gap:12px;padding:11px 0}.home-event+.home-event{border-top:1px solid var(--line)}.home-event time{min-width:45px;color:var(--muted);font-size:12px}.home-event-dot{width:9px;height:9px;border-radius:50%;flex:none}.home-event strong,.home-event small{display:block}.home-event strong{font-size:14px}.home-event small{font-size:12px;color:var(--muted);margin-top:3px}
.tabbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;bottom:max(7px,env(safe-area-inset-bottom));max-width:580px;border-radius:22px}.tab{min-height:59px;font-size:10px;font-weight:650}.tab span{font-size:22px;margin-bottom:4px}.tab.active{color:var(--accent)}
#page-more>.eyebrow{margin-top:6px}#page-more>h2{color:var(--accent);margin-bottom:24px}.settings-link{gap:15px;min-height:75px;margin:11px 0}.settings-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#172334;font-size:23px;font-weight:800}.settings-description{flex:1;min-width:0}.settings-description strong{font-size:16px}.settings-description small{line-height:1.3}.settings-chevron{color:var(--muted)!important;font-size:25px}
@media(max-width:400px){.home-day{min-width:52px}.summary{gap:7px;padding:9px}.summary-icon{width:37px;height:37px}.summary strong{font-size:13px}.summary small{font-size:10px}}
@page{size:A4 landscape;margin:9mm}@media print{html,body{background:#fff!important;color:#111!important}.ambient,.topbar,.tabbar,.planner-toolbar,.planner-actions,#page-home,#page-tasks,#page-shopping,#page-more,#toast,#planner-dialog{display:none!important}#app,.content,#page-planner{display:block!important;max-width:none!important;padding:0!important;margin:0!important}#page-planner>p,#page-planner>h2{display:none!important}.print-week{break-after:page;page-break-after:always;margin:0!important}.print-week:last-child{break-after:auto;page-break-after:auto}body[data-print-week="1"] .print-week-2,body[data-print-week="2"] .print-week-1{display:none!important}.planner-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2mm}.planner-day{background:#fff!important;border:1px solid #888!important;border-radius:2mm;min-height:145mm;padding:2mm;break-inside:avoid}.planner-day-head{font-size:9pt}.planner-day-head small{color:#555!important}.planner-event{background:#f7f7f7!important;color:#111!important;font-size:8pt;padding:1.5mm;border-radius:1mm;break-inside:avoid}.planner-event small,.planner-legend{color:#333!important}.print-week h3{font-size:16pt;margin-bottom:4mm}.planner-legend{font-size:9pt;page-break-inside:avoid}}
.planner-name-toggle{display:flex;align-items:center;gap:9px}.planner-name-toggle input{width:auto;margin:0}
.emoji-select-button{display:flex;align-items:center;gap:8px;width:100%;margin-top:7px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(3,5,6,.45);font-size:25px}.emoji-select-button span{font-size:13px;color:var(--muted)}.emoji-dialog{width:min(95vw,530px)}.emoji-categories{display:flex;gap:7px;overflow-x:auto;padding:12px 0}.emoji-categories button{flex:none;border:0;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.08);font-size:12px}.emoji-categories button.active,.emoji-grid button.active{background:rgba(var(--accent-rgb),.3)}.emoji-grid{max-height:45dvh;overflow-y:auto}.emoji-grid h3{font-size:14px;margin:12px 0 7px}.emoji-grid section>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.emoji-grid section button{border:0;border-radius:9px;background:transparent;font-size:27px;min-height:42px;padding:4px}.emoji-grid section button:active{background:rgba(var(--accent-rgb),.25)}
.planner-event.is-hidden{opacity:.5;border-style:dashed}.store-row small{display:block;color:var(--muted);font-size:12px}.store-row button{white-space:nowrap}#plan-template-form fieldset{border:1px solid var(--line);border-radius:14px;padding:10px;margin:12px 0}#plan-template-form legend{color:var(--muted)}
.planner-anchor-form{display:flex;align-items:end;gap:10px;padding:12px;border-radius:16px;margin-bottom:12px}.planner-anchor-form label{flex:1;margin:0}.planner-anchor-form button{width:auto;white-space:nowrap}.planner-anchor-form input{margin-top:5px}@media(max-width:430px){.planner-anchor-form{display:block}.planner-anchor-form button{width:100%;margin-top:10px}}
@media print{body[data-print-week="1"] .print-week-1,body[data-print-week="2"] .print-week-2{break-after:auto!important;page-break-after:auto!important}}
@media print{.planner-anchor-form,.planner-event.is-hidden{display:none!important}}
