:root{--bg:#f6f6f4;--surface:#ffffff;--surface-soft:#fbfbfa;--text:#232a34;--muted:#68707d;--line:#e5e7ea;--brand:#4f84f4;--brand-dark:#3f6fd3;--danger:#ca4f57}*{box-sizing:border-box}body,html{padding:0;margin:0;color:var(--text);background:linear-gradient(180deg,#fbfbfa,#f4f4f2 70%);font-family:Avenir Next,Segoe UI,sans-serif}a{color:var(--brand-dark)}.container{max-width:1280px;margin:0 auto;min-height:100vh;padding:4.25rem 1rem 1rem}.day-shell{max-width:100vw;width:100vw;margin:0;height:100dvh;min-height:100dvh;padding:0;overflow:hidden}.demo-banner{position:fixed;top:.35rem;left:50%;transform:translateX(-50%);z-index:30;border:1px solid #cdddf4;background:rgba(255,255,255,.95);border-radius:999px;padding:.3rem .7rem;box-shadow:0 8px 20px rgba(19,44,75,.1)}.demo-banner p{margin:0;font-size:.78rem;color:#2f4663}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:0 1px 2px rgba(24,30,38,.04)}.hero{margin:18vh auto 0;max-width:560px;text-align:center}.landing-shell{min-height:100vh;width:100%;padding:1.25rem clamp(1rem,2.4vw,2rem) 2.5rem;background:radial-gradient(960px 500px at 10% -15%,#bfe2ff 0,transparent 60%),radial-gradient(860px 480px at 95% -20%,#ffd7ab 0,transparent 62%),radial-gradient(680px 380px at 70% 120%,#cfecdd 0,transparent 65%),linear-gradient(180deg,#f6faff,#edf4ff)}.landing-nav{max-width:1240px;margin:0 auto;height:56px;justify-content:space-between;gap:1rem}.landing-logo,.landing-nav{display:flex;align-items:center}.landing-logo{color:#1a2a44}.landing-logo-image{height:34px;width:auto;display:block}.landing-nav-actions{display:flex;align-items:center;gap:.7rem}.landing-nav-link{color:#334052;text-decoration:none;font-size:.9rem;font-weight:600}.landing-nav-button{border:1px solid #9ebdf0;background:linear-gradient(135deg,#ffffff,#eff5ff);color:#163159;border-radius:999px;height:38px;padding:0 .95rem;font-size:.88rem;font-weight:700;cursor:pointer}.landing-hero{max-width:1280px;margin:clamp(1.6rem,2.5vw,2.8rem) auto 0;display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:stretch}.landing-copy{border:1px solid #c8daf4;border-radius:24px;background:linear-gradient(165deg,rgba(255,255,255,.88),rgba(240,247,255,.9));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:clamp(1.15rem,2.1vw,2rem);box-shadow:0 20px 56px rgba(21,48,79,.12);max-width:none;margin:0;height:100%}.landing-eyebrow{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4b6a92}.landing-copy h1{margin:.5rem 0 0;font-size:clamp(2rem,4vw,3.1rem);line-height:1.06;letter-spacing:-.03em;color:#132741}.landing-copy p{margin:.95rem 0 0;font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.55;color:#445367;max-width:58ch}.landing-cta-row{margin-top:1.2rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.landing-primary-cta{border:none;border-radius:999px;height:44px;padding:0 1.1rem;background:linear-gradient(135deg,#4f84f4,#4672d4);color:#fff;font-weight:700;letter-spacing:.01em;cursor:pointer}.landing-secondary-cta{border:1px solid #b9cfee;border-radius:999px;height:44px;padding:0 1rem;display:inline-flex;align-items:center;text-decoration:none;color:#2e4765;font-size:.9rem;font-weight:700;background:rgba(244,249,255,.95)}.landing-secondary-cta-soft{border-color:#d5c0ef;background:#f5edff;color:#4a3672}.landing-proof-list{margin:1.05rem 0 0;padding:0;list-style:none;display:grid;grid-gap:.38rem;gap:.38rem;color:#2d4868;font-size:.9rem}.landing-proof-list li:before{content:"•";margin-right:.45rem;color:#4f84f4}.landing-joke{margin:.9rem 0 0;border:1px solid #e4d4ff;border-radius:12px;background:#f7f1ff;color:#4d3873;font-size:.86rem;max-width:none;padding:.52rem .6rem}.landing-preview{border:1px solid #c5daf7;border-radius:24px;background:linear-gradient(160deg,#ffffffee,#edf5ffea);padding:1rem;box-shadow:0 24px 60px rgba(23,45,74,.16);display:grid;grid-gap:.75rem;gap:.75rem;min-height:100%}.preview-topbar{border:1px solid #dde8f7;border-radius:12px;background:#f8fbff;padding:.5rem .6rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.9rem;color:#3e5066}.preview-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.68rem;gap:.68rem}.preview-column{border:1px solid #cbdef7;border-radius:12px;background:#f9fcff;padding:.45rem;min-height:260px;display:grid;align-content:start;grid-gap:.52rem;gap:.52rem}.preview-goal{border:1px dashed #ffc86f;border-radius:10px;background:#fff5df;color:#65491e;font-size:.8rem;padding:.42rem .46rem}.preview-column h3{margin:0 0 .1rem;font-size:.96rem;color:#26384f}.preview-event{border-radius:10px;border:1px solid transparent;padding:.5rem;display:grid;grid-gap:.24rem;gap:.24rem}.preview-event strong{font-size:.88rem;line-height:1.2;color:#18283f}.preview-event span{font-size:.8rem;color:#4a5e79}.preview-event-blue{border-color:#b8ceff;background:#e6efff}.preview-event-blue-soft{border-color:#cee1ff;background:#eef4ff}.preview-event-purple{border-color:#d8c3f7;background:#f1e9ff}.preview-event-green{border-color:#b7e4da;background:#e6f8f3}.preview-family-event{border:1px solid #a8c8fa;border-radius:12px;background:#deebff;padding:.65rem .75rem;font-size:.9rem;color:#1e3b60}.landing-feature-grid{max-width:1240px;margin:1rem auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.landing-feature-card{border:1px solid #d8e3f3;border-radius:16px;background:rgba(255,255,255,.82);padding:.9rem;box-shadow:0 10px 30px rgba(20,41,67,.06)}.landing-feature-card h2{margin:0;font-size:1rem;color:#163052}.landing-feature-card p{margin:.5rem 0 0;font-size:.9rem;line-height:1.45;color:#415065}.landing-steps{max-width:1240px;margin:.9rem auto 0;border:1px solid #d6e3f3;border-radius:16px;background:rgba(255,255,255,.82);padding:.9rem}.landing-steps h2{margin:0;font-size:1rem;color:#163052}.landing-steps ol{margin:.6rem 0 0;padding-left:1.15rem;color:#3a4d65;font-size:.9rem;display:grid;grid-gap:.3rem;gap:.3rem}.landing-steps-actions{margin-top:.75rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.how-shell{min-height:100vh;padding:1.2rem clamp(.9rem,2.2vw,2rem) 2.2rem;background:radial-gradient(900px 420px at 5% -10%,#c4e5ff 0,transparent 60%),radial-gradient(760px 340px at 95% -12%,#ffd4ad 0,transparent 60%),linear-gradient(180deg,#f6faff,#eef4ff)}.how-header{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.9rem}.how-back-link{text-decoration:none;color:#193259}.how-logo-image{height:34px;width:auto;display:block}.how-header-actions{display:flex;align-items:center;gap:.6rem}.how-primary,.how-secondary{border-radius:999px;height:40px;padding:0 .95rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center}.how-primary{border:none;background:linear-gradient(135deg,#4f84f4,#3f6fd3);color:#fff;cursor:pointer}.how-secondary{border:1px solid #bbceea;background:#f7faff;color:#2a4668}.how-hero{max-width:1180px;margin:1.15rem auto 0;border:1px solid #c9dcf5;border-radius:22px;background:linear-gradient(150deg,#ffffffee,#ecf4ffea);padding:clamp(1rem,2vw,1.7rem)}.how-kicker{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#51719a}.how-hero h1{margin:.45rem 0 0;font-size:clamp(1.8rem,3.8vw,2.7rem);letter-spacing:-.02em;color:#16325a}.how-hero p{margin:.75rem 0 0;max-width:64ch;color:#415673}.how-steps{max-width:1180px;margin:.9rem auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.how-step-card{border:1px solid #cfe0f6;border-radius:14px;background:#ffffffde;padding:.75rem}.how-step-number{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#5a7ba8}.how-step-card h2{margin:.35rem 0 0;font-size:.96rem;color:#17365f}.how-step-card p{margin:.45rem 0 0;font-size:.84rem;line-height:1.42;color:#425978}.how-details-grid{max-width:1180px;margin:.8rem auto 0;display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem}.how-detail-card{border:1px solid #d2e1f5;border-radius:16px;background:#ffffffde;padding:.9rem}.how-detail-card h2{margin:0;font-size:1rem;color:#153055}.how-detail-card ul{margin:.6rem 0 0;padding-left:1.05rem;display:grid;grid-gap:.34rem;gap:.34rem;color:#405875;font-size:.9rem}.how-faq{max-width:1180px;margin:.8rem auto 0}.how-faq h2{margin:0;font-size:1.12rem;color:#19355c}.how-faq-grid{margin-top:.65rem;display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.how-faq-card{border:1px solid #d1e0f4;border-radius:14px;background:#ffffffde;padding:.8rem}.how-faq-card h3{margin:0;font-size:.92rem;color:#1d3a60}.how-faq-card p{margin:.45rem 0 0;font-size:.87rem;line-height:1.45;color:#405a78}.demo-shell{min-height:100vh;padding:1.2rem clamp(.9rem,2.3vw,2rem) 2rem;background:radial-gradient(920px 420px at 12% -10%,#d7eaff 0,transparent 58%),radial-gradient(800px 360px at 88% -12%,#ffe2c3 0,transparent 60%),linear-gradient(180deg,#f6fbff,#edf4ff)}.demo-header{max-width:1260px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.demo-kicker{margin:0;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#567199}.demo-header h1{margin:.35rem 0 0;font-size:clamp(1.8rem,3.7vw,2.6rem);color:#1a355c}.demo-header p{margin:.65rem 0 0;color:#435b79;max-width:68ch}.demo-header-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.demo-secondary{border:1px solid #bad0ef;border-radius:999px;height:40px;padding:0 .92rem;display:inline-flex;align-items:center;text-decoration:none;color:#2b496d;background:#f7faff;font-size:.88rem;font-weight:700}.demo-grid-shell{max-width:1260px;margin:1rem auto 0;border:1px solid #cbdcf4;border-radius:20px;background:#fffffff0;padding:.75rem;box-shadow:0 18px 48px rgba(24,45,72,.12)}.demo-family-events h2{margin:0;font-size:.93rem;color:#19365e}.demo-family-events-list{margin-top:.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.demo-family-event{border:1px solid #9fc2f9;border-radius:11px;background:#dce9ff;padding:.45rem .55rem;display:grid;grid-gap:.1rem;gap:.1rem}.demo-family-event span{font-size:.74rem;color:#355b8b}.demo-family-event strong{font-size:.84rem;color:#1f3f67}.demo-columns{margin-top:.65rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.demo-column{border:1px solid #d3e0f2;border-radius:14px;background:#fdfefe;overflow:hidden}.demo-member-header{padding:.56rem .6rem;border-bottom:1px solid rgba(22,50,85,.12)}.demo-member-header h3{margin:0;font-size:.95rem;color:#1a3558}.demo-member-header span{font-size:.76rem;color:#3f5c80}.demo-member-blue{background:linear-gradient(180deg,#e3efff,#f1f6ff)}.demo-member-purple{background:linear-gradient(180deg,#efe5ff,#f7f1ff)}.demo-member-green{background:linear-gradient(180deg,#e3f7f1,#f1fcf8)}.demo-member-orange{background:linear-gradient(180deg,#ffedd8,#fff6ea)}.demo-events,.demo-goals{padding:.56rem}.demo-events h4,.demo-goals h4{margin:0;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em;color:#507099}.demo-goals ul{margin:.45rem 0 0;padding-left:1rem;display:grid;grid-gap:.27rem;gap:.27rem;color:#3f5673;font-size:.82rem}.demo-event-tile{margin-top:.42rem;border:1px solid #c6d9f5;border-radius:9px;background:#eef4ff;padding:.4rem;display:grid;grid-gap:.1rem;gap:.1rem}.demo-event-tile span{font-size:.73rem;color:#416386}.demo-event-tile strong{font-size:.81rem;color:#1f3d63}.topbar{justify-content:space-between;gap:.8rem;margin-bottom:1rem}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:.55rem}.pill-link{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .8rem;text-decoration:none;color:var(--text);font-size:.88rem}.overlay-header{position:fixed;top:.25rem;left:.4rem;right:.4rem;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.overlay-brand{margin:0;font-size:.75rem;font-weight:700;border:1px solid var(--line);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:.2rem .5rem;pointer-events:auto}.account-overlay{position:relative;pointer-events:auto}.account-overlay summary{list-style:none;border:1px solid var(--line);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:.2rem .55rem;cursor:pointer;font-size:.74rem}.account-overlay summary::-webkit-details-marker{display:none}.account-overlay-menu{position:absolute;right:0;top:calc(100% + .4rem);width:220px;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 10px 24px rgba(23,28,35,.1);padding:.6rem;display:grid;grid-gap:.45rem;gap:.45rem}.account-overlay-menu p{margin:0;color:var(--muted);font-size:.82rem;word-break:break-word}.account-overlay-menu a{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;text-decoration:none;color:var(--text);font-size:.86rem;background:#fff}.topbar h1{margin:0;font-size:1.4rem}.topbar p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}.control-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;margin-top:1rem}.control-card h2{margin:0 0 .2rem;font-size:1.05rem}.section-caption{margin:0 0 .8rem;color:var(--muted);font-size:.88rem}.control-wide{grid-column:1/-1}.goals-rewards-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem;margin-bottom:.7rem}.goals-rewards-block{border:1px solid var(--line);border-radius:10px;padding:.6rem;background:var(--surface-soft)}.goals-rewards-block h3{margin:0 0 .5rem;font-size:.9rem}@media (max-width:1024px){.landing-feature-grid,.landing-hero{grid-template-columns:1fr}.how-steps{grid-template-columns:1fr 1fr}.how-details-grid,.how-faq-grid{grid-template-columns:1fr}.demo-columns{grid-template-columns:1fr 1fr}}@media (max-width:720px){.landing-shell{padding:.9rem .7rem 1.5rem}.landing-nav{height:auto;align-items:flex-start;flex-direction:column;gap:.7rem}.landing-nav-actions{width:100%;justify-content:space-between}.preview-columns{grid-template-columns:1fr}.demo-header,.how-header{flex-direction:column;align-items:flex-start}.how-header-actions{width:100%}.how-primary,.how-secondary{flex:1 1;justify-content:center}.demo-columns,.demo-family-events-list,.how-steps{grid-template-columns:1fr}}.member-checkboxes{margin:0;padding:.5rem;border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:.3rem;gap:.3rem}.onboarding-shell{min-height:100vh;width:100%;background:radial-gradient(1000px 420px at 12% -20%,#d9f0ff 0,transparent 60%),radial-gradient(880px 380px at 88% -15%,#ffe8cf 0,transparent 62%),linear-gradient(180deg,#f7fafc,#eef3f8);display:grid;place-items:center;padding:1rem}.onboarding-card{width:min(1160px,100%);min-height:min(90vh,860px);border:1px solid #dbe4ef;border-radius:24px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 26px 70px rgba(20,38,58,.12);display:grid;grid-template-columns:300px minmax(0,1fr);overflow:hidden}.onboarding-center{grid-template-columns:1fr}.onboarding-rail{border-right:1px solid #e0e8f1;background:linear-gradient(180deg,#fbfdff,#f5f8fb);padding:1.2rem;display:grid;align-content:start;grid-gap:.65rem;gap:.65rem}.onboarding-logo-image{height:30px;width:auto}.onboarding-eyebrow{margin:0;display:inline-flex;width:max-content;border:1px solid #c6d7ea;border-radius:999px;background:#eff6ff;padding:.16rem .5rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#335d92}.onboarding-rail h1{margin:0;font-size:1.34rem}.onboarding-rail p{margin:0;color:#5f6b7a;font-size:.86rem}.onboarding-rail ol{list-style:none;margin:.3rem 0 0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.onboarding-rail li{border:1px solid #d8e1eb;border-radius:10px;padding:.35rem .5rem;color:#6f7a88;background:#fff;font-size:.82rem}.onboarding-rail li.is-active{border-color:#8fb7e5;background:#ecf5ff;color:#204b7f;font-weight:600}.onboarding-main{padding:1.2rem;overflow:auto}.onboarding-panel{border:1px solid #dfe7f0;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(22,38,58,.06);padding:1rem;display:grid;grid-gap:.7rem;gap:.7rem}.onboarding-panel h2{margin:0;font-size:1.1rem}.onboarding-panel h3{margin:0;font-size:.95rem}.onboarding-panel p{margin:0;color:#657180}.onboarding-note{margin:0;font-size:.84rem;color:#5f6e80}.onboarding-calendar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.45rem;gap:.45rem}.onboarding-check{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #d8e1eb;border-radius:10px;padding:.35rem .5rem;background:#fff;color:#273345;font-size:.85rem}.onboarding-check input[type=checkbox]{width:auto;margin:0}.onboarding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.55rem;gap:.55rem}.onboarding-inline-actions{border:1px solid #d7e2ee;border-radius:12px;background:#f8fbff;padding:.65rem;display:grid;grid-gap:.45rem;gap:.45rem;align-content:start}.onboarding-inline-actions strong{color:#254b7d}.onboarding-grid label,.onboarding-panel label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.82rem;color:#536071}.onboarding-kids{border:1px dashed #cedae8;border-radius:12px;padding:.7rem;display:grid;grid-gap:.55rem;gap:.55rem}.onboarding-kids-head{display:flex;justify-content:space-between;align-items:center}.onboarding-goal,.onboarding-kid{border:1px solid #dfe7f0;border-radius:10px;padding:.55rem;display:grid;grid-gap:.45rem;gap:.45rem;background:#fcfdff}.onboarding-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.member-checkboxes legend{color:var(--muted);font-size:.82rem;padding:0 .2rem}.family-columns-card{overflow:hidden;padding:.55rem;height:100dvh;min-height:0;display:flex;flex-direction:column;border-radius:0}.family-columns-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.45rem;margin-bottom:.4rem}.family-columns-heading{display:grid;grid-gap:.18rem;gap:.18rem}.family-columns-toolbar h2{margin:0;font-size:.98rem}.family-columns-title-row{display:flex;align-items:center;gap:.45rem}.family-columns-toolbar p{margin:0;color:var(--muted);font-size:.8rem}.family-columns-nav{display:flex;gap:.45rem}.family-columns-toolbar-right{display:flex;align-items:center;gap:.4rem}.family-columns-nav a{border:1px solid var(--line);border-radius:999px;padding:.18rem .48rem;text-decoration:none;background:#fff;color:var(--text);font-size:.74rem}.member-filter-form{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-bottom:.35rem}.member-chip{--member-color:#4f84f4;display:inline-flex;align-items:center;gap:.45rem;border:1px solid color-mix(in srgb,var(--member-color) 40%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--member-color) 12%,#fff);padding:.18rem .42rem;color:#223043;font-size:.76rem}.member-chip input[type=checkbox]{width:auto;margin:0}.family-columns-grid{overflow-x:auto;overflow-y:auto;display:grid;grid-column-gap:.35rem;column-gap:.35rem;grid-row-gap:0;row-gap:0;align-items:start;align-content:stretch;flex:1 1;min-height:0}.member-column-head{--member-color:#4f84f4;font-weight:700;padding:.2rem .35rem;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:.4rem;background:#fff;justify-content:space-between}.member-head-label{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.member-head-label a{color:#1f2b3b;text-decoration:none}.member-head-label a:hover{text-decoration:underline}.member-remove-link{width:18px;height:18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:#4b5565;background:#fff;line-height:1;font-size:.82rem}.member-remove-link.is-disabled{opacity:.45}.add-member-menu{position:relative}.add-member-menu summary{list-style:none;min-height:30px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;color:#2f3a4a;font-size:.8rem;padding:.2rem .65rem}.add-member-menu summary::-webkit-details-marker{display:none}.add-member-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(20,30,40,.12);padding:.3rem;display:grid;grid-gap:.22rem;gap:.22rem;z-index:20}.settings-menu{position:relative}.settings-menu summary{list-style:none;min-height:30px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;color:#2f3a4a;font-size:.8rem;padding:.2rem .65rem}.settings-menu summary::-webkit-details-marker{display:none}.settings-popover{position:absolute;top:calc(100% + 6px);right:0;width:220px;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 10px 24px rgba(23,28,35,.1);padding:.6rem;display:grid;grid-gap:.45rem;gap:.45rem;z-index:20}.settings-popover p{margin:0;color:var(--muted);font-size:.76rem}.settings-popover a{border:1px solid var(--line);border-radius:9px;padding:.35rem .45rem;text-decoration:none;color:#2f3a4a;font-size:.82rem;background:#fff}.add-member-popover a,.add-member-popover p{margin:0;padding:.3rem .4rem;border-radius:8px;text-decoration:none;color:#2c394a;font-size:.8rem}.add-member-popover a:hover{background:#eef3fb}.time-rail-head-spacer{min-height:0;height:0}.member-dot{width:10px;height:10px;border-radius:50%;background:var(--member-color);flex:0 0 auto}.time-rail{position:relative;min-height:360px}.time-label{position:absolute;transform:translateY(-50%);color:var(--muted);font-size:.76rem}.member-column-body{display:grid;grid-gap:.28rem;gap:.28rem;align-content:start}.all-day-time-rail-spacer,.member-all-day-cell{min-height:0}.all-day-time-rail-spacer{align-items:center}.all-day-time-rail-spacer,.rewards-time-rail-spacer{display:flex;justify-content:flex-start;color:var(--muted);font-size:.76rem;padding:.2rem 0}.rewards-time-rail-spacer{align-items:flex-start}.member-rewards-cell{display:grid;grid-gap:.28rem;gap:.28rem;align-content:start;padding-bottom:.25rem}.member-rewards-empty{min-height:6px}.shared-all-day-lane{border:1px solid #b9d5ff;border-radius:10px;background:#f3f8ff;padding:.34rem .45rem;display:grid;grid-gap:.3rem;gap:.3rem}.shared-all-day-grid-cell{grid-column:2/-1}.shared-all-day-lane p{margin:0;color:#2a4f8f;font-size:.74rem;font-weight:700}.shared-all-day-lane ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.shared-all-day-lane li{border:1px solid #9ec3ff;border-radius:999px;background:#fff;color:#1f3f78;padding:.16rem .45rem;font-size:.72rem}.shared-timed-ribbon-cell{grid-column:2/-1}.shared-timed-ribbon{border:1px solid #b9d5ff;border-radius:10px;background:#f3f8ff;padding:.28rem .35rem;display:flex;flex-wrap:wrap;gap:.3rem}.shared-timed-ribbon-event{border:1px solid #7badff;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(20,44,87,.08);padding:.12rem .42rem;display:inline-grid;gap:.05rem;text-align:left;color:#1f3f78;font-size:.72rem}.shared-timed-ribbon-event strong{font-size:.74rem;color:#1d3b72}.goal-summary{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.26rem .36rem}.goal-title{margin:0;font-size:.78rem;font-weight:700}.goal-progress{margin:.15rem 0 .3rem;color:var(--muted);font-size:.73rem}.goal-progress-bar{height:6px;border-radius:999px;background:#eef1f5;overflow:hidden}.goal-progress-bar span{display:block;height:100%;background:var(--brand)}.task-buttons{display:flex;flex-wrap:wrap;gap:.3rem}.task-buttons form{margin:0}button.task-complete{border:1px solid var(--line);background:#fff;color:#223043;border-radius:999px;padding:.2rem .45rem;font-size:.72rem}.emoji-burst{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #f3dba0;background:#fff9e7;border-radius:999px;padding:.2rem .45rem;font-size:.74rem;animation:pop-in .42s ease-out}@keyframes pop-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.all-day-lane{border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:.24rem .3rem}.all-day-lane p{margin:0;color:var(--muted);font-size:.8rem}.all-day-lane ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.all-day-lane li{padding:0;border:none;background:transparent}.all-day-event-button{width:100%;border:1px solid var(--line);border-radius:8px;padding:.12rem .32rem;background:#fff;font-size:.74rem;color:#2b3442;text-align:left;line-height:1.25}.all-day-lane-empty{background:transparent;border-style:dashed;opacity:.45;min-height:0;padding:.12rem}.day-lane{position:relative;min-height:360px;border:1px solid var(--line);border-radius:10px;background-image:repeating-linear-gradient(to bottom,#ffffff 0,#ffffff calc(100% / var(--hour-count, 24) - 1px),#eef0f3 calc(100% / var(--hour-count, 24) - 1px),#eef0f3 calc(100% / var(--hour-count, 24)))}.empty-lane{margin:0;padding:.4rem;color:var(--muted);font-size:.82rem}.timed-event{position:absolute;border-radius:9px;border:1px solid var(--brand);background:#e8f0ff;padding:.25rem .35rem;overflow:hidden;display:grid;grid-gap:.1rem;gap:.1rem;font-size:.72rem;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#1f2e44;z-index:4}.timed-event strong{font-size:.74rem;line-height:1.2}.event-overlay-backdrop{position:fixed;inset:0;background:rgba(18,24,34,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.event-overlay-panel{width:min(560px,96vw);border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(20,30,40,.2);padding:.8rem;display:grid;grid-gap:.7rem;gap:.7rem}.event-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.event-overlay-head h3{margin:0;font-size:1rem}.event-overlay-grid{display:grid;grid-gap:.6rem;gap:.6rem}.event-overlay-actions{display:flex;gap:.45rem;justify-content:flex-end}.calendar-list{list-style:none;margin:0 0 .75rem;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.calendar-list li{border:1px solid var(--line);border-radius:9px;padding:.35rem .55rem;background:var(--surface-soft);font-size:.88rem}.event-list{display:grid;list-style:none;padding:0;margin:0;grid-gap:.55rem;gap:.55rem}.event-item{border:1px solid var(--line);border-radius:10px;padding:.65rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--surface-soft)}.event-item h3{margin:0;font-size:.96rem}.event-item p{margin:.15rem 0 .25rem;color:var(--muted);font-size:.85rem}.goal-wizard{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#ffffff,#f8fbff);padding:.65rem;display:grid;grid-gap:.65rem;gap:.65rem}.goal-wizard-progress{display:flex;gap:.35rem}.goal-wizard-progress span{width:24px;height:24px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.goal-wizard-progress span.is-active{border-color:#9dc0ff;color:#1f4e9d;background:#eaf2ff}.goal-wizard-step{display:grid;grid-gap:.55rem;gap:.55rem}.goal-wizard-step h4{margin:0;font-size:.95rem}.goal-wizard-step p{margin:0;color:var(--muted);font-size:.84rem}.goal-wizard-actions{display:flex;justify-content:flex-end;gap:.4rem}.stack{display:grid;grid-gap:.75rem;gap:.75rem}label{display:grid;grid-gap:.3rem;gap:.3rem;color:var(--muted);font-size:.9rem}.error{border:1px solid #efc3c6;background:#fff3f4;color:#8a2f36;border-radius:10px;padding:.55rem .7rem}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:.55rem .65rem;width:100%;background:#fff}.checkbox-row{grid-template-columns:auto 1fr;align-items:center;gap:.5rem}.checkbox-row input[type=checkbox]{width:auto;margin:0}button{border:none;border-radius:10px;padding:.6rem .9rem;cursor:pointer;background:var(--brand);color:#fff}button:hover{background:var(--brand-dark)}button.secondary{background:#eef2f7;color:#2f3a4a}button.danger{background:var(--danger)}@media (max-width:980px){.control-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%;justify-content:space-between}.family-columns-toolbar{flex-direction:column;align-items:flex-start}.family-columns-title-row{flex-wrap:wrap}.container{padding-top:4rem}.day-shell{height:100dvh;min-height:100dvh;padding:0}.goals-rewards-grid{grid-template-columns:1fr}}