.auth-view{min-height:100vh;display:flex;padding:2rem 1rem;font-family:var(--font);color:var(--ink);background:radial-gradient(60rem 30rem at 50% -12%,var(--teal-50),transparent 70%),var(--page)}.auth-card{margin:auto;width:100%;max-width:22rem;padding:1.75rem 1.5rem 1.5rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lift)}.auth-card--wide{max-width:26rem}.auth-brand{margin:0;font-size:2rem;line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--teal-600)}.auth-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-600)}.profile-heading{margin:0 0 1.2rem;font-size:1.3rem;font-weight:700;color:var(--ink)}.auth-tagline{margin:.3rem 0 1.4rem;font-size:.9rem;color:var(--ink-muted)}.auth-form{display:grid;gap:.85rem}.auth-field{display:grid;gap:.3rem}.auth-label{font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--ink-muted)}.auth-field input{width:100%;min-height:2.75rem;padding:.55rem .75rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--speed),box-shadow var(--speed)}.auth-field input:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.auth-field input:disabled{background:var(--status-todo-bg);color:var(--ink-faint)}.auth-submit{min-height:2.75rem;margin-top:.35rem;padding:.7rem 1rem;font:inherit;font-size:1rem;font-weight:600;color:#fff;background:var(--teal-400);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--speed),transform var(--speed)}.auth-submit:hover:not(:disabled){background:var(--teal-600)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{background:var(--teal-100);cursor:default}.auth-error{margin:.9rem 0 0;padding:.6rem .75rem;font-size:.85rem;color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm)}.auth-switch{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);text-align:center;font-size:.85rem;color:var(--ink-muted)}.auth-switch button{min-height:2.75rem;padding:0 .25rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--teal-600);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.auth-switch button:hover{color:var(--teal-800)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.65rem}.profile-tile{display:grid;justify-items:center;gap:.3rem;padding:.9rem .5rem .75rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--speed),background var(--speed),transform var(--speed)}.profile-tile:hover:not(:disabled){border-color:var(--teal-400)}.profile-tile:active:not(:disabled){transform:translateY(1px)}.profile-tile:disabled{cursor:default;opacity:.6}.profile-tile--current{border-color:var(--teal-400);background:var(--teal-50)}.profile-avatar{font-size:2.1rem;line-height:1}.profile-name{font-size:.9rem;font-weight:600;text-align:center}.profile-role{font-size:.72rem;color:var(--ink-muted);text-transform:capitalize}.profile-current-tag{font-size:.68rem;font-weight:700;color:var(--teal-600)}.pin-panel{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}.pin-label{margin:0 0 .5rem;font-size:.85rem;color:var(--ink-muted)}.pin-input{width:100%;min-height:2.9rem;padding:.6rem .75rem;font:inherit;font-size:1.3rem;letter-spacing:.4em;text-align:center;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--speed),box-shadow var(--speed)}.pin-input:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.pin-actions{display:flex;gap:.6rem;margin-top:.75rem}.pin-actions .auth-submit{flex:1;margin-top:0}.pin-cancel{flex:1;min-height:2.75rem;padding:.7rem 1rem;font:inherit;font-size:.95rem;font-weight:600;color:var(--ink-muted);background:var(--status-todo-bg);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--speed)}.pin-cancel:hover:not(:disabled){color:var(--ink)}.pin-cancel:disabled{cursor:default;opacity:.6}.profile-signout{display:block;margin:1.5rem auto 0;min-height:2.75rem;padding:0 .25rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--ink-faint);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:.15em;transition:color var(--speed)}.profile-signout:hover:not(:disabled){color:var(--error)}.profile-signout:disabled{cursor:default;opacity:.6}@media (prefers-reduced-motion: reduce){.auth-field input,.auth-submit,.profile-tile,.pin-input,.pin-cancel,.profile-signout{transition:none}.auth-submit:active:not(:disabled),.profile-tile:active:not(:disabled){transform:none}}.money-form{display:grid;gap:.6rem;margin-top:.6rem}.money-form-row{display:flex;flex-wrap:wrap;gap:.4rem}.money-form input,.money-form select{min-height:2.75rem;padding:.5rem .7rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--speed),box-shadow var(--speed)}.money-form input:focus,.money-form select:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.money-form-amount{width:6.5rem;text-align:right;font-variant-numeric:tabular-nums}.money-form-note{flex:1;min-width:8rem}.money-form select{width:100%}.money-form-button{min-height:2.75rem;padding:.55rem 1rem;font:inherit;font-size:.9rem;font-weight:600;color:#fff;background:var(--teal-400);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--speed)}.money-form-button:hover:not(:disabled){background:var(--teal-600)}.money-form-button:disabled{background:var(--teal-100);cursor:default}.money-form-button--quiet{color:var(--ink-muted);background:var(--status-todo-bg)}.money-form-button--quiet:hover:not(:disabled){color:var(--ink);background:var(--line)}.money-direction{display:flex;gap:.3rem}.money-direction label{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.4rem .6rem;font-size:.85rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--speed),background var(--speed)}.money-direction label:hover{border-color:var(--teal-400)}.money-direction .money-direction--on{border-color:var(--teal-400);background:var(--teal-50);font-weight:600}.money-form-warning{margin:0;padding:.5rem .65rem;font-size:.82rem;line-height:1.4;color:#8a5600;background:var(--status-waiting-bg);border-radius:var(--radius-sm)}.money-form-error{margin:0;padding:.5rem .65rem;font-size:.82rem;color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){.money-form input,.money-form select,.money-form-button,.money-direction label{transition:none}}.week-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:.3rem;list-style:none;padding:0;margin:0}.week-cell{aspect-ratio:1;border-radius:.3rem;background:var(--status-todo-bg);position:relative}.week-cell--complete{background:var(--status-done)}.week-cell--forced{background:var(--status-done-bg);box-shadow:inset 0 0 0 2px var(--coral-400)}.week-cell--incomplete{background:var(--status-todo-bg)}.week-cell--empty{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.week-cell--current{outline:2px solid var(--teal-400);outline-offset:1px}.legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;font-size:.75rem;color:var(--ink-muted)}.legend-item{display:inline-flex;align-items:center;gap:.3rem}.legend-swatch{width:.75rem;height:.75rem;border-radius:.25rem}.week-grid--spaced{margin-top:.9rem}.week-cell--linked{border:0;padding:0;cursor:pointer;width:100%;transition:transform .12s ease-out}.week-cell--linked:hover,.week-cell--linked:focus-visible{transform:scale(1.18);z-index:1}.week-cell--linked:focus-visible{outline:2px solid var(--teal-400);outline-offset:2px}@media (min-width: 640px){.week-grid{grid-template-columns:repeat(26,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.week-cell--linked{transition:none}.week-cell--linked:hover,.week-cell--linked:focus-visible{transform:none}}.kid-view{font-family:var(--font);color:var(--ink);background:var(--page);min-height:100vh;padding:1.25rem 1rem 3rem;margin:0 auto;max-width:26rem;box-sizing:border-box}.kid-view *,.kid-view *:before,.kid-view *:after{box-sizing:inherit}.kid-view h1{font-size:1.5rem;margin:0 0 .25rem}.kid-view h2{font-size:1rem;margin:0 0 .6rem}.kid-view p{margin:0}.kid-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.kid-tabs{display:flex;gap:.25rem;background:var(--teal-50);border-radius:999px;padding:.25rem;margin-bottom:1.25rem}.kid-tab{flex:1;border:0;background:transparent;color:var(--teal-800);font:inherit;font-size:.9rem;padding:.55rem .75rem;border-radius:999px;cursor:pointer;transition:background var(--speed),color var(--speed)}.kid-tab[aria-selected=true]{background:var(--surface);color:var(--teal-800);font-weight:600;box-shadow:var(--shadow)}.card{position:relative;display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--surface);border:0;border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow);transition:box-shadow var(--speed),transform var(--speed),opacity var(--speed)}.card--todo{box-shadow:inset 4px 0 0 var(--status-todo),var(--shadow)}.card--waiting{box-shadow:inset 4px 0 0 var(--status-waiting),var(--shadow)}.card--done{box-shadow:inset 4px 0 0 var(--status-done),var(--shadow);opacity:.72}.card--excused{box-shadow:inset 4px 0 #a9a3d4,var(--shadow);background:#f6f5fc}button.card{cursor:pointer}button.card:hover{box-shadow:inset 4px 0 0 var(--status-todo),var(--shadow-lift)}button.card:active{transform:scale(.985)}button.card:focus-visible{outline:2px solid var(--teal-400);outline-offset:2px}.card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.card-title{font-weight:600;font-size:.98rem;line-height:1.3}.card--done .card-title{text-decoration:line-through;text-decoration-color:var(--status-todo)}.card-meta{font-size:.8rem;color:var(--ink-muted);margin-top:.3rem}.badge{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-size:1rem;line-height:1;background:var(--status-todo-bg)}.badge--waiting{background:var(--status-waiting-bg)}.badge--done{background:var(--status-done-bg)}.badge--excused{background:#ebe9f7}.badge--todo:after{content:"";width:1.05rem;height:1.05rem;border-radius:50%;border:2px solid var(--status-todo)}.chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.2rem .55rem;border-radius:999px;background:var(--teal-50);color:var(--teal-800);white-space:nowrap}.chip--money{background:var(--status-done-bg);color:#3b6d11;font-variant-numeric:tabular-nums}.card--group:before,.card--group:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:-4px;height:var(--radius);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);z-index:-1}.card--group:after{left:1rem;right:1rem;bottom:-8px}.card--group{z-index:0;margin-bottom:8px}.progress-bar{height:.5rem;border-radius:999px;background:var(--teal-50);overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;border-radius:999px;background:var(--teal-400);transition:width .4s ease}.progress-fill--done{background:var(--status-done)}.ring{flex:none;width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:600;color:var(--teal-800);background:conic-gradient(var(--teal-400) var(--ring-turn, 0turn),var(--teal-50) 0)}.ring:after{content:attr(data-label);width:2.05rem;height:2.05rem;border-radius:50%;background:var(--surface);display:grid;place-items:center}.week-summary{background:var(--surface);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);margin-bottom:1.25rem}.week-headline{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.week-count{font-size:1.6rem;font-weight:600;font-variant-numeric:tabular-nums}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-top:.9rem;list-style:none;padding:0}.day-dot{display:grid;gap:.3rem;justify-items:center;font-size:.68rem;color:var(--ink-faint)}.day-dot span{width:100%;aspect-ratio:1;max-width:2rem;border-radius:.5rem;background:var(--status-todo-bg)}.day-dot--partial span{background:var(--status-waiting-bg)}.day-dot--done span{background:var(--status-done)}.day-dot--none span{background:transparent;border:1px dashed var(--line)}.day-dot--today{color:var(--teal-800);font-weight:700}.day-dot--today span{outline:2px solid var(--teal-400);outline-offset:2px}.streak-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--coral-50);color:var(--coral-800);border-radius:999px;padding:.35rem .7rem;font-size:.85rem;font-weight:600;white-space:nowrap}.streak-badge--quiet{background:var(--status-todo-bg);color:var(--ink-muted);font-weight:400}.jar{position:relative;overflow:hidden;isolation:isolate}.jar-fill{position:absolute;left:0;right:0;bottom:0;background:var(--jar-tint, var(--teal-50));transition:height .4s ease;z-index:-1}.jar--spending{--jar-accent: var(--jar-spending);--jar-tint: #e1f5ee}.jar--goal{--jar-accent: var(--jar-goal);--jar-tint: #eeedfe}.jar--investment{--jar-accent: var(--jar-investment);--jar-tint: #e6f1fb}.jar-amount{font-weight:600;font-variant-numeric:tabular-nums}.total-bar{display:flex;height:.5rem;border-radius:999px;overflow:hidden;margin-top:.6rem;background:var(--status-todo-bg);gap:2px}.total-bar-part{background:var(--jar-accent, var(--teal-400));transition:width .4s ease}.stack{display:grid;gap:.6rem;list-style:none;padding:0;margin:0}.chore-item{position:relative}.card-undo{position:absolute;top:.35rem;right:.35rem;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink-faint);font-size:.95rem;line-height:1;cursor:pointer;transition:color var(--speed),background var(--speed)}.card-undo:hover,.card-undo:focus-visible{color:var(--ink-muted);background:var(--status-todo-bg)}.card--undoable{padding-right:3.2rem}.section{margin-top:1.5rem}.kid-layout{display:grid;gap:1.5rem}.kid-layout>aside{order:-1}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.muted{color:var(--ink-muted);font-size:.88rem}.error{color:var(--error);font-size:.85rem}.kid-view button.plain{font:inherit;font-size:.85rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.45rem .9rem;cursor:pointer;transition:background var(--speed)}.kid-view button.plain:hover{background:var(--teal-50)}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}.celebrate{animation:pop .42s ease}@keyframes sparkle-rise{0%{opacity:0;transform:translate(-50%) scale(.6)}25%{opacity:1;transform:translate(-50%,-.5rem) scale(1.15)}to{opacity:0;transform:translate(-50%,-2.25rem) scale(1)}}.sparkle{position:absolute;left:50%;top:.5rem;font-size:1.5rem;line-height:1;pointer-events:none;animation:sparkle-rise .7s ease-out forwards;z-index:2}.scene{--scene-scale: 1;position:relative;width:100%;aspect-ratio:16 / 10;margin-top:.6rem;border-radius:var(--radius);overflow:hidden;background:linear-gradient(to bottom,#eef2fb,#eef2fb 66%,#e6dccd 66%,#ded1bd);box-shadow:var(--shadow)}.scene--compact{--scene-scale: .72;aspect-ratio:16 / 7;margin-top:0}.section--scene{margin-top:.9rem;margin-bottom:1.5rem}.scene-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.scene-heading h2{margin:0}.scene-shelf{position:absolute;left:6%;right:6%;top:63%;height:.4rem;border-radius:.2rem;background:#c8ab84;box-shadow:0 2px 4px #4632142e}.scene-object{position:absolute;transform:translate(-50%,-50%);line-height:1;filter:drop-shadow(0 2px 3px rgba(40,40,60,.25));animation:scene-arrive .4s ease-out both}.scene-object--floor,.scene-object--shelf{transform:translate(-50%,-100%)}.scene-object--coming{opacity:.28;filter:grayscale(1);animation:none}@keyframes scene-arrive{0%{opacity:0}}.scene-coming{display:grid;gap:.3rem;list-style:none;padding:0;margin:.7rem 0 0;font-size:.85rem;color:var(--ink-muted)}.scene-coming li{display:flex;align-items:center;gap:.4rem}.scene-coming .chip{margin-left:auto}@media (prefers-reduced-motion: reduce){.scene-object{animation:none}}.claim-label{display:block;font-size:.8rem;font-weight:600;color:var(--ink-muted);margin-bottom:.3rem}.claim-select,.claim-input{width:100%;min-height:2.75rem;padding:.55rem .7rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--speed),box-shadow var(--speed)}.claim-select:focus,.claim-input:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.claim-or{margin:.6rem 0;text-align:center;font-size:.8rem;color:var(--ink-faint)}.claim-submit{width:100%;min-height:2.75rem;margin-top:.75rem;padding:.6rem 1rem;font:inherit;font-size:.95rem;font-weight:600;color:#fff;background:var(--teal-400);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--speed)}.claim-submit:hover:not(:disabled){background:var(--teal-600)}.claim-submit:disabled{background:var(--teal-100);cursor:default}.claim-error{margin:.6rem 0 0;padding:.5rem .65rem;font-size:.85rem;color:var(--error);background:#fdeceb;border-radius:var(--radius-sm)}@media (min-width: 640px){.kid-view{max-width:44rem;padding:2rem 1.5rem 3rem}.stack{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem}.scene--compact{--scene-scale: .82}}@media (min-width: 1024px){.kid-view{max-width:64rem}.scene--compact{--scene-scale: .9}.kid-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:start}.kid-layout>main{grid-column:1;grid-row:1}.kid-layout>aside{grid-column:2;grid-row:1;order:0;position:sticky;top:2rem}.kid-layout .stack{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.kid-layout>aside .stack{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.kid-view *,.kid-view *:before,.kid-view *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.parent-view{font-family:var(--font);color:var(--ink);background:var(--page);min-height:100vh;margin:0 auto;max-width:26rem;padding:1.25rem 1rem 3rem}.parent-header{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}.parent-avatar-button{font-size:2rem;line-height:1;padding:.2rem;border:0;background:transparent;cursor:pointer;border-radius:999px;transition:background var(--speed)}.parent-avatar-button:hover{background:var(--teal-50)}.parent-greeting{flex:1;min-width:0}.parent-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2}.parent-subtitle{margin:.1rem 0 0;font-size:.8rem;color:var(--ink-muted)}.parent-tabs{display:flex;flex-wrap:wrap;gap:.25rem;background:var(--teal-50);border-radius:999px;padding:.25rem;margin-bottom:1.25rem}.parent-tab{flex:1 1 auto;min-width:4rem;min-height:2.75rem;border:0;background:transparent;color:var(--teal-800);font:inherit;font-size:.88rem;padding:.5rem .6rem;border-radius:999px;cursor:pointer;transition:background var(--speed),color var(--speed)}.parent-tab[aria-selected=true]{background:var(--surface);font-weight:600;box-shadow:var(--shadow)}.parent-tab-count{display:inline-block;margin-left:.35rem;padding:0 .35rem;font-size:.72rem;font-weight:700;line-height:1.4;border-radius:999px;background:var(--coral-400);color:#fff;font-variant-numeric:tabular-nums}.parent-section+.parent-section{margin-top:1.75rem}.parent-section-title{margin:0 0 .6rem;font-size:1rem;font-weight:700}.parent-section-note{margin:-.3rem 0 .7rem;font-size:.82rem;color:var(--ink-muted)}.parent-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1rem}.parent-stack{display:grid;gap:.6rem;list-style:none;padding:0;margin:0}.parent-empty{margin:0;font-size:.88rem;color:var(--ink-muted)}.parent-error{margin:.7rem 0 0;padding:.55rem .7rem;font-size:.85rem;color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm)}.parent-button{min-height:2.5rem;padding:.5rem .9rem;font:inherit;font-size:.88rem;font-weight:600;color:#fff;background:var(--teal-400);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--speed)}.parent-button:hover:not(:disabled){background:var(--teal-600)}.parent-button:disabled{background:var(--teal-100);cursor:default}.parent-button--quiet{color:var(--ink-muted);background:var(--status-todo-bg)}.parent-button--quiet:hover:not(:disabled){color:var(--ink);background:var(--line)}.parent-button--quiet:disabled{background:var(--status-todo-bg);color:var(--ink-faint);cursor:default}.parent-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.parent-back{display:block;margin:2rem auto 0;min-height:2.75rem;padding:0 .4rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--ink-faint);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:.15em;transition:color var(--speed)}.parent-back:hover{color:var(--ink)}.approval-card{background:var(--surface);border-radius:var(--radius);box-shadow:inset 4px 0 0 var(--status-waiting),var(--shadow);padding:.85rem 1rem}.approval-card--extra{box-shadow:inset 4px 0 0 var(--status-todo),var(--shadow)}.approval-card--claim{box-shadow:inset 4px 0 0 var(--coral-400),var(--shadow)}.week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.8rem}.week-nav select{min-height:2.75rem;padding:.5rem .7rem;font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.week-nav select:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.week-stepper{display:flex;align-items:center;gap:.3rem;margin-left:auto}.week-stepper-label{min-width:8rem;text-align:center;font-size:.9rem;font-weight:600}.week-step{min-width:2.75rem;min-height:2.75rem;font:inherit;font-size:1.2rem;line-height:1;color:var(--ink-muted);background:var(--status-todo-bg);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--speed),background var(--speed)}.week-step:hover:not(:disabled){color:var(--ink);background:var(--line)}.week-step:disabled{cursor:default;opacity:.4}.week-row{background:var(--surface);border-radius:var(--radius);box-shadow:inset 4px 0 0 var(--status-todo),var(--shadow);padding:.8rem 1rem}.week-row--waiting{box-shadow:inset 4px 0 0 var(--status-waiting),var(--shadow)}.week-row--done{box-shadow:inset 4px 0 0 var(--status-done),var(--shadow)}.week-row--excused{box-shadow:inset 4px 0 #a9a3d4,var(--shadow);background:#f6f5fc}.parent-chip--todo{background:var(--status-todo-bg);color:var(--ink-muted)}.parent-chip--waiting{background:var(--status-waiting-bg);color:#8a5600}.parent-chip--done{background:var(--status-done-bg);color:#3b6d11}.parent-chip--excused{background:#ebe9f7;color:#4a4470}.claim-amount-row{display:flex;align-items:center;gap:.5rem;margin-top:.6rem}.claim-amount-row .parent-field-label{margin:0}.claim-amount-row input{width:6.5rem;min-height:2.75rem;padding:.5rem .7rem;font:inherit;font-size:1rem;text-align:right;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;transition:border-color var(--speed),box-shadow var(--speed)}.claim-amount-row input:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.approval-who{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink-muted);margin-top:.25rem}.approval-avatar{font-size:1rem;line-height:1}.chore-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1rem}.chore-card--paused{background:var(--status-todo-bg);box-shadow:none}.chore-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem}.chore-assignees{font-size:.8rem;color:var(--ink-muted);margin-top:.25rem}.parent-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;padding:.15rem .5rem;border-radius:999px;background:var(--teal-50);color:var(--teal-800);white-space:nowrap}.parent-chip--paused{background:var(--surface);color:var(--ink-muted);box-shadow:inset 0 0 0 1px var(--line)}.parent-chip--auto{background:var(--status-done-bg);color:#3b6d11}.parent-chip--money{background:var(--status-done-bg);color:#3b6d11;font-variant-numeric:tabular-nums}.group-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1rem}.group-card--paused{background:var(--status-todo-bg);box-shadow:none}.group-kids{display:grid;gap:.3rem;list-style:none;padding:0;margin:.6rem 0 0}.group-kid{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.group-kid-name{flex:1;min-width:0}.group-force{min-height:2.25rem;padding:.3rem .6rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--ink-muted);background:var(--status-todo-bg);border:0;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color var(--speed),background var(--speed)}.group-force:hover:not(:disabled){color:var(--ink);background:var(--line)}.group-force:disabled{cursor:default;opacity:.6}.jars-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem}.jars-kid{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.jars-kid-name{font-size:1rem;font-weight:700}.jars-total{font-size:.9rem;font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums}.jar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem .75rem;align-items:center;padding:.6rem 0;border-top:1px solid var(--line)}.jar-row:first-of-type{border-top:0}.jar-row-name{font-size:.92rem;font-weight:600;display:flex;align-items:center;gap:.35rem;min-width:0}.jar-row-meta{font-size:.78rem;color:var(--ink-muted);margin-top:.15rem;font-variant-numeric:tabular-nums}.jar-share{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--ink-muted)}.jar-share input{width:4.5rem;min-height:2.5rem;padding:.4rem .5rem;font:inherit;font-size:1rem;text-align:right;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.jar-share input:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.jar-row-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.35rem}.jar-mini-button{min-height:2.25rem;padding:.3rem .6rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--ink-muted);background:var(--status-todo-bg);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--speed),background var(--speed)}.jar-mini-button:hover:not(:disabled){color:var(--ink);background:var(--line)}.jar-mini-button:disabled{cursor:default;opacity:.6}.jar-total-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.jar-total-row--ok{color:var(--teal-600)}.jar-total-row--off{color:var(--error)}.jar-saved{font-size:.82rem;font-weight:600;color:var(--teal-600)}.jar-owed{display:inline-flex;align-items:center;gap:.3rem;margin-top:.25rem;font-size:.75rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;background:var(--coral-50);color:var(--coral-800);font-variant-numeric:tabular-nums}.jar-owed--settled{background:var(--status-done-bg);color:#3b6d11}.jar-owed--over{background:var(--status-waiting-bg);color:#8a5600}.jars-owed-total{font-size:.78rem;font-weight:600;color:var(--coral-800);font-variant-numeric:tabular-nums}.jar-subform{display:grid;gap:.6rem;margin-top:.7rem;padding:.75rem;background:var(--teal-50);border-radius:var(--radius-sm)}.jar-subform-title{font-size:.85rem;font-weight:700}.parent-details{margin-top:.7rem}.parent-details>summary{min-height:2.75rem;display:flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--teal-600);cursor:pointer}.parent-details>summary:hover{color:var(--teal-800)}.money-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--line);font-size:.9rem}.money-row:first-child{border-top:0}.money-amount{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.money-amount--out{color:var(--error)}.ledger-entry{background:var(--surface);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--line);padding:.6rem .75rem}.ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.9rem}.ledger-who{font-weight:600}.ledger-detail{font-size:.78rem;color:var(--ink-muted);margin-top:.2rem;font-variant-numeric:tabular-nums}.history-filter{display:flex;align-items:center;gap:.4rem;margin-bottom:.7rem;font-size:.85rem;color:var(--ink-muted)}.history-filter select{min-height:2.5rem;padding:.35rem .5rem;font:inherit;font-size:.9rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.history-filter select:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.person-row{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line)}.person-row:first-child{border-top:0}.person-avatar{font-size:1.6rem;line-height:1}.person-name{flex:1;min-width:0;font-size:.92rem;font-weight:600}.person-you{font-size:.75rem;font-weight:400;color:var(--ink-muted)}.person-picker{padding:.6rem 0 .2rem}.parent-form{display:grid;gap:.85rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.parent-field{display:grid;gap:.3rem}.parent-field-label{font-size:.78rem;font-weight:600;color:var(--ink-muted)}.parent-field input[type=text],.parent-field input[type=email],.parent-field input[type=password],.parent-field input[type=number],.parent-field input[type=date],.parent-field select,.parent-form>input,.parent-form>select{width:100%;min-height:2.75rem;padding:.55rem .75rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--speed),box-shadow var(--speed)}.parent-field input:focus,.parent-field select:focus,.parent-form>input:focus,.parent-form>select:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px var(--teal-50)}.parent-hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--ink-muted)}.parent-choices{border:0;margin:0;padding:0;min-width:0}.parent-choices legend{padding:0;font-size:.78rem;font-weight:600;color:var(--ink-muted);margin-bottom:.35rem}.parent-choice-row{display:flex;flex-wrap:wrap;gap:.35rem}.parent-choice{display:inline-flex;align-items:center;gap:.35rem;min-height:2.75rem;padding:.4rem .7rem;font-size:.88rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--speed),background var(--speed)}.parent-choice:hover{border-color:var(--teal-400)}.parent-choice--on{border-color:var(--teal-400);background:var(--teal-50);font-weight:600}.parent-toggle{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.4rem .7rem;font-size:.9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--speed),background var(--speed)}.parent-toggle--on{border-color:var(--teal-400);background:var(--teal-50)}@media (min-width: 640px){.parent-view{max-width:44rem;padding:2rem 1.5rem 3rem}.parent-stack{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem}}@media (min-width: 1024px){.parent-view{max-width:68rem}.parent-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;align-items:start}.parent-columns>*>.parent-section:first-child{margin-top:0}.parent-columns .parent-stack{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.parent-view *,.parent-view *:before,.parent-view *:after{transition-duration:.01ms!important}}.parent-chip--offer{background:var(--mint-100, #e3f5ec);color:var(--mint-700, #1f6b4a)}.chore-dormant{color:var(--ink-muted);font-style:italic}.parent-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.parent-card-title{margin:0;font-size:1rem;font-weight:600}.parent-history{display:grid;grid-template-columns:1fr;gap:.6rem}.parent-history>.legend{margin-top:.25rem}:root{--teal-50: #e1f5ee;--teal-100: #9fe1cb;--teal-400: #1d9e75;--teal-600: #0f6e56;--teal-800: #085041;--coral-50: #faece7;--coral-400: #d85a30;--coral-800: #712b13;--status-todo: #b4b2a9;--status-todo-bg: #f1efe8;--status-waiting: #ba7517;--status-waiting-bg: #faeeda;--status-done: #639922;--status-done-bg: #eaf3de;--jar-spending: #1d9e75;--jar-goal: #7f77dd;--jar-investment: #378add;--ink: #1b1b19;--ink-muted: #5f5e5a;--ink-faint: #888780;--line: #e4e2db;--error: #b3261e;--error-bg: #fdeceb;--page: #f6faf8;--surface: #ffffff;--radius: 1rem;--radius-sm: .6rem;--shadow: 0 1px 2px rgba(16, 40, 34, .06), 0 4px 12px rgba(16, 40, 34, .05);--shadow-lift: 0 2px 4px rgba(16, 40, 34, .08), 0 8px 20px rgba(16, 40, 34, .08);--speed: .14s;--font: system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;background:var(--page, #f6faf8)}#root{min-height:100vh}
