:root{--bg: #f7f6f3;--ink: #161616;--muted: #5a5a5a;--line: #e4e4e6;--surface: #ffffff;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif;--sand: #f5f5f6;--cream: #ffffff;--ink-soft: #5a5a5a;--ink-faint: #8e8e8e;--forest: #171717;--forest-deep: #000000;--sage: #c4c4c6;--sage-wash: #ededee;--clay: #171717;--clay-deep: #000000;--shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 16px 40px -20px rgba(0, 0, 0, .22);--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}.shell{max-width:40rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.shell-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.brand{font-family:var(--font-display);font-size:1.125rem;font-weight:600;text-decoration:none;letter-spacing:.02em}.shell-main h1{font-family:var(--font-display);font-weight:600;font-size:1.75rem;line-height:1.2;margin:0 0 .75rem}.lede{font-size:1.05rem;margin:0 0 1rem}.muted{color:var(--muted);margin:0}.owner{--owner-cream: var(--surface);--owner-sand: #f0efeb;--owner-sage-wash: #eceae4;--owner-forest: var(--ink);--owner-ink-faint: #8e8e8e;--owner-ink-soft: var(--muted);--owner-ease: cubic-bezier(.22, .61, .36, 1);--owner-shadow: 0 12px 40px rgba(0, 0, 0, .12);width:100%;min-width:0;max-width:100%;overflow-x:clip;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#eaeaec}.owner-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:11px 20px;background:var(--owner-cream);border-bottom:1px solid var(--line)}.owner-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}.owner-logo{width:30px;height:30px;border-radius:9px;background:var(--owner-forest);color:var(--owner-cream);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:15px;flex:none}.owner-brand-name{font-family:var(--font-display);font-weight:600;font-size:16px;white-space:nowrap;max-width:12rem;overflow:hidden;text-overflow:ellipsis}.owner-tabs{display:flex;gap:2px;margin-left:14px}.owner-tab{padding:9px 16px;border-radius:10px;font-size:16px;font-weight:600;color:var(--ink);text-decoration:none;transition:.15s var(--owner-ease);white-space:nowrap}.owner-tab:hover{background:var(--owner-sand)}.owner-tab.on{color:var(--ink);background:var(--owner-sage-wash)}.owner-account{position:relative;margin-left:auto}.owner-acct-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 6px;cursor:pointer;font-family:inherit;transition:.15s var(--owner-ease)}.owner-acct-btn:hover{border-color:#c8c5bc;background:var(--owner-sand)}.owner-acct-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--owner-forest);color:var(--owner-cream);font-size:11.5px;font-weight:700;letter-spacing:.02em}.owner-acct-name{font-size:14px;font-weight:600;color:var(--ink)}.owner-caret{font-size:10px;color:var(--owner-ink-faint)}.owner-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.owner-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:41;min-width:264px;background:var(--owner-cream);border:1px solid var(--line);border-radius:16px;box-shadow:var(--owner-shadow);padding:7px;display:flex;flex-direction:column;gap:2px}.owner-menu-id{display:flex;align-items:center;gap:11px;padding:10px 11px 12px}.owner-menu-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--owner-forest);color:var(--owner-cream);font-size:13px;font-weight:700;flex:none}.owner-menu-idtext{display:flex;flex-direction:column;min-width:0}.owner-menu-name{font-size:14.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-menu-role{font-size:12.5px;color:var(--owner-ink-faint)}.owner-menu-group{display:flex;flex-direction:column}.owner-menu-row{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:10px 11px;border-radius:10px;border:none;background:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;cursor:pointer}.owner-menu-row:hover{background:var(--owner-sand)}.owner-menu-ic{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--owner-ink-soft);flex:none}.owner-menu-ic svg{display:block}.owner-menu-row.danger,.owner-menu-row.danger .owner-menu-ic{color:#9c1f1f}.owner-menu-sep{height:1px;background:var(--line);margin:6px 4px}.owner-content{flex:1 0 auto;display:flex;flex-direction:column;width:100%;max-width:720px;margin:0 auto;padding:1.25rem 1.25rem 2rem;box-sizing:border-box}.owner-page{width:100%}.owner-page-inner{max-width:40rem}.owner-bottombar{display:none}@media(max-width:767px){.owner-tabs,.owner-acct-name{display:none}.owner-brand-name{max-width:9rem}.owner-content{padding-bottom:88px}.owner-bottombar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;background:var(--owner-cream);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.owner-btab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 5px;border-radius:11px;text-decoration:none;color:var(--ink)}.owner-btab-ic{display:flex;align-items:center;justify-content:center;line-height:1;color:var(--ink)}.owner-btab-ic svg{display:block}.owner-btab-lb{font-size:12px;font-weight:600}.owner-btab.on{color:var(--ink);background:var(--owner-sage-wash)}.owner-btab.on .owner-btab-lb{font-weight:700}}.owner-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}.owner-title{font-family:var(--font-display);font-weight:600;font-size:1.5rem;line-height:1.2;margin:0 0 .35rem}.owner-sub{font-size:.9rem}.mono{font-family:ui-monospace,IBM Plex Mono,SF Mono,Menlo,monospace;font-size:.9em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;padding:.4rem 1rem;border-radius:8px;border:1px solid transparent;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;background:transparent;color:var(--ink)}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{opacity:.92}.btn.ghost{border-color:var(--line);background:var(--surface)}.btn.danger{background:#9c1f1f;color:#fff}.btn.danger-text{color:#9c1f1f}.btn:disabled{opacity:.55;cursor:not-allowed}.sched-day{margin-bottom:1.25rem}.sched-day-title{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.sched-today{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--ink);color:#fff;padding:.15rem .4rem;border-radius:4px}.sched-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.sched-row{width:100%;display:flex;align-items:flex-start;gap:.85rem;text-align:left;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:inherit;color:inherit;cursor:pointer}.sched-row:hover{border-color:#c8c5bc}.sched-row.inactive{opacity:.55}.sched-time{flex-shrink:0;min-width:4.5rem;font-weight:600;padding-top:.1rem}.sched-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.sched-name{font-weight:600}.sched-tags{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center;color:var(--muted);font-size:.85rem}.pill{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .4rem;border-radius:999px;background:#eaf4ee;color:#1d6b3c}.pill.muted-pill{background:#f0efeb;color:var(--muted)}.pill.warn{background:#faf3e3;color:#8a5b00}.empty-hint{margin-top:1rem}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141459;display:flex;align-items:flex-end;justify-content:center;z-index:40;padding:1rem}@media(min-width:640px){.sheet-backdrop{align-items:center}}.sheet{width:min(28rem,100%);max-height:min(90vh,40rem);overflow:auto;background:var(--surface);border-radius:14px;padding:1.25rem 1.25rem 1.5rem;box-shadow:0 12px 40px #0000002e}.sheet-title{font-family:var(--font-display);font-size:1.25rem;margin:0 0 1rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem;border:0;padding:0;min-width:0}.field-label{font-size:.85rem;font-weight:600}.field-input{min-height:2.5rem;padding:.4rem .65rem;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}.field-input:focus{outline:none;border-color:var(--ink)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.65rem}.day-chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{min-height:2.25rem;min-width:2.5rem;padding:.25rem .55rem;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--ink)}.chip.sel{background:var(--ink);color:#fff;border-color:var(--ink)}.check-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem;font-size:.95rem;cursor:pointer}.check-row input{width:1.1rem;height:1.1rem}.sheet-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.form-error{color:#9c1f1f;background:#f9ecec;padding:.55rem .75rem;border-radius:8px;font-size:.9rem;margin:.5rem 0}.dev-token{margin-top:1.25rem;padding:1rem;border:1px dashed var(--line);border-radius:10px;background:var(--surface)}.dev-token .field-row{margin-top:.65rem;grid-template-columns:1fr auto}.app{width:100%;max-width:min(480px,100%);min-height:100vh;min-height:100dvh;background:var(--cream);position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow);overflow:hidden auto;font-family:var(--font-body);font-size:19px;line-height:1.6;font-weight:500;color:var(--ink)}@media(min-width:520px){.app{min-height:92vh;min-height:92dvh;margin:4vh auto;border-radius:28px}}.app a{color:inherit;text-decoration:underline;text-underline-offset:.15em}.app h1,.app h2,.app .serif{font-family:var(--font-display);font-weight:500;line-height:1.15;letter-spacing:-.01em}.app .bar{display:grid;grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr);align-items:center;column-gap:8px;padding:14px 14px 10px}.app .bar-side{display:flex;align-items:center;min-height:48px}.app .bar-side-start{justify-content:flex-start}.app .bar-side-end{justify-content:flex-end}.app .back{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--ink);background:var(--cream);display:grid;place-items:center;cursor:pointer;color:var(--ink);font-size:20px;font-weight:600;transition:.25s var(--ease)}.app .back:hover{background:var(--ink);color:var(--cream)}.app .back.hidden{visibility:hidden}.app .brandmini{display:flex;align-items:center;gap:9px;justify-content:center;min-width:0;max-width:100%}.app .logo{width:28px;height:28px;border-radius:8px;background:var(--forest);color:var(--cream);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:15px}.app .bname{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.app .stepcount{font-size:16px;font-weight:600;letter-spacing:.02em;color:var(--ink-soft);text-align:right;margin:0 18px 6px}.app .prog{height:5px;background:var(--sage-wash);margin:0 18px;border-radius:999px;overflow:hidden}.app .prog>i{display:block;height:100%;width:0;background:var(--clay);border-radius:999px;transition:width .5s var(--ease)}.app .screen{flex:1 0 auto;padding:22px 24px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.app .stepwrap{display:flex;flex-direction:column;flex:1 0 auto}.app .eyebrow{font-family:var(--font-body);font-size:16px;font-weight:600;letter-spacing:.04em;color:var(--ink);text-transform:uppercase;margin-bottom:12px}.app .q{font-size:clamp(28px,8vw,36px);margin:0 0 8px}.app .sub{color:var(--ink-soft);font-size:19px;line-height:1.6;margin:0 0 22px}.app .spacer{flex:1;min-height:16px}.app .opts{display:flex;flex-direction:column;gap:11px;margin-top:4px}.app .opt{display:flex;align-items:center;gap:13px;text-align:left;background:var(--sand);border:1.5px solid var(--line);border-radius:15px;padding:16px 17px;min-height:60px;cursor:pointer;font-size:18px;font-weight:500;color:var(--ink);font-family:inherit;width:100%;transition:.25s var(--ease)}.app .opt:hover{border-color:var(--sage)}.app .opt .sm{display:block;font-weight:500;font-size:16px;color:var(--ink-soft);margin-top:2px}.app .opt.sel{background:var(--forest);border-color:var(--forest);color:#fff}.app .opt.sel .sm{color:#e6e6e6}.app .field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.app .field label{font-size:17px;font-weight:600}.app .field input{font-family:inherit;font-size:18px;background:var(--sand);border:1.5px solid var(--line);border-radius:12px;padding:14px 15px;color:var(--ink);width:100%;min-height:56px;transition:.25s var(--ease)}.app .field input:focus{outline:none;border-color:var(--ink);background:var(--cream)}.app .field input::placeholder{color:var(--ink-soft)}.app .field-hint{font-size:16px;font-weight:500;color:var(--ink-soft);line-height:1.45}.app .field-error{font-size:16px;font-weight:500;color:#9c1f1f}.app .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--clay);color:#fff;font-family:inherit;font-weight:600;font-size:18px;padding:16px 24px;min-height:56px;border:none;border-radius:999px;cursor:pointer;box-shadow:0 10px 22px -10px #00000052;transition:.3s var(--ease);width:100%;text-decoration:none}.app .btn:hover{background:var(--clay-deep)}.app .btn .ar{transition:transform .3s var(--ease)}.app .btn:disabled{opacity:.45;cursor:default}.app .btn.ghost{background:transparent;color:var(--ink);box-shadow:none;font-weight:600}.app .slot-week{display:flex;flex-direction:column;gap:20px}.app .slot-day{font-size:16px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin:0 2px 9px}.app .slots{display:flex;flex-direction:column;gap:9px}.app .slot{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--sand);border:1.5px solid var(--line);border-radius:13px;padding:14px 16px;cursor:pointer;width:100%;font-family:inherit;color:var(--ink);text-align:left;min-height:60px;transition:.25s var(--ease)}.app .slot:hover{border-color:var(--sage)}.app .slot-main{display:flex;flex-direction:column;gap:3px;min-width:0}.app .slot b,.app .slot .slot-name{font-size:18px;font-weight:600}.app .slot .slot-when{font-size:16px;font-weight:500;color:var(--ink-soft)}.app .slot.sel{background:var(--forest);border-color:var(--forest);color:#fff}.app .slot.sel .slot-when{color:#e6e6e6}.app .empty{color:var(--ink-soft);font-size:19px;background:var(--sand);border:1.5px dashed var(--line);border-radius:13px;padding:18px;text-align:center}.app .seal{width:66px;height:66px;border-radius:50%;background:var(--sage-wash);display:grid;place-items:center;margin:8px auto 18px}.app .seal svg{stroke:var(--forest)}.app .confirm-card{background:var(--sand);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:16px 0;text-align:left}.app .confirm-card .row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:17px}.app .confirm-card .row span{color:var(--ink-soft);font-weight:500}.app .confirm-card .row b,.app .confirm-card .row a{text-align:right;color:var(--ink);font-weight:600}.app .reveal-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.app .rstep{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.app .rstep:last-child{border-bottom:none}.app .rstep .n{width:32px;height:32px;border-radius:50%;background:var(--sage-wash);color:var(--forest-deep);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:16px;border:1px solid var(--sage)}.app .rstep b{font-size:18px;font-weight:500}.app .form-error{background:#f9ecec;border:1.5px solid #9c1f1f;color:#9c1f1f;border-radius:12px;padding:12px 14px;font-size:16px;font-weight:500;margin-bottom:14px}.app .skel{background:var(--sage-wash);border-radius:10px}.app .add-spouse{align-self:flex-start;background:none;border:none;padding:8px 0;min-height:48px;font-family:inherit;font-size:18px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.app .add-spouse.remove{font-size:16px;min-height:44px}.app .spouse-block{margin-top:8px;padding:16px;border:1.5px dashed var(--line);border-radius:14px;background:var(--sand)}.app .spouse-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.app .spouse-title{font-size:18px;font-weight:600}.app .spouse-sub{margin:4px 0 12px;font-size:16px;font-weight:500;color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){.app *,.app *:before,.app *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
