*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;background:#fbfaf7;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;color:#11172f}
button,input,textarea,select{-webkit-appearance:none;appearance:none;font:inherit}
input[type=checkbox]{-webkit-appearance:auto;appearance:auto}
button,[onclick]{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.app{max-width:430px;margin:0 auto;padding:env(safe-area-inset-top,16px) 16px calc(env(safe-area-inset-bottom,24px) + 12px);min-height:100vh;position:relative;overflow-x:hidden}
.screen{display:none}.screen.active{display:block}
.screen-enter{animation-duration:.32s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both;will-change:transform,opacity}
.screen-enter-forward{animation-name:screen-slide-in-right}.screen-enter-back{animation-name:screen-slide-in-left}
.screen-leave{display:block!important;position:absolute;left:16px;right:16px;top:env(safe-area-inset-top,16px);z-index:0;pointer-events:none;animation-duration:.26s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both;will-change:transform,opacity}
.screen-leave-forward{animation-name:screen-slide-out-left}.screen-leave-back{animation-name:screen-slide-out-right}
.screen-enter{position:relative;z-index:1}
@keyframes screen-slide-in-right{from{opacity:.35;transform:translateX(34px)}to{opacity:1;transform:translateX(0)}}
@keyframes screen-slide-in-left{from{opacity:.35;transform:translateX(-34px)}to{opacity:1;transform:translateX(0)}}
@keyframes screen-slide-out-left{from{opacity:1;transform:translateX(0)}to{opacity:.08;transform:translateX(-28px)}}
@keyframes screen-slide-out-right{from{opacity:1;transform:translateX(0)}to{opacity:.08;transform:translateX(28px)}}
@media (prefers-reduced-motion:reduce){
  .screen-enter,.screen-leave{animation:none!important}
}
.top-bar{display:flex;align-items:center;margin-bottom:1rem;min-height:36px}
.back-btn{background:none;border:none;color:#3c3489;font-size:16px;font-weight:600;cursor:pointer;padding:6px 0;font-family:inherit;display:flex;align-items:center;gap:4px}
.back-btn:active{opacity:.6}
.logo{font-size:11px;font-weight:600;color:#999;letter-spacing:.07em;text-transform:uppercase;flex:1;text-align:center}
.logo-left{font-size:11px;font-weight:600;color:#999;letter-spacing:.07em;text-transform:uppercase}
.back-spacer{width:60px}
.q{font-size:19px;font-weight:600;color:#11172f;line-height:1.35;margin-bottom:.3rem}
.sub{font-size:14px;color:#666;margin-bottom:1.4rem;line-height:1.5}
.progress{display:flex;gap:5px;margin-bottom:1.5rem}
.pd{height:3px;flex:1;border-radius:2px;background:#e0e0e0}.pd.done{background:#6c63d4}.pd.active{background:#3c3489}
.btn-row{display:flex;gap:10px;margin-bottom:1rem}
.btn{flex:1;padding:15px 12px;border-radius:14px;border:1.5px solid #ddd;background:#fff;color:#1a1a1a;font-size:15px;font-weight:600;cursor:pointer;text-align:center;transition:all .15s;font-family:inherit}
.btn:active{opacity:.7;transform:scale(.98)}
.btn.sel{border-color:#3c3489;background:#eeedfe;color:#3c3489}
.btn.sel-mom{border-color:#993c1d;background:#faece7;color:#993c1d}
.btn.sel-other{border-color:#854f0b;background:#faeeda;color:#854f0b}
.btn.primary{background:#3c3489;color:#fff;border-color:#3c3489}
.btn.mom-primary{background:#993c1d;color:#fff;border-color:#993c1d}
.btn.primary:disabled,.btn.mom-primary:disabled{opacity:.35}
.btn-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:1rem}
.btn-3col .btn{padding:16px 8px;font-size:13px}
.kid-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.25rem}
.kid-btn{padding:20px 12px;border-radius:14px;border:2px solid #ddd;background:#fff;color:#1a1a1a;font-size:17px;font-weight:600;cursor:pointer;text-align:center;position:relative;font-family:inherit;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}
.kid-btn:active{opacity:.7}
.kid-btn.with-dad{border-color:#3c3489;background:#eeedfe;color:#3c3489}
.kid-btn.with-dad::after{content:"✓";position:absolute;top:7px;right:10px;font-size:12px;color:#3c3489}
.kid-btn.with-mom{border-color:#993c1d;background:#faece7;color:#993c1d}
.kid-btn.with-mom::after{content:"✓";position:absolute;top:7px;right:10px;font-size:12px;color:#993c1d}
.kid-btn.all-mom{border-color:#993c1d;background:#faece7;color:#993c1d}
.kid-btn.all-mom::after{content:"✓";position:absolute;top:7px;right:10px;font-size:12px;color:#993c1d}
.who-summary{background:#f2f2f0;border-radius:10px;padding:11px 14px;margin-bottom:1.25rem;font-size:14px;color:#666;line-height:1.6}
.option-list{display:flex;flex-direction:column;gap:8px;margin-bottom:1.4rem}
.opt{padding:14px 16px;border-radius:12px;border:1.5px solid #e5e5e5;background:#fff;color:#1a1a1a;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:inherit}
.opt:active{opacity:.7}
.opt.sel{border-color:#3c3489;background:#eeedfe;color:#3c3489}
.chk{width:22px;height:22px;border-radius:50%;border:1.5px solid #ccc;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent}
.opt.sel .chk{background:#3c3489;border-color:#3c3489;color:#fff}
.kid-loop-header{display:flex;align-items:center;gap:12px;margin-bottom:1.25rem;padding:13px 15px;background:#f2f2f0;border-radius:14px}
.avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}
.av-dad{background:#eeedfe;color:#3c3489}.av-mom{background:#faece7;color:#712b13}
.step-lbl{font-size:12px;color:#999;margin-bottom:2px}
textarea{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid #ddd;background:#fff;color:#1a1a1a;font-size:15px;font-family:inherit;resize:none;min-height:110px;line-height:1.5;outline:none}
textarea:focus{border-color:#6c63d4}
input[type=text],input[type=date]{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid #ddd;background:#fff;color:#1a1a1a;font-size:15px;font-family:inherit;margin-bottom:1rem;outline:none}
input[type=text]:focus,input[type=date]:focus{border-color:#6c63d4}
.sec-lbl{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;margin-top:1.25rem}
hr{border:none;border-top:1px solid #ebebeb;margin:1.25rem 0}
.banner{border-radius:14px;padding:14px 16px;margin-bottom:1.25rem;display:flex;gap:12px;align-items:flex-start}
.banner-dad{background:#eeedfe}.banner-mom{background:#faece7}.banner-other{background:#faeeda}
.banner-title{font-size:14px;font-weight:600;margin-bottom:2px}
.banner-dad .banner-title{color:#3c3489}.banner-dad .banner-sub{font-size:13px;color:#534ab7;line-height:1.4}
.banner-mom .banner-title{color:#712b13}.banner-mom .banner-sub{font-size:13px;color:#993c1d;line-height:1.4}
.banner-other .banner-title{color:#633806}.banner-other .banner-sub{font-size:13px;color:#854f0b;line-height:1.4}
.scene-card{background:#fff;border:2px solid #ddd;border-radius:14px;padding:16px;margin-bottom:10px;cursor:pointer}
.scene-card:active{opacity:.7}
.scene-card.sel-dad{border-color:#3c3489;background:#eeedfe}
.scene-card.sel-dad .scene-title{color:#3c3489}.scene-card.sel-dad .scene-desc{color:#534ab7}
.scene-card.sel-warn{border-color:#854f0b;background:#faeeda}
.scene-card.sel-warn .scene-title{color:#633806}.scene-card.sel-warn .scene-desc{color:#854f0b}
.scene-icon{font-size:22px;margin-bottom:7px}
.scene-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:3px}
.scene-desc{font-size:13px;color:#666;line-height:1.4}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1.25rem}
.act-btn{padding:13px 10px;border-radius:12px;border:1.5px solid #e5e5e5;background:#fff;color:#1a1a1a;font-size:13px;font-weight:500;cursor:pointer;text-align:center;font-family:inherit}
.act-btn:active{opacity:.7}
.act-btn.sel{border-color:#3c3489;background:#eeedfe;color:#3c3489}
/* Calendar */
.calendar-shell{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
.calendar-top{display:flex;align-items:center;justify-content:space-between;margin:10px 0 28px}
.calendar-brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;color:#11172f;letter-spacing:0}
.calendar-brand svg{flex-shrink:0;filter:drop-shadow(0 8px 16px rgba(68,48,160,.18))}
.calendar-tabs{border-bottom:1px solid #e3e0e8;margin:0 0 28px}
.calendar-tabs .nav-tab{padding:13px 4px 15px;font-size:18px;font-weight:800;color:#8a8894;border-bottom-width:3px}
.calendar-tabs .nav-tab.active{color:#4430a0;border-bottom-color:#4430a0}
.cal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.cal-title-txt{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:800;line-height:1.08;color:#11172f;letter-spacing:0}
.cal-nav-actions{display:flex;gap:10px}
.cal-nav-btn{border:1.5px solid #e1e0e5;background:#fff;color:#11172f;border-radius:18px;width:54px;height:54px;cursor:pointer;font-size:30px;line-height:1;font-family:inherit;box-shadow:0 8px 18px rgba(28,22,48,.05)}
.cal-nav-btn:active{transform:scale(.97);opacity:.75}
.legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:22px}
.leg-item{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10.5px;color:#11172f;border:1px solid #e1e0e5;background:#fff;border-radius:999px;padding:6px 4px;box-shadow:0 6px 14px rgba(28,22,48,.03);min-width:0;line-height:1.1;white-space:nowrap}
.leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.leg-dot.dad-day{background:#e8f5e2;border:1.5px solid #a3d18a}
.leg-dot.dad-day-mom-has{background:#ddeeff;border:2px solid #d88916}
.leg-dot.mom-day{background:#ddeeff;border:1.5px solid #7ab8f5}
.leg-dot.mom-day-dad-has{background:#e8f5e2;border:2px solid #d88916}
.leg-dot.changed{background:#fff;border:2px solid #d88916;position:relative}
.leg-dot.changed::after{content:"";position:absolute;right:-3px;top:-3px;width:5px;height:5px;border-radius:50%;background:#d88916}
.leg-dot.unlogged{background:#f0edf2}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:18px}
.cal-lbl{text-align:center;font-size:12px;color:#8a8894;padding:4px 0 8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.cal-cell{aspect-ratio:.86;border-radius:15px;display:flex;align-items:center;justify-content:center;padding:10px 4px;font-size:13px;cursor:pointer;border:1.5px solid #e8e5ec;background:#fff;position:relative;box-shadow:0 6px 14px rgba(28,22,48,.03);overflow:hidden}
.cal-cell:active{opacity:.75;transform:scale(.98)}
.cal-date-num{font-size:20px;font-weight:700;line-height:1;color:#11172f}
/* Your day — kids with you: soft green */
.cal-cell.dad-day{background:#e8f5e2;border-color:#a3d18a}
.cal-cell.dad-day .cal-date-num{color:#2d6a1f}

/* Changed day — fill shows who had the kids, amber treatment shows the schedule changed */
.cal-cell.dad-day-mom-has{background:#ddeeff;border-color:#d88916;border-width:2.5px;position:relative;overflow:hidden}
.cal-cell.dad-day-mom-has .cal-date-num{color:#1a4a8a;position:relative;z-index:2}
.cal-cell.dad-day-mom-has::after{content:"";position:absolute;right:0;top:0;width:0;height:0;border-style:solid;border-width:0 17px 17px 0;border-color:transparent #d88916 transparent transparent;z-index:1}

/* Co-parent's day — kids with co-parent: soft blue */
.cal-cell.mom-day{background:#ddeeff;border-color:#7ab8f5}
.cal-cell.mom-day .cal-date-num{color:#1a4a8a}

.cal-cell.mom-day-dad-has{background:#e8f5e2;border-color:#d88916;border-width:2.5px;position:relative;overflow:hidden}
.cal-cell.mom-day-dad-has .cal-date-num{color:#2d6a1f;position:relative;z-index:2}
.cal-cell.mom-day-dad-has::after{content:"";position:absolute;right:0;top:0;width:0;height:0;border-style:solid;border-width:0 17px 17px 0;border-color:transparent #d88916 transparent transparent;z-index:1}

.cal-cell.missed{background:#f6f4f5;color:#aaa}
.cal-cell.today:not(.selected){box-shadow:inset 0 0 0 1px rgba(68,48,160,.42),0 8px 18px rgba(68,48,160,.06)}
.cal-cell.selected{box-shadow:inset 0 0 0 3px #11172f,0 10px 20px rgba(17,23,47,.14)}
.day-detail-card{background:#fff;border:1.5px solid #e1e0e5;border-radius:20px;padding:18px;margin:18px 0 22px;box-shadow:0 10px 24px rgba(28,22,48,.06)}
.day-detail-date{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:800;line-height:1.1;color:#11172f;margin-bottom:16px}
.day-detail-row{border-top:1px solid #efedf4;padding:12px 0;display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}
.day-detail-row:last-child{padding-bottom:0}
.day-detail-label{font-size:12px;font-weight:800;color:#8a8894;text-transform:uppercase;letter-spacing:.1em}
.day-detail-value{font-size:15px;color:#11172f;line-height:1.45}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.25rem}
.stat-card{background:#f2f2f0;border-radius:12px;padding:13px 15px}
.stat-num{font-size:26px;font-weight:700;color:#1a1a1a}
.stat-num-red{color:#c0392b}
.stat-lbl{font-size:12px;color:#666;margin-top:3px;line-height:1.3}
.entry-card{background:#fff;border:1px solid #ebebeb;border-radius:14px;padding:14px 16px;margin-bottom:10px}
.entry-date-lbl{font-size:13px;font-weight:500;color:#666;margin-bottom:6px}
.entry-row{font-size:13px;color:#1a1a1a;margin-bottom:3px;line-height:1.5}
.entry-meta-note{font-size:11px;color:#8a8894;margin-top:8px;line-height:1.35}
.entry-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px}
.entry-attachment-full{margin-top:12px;border-radius:12px;overflow:hidden;background:#11172f;border:1px solid #e0dce8}
.entry-attachment-full img{width:100%;max-height:420px;object-fit:contain;display:block}
.tag{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;display:inline-block}
.tag-dad{background:#eeedfe;color:#3c3489}.tag-mom{background:#faece7;color:#993c1d}
.tag-other{background:#faeeda;color:#633806}.tag-teal{background:#e1f5ee;color:#085041}
.nav-tabs{display:flex;border-bottom:1px solid #ebebeb;margin-bottom:1.5rem}
.nav-tab{flex:1;padding:11px 4px;text-align:center;font-size:13px;font-weight:600;color:#999;cursor:pointer;border-bottom:2.5px solid transparent}
.nav-tab.active{color:#3c3489;border-bottom-color:#3c3489}
.success-ring{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:1.5rem auto 1rem;font-size:32px}
.summary-box{font-size:14px;color:#1a1a1a;line-height:1.7;background:#f2f2f0;border-radius:12px;padding:14px;margin-bottom:1rem}
.report-shell{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
.reports-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 50%,#f3f0ff 100%);border:1px solid #e4e0f1;border-radius:22px;padding:20px;margin-bottom:18px;box-shadow:0 14px 34px rgba(23,17,57,.08);display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.reports-kicker{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:10px;background:#efebfb;color:#4430a0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.reports-title{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:800;line-height:1.08;margin-bottom:10px;max-width:260px}
.reports-sub{font-size:15px;color:#737382;line-height:1.45;margin:0;max-width:250px}
.reports-hero-icon{width:78px;height:92px;border-radius:16px;background:#f5f2ff;border:2px solid #c7c1f4;position:relative;box-shadow:0 10px 24px rgba(68,48,160,.12)}
.reports-hero-icon::before{content:"";position:absolute;left:18px;top:20px;width:40px;height:5px;border-radius:999px;background:#8d82df;box-shadow:0 16px 0 #c7c1f4,0 32px 0 #c7c1f4}
.reports-hero-icon::after{content:"";position:absolute;right:10px;top:-2px;width:20px;height:20px;background:#fff;border-left:2px solid #c7c1f4;border-bottom:2px solid #c7c1f4;border-radius:0 0 0 8px}
.report-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.export-card{background:rgba(255,255,255,.92);border:1px solid #ece9f3;border-radius:18px;padding:14px;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;box-shadow:0 10px 24px rgba(28,22,48,.05)}
.export-card:active{transform:scale(.99)}
.export-card.sel{border-color:#8d82df;background:#f5f2ff;box-shadow:0 12px 26px rgba(68,48,160,.12)}
.export-icon{width:44px;height:44px;border-radius:50%;background:#f0edf9;position:relative;display:block;flex-shrink:0}
.export-card>div{min-width:0}
.export-title{font-size:16px;font-weight:800;color:#11172f;margin-bottom:3px;line-height:1.2;overflow-wrap:anywhere}
.export-card.sel .export-title{color:#321985}
.export-desc{font-size:13px;color:#737382;line-height:1.35;overflow-wrap:anywhere}
.export-card.sel .export-desc{color:#534ab7}
.export-chevron{font-size:25px;line-height:1;color:#8a8894}
.export-card.sel .export-chevron{color:#4430a0}
.export-file::before{content:"";position:absolute;left:13px;top:10px;width:18px;height:24px;border:2px solid #4430a0;border-radius:3px}.export-file::after{content:"";position:absolute;left:17px;top:19px;width:10px;height:2px;background:#4430a0;box-shadow:0 6px 0 #4430a0}
.export-clock::before{content:"";position:absolute;left:11px;top:11px;width:22px;height:22px;border:2px solid #4430a0;border-radius:50%}.export-clock::after{content:"";position:absolute;left:22px;top:16px;width:2px;height:10px;background:#4430a0;box-shadow:4px 8px 0 -1px #4430a0}
.export-balance::before{content:"";position:absolute;left:21px;top:10px;width:2px;height:24px;background:#4430a0}.export-balance::after{content:"";position:absolute;left:11px;top:15px;width:22px;height:2px;background:#4430a0;box-shadow:-3px 10px 0 -1px #4430a0,3px 10px 0 -1px #4430a0}
.export-person::before{content:"";position:absolute;left:16px;top:10px;width:12px;height:12px;border-radius:50%;background:#4430a0}.export-person::after{content:"";position:absolute;left:12px;top:25px;width:20px;height:10px;border-radius:12px 12px 5px 5px;background:#4430a0}
.export-note::before{content:"";position:absolute;left:13px;top:11px;width:18px;height:22px;border:2px solid #4430a0;border-radius:3px}.export-note::after{content:"";position:absolute;left:18px;top:16px;width:8px;height:2px;background:#4430a0;box-shadow:0 6px 0 #4430a0,0 12px 0 #4430a0}
.export-icon:has(svg)::before,.export-icon:has(svg)::after{display:none}
.export-icon svg{display:block}
.report-preview{background:rgba(255,255,255,.92);border:1px solid #ece9f3;border-radius:20px;padding:16px;margin:16px 0;box-shadow:0 12px 28px rgba(28,22,48,.06)}
.preview-box{background:#fbfaf7;border-radius:14px;padding:14px;margin-bottom:1rem;font-size:11px;font-family:'Courier New',monospace;color:#444;line-height:1.75;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto;border:1px solid #ece9f3}
.report-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.copy-toast{font-size:13px;color:#0f6e56;margin-top:8px;display:none;text-align:center;font-weight:500}
.home-shell{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
.home-top{display:flex;align-items:center;justify-content:space-between;margin:10px 0 26px}
.home-brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;color:#11172f;letter-spacing:0}
.home-logo{flex-shrink:0;filter:drop-shadow(0 8px 16px rgba(68,48,160,.18))}
.profile-chip{width:44px;height:44px;border:0;border-radius:50%;background:#f0edf9;color:#4430a0;font-size:18px;font-weight:700;font-family:inherit;cursor:pointer}
.profile-chip:active{transform:scale(.97)}
.home-greeting{font-size:34px;line-height:1.1;font-weight:800;letter-spacing:0;color:#11172f;margin:0 0 8px;font-family:Georgia,'Times New Roman',serif}
.home-date{font-size:17px;color:#737382;margin-bottom:24px}
.home-checkin{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,38%);column-gap:14px;align-items:center;background:linear-gradient(135deg,#fff 0%,#fff 48%,#f3f0ff 100%);border:1px solid #e4e0f1;border-radius:22px;padding:18px 18px 20px;margin-bottom:18px;box-shadow:0 14px 34px rgba(23,17,57,.08)}
.home-checkin.logged{background:linear-gradient(135deg,#fff 0%,#fff 50%,#eefaf5 100%);border-color:#d7efe4}
.home-checkin.logged .home-eyebrow{background:#e9f7f0;color:#227956}
.home-eyebrow{grid-column:1;justify-self:start;display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:10px;background:#efebfb;color:#4430a0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.home-plan{grid-column:1;position:relative;min-width:0;font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:800;color:#11172f;line-height:1.08;margin-bottom:10px;z-index:1}
.home-plan-sub{grid-column:1;position:relative;min-width:0;font-size:15px;color:#737382;line-height:1.45;margin-bottom:24px;z-index:1}
.home-card-art{grid-column:2;grid-row:1 / span 3;justify-self:end;width:min(100%,172px);height:auto;pointer-events:none}
.home-card-art img{width:100%;height:100%;object-fit:contain;display:block}
.home-primary{grid-column:1 / -1;position:relative;width:100%;padding:18px;font-size:17px;margin:0;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 20px rgba(68,48,160,.22);z-index:1}
.btn-icon{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.9);display:inline-flex;align-items:center;justify-content:center;line-height:1}
.home-section-card{background:rgba(255,255,255,.92);border:1px solid #ece9f3;border-radius:20px;padding:16px;margin-bottom:16px;box-shadow:0 12px 28px rgba(28,22,48,.06)}
.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.section-title{font-size:18px;font-weight:800;color:#11172f;line-height:1.2}
.section-sub{font-size:14px;color:#737382;line-height:1.35;margin-top:2px}
.soft-icon{width:42px;height:42px;border-radius:50%;background:#f0edf9;position:relative;display:inline-block;flex-shrink:0}
.calendar-icon::before{content:"";position:absolute;left:12px;top:12px;width:18px;height:18px;border:2px solid #4430a0;border-radius:4px}
.calendar-icon::after{content:"";position:absolute;left:15px;top:9px;width:12px;height:6px;border-left:2px solid #4430a0;border-right:2px solid #4430a0}
.report-icon::before{content:"";position:absolute;left:13px;top:10px;width:17px;height:22px;border:2px solid #4430a0;border-radius:3px}
.report-icon::after{content:"";position:absolute;left:17px;top:18px;width:9px;height:2px;background:#4430a0;box-shadow:0 6px 0 #4430a0}
.clock-icon::before{content:"";position:absolute;left:11px;top:11px;width:20px;height:20px;border:2px solid #4430a0;border-radius:50%}
.clock-icon::after{content:"";position:absolute;left:21px;top:16px;width:2px;height:9px;background:#4430a0;box-shadow:4px 8px 0 -1px #4430a0;transform-origin:bottom}
.pill-btn{border:1px solid #ded8ee;background:#fff;color:#321985;border-radius:999px;padding:10px 14px;font-size:14px;font-weight:700;font-family:inherit;white-space:nowrap;cursor:pointer}
.pill-btn.text-only{border-color:transparent;background:transparent;padding-right:0}
.week-strip{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #ece9f3;border-radius:14px;overflow:hidden;background:#fff}
.week-day{min-height:78px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;border-right:1px solid #ece9f3}
.week-day:last-child{border-right:0}
.week-day-label{font-size:11px;color:#737382;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.week-day-num{font-size:15px;color:#11172f}
.week-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800}
.week-icon.me{background:#6b57c7;color:#fff}.week-icon.other{background:#f1e7d8;color:#6b5b43}.week-day.today .week-day-label,.week-day.today .week-day-num{color:#4430a0;font-weight:800}
.week-legend{display:flex;gap:18px;margin-top:12px;font-size:13px;color:#737382}
.week-legend span{display:flex;align-items:center;gap:7px}.week-legend i{width:11px;height:11px;border-radius:50%;display:block}.legend-me{background:#6b57c7}.legend-other{background:#f1e7d8}
.home-action-row{background:rgba(255,255,255,.92);border:1px solid #ece9f3;border-radius:20px;padding:16px;margin-bottom:16px;box-shadow:0 12px 28px rgba(28,22,48,.06);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;cursor:pointer}
.home-action-row:active{transform:scale(.99)}
.recent-list{display:flex;flex-direction:column}
.recent-row{display:grid;grid-template-columns:10px 72px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #efedf4;font-size:14px}
.recent-row:last-child{border-bottom:0;padding-bottom:0}.recent-date{color:#737382}.recent-title{font-weight:700;color:#11172f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-time{color:#8a8894}
.recent-dot{width:10px;height:10px;border-radius:50%;background:#6b57c7}.recent-dot.ok{background:#52b788}.recent-dot.warn{background:#f2a93b}.recent-dot.missed{background:#b8b4bf}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;width:min(430px,100%);margin:0 auto;padding:8px max(8px,env(safe-area-inset-left)) calc(env(safe-area-inset-bottom,12px) + 8px) max(8px,env(safe-area-inset-right));background:rgba(255,255,255,.96);border-top:1px solid #ece9f3;box-shadow:0 -8px 28px rgba(28,22,48,.08);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;z-index:20}
.bottom-nav-item{min-width:0;min-height:56px;width:100%;border:0;border-radius:14px;background:transparent;color:#7b7a84;font-size:clamp(10px,3.1vw,12px);font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;line-height:1.1;padding:6px 2px}
.bottom-nav-item:active{background:#f4f1ff;transform:none;opacity:1}
.bottom-nav-item.active{color:#4430a0}.bottom-nav-item strong{max-width:100%;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav-item span{width:clamp(22px,6.5vw,26px);height:clamp(22px,6.5vw,26px);position:relative;display:block;flex-shrink:0}
.nav-home::before{content:"";position:absolute;left:5px;top:11px;width:16px;height:13px;background:currentColor;border-radius:2px}.nav-home::after{content:"";position:absolute;left:4px;top:4px;width:18px;height:18px;border-left:4px solid currentColor;border-top:4px solid currentColor;transform:rotate(45deg);border-radius:2px}
.nav-calendar::before{content:"";position:absolute;left:4px;top:5px;width:18px;height:18px;border:2px solid currentColor;border-radius:4px}.nav-calendar::after{content:"";position:absolute;left:8px;top:2px;width:10px;height:7px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.nav-bars::before{content:"";position:absolute;left:5px;bottom:4px;width:3px;height:10px;background:currentColor;box-shadow:7px -6px 0 currentColor,14px -12px 0 currentColor;border-radius:2px}
.nav-gear::before{content:"";position:absolute;left:5px;top:5px;width:16px;height:16px;border:2.5px solid currentColor;border-radius:50%;box-shadow:0 -5px 0 -2px currentColor,0 5px 0 -2px currentColor,5px 0 0 -2px currentColor,-5px 0 0 -2px currentColor,3.5px 3.5px 0 -2px currentColor,-3.5px 3.5px 0 -2px currentColor,3.5px -3.5px 0 -2px currentColor,-3.5px -3.5px 0 -2px currentColor}
.nav-gear::after{content:"";position:absolute;left:11px;top:11px;width:4px;height:4px;background:currentColor;border-radius:50%}
.alpha-feedback-btn{position:fixed;right:max(14px,calc((100vw - 430px)/2 + 14px));bottom:calc(env(safe-area-inset-bottom,12px) + 78px);z-index:30;border:1px solid #dcd8f0;background:#fff;color:#4430a0;border-radius:999px;padding:10px 13px;box-shadow:0 12px 28px rgba(28,22,48,.14);display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:13px;line-height:1;cursor:pointer}
.alpha-feedback-btn[hidden]{display:none}
.alpha-feedback-btn:active{transform:scale(.98);opacity:.82}
.alpha-feedback-btn strong{font-size:13px;font-weight:800;white-space:nowrap}
.alpha-feedback-icon{width:16px;height:16px;border:2px solid currentColor;border-radius:5px;position:relative;display:block;flex-shrink:0}
.alpha-feedback-icon::before{content:"";position:absolute;left:3px;right:3px;top:4px;height:2px;background:currentColor;box-shadow:0 4px 0 currentColor;border-radius:2px}
.alpha-feedback-icon::after{content:"";position:absolute;right:1px;bottom:-5px;border-width:4px 0 0 5px;border-style:solid;border-color:transparent transparent transparent currentColor}
.alpha-notice{border:1px solid #f0d19e;background:#fff7e8;color:#5f3b00;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;line-height:1.35}
.alpha-notice strong{font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#7a4800}
.alpha-notice span{font-size:13px;color:#6d5121}
.alpha-notice-onboarding{margin-bottom:22px}
.sunday-banner{background:#fff;border:1px solid #e7e4f7;border-radius:14px;padding:14px;margin-bottom:1rem}
.week-hint{display:none;font-size:13px;border-radius:10px;padding:10px 13px;margin-top:6px}
select{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid #ddd;background:#fff;color:#1a1a1a;font-size:15px;font-family:inherit;margin-bottom:1rem;outline:none}
select:focus{border-color:#6c63d4}

/* Settings and first-run onboarding */
.app.onboarding-active{max-width:640px;padding-left:24px;padding-right:24px}
#s-setup{max-width:860px;margin:0 auto;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
#s-setup.onboarding-mode{padding-bottom:calc(env(safe-area-inset-bottom,24px) + 20px)}
#s-setup.onboarding-mode .bottom-nav{display:none}
#s-setup:not(.onboarding-mode) .setup-terms{display:none}
.settings-shell{padding:8px 0 10px;min-width:0;overflow-x:hidden}
.settings-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;border-bottom:1px solid #e4e0d9;padding:0 0 18px;margin-bottom:24px}
.settings-brand{display:flex;align-items:center;gap:14px;min-width:0;font-size:21px;font-weight:800;color:#11172f}
.settings-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-logo{width:46px;height:46px;flex-shrink:0;filter:drop-shadow(0 10px 18px rgba(68,48,160,.16))}
.settings-title{font-size:22px;font-weight:800;color:#11172f;text-align:center}
.settings-profile{justify-self:end}
.settings-section{margin-bottom:24px}
.settings-section-head{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px 4px}
.settings-section-head h2{font-size:22px;font-weight:800;color:#11172f;line-height:1.15;margin:0 0 4px}
.settings-section-head p{font-size:15px;color:#687086;line-height:1.35;margin:0}
.settings-section-icon{width:28px;height:28px;color:#4430a0;position:relative;flex-shrink:0}
.settings-section-icon::before,.settings-section-icon::after,.activity-line-icon::before,.activity-line-icon::after,.person-icon::before,.person-icon::after{content:"";position:absolute;display:block}
.children-icon::before,.people-icon::before,.coparent-icon::before{left:10px;top:4px;width:8px;height:8px;border:2px solid currentColor;border-radius:50%}
.children-icon::after,.people-icon::after,.coparent-icon::after{left:5px;top:16px;width:18px;height:8px;border:2px solid currentColor;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom:0}
.activities-icon::before{left:5px;top:6px;width:18px;height:17px;border:2px solid currentColor;border-radius:5px}
.activities-icon::after{left:9px;top:3px;width:10px;height:7px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.appearance-icon::before{left:5px;top:5px;width:18px;height:18px;border:2px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 0 50%,transparent 50% 100%)}
.appearance-icon::after{left:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#fff}
.data-icon::before{left:6px;top:5px;width:16px;height:18px;border:2px solid currentColor;border-radius:4px}
.data-icon::after{left:10px;top:10px;width:8px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor;border-radius:2px}
.settings-card{background:rgba(255,255,255,.9);border:1.5px solid #e0dcd6;border-radius:18px;box-shadow:0 14px 34px rgba(28,22,48,.05);min-width:0}
.settings-fields-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}
.appearance-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px}
.theme-mode-btn{min-width:0;min-height:44px;border:0;border-radius:12px;background:transparent;color:#687086;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.theme-mode-btn:active{transform:scale(.98);opacity:.82}
.theme-mode-btn.active{background:#4430a0;color:#fff;box-shadow:0 8px 18px rgba(68,48,160,.16)}
#s-setup .setup-field{margin:0;min-width:0}
#s-setup .setup-field>label{display:block;font-size:13px;font-weight:800;color:#11172f;margin-bottom:8px;line-height:1.35}
#s-setup .setup-field>label span{font-weight:600;color:#687086}
#s-setup input[type=text],#s-setup input[type=email],#s-setup select{width:100%;min-height:48px;border:1.5px solid #d8d5df;border-radius:12px;background:#fff;color:#11172f;font-size:15px;font-family:inherit;padding:0 15px;box-shadow:0 5px 14px rgba(28,22,48,.035);margin:0;outline:none;overflow:hidden;text-overflow:ellipsis}
#s-setup input::placeholder{color:#8a91a2}
#s-setup input[type=text]:focus,#s-setup input[type=email]:focus,#s-setup select:focus{border-color:#7f77dd;box-shadow:0 0 0 3px rgba(127,119,221,.15)}
#s-setup .setup-error{display:none;color:#dd2020;font-size:12px;line-height:1.35;margin-top:7px}
#s-setup .invalid input{border-color:#ef3434;box-shadow:0 0 0 1px rgba(239,52,52,.08)}
#s-setup .invalid .setup-error{display:block}
.settings-placeholder-row{min-height:48px;border:1.5px solid #ede9f3;border-radius:12px;background:#fbfaf7;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings-placeholder-row strong{display:block;font-size:13px;color:#11172f;margin-bottom:2px}
.settings-placeholder-row span{font-size:12px;color:#687086}
.settings-placeholder-value{max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4430a0!important;font-weight:800!important;text-align:right}
.settings-child-card{overflow:hidden}
#s-setup .setup-children-list{display:flex;flex-direction:column;margin:0}
#s-setup .setup-child-row{position:relative;border-bottom:1px solid #ece8e1}
#s-setup .setup-child-row:last-child{border-bottom:none}
.settings-child-row-button{width:100%;min-height:74px;border:0;background:transparent;color:#11172f;padding:14px 22px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;font-family:inherit;cursor:pointer}
.settings-child-row-button:active{background:#f7f4ff}
.settings-child-avatar{width:44px;height:44px;border-radius:50%;background:#f0ebff;color:#4430a0;position:relative}
.person-icon::before{left:15px;top:9px;width:10px;height:10px;border:2px solid currentColor;border-radius:50%}
.person-icon::after{left:11px;top:24px;width:18px;height:9px;border:2px solid currentColor;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom:0}
.settings-child-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;color:#11172f}
.settings-chevron{font-size:34px;line-height:1;color:#11172f;font-weight:300}
#s-setup .setup-child-row.invalid .settings-child-row-button{background:#fff6f6}
#s-setup .setup-child-row .setup-error{padding:0 22px 12px 80px}
#s-setup .setup-add-child{width:100%;min-height:58px;border:1.7px dashed #9d8df1;border-radius:16px;background:rgba(255,255,255,.72);color:#4430a0;font-size:17px;font-weight:800;font-family:inherit;cursor:pointer;margin-top:14px}
#s-setup .setup-add-child:active{transform:scale(.99);background:#f5f2ff}
#s-setup .setup-alert{display:none;background:#fff3f3;border:1px solid #ffb8b8;border-radius:14px;padding:14px 16px;margin-bottom:18px;color:#c72020}
#s-setup .setup-alert.show{display:flex;flex-direction:column;gap:4px}
#s-setup .setup-terms{margin:2px 0 18px}
#s-setup .setup-terms label{display:flex;align-items:flex-start;gap:10px;color:#4f5870;font-size:13px;line-height:1.45;cursor:pointer}
#s-setup .setup-terms input{width:18px;height:18px;margin:1px 0 0;accent-color:#4430a0;flex-shrink:0}
#s-setup .setup-terms a{color:#4430a0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
#s-setup .setup-terms.invalid label{color:#b42323}
#s-setup .setup-terms.invalid .setup-error{display:block;margin-left:28px}
#s-setup .setup-actions{display:flex;flex-direction:column;gap:14px;margin-top:20px}
#s-setup .btn{width:100%;min-height:70px;border-radius:16px;font-size:21px;font-weight:800}
#s-setup .btn.primary{background:#4430a0;border-color:#4430a0;box-shadow:0 12px 24px rgba(68,48,160,.18)}
#s-setup .setup-continue.is-disabled{background:#d5d5d7;border-color:#d5d5d7;color:#737b88;box-shadow:none}
#s-setup .setup-privacy{text-align:center;color:#687086;font-size:13px;padding-bottom:8px}
.settings-data-section{margin-top:28px;margin-bottom:8px}
.settings-data-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px}
.settings-data-card strong{display:block;font-size:16px;color:#11172f;margin-bottom:4px}
.settings-data-card span{display:block;font-size:13px;color:#687086;line-height:1.4}
.settings-export-btn{min-height:46px;border:1.5px solid #4430a0;background:#4430a0;color:#fff;border-radius:12px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:850;cursor:pointer;white-space:nowrap}
.settings-export-btn:active{transform:scale(.98);opacity:.84}
.settings-cloud-section{margin-bottom:24px}
.settings-auth-card{padding:18px;display:flex;flex-direction:column;gap:14px}
.auth-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.auth-status-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.auth-status-row strong{font-size:16px;color:#11172f}
.auth-status-row span:not(.auth-status-pill){font-size:13px;color:#687086;line-height:1.35}
.auth-status-pill{flex-shrink:0;border:1px solid #d8d5df;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:850;color:#687086;background:#f7f5f0;text-transform:uppercase;letter-spacing:.04em}
.auth-status-pill.connected{border-color:#90d2bf;background:#e9f7f1;color:#0f6e56}
.auth-actions{display:flex;gap:10px;flex-wrap:wrap}
.auth-secondary-btn{min-height:46px;border:1.5px solid #d8d5df;background:#fff;color:#11172f;border-radius:12px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:850;cursor:pointer}
.auth-secondary-btn:active{transform:scale(.98);opacity:.84}
.settings-auth-card button:disabled{opacity:.58;cursor:wait;transform:none}
.profile-sync-panel{border-top:1px solid #ece8e1;padding-top:14px;display:flex;flex-direction:column;gap:12px}
.profile-sync-panel[hidden]{display:none}
.profile-sync-panel strong{display:block;font-size:15px;color:#11172f;margin-bottom:4px}
.profile-sync-panel span{display:block;font-size:13px;color:#687086;line-height:1.4}
.sync-status-panel{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px}
.sync-status-panel>div{min-width:0}
.sync-status-pill{flex-shrink:0;border:1px solid #d8d5df;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:850;color:#687086;background:#f7f5f0;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.sync-status-pill[data-state="syncing"],
.sync-status-pill[data-state="pending"]{border-color:#d6c087;background:#fff8df;color:#7c5c00}
.sync-status-pill[data-state="synced"]{border-color:#90d2bf;background:#e9f7f1;color:#0f6e56}
.sync-status-pill[data-state="offline"],
.sync-status-pill[data-state="error"],
.sync-status-pill[data-state="conflict"]{border-color:#efb3a8;background:#fff1ed;color:#a63722}
.profile-sync-panel .sync-conflict-note{margin-top:6px;color:#a63722;font-weight:800}
.conflict-review-panel{gap:14px}
.conflict-review-list{display:flex;flex-direction:column;gap:12px}
.conflict-review-item{border:1px solid #ece8e1;border-radius:12px;background:#fbfaf7;padding:12px;display:flex;flex-direction:column;gap:12px}
.conflict-review-copy strong{display:block;margin-bottom:6px}
.conflict-review-copy span{font-size:12px}
.conflict-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.conflict-review-actions .settings-export-btn,
.conflict-review-actions .auth-secondary-btn{width:100%;min-height:44px;padding:0 10px;font-size:13px}
.cloud-delete-panel{gap:14px}
.cloud-delete-confirm{margin:0}
.auth-danger-btn{min-height:46px;border:1.5px solid #c72020;background:#c72020;color:#fff;border-radius:12px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:850;cursor:pointer}
.auth-danger-btn:active{transform:scale(.98);opacity:.84}
.auth-danger-btn:disabled{opacity:.48;cursor:not-allowed;transform:none}
.auth-message{min-height:18px;font-size:13px;line-height:1.35;color:#687086}
.auth-message[data-tone="success"]{color:#0f6e56}
.auth-message[data-tone="error"]{color:#c72020}
.child-modal-backdrop{position:fixed;inset:0;background:rgba(17,23,47,.28);z-index:1000;display:none;align-items:flex-end;justify-content:center;padding:18px}
.child-modal-backdrop.show{display:flex}
.child-modal-card{width:min(100%,420px);background:#fff;border:1px solid #e0dcd6;border-radius:20px;padding:18px;box-shadow:0 18px 48px rgba(17,23,47,.22)}
.child-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.child-modal-head h3{font-size:19px;color:#11172f;margin:0}
.child-modal-close{width:34px;height:34px;border:0;background:#f3f0ff;color:#4430a0;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}
.child-modal-card label{display:block;font-size:13px;font-weight:800;color:#11172f;margin-bottom:8px}
.child-modal-actions{display:grid;grid-template-columns:minmax(118px,.9fr) minmax(0,3fr);gap:12px;margin-top:14px;align-items:stretch}
.child-modal-remove,.child-modal-save{width:100%;min-height:46px;border-radius:12px;border:1.5px solid #d8d5df;background:#fff;color:#11172f;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.child-modal-remove{color:#993c1d;background:#fff7f2;border-color:#f0c8b7}
.child-modal-save{background:#4430a0;border-color:#4430a0;color:#fff}
@media(max-width:620px){
  .app.onboarding-active{padding-left:16px;padding-right:16px}
  .settings-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand profile" "title title";row-gap:14px}
  .settings-brand{grid-area:brand;font-size:18px}
  .settings-title{grid-area:title;text-align:left;font-size:24px}
  .settings-profile{grid-area:profile}
  .settings-fields-card{grid-template-columns:1fr}
  .settings-data-card{grid-template-columns:1fr;align-items:stretch}
  .settings-export-btn{width:100%;min-height:52px}
  .auth-actions{flex-direction:column}
  .auth-actions button{width:100%;min-height:52px}
  .conflict-review-actions{grid-template-columns:1fr}
  .settings-child-row-button{padding:13px 16px}
  #s-setup .setup-child-row .setup-error{padding-left:74px}
  #s-setup .btn{min-height:62px;font-size:18px}
}
@media(min-width:700px){
  body:has(.app.onboarding-active){padding:12px 0 28px}
  .app.onboarding-active{min-height:0;background:#fff;border:1px solid #e5e3e8;border-radius:14px;box-shadow:0 14px 34px rgba(28,22,48,.07);padding-top:22px;padding-bottom:28px}
}

/* Missed day */
.cal-cell.missed{background:#f6f4f5;color:#aaa;font-weight:500}
.tag-missed{background:#f1eff0;color:#888}
.missed-banner{background:#fff;border:2px solid #e0c84a;border-radius:16px;padding:18px;margin-bottom:1rem;display:none}
.missed-banner.primary-missed{padding:20px;margin-bottom:18px;border-color:#e0c84a;box-shadow:0 14px 34px rgba(122,98,0,.12)}
.missed-banner-title{font-size:15px;font-weight:700;color:#7a6200;margin-bottom:5px}
.missed-banner-sub{font-size:14px;color:#a08400;margin-bottom:14px;line-height:1.4}

/* Check-in decision screen */
#s-week{max-width:430px;margin:0 auto}
#s-week .top-bar{margin:4px 0 24px}
#s-week .back-btn{background:none;border:none;box-shadow:none;color:#4430a0;font-size:20px;font-weight:800;padding:0}
#s-week .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
#s-week .progress{gap:10px;margin-bottom:32px}
.phase-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:32px}
.phase-progress span{min-width:0;border-bottom:3px solid #dfdfe0;padding-bottom:8px;color:#8a8894;font-size:11px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phase-progress span.active{border-bottom-color:#4430a0;color:#4430a0}
#s-week .pd{height:5px;border-radius:999px;background:#dfdfe0}
#s-week .pd.active,#s-week .pd.done{background:#4430a0}
#s-week>.q{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:800;line-height:1.08;color:#11172f;letter-spacing:0;margin-bottom:14px}
#s-week>.sub{font-size:20px;color:#70717a;line-height:1.35;margin-bottom:22px}
.checkin-decision-list{display:flex;flex-direction:column;gap:16px}
.checkin-decision-card{width:100%;min-height:116px;border:1.5px solid #e1e0e5;border-radius:22px;background:#fff;color:#11172f;padding:18px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;text-align:left;font-family:inherit;cursor:pointer;box-shadow:0 12px 28px rgba(28,22,48,.06);transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.checkin-decision-card:active{transform:scale(.99);box-shadow:0 8px 18px rgba(28,22,48,.08)}
.checkin-decision-card:focus-visible{outline:3px solid rgba(68,48,160,.28);outline-offset:3px}
.checkin-decision-card.sel{border-color:#6b57c7;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5f2ff 100%)}
.checkin-decision-card.sel-mom{border-color:#ef9b58;background:#fffaf7}
.decision-icon{width:64px;height:64px;border-radius:50%;display:block;position:relative;background:#f0edf9}
.planned .decision-icon{background:#eefaf4}.change .decision-icon{background:#fff2ed}
.decision-icon svg{position:absolute;inset:15px;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.planned .decision-icon{color:#4db184}.change .decision-icon{color:#ef7c35}
.decision-copy{min-width:0;display:flex;flex-direction:column;gap:8px}
.decision-title{font-size:23px;font-weight:800;line-height:1.15;color:#11172f}
.decision-desc{font-size:18px;line-height:1.35;color:#70717a}
.decision-chevron{font-size:46px;line-height:1;color:#4430a0;font-weight:300;margin-left:4px}
#s-week .week-hint{display:none!important}

/* Second-step decision screens */
#s-dad-mode,#s-mom-mode{max-width:430px;margin:0 auto}
#s-dad-mode .top-bar,#s-mom-mode .top-bar{margin:4px 0 24px}
#s-dad-mode .back-btn,#s-mom-mode .back-btn{background:none;border:none;box-shadow:none;color:#4430a0;font-size:20px;font-weight:800;padding:0}
#s-dad-mode .logo,#s-mom-mode .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
#s-dad-mode .progress,#s-mom-mode .progress{gap:10px;margin-bottom:32px}
#s-dad-mode .pd,#s-mom-mode .pd{height:5px;border-radius:999px;background:#dfdfe0}
#s-dad-mode .pd.active,#s-dad-mode .pd.done,#s-mom-mode .pd.active,#s-mom-mode .pd.done{background:#4430a0}
#s-dad-mode>.q,#s-mom-mode>.q{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:800;line-height:1.08;color:#11172f;letter-spacing:0;margin-bottom:14px}
#s-dad-mode>.sub,#s-mom-mode>.sub{font-size:20px;color:#70717a;line-height:1.35;margin-bottom:22px}
#s-dad-mode .scene-card,#s-mom-mode .scene-card{width:100%;min-height:116px;border:1.5px solid #e1e0e5;border-radius:22px;background:#fff;color:#11172f;padding:18px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;text-align:left;font-family:inherit;cursor:pointer;box-shadow:0 12px 28px rgba(28,22,48,.06);transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;margin-bottom:16px}
#s-dad-mode .scene-card:active,#s-mom-mode .scene-card:active{opacity:1;transform:scale(.99);box-shadow:0 8px 18px rgba(28,22,48,.08)}
#s-dad-mode .scene-card:focus-visible,#s-mom-mode .scene-card:focus-visible{outline:3px solid rgba(68,48,160,.28);outline-offset:3px}
#sc-dad-normal .decision-icon,#ft-easy .decision-icon{background:#eefaf4;color:#4db184}
#sc-dad-momhad .decision-icon,#ft-dad .decision-icon{background:#fff2ed;color:#ef7c35}
#s-dad-mode .scene-title,#s-mom-mode .scene-title{font-size:23px;font-weight:800;line-height:1.15;color:#11172f;margin:0}
#s-dad-mode .scene-desc,#s-mom-mode .scene-desc{font-size:18px;line-height:1.35;color:#70717a;margin:0}
#s-dad-mode .scene-card.sel-dad,#s-mom-mode .scene-card.sel-dad{border-color:#6b57c7;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5f2ff 100%)}
#s-dad-mode .scene-card.sel-warn,#s-mom-mode .scene-card.sel-warn{border-color:#ef9b58;background:#fffaf7}
#s-dad-mode .scene-card.sel-dad .scene-title,#s-dad-mode .scene-card.sel-warn .scene-title,#s-mom-mode .scene-card.sel-dad .scene-title,#s-mom-mode .scene-card.sel-warn .scene-title{color:#11172f}
#s-dad-mode .scene-card.sel-dad .scene-desc,#s-dad-mode .scene-card.sel-warn .scene-desc,#s-mom-mode .scene-card.sel-dad .scene-desc,#s-mom-mode .scene-card.sel-warn .scene-desc{color:#70717a}

/* Dad-day branch screens */
#s-allkids,#s-whichkids,#s-absent,#s-mom-helped-kids,#s-mom-helped-activity,#s-dad-wk-mom-had,#s-dad-help-choice{max-width:430px;margin:0 auto}
#s-allkids .top-bar,#s-whichkids .top-bar,#s-absent .top-bar,#s-mom-helped-kids .top-bar,#s-mom-helped-activity .top-bar,#s-dad-wk-mom-had .top-bar,#s-dad-help-choice .top-bar{margin:4px 0 24px}
#s-allkids .back-btn,#s-whichkids .back-btn,#s-absent .back-btn,#s-mom-helped-kids .back-btn,#s-mom-helped-activity .back-btn,#s-dad-wk-mom-had .back-btn,#s-dad-help-choice .back-btn{background:none;border:none;box-shadow:none;color:#4430a0;font-size:20px;font-weight:800;padding:0}
#s-allkids .logo,#s-whichkids .logo,#s-absent .logo,#s-mom-helped-kids .logo,#s-mom-helped-activity .logo,#s-dad-wk-mom-had .logo,#s-dad-help-choice .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
#s-allkids .progress,#s-whichkids .progress,#s-absent .progress,#s-mom-helped-kids .progress,#s-mom-helped-activity .progress,#s-dad-wk-mom-had .progress,#s-dad-help-choice .progress{gap:10px;margin-bottom:32px}
#s-allkids .pd,#s-whichkids .pd,#s-absent .pd,#s-mom-helped-kids .pd,#s-mom-helped-activity .pd,#s-dad-wk-mom-had .pd,#s-dad-help-choice .pd{height:5px;border-radius:999px;background:#dfdfe0}
#s-allkids .pd.active,#s-allkids .pd.done,#s-whichkids .pd.active,#s-whichkids .pd.done,#s-absent .pd.active,#s-absent .pd.done,#s-mom-helped-kids .pd.active,#s-mom-helped-kids .pd.done,#s-mom-helped-activity .pd.active,#s-mom-helped-activity .pd.done,#s-dad-wk-mom-had .pd.active,#s-dad-wk-mom-had .pd.done,#s-dad-help-choice .pd.active,#s-dad-help-choice .pd.done{background:#4430a0}
#s-allkids>.q,#s-whichkids>.q,#s-absent>.q,#s-mom-helped-kids>.q,#s-mom-helped-activity>.q,#s-dad-wk-mom-had>.q,#s-dad-help-choice>.q{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:800;line-height:1.1;color:#11172f;letter-spacing:0;margin-bottom:14px}
#s-allkids>.sub,#s-whichkids>.sub,#s-mom-helped-kids>.sub,#s-dad-wk-mom-had>.sub,#s-dad-help-choice>.sub{font-size:18px;color:#70717a;line-height:1.35;margin-bottom:22px}
#s-allkids .btn-row,#s-dad-help-choice .btn-row{display:flex;flex-direction:column;gap:16px;margin-bottom:0}
#s-allkids .btn,#s-dad-help-choice .btn{width:100%;min-height:94px;border:1.5px solid #e1e0e5;border-radius:22px;background:#fff;color:#11172f;padding:18px;text-align:left;font-size:22px;font-weight:800;box-shadow:0 12px 28px rgba(28,22,48,.06)}
#s-allkids .btn.sel,#s-dad-help-choice .btn.sel{border-color:#6b57c7;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5f2ff 100%);color:#11172f}
#s-whichkids .kid-grid,#s-mom-helped-kids .kid-grid,#s-dad-wk-mom-had .kid-grid{gap:12px;margin-bottom:18px}
#s-whichkids .kid-btn,#s-mom-helped-kids .kid-btn,#s-dad-wk-mom-had .kid-btn{min-height:76px;border:1.5px solid #e1e0e5;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(28,22,48,.05);color:#11172f}
#s-whichkids .kid-btn.with-dad,#s-mom-helped-kids .kid-btn.with-mom,#s-dad-wk-mom-had .kid-btn.with-mom,#s-whichkids .kid-btn.all-mom{border-color:#6b57c7;background:#f5f2ff;color:#4430a0}
#s-whichkids .who-summary,#s-mom-helped-kids .who-summary,#s-dad-wk-mom-had .who-summary{border:1px solid #e4e0f1;background:#fff;border-radius:18px;padding:14px 16px;margin-bottom:18px;box-shadow:0 8px 18px rgba(28,22,48,.04)}
#s-absent .kid-loop-header,#s-mom-helped-activity .kid-loop-header{border:1px solid #e4e0f1;background:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 8px 18px rgba(28,22,48,.04)}
#s-absent .option-list{gap:12px;margin-bottom:18px}
#s-absent .opt{min-height:64px;border:1.5px solid #e1e0e5;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(28,22,48,.04);font-size:16px;color:#11172f}
#s-absent .opt.sel{border-color:#6b57c7;background:#f5f2ff;color:#4430a0}
#s-mom-helped-activity .activity-grid{gap:10px;margin-bottom:18px}
#s-mom-helped-activity .act-btn{min-height:58px;border:1.5px solid #e1e0e5;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(28,22,48,.04);font-size:14px;color:#11172f}
#s-mom-helped-activity .act-btn.sel{border-color:#6b57c7;background:#f5f2ff;color:#4430a0}
#s-absent .btn.primary,#s-whichkids .btn.primary,#s-mom-helped-kids .btn.primary,#s-mom-helped-activity .btn.primary,#s-dad-wk-mom-had .btn.primary{min-height:56px;border-radius:16px;background:#4430a0;border-color:#4430a0;box-shadow:0 10px 20px rgba(68,48,160,.16)}
#s-kids-confirm,#s-diary{max-width:430px;margin:0 auto}
#s-kids-confirm .top-bar,#s-diary .top-bar{margin:4px 0 24px}
#s-kids-confirm .back-btn,#s-diary .back-btn{background:none;border:none;box-shadow:none;color:#4430a0;font-size:20px;font-weight:800;padding:0}
#s-kids-confirm .logo,#s-diary .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
#s-kids-confirm .progress,#s-diary .progress{gap:10px;margin-bottom:32px}
#s-kids-confirm .pd,#s-diary .pd{height:5px;border-radius:999px;background:#dfdfe0}
#s-kids-confirm .pd.active,#s-kids-confirm .pd.done,#s-diary .pd.active,#s-diary .pd.done{background:#4430a0}
#s-kids-confirm>.q,#s-diary>.q{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:800;line-height:1.1;color:#11172f;letter-spacing:0;margin-bottom:14px}
#s-kids-confirm>.sub,#s-diary>.sub{font-size:18px;color:#70717a;line-height:1.35;margin-bottom:22px}
#kids-confirm-list{margin-bottom:22px}
.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.confirm-card{min-height:116px;border-radius:20px;border:1.5px solid #e1e0e5;background:#fff;text-align:left;position:relative;padding:18px 14px;box-shadow:0 8px 18px rgba(28,22,48,.04)}
.confirm-card.with-you{border-color:#6b57c7;background:#f5f2ff}
.confirm-card.away{border-color:#ef9b58;background:#fff7f2}
.confirm-check{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:#4430a0;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.confirm-card.away .confirm-check{background:#ef7c35}
.confirm-name{font-size:18px;font-weight:800;color:#11172f;margin:16px 0 8px}
.confirm-meta{font-size:13px;font-weight:700;line-height:1.35;color:#5f6070}
.confirm-note{font-size:12px;color:#70717a;margin-top:7px;line-height:1.35;font-style:italic}
#s-kids-confirm .btn,#s-diary .btn{min-height:56px;border-radius:16px}
#s-kids-confirm .btn.primary,#s-diary .btn.primary{background:#4430a0;border-color:#4430a0;box-shadow:0 10px 20px rgba(68,48,160,.16)}
#s-diary textarea{border-radius:20px;border-color:#e1e0e5;background:#fff;min-height:170px;box-shadow:0 8px 18px rgba(28,22,48,.04);font-size:16px}
#s-saved{max-width:430px;margin:0 auto}
#s-saved .top-bar{margin:4px 0 18px}
#s-saved .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
.saved-card{position:relative;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5f2ff 100%);border:1.5px solid #e1e0e5;border-radius:28px;padding:28px 24px 28px;text-align:center;box-shadow:0 16px 36px rgba(28,22,48,.08)}
.saved-card-edit{position:absolute;right:18px;top:18px;border:1px solid #ddd8ef;background:rgba(255,255,255,.9);color:#4430a0;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:850;font-family:inherit;cursor:pointer;box-shadow:0 6px 14px rgba(28,22,48,.04)}
.saved-card-edit:active{opacity:.7;transform:scale(.98)}
#s-saved .q{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:800;line-height:1.08;color:#11172f;letter-spacing:0;text-align:center;margin-bottom:14px}
#s-saved .saved-date{display:inline-flex;align-items:center;justify-content:center;background:#f0edf9;color:#4430a0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
#s-saved .sub{font-size:18px;color:#70717a;line-height:1.45;text-align:center;white-space:pre-line;margin:0 0 18px}
.saved-receipt{background:rgba(255,255,255,.86);border:1px solid #e8e4f0;border-radius:18px;padding:4px 14px;text-align:left}
.saved-receipt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;align-items:start;padding:11px 0;border-bottom:1px solid #efedf4}
.saved-receipt-row:last-child{border-bottom:0}
.saved-receipt-row span{font-size:12px;font-weight:850;color:#8a8894;text-transform:uppercase;letter-spacing:.08em;line-height:1.35}
.saved-receipt-row strong{font-size:14px;color:#11172f;line-height:1.35;text-align:right;overflow-wrap:anywhere}
.saved-actions{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.saved-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#s-saved .btn{min-height:56px;border-radius:16px}
#s-saved .btn.primary{background:#4430a0;border-color:#4430a0;box-shadow:0 10px 20px rgba(68,48,160,.16)}
.success-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:92px 20px 0;background:rgba(17,23,47,0);pointer-events:none;opacity:0;transition:opacity .22s ease}
.success-overlay.visible{opacity:1}
.account-deleted-notice{position:fixed;z-index:60;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 32px));box-sizing:border-box;display:flex;align-items:flex-start;gap:12px;padding:18px;background:var(--daily-card);color:var(--daily-ink);border:1px solid var(--daily-border);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.18);font-family:var(--font-ui);letter-spacing:0}
.account-deleted-notice[hidden]{display:none}
.account-deleted-notice strong{display:block;font-size:16px;line-height:1.4}
.account-deleted-notice p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--daily-ink-soft)}
.account-deleted-notice button{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--daily-ink);font-size:26px;cursor:pointer}
.account-deleted-notice button:hover{background:var(--daily-border)}
.account-deleted-notice:focus-visible,.account-deleted-notice button:focus-visible{outline:2px solid var(--daily-primary-strong);outline-offset:3px}
.success-pop{position:relative;width:min(320px,100%);background:#fff;border:1px solid #e4e0f1;border-radius:22px;padding:24px 22px 22px;text-align:center;box-shadow:0 24px 60px rgba(28,22,48,.22);transform:translateY(-12px) scale(.96);transition:transform .24s cubic-bezier(.2,.9,.2,1)}
.success-overlay.visible .success-pop{transform:translateY(0) scale(1)}
.success-mark{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:#4430a0;color:#fff;font-size:26px;font-weight:900;box-shadow:0 12px 24px rgba(68,48,160,.22)}
.success-title{font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:800;line-height:1.05;color:#11172f;margin-bottom:6px}
.success-copy{font-size:15px;font-weight:650;color:#70717a;line-height:1.35}
.success-confetti{position:absolute;width:9px;height:14px;border-radius:3px;opacity:0;transform:translateY(8px) rotate(0deg)}
.success-overlay.visible .success-confetti{animation:confetti-pop 900ms ease-out forwards}
.success-confetti.c1{left:40px;top:24px;background:#f3b23c;animation-delay:40ms}
.success-confetti.c2{left:82px;top:12px;background:#2f9f83;animation-delay:110ms}
.success-confetti.c3{right:72px;top:18px;background:#e86f51;animation-delay:70ms}
.success-confetti.c4{right:42px;top:48px;background:#6b57c7;animation-delay:150ms}
.success-confetti.c5{left:55%;top:6px;background:#55a6d9;animation-delay:20ms}
@keyframes confetti-pop{
  0%{opacity:0;transform:translateY(10px) scale(.8) rotate(0deg)}
  35%{opacity:1}
  100%{opacity:0;transform:translateY(-34px) scale(1) rotate(170deg)}
}
@media (prefers-reduced-motion:reduce){
  .success-overlay,.success-pop{transition:none}
  .success-overlay.visible .success-confetti{animation:none;opacity:1}
}

/* Co-parent day branch screens */
#s-mom-easy,#s-mom-helped-kids2,#s-helped-activity,#s-mom-dad-had{max-width:430px;margin:0 auto}
#s-mom-easy .top-bar,#s-mom-helped-kids2 .top-bar,#s-helped-activity .top-bar,#s-mom-dad-had .top-bar{margin:4px 0 24px}
#s-mom-easy .back-btn,#s-mom-helped-kids2 .back-btn,#s-helped-activity .back-btn,#s-mom-dad-had .back-btn{background:none;border:none;box-shadow:none;color:#4430a0;font-size:20px;font-weight:800;padding:0}
#s-mom-easy .logo,#s-mom-helped-kids2 .logo,#s-helped-activity .logo,#s-mom-dad-had .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
#s-mom-easy .progress,#s-mom-helped-kids2 .progress,#s-helped-activity .progress,#s-mom-dad-had .progress{gap:10px;margin-bottom:32px}
#s-mom-easy .pd,#s-mom-helped-kids2 .pd,#s-helped-activity .pd,#s-mom-dad-had .pd{height:5px;border-radius:999px;background:#dfdfe0}
#s-mom-easy .pd.active,#s-mom-easy .pd.done,#s-mom-helped-kids2 .pd.active,#s-mom-helped-kids2 .pd.done,#s-helped-activity .pd.active,#s-helped-activity .pd.done,#s-mom-dad-had .pd.active,#s-mom-dad-had .pd.done{background:#4430a0}
#s-mom-easy>.q,#s-mom-helped-kids2>.q,#s-helped-activity>.q,#s-mom-dad-had>.q{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:800;line-height:1.1;color:#11172f;letter-spacing:0;margin-bottom:14px}
#s-mom-easy>.sub,#s-mom-helped-kids2>.sub,#s-mom-dad-had>.sub{font-size:18px;color:#70717a;line-height:1.35;margin-bottom:22px}
#s-mom-easy .option-list{gap:16px;margin-bottom:22px}
#s-mom-easy .opt{min-height:94px;border:1.5px solid #e1e0e5;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(28,22,48,.06);font-size:22px;font-weight:800;color:#11172f}
#s-mom-easy .opt.sel{border-color:#6b57c7;background:#f5f2ff;color:#4430a0}
#s-mom-helped-kids2 .kid-grid,#s-mom-dad-had .kid-grid{gap:12px;margin-bottom:18px}
#s-mom-helped-kids2 .kid-btn,#s-mom-dad-had .kid-btn{min-height:76px;border:1.5px solid #e1e0e5;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(28,22,48,.05);color:#11172f}
#s-mom-helped-kids2 .kid-btn.with-dad,#s-mom-dad-had .kid-btn.with-dad{border-color:#6b57c7;background:#f5f2ff;color:#4430a0}
#s-mom-helped-kids2 .who-summary,#s-mom-dad-had .who-summary{border:1px solid #e4e0f1;background:#fff;border-radius:18px;padding:14px 16px;margin-bottom:18px;box-shadow:0 8px 18px rgba(28,22,48,.04)}
#s-helped-activity .kid-loop-header{border:1px solid #e4e0f1;background:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 8px 18px rgba(28,22,48,.04)}
#s-helped-activity .activity-grid{gap:10px;margin-bottom:18px}
#s-helped-activity .act-btn{min-height:58px;border:1.5px solid #e1e0e5;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(28,22,48,.04);font-size:14px;color:#11172f}
#s-helped-activity .act-btn.sel{border-color:#6b57c7;background:#f5f2ff;color:#4430a0}
#s-mom-easy input[type=text],#s-helped-activity input[type=text]{border-radius:18px;border-color:#e1e0e5;background:#fff;box-shadow:0 8px 18px rgba(28,22,48,.04);font-size:16px}
#s-mom-easy .btn.primary,#s-mom-helped-kids2 .btn.primary,#s-helped-activity .btn.primary,#s-mom-dad-had .btn.primary{min-height:56px;border-radius:16px;background:#4430a0;border-color:#4430a0;box-shadow:0 10px 20px rgba(68,48,160,.16)}


@media (max-width:360px){
  .bottom-nav{padding-left:6px;padding-right:6px;gap:0}
  .bottom-nav-item{font-size:10px;gap:4px}
}

@media (max-width:310px){
  .bottom-nav-item strong{display:none}
  .bottom-nav-item span{width:24px;height:24px}
}

@media (max-width:380px){
  #s-week>.q{font-size:30px}
  #s-week>.sub{font-size:18px}
  .checkin-decision-card{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:15px;min-height:98px}
  .decision-icon{width:54px;height:54px}
  .decision-title{font-size:20px}
  .decision-desc{font-size:16px}
  .decision-chevron{font-size:38px}
  #s-dad-mode>.q,#s-mom-mode>.q{font-size:30px}
  #s-dad-mode>.sub,#s-mom-mode>.sub{font-size:18px}
  #s-dad-mode .scene-card,#s-mom-mode .scene-card{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:15px;min-height:98px}
  #s-dad-mode .scene-title,#s-mom-mode .scene-title{font-size:20px}
  #s-dad-mode .scene-desc,#s-mom-mode .scene-desc{font-size:16px}
  #s-change-context>.q{font-size:30px}
  .change-context-banner{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:15px}
  .change-context-icon{width:54px;height:54px}
  .change-context-title{font-size:20px}
  .change-context-sub{font-size:16px}
  .change-yn-btn{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:15px;min-height:98px}
  .change-yn-icon{width:54px;height:54px}
  .change-yn-icon svg{width:30px;height:30px}
  .change-yn-label{font-size:20px}
  .change-yn-sub{font-size:16px}
}

/* ── Screenshot attachment ─────────────────────────── */
.attach-section{background:#f7f6f9;border:1.5px dashed #d0cce0;border-radius:14px;padding:14px 16px}
.attach-label{font-size:14px;font-weight:600;color:#3a2e80;margin-bottom:3px}
.attach-sub{font-size:12px;color:#888;margin-bottom:12px;line-height:1.4}
.attach-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #d0cce0;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;color:#3a2e80;cursor:pointer;transition:all .15s;font-family:inherit}
.attach-btn:active{opacity:.7}
.attach-btn:hover{background:#f0eeff;border-color:#a89fd6}
.attach-preview{position:relative;margin-bottom:12px;border-radius:10px;overflow:hidden;max-height:200px;background:#000}
.attach-preview img{width:100%;max-height:200px;object-fit:contain;display:block;border-radius:10px}
.attach-remove-btn{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;width:26px;height:26px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}
.attach-remove-btn:active{opacity:.7}
.attach-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;border:1.5px solid #e0dce8;flex-shrink:0}
.attach-indicator{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#3a2e80;background:#eeedfe;border-radius:6px;padding:3px 8px;font-weight:600;margin-top:4px}

/* ── Change context screen ─────────────────────────── */
#s-change-context{max-width:430px;margin:0 auto;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
#s-change-context .top-bar{margin:4px 0 24px}
#s-change-context .back-btn{background:none;border:none;box-shadow:none;color:#4430a0;font-size:20px;font-weight:800;padding:0}
#s-change-context .logo{font-size:14px;font-weight:800;color:#8a8894;letter-spacing:.18em}
#s-change-context .progress{gap:10px;margin-bottom:32px}
#s-change-context .pd{height:5px;border-radius:999px;background:#dfdfe0}
#s-change-context .pd.active,#s-change-context .pd.done{background:#4430a0}
#s-change-context>.q{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:800;line-height:1.1;color:#11172f;letter-spacing:0;margin-bottom:14px}
#s-change-context>.sub,#pressure-section>.sub{font-size:18px;color:#70717a;line-height:1.35;margin-bottom:22px}
.change-context-banner{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px;background:#fff;border:1.5px solid #e1e0e5;border-radius:22px;padding:18px;margin-bottom:22px;box-shadow:0 12px 28px rgba(28,22,48,.06)}
.change-context-icon{width:64px;height:64px;border-radius:50%;background:#fff2ed;color:#ef7c35;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.change-context-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.change-context-title{font-size:23px;font-weight:800;line-height:1.15;color:#11172f;margin-bottom:7px}
.change-context-sub{font-size:17px;color:#70717a;line-height:1.35}
.change-yn-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:18px}
.change-yn-btn{width:100%;min-height:116px;background:#fff;border:1.5px solid #e1e0e5;border-radius:22px;padding:18px;cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;font-family:inherit;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;box-shadow:0 12px 28px rgba(28,22,48,.06);color:#11172f}
.change-yn-btn:active{opacity:1;transform:scale(.99);box-shadow:0 8px 18px rgba(28,22,48,.08)}
.change-yn-btn:focus-visible{outline:3px solid rgba(68,48,160,.28);outline-offset:3px}
.change-yn-btn.sel-yes{border-color:#4db184;background:linear-gradient(135deg,#fff 0%,#fff 58%,#eefaf4 100%)}
.change-yn-btn.sel-no{border-color:#ef9b58;background:linear-gradient(135deg,#fff 0%,#fff 58%,#fff7f2 100%)}
.change-yn-btn.sel-pressure{border-color:#ef9b58;background:linear-gradient(135deg,#fff 0%,#fff 58%,#fff7f2 100%)}
.change-yn-btn.sel-ok{border-color:#6b57c7;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f5f2ff 100%)}
.change-yn-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0edf9;color:#6b57c7}
.change-yn-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.change-yn-copy{min-width:0;display:flex;flex-direction:column;gap:8px}
.change-yn-label{font-size:23px;font-weight:800;color:#11172f;line-height:1.15}
.change-yn-sub{font-size:18px;color:#70717a;line-height:1.35}
.change-yn-btn.sel-yes .change-yn-icon{background:#eefaf4}.change-yn-btn.sel-no .change-yn-icon,.change-yn-btn.sel-pressure .change-yn-icon{background:#fff2ed}.change-yn-btn.sel-ok .change-yn-icon{background:#f2efff}
.change-yn-btn.sel-yes .change-yn-icon{color:#4db184}.change-yn-btn.sel-no .change-yn-icon,.change-yn-btn.sel-pressure .change-yn-icon{color:#ef7c35}.change-yn-btn.sel-ok .change-yn-icon{color:#6b57c7}
.change-yn-btn.sel-yes .change-yn-label{color:#11172f}
.change-yn-btn.sel-no .change-yn-label{color:#11172f}
.change-yn-btn.sel-pressure .change-yn-label{color:#11172f}
.change-yn-btn.sel-ok .change-yn-label{color:#11172f}
#pressure-section{border-top:1px solid #efedf4;margin-top:6px!important;padding-top:20px}
#pressure-section .q{font-family:Georgia,'Times New Roman',serif!important;font-size:26px!important;font-weight:800!important;line-height:1.12!important;color:var(--daily-ink)!important;margin-bottom:10px!important}
#s-change-context .btn.primary{min-height:56px;border-radius:16px;background:#4430a0;border-color:#4430a0;box-shadow:0 10px 20px rgba(68,48,160,.16)}
/* Diary badges for change context */
.context-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px;margin-right:5px;margin-bottom:4px}
.badge-agreed{background:#e8faf4;color:#0f6e56}
.badge-unexpected{background:#faece7;color:#993c1d}
.badge-pressured{background:#fff0e0;color:#854f0b}

/* ── Reports screen improvements ──────────────────── */
.report-filter-row{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;flex-wrap:wrap}
.report-filter-label{font-size:12px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}
.report-filter-pills{display:flex;gap:6px;flex-wrap:wrap}
.report-pill{padding:6px 14px;border-radius:20px;border:1.5px solid #e0dce8;background:#fff;color:#666;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
.report-pill:active{opacity:.7}
.report-pill.active{background:#4430a0;border-color:#4430a0;color:#fff}
.reports-stats-bar{background:#fff;border:1px solid #ebe8f0;border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reports-stat-item{display:flex;flex-direction:column;gap:2px}
.reports-stat-num{font-size:26px;font-weight:800;color:#11172f;line-height:1}
.reports-stat-num.red{color:#c0392b}
.reports-stat-num.blue{color:#4430a0}
.reports-stat-lbl{font-size:11px;color:#888;line-height:1.3}
.reports-stat-divider{grid-column:1/-1;height:1px;background:#ebe8f0;margin:2px 0}
.report-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.report-preview-title{font-size:14px;font-weight:700;color:#11172f}
.report-print-btn{background:#fff;border:1.5px solid #e0dce8;border-radius:10px;padding:7px 12px;font-size:13px;font-weight:600;color:#4430a0;cursor:pointer;font-family:inherit}
.report-print-btn:active{opacity:.7}
@media print{
  .bottom-nav,.report-filter-row,.report-list,.report-actions,.report-print-btn,.copy-toast,.reports-stats-bar,.home-top{display:none!important}
  .preview-box{max-height:none!important;border:none!important;background:#fff!important;font-size:11px!important;padding:0!important}
  body{background:#fff}
  .report-shell{padding:0}
}

/* Lock indicator on calendar cells */
.cal-cell.locked-entry::after{content:'🔒';position:absolute;bottom:2px;right:3px;font-size:8px;opacity:.5}

/* ── Trends panel — matches Calendar UI ─────────────── */
.trends-pill{padding:5px 12px;border-radius:20px;border:1.5px solid #e1e0e5;background:#fff;color:#555;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
.trends-pill:active{opacity:.7}
.trends-pill.active{background:#4430a0;border-color:#4430a0;color:#fff}
.trends-deviation-card{background:#f2f2f0;border-radius:12px;padding:14px 16px;margin-bottom:8px}
.trends-deviation-title{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.trends-deviation-row{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);gap:12px}
.trends-deviation-row:last-child{border-bottom:none;padding-bottom:0}
.trends-dev-date{font-size:12px;font-weight:600;color:#333;flex-shrink:0;min-width:90px}
.trends-dev-kids{font-size:12px;color:#555;flex:1}
.trends-dev-flags{display:flex;flex-direction:column;gap:3px;align-items:flex-end;flex-shrink:0}
.flag-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:8px;white-space:nowrap}
.flag-pressured{background:#fff0e0;color:#854f0b}
.flag-agreed{background:#e8faf4;color:#0f6e56}
.flag-unexpected{background:#faece7;color:#c0392b}
.trends-footnote{font-size:11px;color:#999;margin-top:10px;line-height:1.6;padding:10px 14px;background:#f2f2f0;border-radius:10px}

/* ── Shared activities in setup ─────────────────────── */
.activity-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}
.activity-chip{min-width:0;min-height:56px;padding:10px 12px;border-radius:12px;border:1.5px solid #dedbe4;background:#fff;color:#11172f;font-size:15px;font-weight:650;cursor:pointer;font-family:inherit;transition:all .15s;text-align:left;display:grid;grid-template-columns:34px minmax(0,1fr) 26px;align-items:center;gap:10px;box-shadow:0 7px 18px rgba(28,22,48,.035)}
.activity-chip span:nth-child(2){min-width:0;overflow-wrap:anywhere;line-height:1.25}
.activity-chip.active{background:#f3efff;border-color:#8c7bea;color:#3C3489;box-shadow:0 10px 22px rgba(68,48,160,.09)}
.activity-chip.custom.active{background:#f3efff;border-color:#8c7bea;color:#3C3489}
.activity-chip:active{opacity:.82;transform:scale(.99)}
.activity-line-icon{width:28px;height:28px;color:#4430a0;position:relative;border:1.7px solid currentColor;border-radius:8px;opacity:.88}
.activity-line-icon::before{left:8px;top:8px;width:8px;height:8px;border:1.7px solid currentColor;border-radius:50%}
.activity-line-icon::after{left:13px;top:3px;width:1.7px;height:20px;background:currentColor;border-radius:2px;transform:rotate(35deg);opacity:.85}
.activity-medical{border-radius:50%}.activity-medical::before{left:12px;top:5px;width:2px;height:16px;background:currentColor;border:0;border-radius:2px}.activity-medical::after{left:5px;top:12px;width:16px;height:2px;background:currentColor;border-radius:2px;transform:none}
.activity-sports{border-radius:50%}.activity-sports::before{left:5px;top:12px;width:16px;height:2px;background:currentColor;border:0}.activity-sports::after{left:12px;top:5px;width:2px;height:16px;background:currentColor;transform:none}
.activity-music::before{left:7px;top:16px;width:6px;height:6px;border:1.7px solid currentColor;border-radius:50%}.activity-music::after{left:14px;top:5px;width:2px;height:16px;background:currentColor;transform:none}
.activity-birthday::before{left:5px;top:12px;width:16px;height:9px;border:1.7px solid currentColor;border-radius:2px}.activity-birthday::after{left:8px;top:6px;width:12px;height:6px;border-left:2px solid currentColor;border-right:2px solid currentColor;transform:none;background:none}
.activity-camp::before{left:5px;top:15px;width:18px;height:2px;background:currentColor;border:0}.activity-camp::after{left:8px;top:7px;width:11px;height:12px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);background:none}
.activity-volunteer{border-radius:50%}.activity-volunteer::before{left:7px;top:8px;width:12px;height:10px;border:1.7px solid currentColor;border-top:0;border-radius:0 0 8px 8px;transform:rotate(-35deg)}.activity-volunteer::after{left:10px;top:8px;width:12px;height:10px;border:1.7px solid currentColor;border-top:0;border-radius:0 0 8px 8px;transform:rotate(35deg);background:none}
.activity-check{width:26px;height:26px;border-radius:50%;background:#4430a0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;opacity:0;transform:scale(.88);transition:opacity .15s,transform .15s}
.activity-chip.active .activity-check{opacity:1;transform:scale(1)}
.activity-add-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:center;margin-top:16px;min-width:0}
.activity-custom-input{flex:1;min-width:0;min-height:58px;padding:0 18px;border:1.7px solid #8c7bea;border-radius:14px;font-size:17px;font-family:inherit;color:#11172f;background:#fff}
.activity-custom-input:focus{outline:none;box-shadow:0 0 0 3px rgba(127,119,221,.15)}
.activity-add-btn{min-height:58px;border-radius:14px;border:1.5px solid #d7cdf8;background:#eee7ff;color:#2f247d;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap}
.activity-add-btn:active{opacity:.7}
.activity-limit-hint{margin-top:8px;color:#777;font-size:12px;line-height:1.35}
@media(max-width:640px){
  .activity-card-grid{grid-template-columns:1fr;padding:14px;gap:10px}
  .activity-add-row{grid-template-columns:1fr}
  .activity-add-btn{width:100%}
}

/* ── Welcome / intro screen ─────────────────────────── */
.welcome-shell{display:flex;flex-direction:column;align-items:center;padding:40px 24px 48px;max-width:480px;margin:0 auto}
.welcome-logo{margin-bottom:16px}
.welcome-title{font-size:26px;font-weight:700;color:#11172f;margin-bottom:6px;text-align:center}
.welcome-tagline{font-size:15px;color:#888;margin-bottom:28px;text-align:center}
.welcome-cards{display:flex;flex-direction:column;gap:12px;width:100%}
.welcome-card{display:flex;align-items:flex-start;gap:14px;background:#f7f7f5;border-radius:14px;padding:14px 16px}
.welcome-card-icon{font-size:22px;flex-shrink:0;margin-top:1px}
.welcome-card-title{font-size:14px;font-weight:700;color:#11172f;margin-bottom:3px}
.welcome-card-body{font-size:13px;color:#666;line-height:1.5}

/* ── Welcome screen enhancements ────────────────────── */
.welcome-privacy-pill{background:#eeedfe;color:#4430a0;font-size:12px;font-weight:700;padding:6px 14px;border-radius:20px;letter-spacing:.04em;margin-bottom:16px;display:inline-block}
.welcome-progress{display:flex;align-items:center;gap:0;margin:20px 0 24px;width:100%}
.welcome-progress-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.welcome-progress-line{flex:1;height:2px;background:#e0dce8;margin:0 4px;margin-bottom:14px}
.wps-dot{width:28px;height:28px;border-radius:50%;background:#e0dce8;color:#999;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.wps-dot.active{background:#4430a0;color:#fff}
.wps-label{font-size:11px;color:#aaa;font-weight:500}
.welcome-footnote{font-size:12px;color:#aaa;text-align:center;margin-top:14px;line-height:1.5}

/* ── Setup step progress ─────────────────────────────── */
.setup-steps{display:flex;align-items:center;padding:12px 20px 0;gap:0}
.setup-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.setup-step-line{flex:1;height:2px;background:#e0dce8;margin:0 4px;margin-bottom:14px}
.setup-step-dot{width:26px;height:26px;border-radius:50%;background:#e0dce8;color:#999;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}
.setup-step.active .setup-step-dot{background:#4430a0;color:#fff}
.setup-step.done .setup-step-dot{background:#0f6e56;color:#fff}
.setup-step-lbl{font-size:10px;color:#aaa;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.setup-step.active .setup-step-lbl{color:#4430a0}

/* ── Setup field enhancements ───────────────────────── */
.setup-hint{font-size:11px;color:#aaa;margin-top:4px;line-height:1.4}
.setup-required{font-size:11px;font-weight:600;color:#4430a0;margin-left:4px}
.setup-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;color:#bbb;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.setup-divider::before,.setup-divider::after{content:'';flex:1;height:1px;background:#e8e4f0}

/* ── Multi-step onboarding ───────────────────────────── */
.ob-shell{display:flex;flex-direction:column;padding:32px 24px 48px;max-width:480px;margin:0 auto;min-height:100vh}
.ob-logo{margin-bottom:16px;display:flex;justify-content:center}
.ob-privacy-pill{background:#eeedfe;color:#4430a0;font-size:12px;font-weight:700;padding:5px 14px;border-radius:20px;letter-spacing:.04em;margin-bottom:14px;display:inline-block;align-self:center}
.ob-title{font-size:28px;font-weight:800;color:#11172f;margin-bottom:8px;text-align:center}
.ob-desc{font-size:14px;color:#666;line-height:1.6;text-align:center;margin-bottom:24px}
.ob-promise-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;width:100%}
.ob-promise{display:flex;align-items:flex-start;gap:12px;background:#f7f7f5;border-radius:12px;padding:12px 14px}
.ob-promise span{font-size:20px;flex-shrink:0;margin-top:1px}
.ob-promise strong{font-size:13px;font-weight:700;color:#11172f;display:block;margin-bottom:2px}
.ob-promise p{font-size:12px;color:#666;margin:0;line-height:1.4}
.ob-progress-bar{width:100%;height:4px;background:#e8e4f0;border-radius:4px;margin-bottom:8px;overflow:hidden}
.ob-progress-fill{height:100%;background:#4430a0;border-radius:4px;transition:width .4s ease}
.ob-step-label{font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.06em;margin-bottom:24px}
.ob-q{font-size:24px;font-weight:800;color:#11172f;margin-bottom:8px;line-height:1.2}
.ob-sub{font-size:14px;color:#777;line-height:1.5;margin-bottom:24px}
.ob-label{font-size:13px;font-weight:600;color:#333;margin-bottom:6px;display:block}
.ob-input{width:100%;padding:16px;font-size:16px;border:2px solid #e0dce8;border-radius:14px;font-family:inherit;color:#11172f;background:#fff;margin-bottom:12px;transition:border-color .15s;box-sizing:border-box}
.ob-input:focus{outline:none;border-color:#4430a0}
.ob-examples{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.ob-examples span{padding:6px 14px;border-radius:20px;border:1.5px solid #e0dce8;background:#fff;color:#555;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}
.ob-examples span:active{background:#eeedfe;border-color:#7F77DD;color:#3C3489}
.ob-btn-primary{width:100%;padding:18px;background:#4430a0;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:10px;transition:all .15s}
.ob-btn-primary:active{opacity:.85;transform:scale(.99)}
.ob-btn-primary.ob-disabled{background:#c8c4dc;cursor:default}
.ob-btn-secondary{width:100%;padding:16px;background:#fff;color:#4430a0;border:2px solid #e0dce8;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;margin-bottom:10px;transition:all .15s}
.ob-btn-secondary:active{opacity:.85;transform:scale(.99)}
.ob-btn-secondary:disabled{opacity:.55;cursor:wait;transform:none}
.ob-btn-ghost{width:100%;padding:14px;background:transparent;color:#aaa;border:none;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;margin-bottom:6px}
.ob-btn-ghost:active{opacity:.7}
.ob-btn-back{background:none;border:none;color:#aaa;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;padding:8px 0;margin-top:4px}
.ob-footnote{font-size:12px;color:#bbb;text-align:center;margin-top:8px}
.ob-privacy-note{font-size:12px;color:#aaa;text-align:center;margin-top:16px;line-height:1.5}
.ob-kids-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ob-kid-row{display:flex;align-items:center;gap:8px}
.ob-kid-input{flex:1;padding:14px 16px;font-size:15px;border:2px solid #e0dce8;border-radius:12px;font-family:inherit;color:#11172f;background:#fff;transition:border-color .15s}
.ob-kid-input:focus{outline:none;border-color:#4430a0}
.ob-kid-remove{width:32px;height:32px;border-radius:50%;border:1.5px solid #e0dce8;background:#fff;color:#aaa;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ob-add-child{background:none;border:2px dashed #e0dce8;color:#777;font-size:14px;font-weight:600;padding:12px;width:100%;border-radius:12px;cursor:pointer;font-family:inherit;margin-bottom:20px;transition:all .15s}
.ob-add-child:active{background:#f0eeff;border-color:#a89fd6}
.ob-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
.ob-activity-chip{padding:10px 12px;border-radius:12px;border:2px solid #e0dce8;background:#fff;color:#555;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s;line-height:1.3}
.ob-activity-chip.active{background:#eeedfe;border-color:#7F77DD;color:#3C3489;font-weight:600}
.ob-activity-chip:active{opacity:.7}
.ob-terms-row{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:13px;color:#555;line-height:1.5}
.ob-terms-row input{margin-top:2px;flex-shrink:0;width:18px;height:18px;cursor:pointer}
.ob-terms-row a{color:#4430a0}
.ob-error{font-size:12px;color:#993c1d;background:#faece7;border-radius:8px;padding:8px 12px;margin-bottom:12px}

/* ── Kid count selector ──────────────────────────────── */
.ob-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px}
.ob-count-btn{padding:24px 12px;border-radius:16px;border:2.5px solid #e0dce8;background:#fff;color:#333;font-size:28px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s}
.ob-count-btn:active{transform:scale(.95);opacity:.8}
.ob-count-btn.selected{background:#eeedfe;border-color:#4430a0;color:#4430a0}

/* ── 48-hour activity prompt ────────────────────────── */
.activity-prompt-banner{background:#fff;border:2px solid #7F77DD;border-radius:16px;padding:16px;margin-bottom:1rem;display:none}
.activity-prompt-title{font-size:15px;font-weight:700;color:#4430a0;margin-bottom:4px}
.activity-prompt-sub{font-size:13px;color:#666;line-height:1.4}
.ob-welcome-shell{justify-content:center;text-align:center;padding-top:80px}
.ob-welcome-line{font-size:22px;font-weight:700;color:#11172f;line-height:1.3;margin:12px 0 40px}
.ob-btn-xl{padding:20px;font-size:18px;border-radius:16px;margin-bottom:12px}
.ob-login-entry{margin-top:2px}
.ob-login-shell{justify-content:center}
.ob-login-message{min-height:20px;margin-top:14px;font-size:13px;line-height:1.45;color:#777;text-align:center}
.ob-login-message[data-tone="success"]{color:#0f6e56}
.ob-login-message[data-tone="error"]{color:#c72020}
.ob-promise-intro{font-size:13px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.07em;margin-bottom:20px}
.ob-promise-lg{padding:16px;gap:14px}
.ob-promise-lg span{font-size:24px}
.ob-promise-lg strong{font-size:15px}
.ob-promise-lg p{font-size:13px;margin-top:3px}
