:root{color-scheme:light dark;font-family:var(--font-text,ui-sans-serif,system-ui,sans-serif);--app-header-h:60px;--finance-cat-1:#e69f00;--finance-cat-2:#56b4e9;--finance-cat-3:#009e73;--finance-cat-4:#f0e442;--finance-cat-5:#0072b2;--finance-cat-6:#d55e00;--finance-cat-7:#cc79a7;--finance-cat-8:#4d4d4d}html:root{--font-display:var(--font-fredoka),"Fredoka",ui-rounded,"Nunito",system-ui,sans-serif;--font-text:var(--font-nunito),"Nunito",ui-rounded,system-ui,"Segoe UI",sans-serif;--font-numeric:var(--font-nunito),"Nunito",ui-rounded,system-ui,"Segoe UI",sans-serif}button,input,select,textarea{font-family:inherit}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink,#23302a)}.grocery-page,body{background:var(--surface-canvas,#f3f2ec)}.grocery-page{align-items:flex-start;display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.grocery-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:720px;padding:clamp(24px,5vw,48px);width:100%}.grocery-add,.grocery-header,.grocery-item,.grocery-undo{align-items:center;display:flex;gap:12px}.grocery-controls{align-items:end;display:flex;gap:24px;justify-content:space-between;margin-bottom:20px}.grocery-controls fieldset{border:0;display:flex;gap:12px;margin:0;padding:0}.grocery-controls legend,.grocery-sections>label{color:var(--ink-muted,#55645b);display:block;font-size:.8rem;margin-bottom:4px}.grocery-sections div{display:flex;gap:8px}.grocery-sections input{min-height:40px;padding:6px 10px;width:160px}.grocery-sections button{min-height:40px}.grocery-section-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0}.grocery-section-list li{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:999px;display:flex;gap:8px;padding:5px 8px 5px 12px}.grocery-section-list button{background:transparent;border:0;color:var(--ink-muted,#55645b);cursor:pointer;font-size:.8rem}.grocery-group{list-style:none}.grocery-group h2{font-size:1rem;margin:16px 0 8px}.grocery-group ul{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.grocery-item__section{color:var(--ink-muted,#55645b);display:grid;font-size:.72rem;grid-gap:2px;gap:2px}.grocery-item__section select{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);min-height:32px;padding:0 var(--space-2,8px)}.grocery-header{justify-content:space-between;margin-bottom:var(--space-6,24px)}.grocery-header h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.grocery-intro{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.grocery-header label{color:var(--ink-muted,#55645b);display:grid;font-size:.8rem;grid-gap:4px;gap:4px}.grocery-header select{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);min-height:40px;padding:0 var(--space-3,12px)}.grocery-add{margin-bottom:20px}.grocery-add input{border:1px solid var(--line-strong,#7f857a);border-radius:8px;flex:1 1;min-height:44px;padding:8px 12px}.grocery-add button,.grocery-clear,.grocery-undo button{background:var(--accent,#2f6a4f);border:0;border-radius:8px;color:white;cursor:pointer;min-height:44px;padding:8px 16px}.grocery-add button:disabled,.grocery-clear:disabled,.grocery-undo button:disabled{cursor:not-allowed;opacity:.55}.grocery-items{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.grocery-item{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:8px;min-height:56px;padding:8px 12px}.grocery-check{align-items:center;background:transparent;border:2px solid var(--line-strong,#7f857a);border-radius:50%;color:var(--accent,#2f6a4f);cursor:pointer;display:inline-flex;font-size:1rem;height:32px;justify-content:center;width:32px}.grocery-item--checked .grocery-check{border-color:var(--accent,#2f6a4f)}.grocery-item--checked .grocery-item__name{color:var(--ink-muted,#55645b);text-decoration:line-through}.grocery-item__name{flex:1 1;font-weight:600}.grocery-item__edit{align-items:center;display:flex;flex:1 1;gap:8px}.grocery-item__edit input{border:1px solid var(--line-strong,#7f857a);border-radius:6px;flex:1 1;min-height:40px;min-width:0;padding:6px 8px}.grocery-edit,.grocery-item__edit button{background:transparent;border:0;color:var(--ink-muted,#55645b);cursor:pointer;min-height:40px;padding:4px 8px}.grocery-item__meta{color:var(--ink-muted,#55645b);font-size:.9rem}.grocery-delete{background:transparent;border:0;color:var(--ink-muted,#55645b);cursor:pointer;min-height:40px}.grocery-clear{margin-top:20px}.grocery-undo{background:var(--success-surface,#e4f1e8);border-radius:8px;justify-content:space-between;margin-bottom:16px;padding:10px 12px}.grocery-undo button{background:transparent;color:var(--success-ink,#24583f);min-height:36px;padding:4px 8px}.grocery-error{color:var(--danger-ink,#9b2c2c)}.grocery-empty{color:var(--ink-muted,#55645b);padding:24px 0;text-align:center}@media (max-width:480px){.grocery-page{padding-left:12px;padding-right:12px}.grocery-card{padding:20px 16px}.grocery-item__meta{display:none}.grocery-delete{font-size:.85rem;padding:4px}.grocery-controls{align-items:stretch;flex-direction:column;gap:16px}.grocery-item__section{display:none}.grocery-item{align-items:flex-start;flex-wrap:wrap}.grocery-item__edit,.grocery-item__name{min-width:0}.grocery-item__edit{flex-basis:calc(100% - 44px)}.grocery-item__edit button{padding-left:4px;padding-right:4px}}.meal-plan-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.meal-plan-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:1400px;padding:clamp(24px,4vw,44px);width:100%}.meal-plan-card h1,.meal-plan-card h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.meal-plan-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-5,20px);justify-content:space-between;margin-bottom:var(--space-5,20px)}.meal-plan-header h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.meal-plan-header p:not(.auth-eyebrow){color:var(--ink-muted,#55645b);margin:var(--space-2,8px) 0 0}.meal-plan-week-nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.meal-plan-grocery-action{align-items:center;background:var(--points-surface,#f2ead8);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:minmax(0,1fr) auto;margin-bottom:var(--space-5,20px);padding:var(--space-4,16px)}.meal-plan-grocery-action h2,.meal-plan-grocery-action p{margin:0}.meal-plan-grocery-action h2{font-size:1.05rem}.meal-plan-grocery-action>p{grid-column:1/-1}.meal-plan-grocery-action div p{color:var(--ink-muted,#55645b);margin-top:4px}@media (max-width:640px){.meal-plan-grocery-action{align-items:stretch;grid-template-columns:1fr}.meal-plan-grocery-action>p{grid-column:auto}}.money-admin-page,.money-category-groups,.money-reports-grid,.money-reports-page{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.money-admin-page,.money-reports-page{margin-inline:auto;max-width:1120px}.money-admin-heading h2,.money-admin-page>header h1,.money-category-group h3,.money-reports-page>header h1{margin-block:0}.money-admin-heading,.money-category-group__header,.money-inline-form,.money-period-picker,.money-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between}.money-inline-form{justify-content:flex-start;margin-block:var(--space-3,12px)}.money-inline-form .ui-field{flex:1 1 220px}.money-select-field{display:grid;font-size:.8125rem;font-weight:700;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);min-width:150px}.money-category-group{border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);padding:var(--space-4,16px)}.money-category-group__header>div:first-child,.money-compact-list .ui-list-row>span:first-child{flex:1 1}.money-compact-list{list-style:none;margin:var(--space-3,12px) 0;padding:0}.money-muted{color:var(--ink-muted,#55645b);font-size:.8125rem}.money-period-picker h2{flex-basis:100%;margin:0}.money-period-picker .money-select-field{flex:1 1 180px}.money-report{min-width:0}.money-table-scroll{max-width:100%;overflow-x:auto;position:relative}.money-report table{border-collapse:collapse;margin-top:var(--space-4,16px);width:100%}.money-report caption{color:var(--ink-muted,#55645b);padding-block:var(--space-2,8px);text-align:left}.money-report td,.money-report th{border-bottom:var(--border-decorative,1px) solid var(--line,#d3d4c7);padding:var(--space-2,8px);text-align:right;white-space:nowrap}.money-report td:first-child,.money-report th:first-child{text-align:left}.money-report-bars{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin-top:var(--space-4,16px)}.money-report-bars div{display:grid;grid-gap:4px;gap:4px}.money-report-bars i{background:var(--finance-cat-1);border-radius:999px;display:block;height:10px}.money-report-columns{align-items:end;display:flex;gap:var(--space-2,8px);height:120px;margin-top:var(--space-4,16px);max-width:100%}.money-report-columns>div{align-items:end;display:flex;flex:1 1;gap:2px;height:100%;justify-content:center;min-width:0}.money-report-columns i{background:var(--finance-cat-3);display:block;flex:1 1;max-width:16px;min-height:2px;min-width:0}.money-report-columns i+i{background:var(--finance-cat-2)}.money-report-sparkline{height:20px;width:50px}@media (max-width:640px){.money-category-group__header,.money-compact-list .ui-list-row{align-items:flex-start;flex-direction:column}}.money-shell{align-items:flex-start;display:flex;gap:var(--space-6,24px);margin-inline:auto;max-width:1240px;padding:var(--space-6,24px)}.money-shell__content{min-width:0;width:100%}.money-shell__toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--space-3,12px)}@media (max-width:640px){.money-shell{align-items:stretch;flex-direction:column;padding:var(--space-3,12px)}.money-shell .money-shell__content{max-width:100%;width:100%}}.ui-tag{align-items:center;border-radius:var(--radius-pill,999px);display:inline-flex;font-size:.75rem;font-weight:700;gap:4px;line-height:1;padding:3px var(--space-2,8px);white-space:nowrap}.ui-tag,.ui-tag--neutral{background:var(--surface-sunken,#e7e6dd);color:var(--ink-muted,#55645b)}.ui-tag--warning{background:var(--warning-surface,#fff0cf);color:var(--warning-ink,#74520d)}.money-accounts-page{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.money-account-detail__header,.money-accounts-page__header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between}.money-account-detail__header,.money-accounts-page__header,.money-transactions-toolbar>h1{margin-bottom:var(--space-4,16px)}.money-account-detail__header p,.money-accounts-page__header p{color:var(--ink-muted,#55645b);margin:4px 0 0}.money-accounts-page__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.money-account-group+.money-account-group{border-top:var(--border-decorative,1px) solid var(--line,#d3d4c7);margin-top:var(--space-5,20px);padding-top:var(--space-5,20px)}.money-account-group__title{color:var(--ink-muted,#55645b);font-family:var(--font-display,Georgia,serif);font-size:.9375rem;letter-spacing:.02em;margin:0 0 var(--space-2,8px);text-transform:uppercase}.money-account-list{list-style:none;margin:0;padding:0}.money-account-row{gap:var(--space-4,16px);justify-content:space-between}.money-account-row__identity{display:flex;flex-direction:column;gap:2px;min-width:0}.money-account-row__identity a{color:var(--ink,#23302a);text-decoration:none}.money-account-row__identity a:focus-visible,.money-account-row__identity a:hover{text-decoration:underline}.money-account-row__meta{align-items:center;color:var(--ink-muted,#55645b);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:var(--space-2,8px)}.money-account-row__balance{align-items:flex-end;display:flex;flex-direction:column;gap:2px;margin-left:auto;text-align:right}.money-account-row__balance .money-amount{font-family:var(--font-numeric,monospace);font-size:1.0625rem;font-weight:700}.money-account-row[data-liability=true] .money-amount{color:var(--danger-accent,#9c2a1d)}.money-account-row__balance small{color:var(--ink-muted,#55645b);font-size:.75rem}.money-account-row__actions{display:flex;flex:0 0 auto;gap:var(--space-2,8px)}.money-transactions-page{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.money-transactions-toolbar__header{align-items:end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between}.money-transactions-toolbar__header>.ui-field{flex:1 1 280px}.money-transactions-toolbar__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.money-transaction-list{list-style:none;margin:0;padding:0}.money-transaction-group-header{color:var(--ink-muted,#55645b);font-family:var(--font-display,Georgia,serif);font-size:.9375rem;letter-spacing:.02em;padding:var(--space-3,12px) var(--space-4,16px) var(--space-2,8px);text-transform:uppercase}.money-transaction-row{box-sizing:border-box;gap:var(--space-3,12px);height:100%;overflow:hidden}.money-transaction-row__button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1;gap:var(--space-4,16px);min-width:0;padding:0;text-align:left}.money-transaction-row__identity{display:flex;flex-direction:column;gap:2px;min-width:0}.money-transaction-row__identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.money-transaction-row__meta{align-items:center;color:var(--ink-muted,#55645b);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:var(--space-2,8px)}@media (max-width:640px){.money-transaction-row__meta{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.money-transaction-row__meta>span:not([class]),.money-transaction-row__transfer-target{min-width:0;overflow:hidden;text-overflow:ellipsis}.money-transaction-row__meta>.ui-tag{flex-shrink:0}}.money-transaction-row__amount{font-family:var(--font-numeric,monospace);font-size:1.0625rem;font-weight:700;margin-left:auto;text-align:right;white-space:nowrap}.money-transaction-row:focus-within,.money-transaction-row:hover{background:var(--surface-canvas,#f3f2ec)}.money-accounts-empty{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);justify-items:center;padding:var(--space-8,32px) var(--space-4,16px);text-align:center}.money-accounts-empty h2{margin:0}.money-accounts-empty p{color:var(--ink-muted,#55645b);margin:0 0 var(--space-2,8px)}.money-account-detail{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.money-account-detail__back{color:var(--ink-muted,#55645b);display:inline-block;font-size:.875rem;margin-bottom:var(--space-3,12px);text-decoration:none}.money-account-detail__back:focus-visible,.money-account-detail__back:hover{text-decoration:underline}.money-account-detail__header .money-amount{font-family:var(--font-numeric,monospace);font-size:1.5rem;font-weight:700}.money-account-detail[data-liability=true] .money-account-detail__header .money-amount{color:var(--danger-accent,#9c2a1d)}.money-account-detail__actions{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);margin-top:var(--space-3,12px)}.money-account-transactions{list-style:none;margin:var(--space-3,12px) 0 var(--space-4,16px);padding:0}.money-account-transactions__identity{display:flex;flex-direction:column;gap:2px;min-width:0}.money-account-transactions__identity small{color:var(--ink-muted,#55645b);font-size:.75rem}.money-account-transactions__amount{font-family:var(--font-numeric,monospace);font-weight:700;margin-left:auto}.money-account-form{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.money-account-form__actions{display:flex;gap:var(--space-3,12px)}@media (max-width:640px){.money-account-row.ui-list-row{align-items:flex-start;flex-direction:column}.money-account-row__balance{align-items:flex-start;margin-left:0;text-align:left}.money-account-row__actions{width:100%}.money-account-detail__header,.money-accounts-page__header{align-items:flex-start;flex-direction:column}}.meal-plan-table-wrap{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);overflow-x:auto}.meal-plan-table{border-collapse:collapse;min-width:980px;table-layout:fixed;width:100%}.meal-plan-table td,.meal-plan-table th{border-bottom:1px solid var(--line,#d3d4c7);border-right:1px solid var(--line,#d3d4c7);padding:var(--space-2,8px);text-align:left;vertical-align:top}.meal-plan-table tr:last-child>*{border-bottom:0}.meal-plan-table tr>:last-child{border-right:0}.meal-plan-table thead th{background:var(--surface-sunken,#ecece4);color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);padding-block:var(--space-3,12px);text-align:center}.meal-plan-table tbody th,.meal-plan-table thead th:first-child{width:108px}.meal-plan-table thead small{color:var(--ink-muted,#55645b);display:block;font-family:var(--font-text,ui-sans-serif,system-ui,sans-serif);font-size:.72rem;font-weight:500;margin-top:3px}.meal-plan-table tbody th{background:var(--surface-sunken,#ecece4);font-size:.78rem;text-transform:capitalize}.meal-plan-table__today{background:color-mix(in srgb,var(--accent-surface,#e4f1e8) 45%,transparent)!important;box-shadow:inset 3px 0 var(--accent,#2f6a4f)}.meal-plan-entry{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);display:flex;flex-direction:column;font:inherit;gap:4px;min-height:64px;padding:9px 10px;text-align:left;width:100%}button.meal-plan-entry{cursor:pointer}button.meal-plan-entry:focus-visible,button.meal-plan-entry:hover{border-color:var(--accent,#2f6a4f);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#2f6a4f) 18%,transparent)}.meal-plan-entry--empty{background:transparent;border-color:transparent;border-style:dashed;color:var(--ink-muted,#55645b)}.meal-plan-entry--empty strong{font-size:.8125rem;font-weight:500}button.meal-plan-entry--empty:focus-visible,button.meal-plan-entry--empty:hover{background:var(--accent-soft,#e3eee5);color:var(--accent,#2f6a4f)}.meal-plan-entry--empty strong:before{content:"+ "}.meal-plan-week-nav .ui-help{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.meal-plan-grocery-action__count{color:var(--ink,#23302a);display:block;font-weight:700;margin-top:var(--space-1,4px)}.meal-plan-entry--empty:focus-visible,.meal-plan-entry--empty:hover,.meal-plan-entry--free-text{border-style:dashed}.meal-plan-entry strong{line-height:1.25}.meal-plan-entry small,.meal-plan-entry__blank{color:var(--ink-muted,#55645b);font-size:.72rem}.meal-plan-entry__blank{display:block;min-height:64px;padding:9px 10px}.meal-plan-days{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.meal-plan-day{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);padding:var(--space-3,12px)}.meal-plan-day--today{background:var(--surface-sunken,#f3f2ec);border-color:var(--accent-solid,#2f6a4f)}.meal-plan-day h3{font-size:1rem;margin:0 0 var(--space-2,8px)}.meal-plan-day ul{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.meal-plan-day__slot{color:var(--ink-muted,#55645b);display:block;font-size:.8125rem;font-weight:700}.meal-plan-table-wrap:focus-visible{outline:2px solid var(--accent-solid,#2f6a4f);outline-offset:2px}.meal-slot-settings{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-5,20px);padding-top:var(--space-4,16px)}.meal-slot-settings summary{cursor:pointer;font-weight:700;min-height:44px;padding:11px 0}.meal-slot-settings form{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.meal-slot-settings label{color:var(--ink-muted,#55645b);display:grid;font-size:.8rem;grid-gap:4px;gap:4px}.meal-slot-settings form>div{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.meal-slot-settings input{border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);flex:1 1 320px;font:inherit;min-height:44px;padding:8px 10px}.meal-slot-settings p{color:var(--ink-muted,#55645b);font-size:.8rem;margin:0}.meal-editor-form{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.meal-editor__choice{border:0;display:grid;grid-gap:8px;gap:8px;margin:0;padding:0}.meal-editor__choice legend{font-weight:700;padding:0}.meal-editor__choice-options{display:flex;flex-wrap:wrap;gap:12px}.meal-editor__choice-option{align-items:center;display:flex;gap:6px}.meal-editor__recipe-list{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:4px;gap:4px;margin-top:var(--space-2,8px);max-height:200px;overflow-y:auto;padding:var(--space-2,8px)}.meal-editor__recipe-item{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;font:inherit;min-height:40px;padding:6px 10px;text-align:left}.meal-editor__recipe-item:focus-visible,.meal-editor__recipe-item:hover{background:var(--surface-sunken,#f3f2ec)}.meal-editor__recipe-item.selected{background:var(--accent-surface,#e4f1e8);border-color:var(--accent,#2f6a4f);font-weight:700}.meal-editor__recipe-empty{color:var(--ink-muted,#55645b);padding:var(--space-4,16px);text-align:center}.meal-editor__recipe-selected{color:var(--ink-muted,#55645b);font-size:.85rem;margin:var(--space-2,8px) 0 0}.meal-editor__warning{background:var(--warning-surface,#fff0cf);border-left:3px solid var(--warning-ink,#74520d);color:var(--ink,#23302a);margin:0;padding:var(--space-3,12px)}.meal-editor__warning p{margin:0 0 var(--space-2,8px)}.meal-editor__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}@media (max-width:600px){.meal-plan-page{padding-left:12px;padding-right:12px}.meal-plan-card{padding:20px 16px}.meal-plan-week-nav{width:100%}.meal-plan-week-nav .ui-control-stack{flex:1 1}.meal-plan-week-nav .ui-button{width:100%}}a{color:inherit}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring,#23302a);outline-offset:var(--focus-ring-offset,2px)}.reward-catalogue-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.reward-catalogue-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:960px;padding:clamp(24px,5vw,48px);width:100%}.reward-catalogue-card h1,.reward-catalogue-card h2,.reward-catalogue-card h3,.reward-editor legend{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.reward-catalogue-card h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.reward-catalogue-header{align-items:flex-start;display:flex;gap:var(--space-5,20px);justify-content:space-between;margin-bottom:var(--space-6,24px)}.reward-catalogue-header p,.reward-catalogue-retired>p{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.reward-catalogue-empty{align-items:center;border:1px dashed var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);display:flex;flex-direction:column;padding:clamp(24px,5vw,40px);text-align:center}.reward-catalogue-empty>span{color:var(--accent,#2f6a4f);font-size:2rem}.reward-catalogue-empty h2{margin:var(--space-2,8px) 0 0}.reward-catalogue-empty p{color:var(--ink-muted,#55645b);line-height:1.5;max-width:520px}.reward-catalogue-list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.reward-catalogue-row{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;gap:var(--space-4,16px);justify-content:space-between;padding:var(--space-4,16px)}.reward-catalogue-row__copy{flex:1 1;min-width:0}.reward-catalogue-row__title{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.reward-catalogue-row h2,.reward-catalogue-row h3{font-size:1.125rem;margin:0}.reward-catalogue-row p{color:var(--ink-muted,#55645b);line-height:1.45;margin:var(--space-2,8px) 0}.reward-catalogue-status{background:var(--success-surface,#e4f1e8);border-radius:999px;color:var(--success-ink,#24583f);font-size:.75rem;font-weight:700;padding:3px 8px}.reward-catalogue-row dl{display:grid;grid-gap:var(--space-2,8px) var(--space-4,16px);gap:var(--space-2,8px) var(--space-4,16px);grid-template-columns:repeat(4,minmax(105px,1fr));margin:var(--space-3,12px) 0 0}.reward-catalogue-row dl>div{min-width:0}.reward-catalogue-row dt{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;text-transform:uppercase}.reward-catalogue-row dd{margin:2px 0 0}.reward-catalogue-row__actions,.reward-editor__actions{display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.reward-catalogue-row--retired{opacity:.7}.reward-catalogue-retired{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-6,24px)}.reward-catalogue-retired>h2{margin:0}.reward-catalogue-notice,.reward-catalogue-retired>p{margin-bottom:var(--space-4,16px)}.reward-catalogue-notice{background:var(--info-surface,#e8f0ee);border-left:4px solid var(--accent,#2f6a4f);padding:var(--space-3,12px) var(--space-4,16px)}.reward-catalogue-notice p{margin:0}.reward-editor{display:grid;grid-gap:var(--space-5,20px);gap:var(--space-5,20px)}.reward-editor__limits,.reward-editor__primary{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);grid-template-columns:repeat(2,minmax(0,1fr))}.reward-editor__field{display:grid;font-size:.8125rem;font-weight:700;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.reward-editor__field small{color:var(--ink-muted,#55645b);font-weight:400}.reward-editor__file{height:auto;padding-block:9px}.reward-editor__existing-image{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:space-between}.reward-editor select,.reward-editor textarea{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);min-height:var(--field-h,44px);padding:var(--space-3,12px);width:100%}.reward-editor textarea{resize:vertical}.reward-editor__band{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);margin:0;padding:var(--space-4,16px)}.reward-editor__band legend{font-size:1.125rem;font-weight:700;padding:0 var(--space-2,8px)}.reward-editor__band>p{color:var(--ink-muted,#55645b);font-size:.875rem;margin:0}.reward-editor__choice{align-items:flex-start;cursor:pointer;display:flex;gap:var(--space-3,12px);min-height:44px}.reward-editor__choice input{accent-color:var(--accent-solid,#2f6a4f);margin-top:4px}.reward-editor__choice small,.reward-editor__choice strong{display:block}.reward-editor__choice small{color:var(--ink-muted,#55645b);line-height:1.45;margin-top:3px}@media (max-width:700px){.reward-catalogue-header,.reward-catalogue-row{align-items:stretch;flex-direction:column}.reward-catalogue-row dl,.reward-editor__limits,.reward-editor__primary{grid-template-columns:1fr}}.reward-redemption-page{margin:0 auto;max-width:1080px;min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,6vw,64px) 20px 56px}.reward-redemption-hero{align-items:stretch;background:color-mix(in srgb,var(--member-color,#2f6a4f) 12%,var(--surface-overlay,#fff));border:2px solid color-mix(in srgb,var(--member-color,#2f6a4f) 55%,var(--surface-overlay,#fff));border-radius:20px;display:flex;gap:24px;justify-content:space-between;padding:clamp(20px,4vw,36px)}.reward-redemption-hero__member{align-items:center;display:flex;gap:16px}.reward-approval-panel h2,.reward-approval-panel h3,.reward-redemption-hero h1,.reward-redemption-section h2,.reward-redemption-section h3{font-family:var(--font-display,Georgia,serif)}.reward-redemption-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);margin:4px 0 0}.reward-redemption-balance{align-items:center;background:var(--surface-raised,#fbfaf6);border-radius:14px;display:flex;flex-direction:column;min-width:280px;padding:16px 20px;text-align:center}.reward-redemption-balance>strong{color:var(--member-color,#2f6a4f);font-family:var(--font-display,Georgia,serif);font-size:clamp(3rem,8vw,5rem);line-height:1}.reward-redemption-balance dl{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,1fr);margin:16px 0 0;width:100%}.reward-redemption-balance dt{color:var(--ink-muted,#55645b);font-size:.72rem;font-weight:700;text-transform:uppercase}.reward-redemption-balance dd{font-size:1.125rem;font-weight:700;margin:3px 0 0}.reward-redemption-held,.reward-redemption-notice{background:var(--info-surface,#e8f0ee);border-left:5px solid var(--member-color,#2f6a4f);border-radius:8px;margin:16px 0 0;padding:14px 16px}.reward-redemption-empty,.reward-redemption-section{margin-top:32px}.reward-redemption-empty h2,.reward-redemption-section>h2{font-size:1.55rem;margin:0 0 14px}.reward-redemption-empty{border:2px dashed var(--line-strong,#7f857a);border-radius:14px;padding:32px;text-align:center}.reward-redemption-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.reward-redemption-card{align-items:flex-start;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:14px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr auto;overflow:hidden;padding:18px}.reward-redemption-card__image{border-radius:9px;grid-column:1/-1;height:150px;object-fit:cover;width:100%}.reward-redemption-card__heading{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.reward-redemption-card h3,.reward-redemption-card p{margin:0}.reward-redemption-card__copy{display:grid;grid-gap:8px;gap:8px}.reward-redemption-card__cost{color:var(--member-color,#2f6a4f);font-size:1.25rem;font-weight:800}.reward-redemption-card__tag{background:color-mix(in srgb,var(--member-color,#2f6a4f) 16%,var(--surface-overlay,#fff));border-radius:999px;font-size:.75rem;font-weight:800;padding:4px 8px}.reward-redemption-card--pending{border-color:var(--member-color,#2f6a4f)}.reward-redemption-card--unavailable{background:var(--surface-sunken,#f3f2ec)}.reward-redemption-card__gap{display:grid;grid-gap:7px;gap:7px}.reward-redemption-card__gap progress{accent-color:var(--member-color,#2f6a4f);width:100%}.reward-approval-list,.reward-history-list,.reward-redemption-recent>ul{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.reward-history-list li,.reward-redemption-recent li{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:10px;display:grid;grid-gap:6px;gap:6px;padding:14px}.reward-history-list li span,.reward-redemption-recent li>span{display:block}.reward-redemption-recent blockquote{border-left:3px solid var(--line-strong,#7f857a);margin:4px 0 0;padding-left:12px}.reward-approval-panel{border-bottom:1px solid var(--line,#d3d4c7);margin:24px 0 32px;padding-bottom:28px}.reward-approval-panel__header{align-items:center;display:flex;justify-content:space-between}.reward-approval-panel__header h2,.reward-history-panel h2{margin:0}.reward-approval-panel__count{align-items:center;background:var(--accent,#2f6a4f);border-radius:999px;color:var(--on-accent,#fff);display:inline-flex;font-weight:800;height:34px;justify-content:center;min-width:34px}.reward-approval-panel__empty{background:var(--surface-canvas,#f3f2ec);border-radius:8px;padding:16px}.reward-approval-row{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:10px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto 1fr auto;padding:14px}.reward-approval-row h3,.reward-approval-row p{margin:0}.reward-approval-row__copy{display:grid;grid-gap:6px;gap:6px}.reward-approval-row__price-change{background:var(--warning-surface,#fff0cf);border-left:4px solid var(--warning-ink,#74520d);margin-top:4px!important;padding:10px}.reward-approval-row__actions{display:flex;gap:8px}.reward-history-list li{align-items:center;grid-template-columns:1fr auto}.reward-history-list li>p{grid-column:1/-1;margin:0}.reward-decision-form{display:grid;grid-gap:12px;gap:12px}.reward-decision-form textarea{border:1.5px solid var(--line-strong,#7f857a);border-radius:8px;padding:12px;resize:vertical}@media (max-width:700px){.reward-approval-row,.reward-redemption-hero{flex-direction:column;grid-template-columns:1fr}.reward-redemption-hero{display:flex}.reward-redemption-balance{min-width:0}.reward-redemption-grid{grid-template-columns:1fr}.reward-approval-row__actions{flex-wrap:wrap}}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ui-checkbox-stack,.ui-control-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}.ui-button{align-items:center;border:var(--border-control,1.5px) solid transparent;border-radius:var(--radius-sm,8px);cursor:pointer;display:inline-flex;gap:var(--space-2,8px);justify-content:center;min-height:var(--control-h,40px);min-width:88px;padding:0 var(--space-4,16px);transition:background-color var(--dur-1,90ms) var(--ease-out,ease),border-color var(--dur-1,90ms) var(--ease-out,ease),transform var(--dur-1,90ms) var(--ease-out,ease)}.ui-button:focus-visible:not([aria-disabled=true]),.ui-button:hover:not([aria-disabled=true]){border-color:var(--line-strong,#7f857a)}.ui-button:active:not([aria-disabled=true]){background:var(--surface-pressed,#e9e8df)}.ui-button[aria-disabled=true]{background:var(--surface-raised,#fbfaf6);border-color:var(--line,#d3d4c7);color:var(--ink-disabled,#7f857a);cursor:default}.ui-button--primary{background:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.ui-button--secondary{background:var(--surface-raised,#fbfaf6);border-color:var(--line-strong,#7f857a);color:var(--ink,#23302a)}.ui-button--danger-quiet,.ui-button--quiet{background:transparent;color:var(--accent,#2f6a4f);min-width:0;padding-inline:var(--space-2,8px)}.ui-button--danger{background:var(--danger-accent,#9c2a1d);color:var(--on-accent,#fff)}.ui-button--danger-quiet{color:var(--danger-accent,#9c2a1d)}.ui-button.ui-button--icon{min-width:var(--control-h,40px);padding-inline:var(--space-2,8px)}.ui-spinner{animation:ui-spin .8s linear infinite;border:2px solid;border-right:2px solid transparent;border-radius:50%;height:16px;width:16px}.ui-spinner--lg{border-width:3px;height:32px;width:32px}.ui-loading-state{align-items:center;color:var(--ink-muted,#55645b);display:flex;flex-direction:column;gap:var(--space-3,12px);padding:var(--space-6,40px) var(--space-4,16px);text-align:center}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-error,.ui-help{font-size:.8125rem;line-height:1.4}.ui-help{color:var(--ink-muted,#55645b)}.ui-error{color:var(--danger-accent,#9c2a1d)}.ui-field{display:flex;flex-direction:column;gap:var(--space-2,8px)}.ui-field label{font-size:.8125rem;font-weight:700}.ui-input{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);min-height:var(--field-h,44px);padding:0 var(--space-3,12px);width:100%}.ui-input--error{border:2px solid var(--danger-accent,#9c2a1d)}.ui-checkbox{align-items:center;cursor:pointer;display:inline-flex;gap:var(--space-2,8px);min-height:var(--control-target,44px)}.ui-checkbox input{height:1px;opacity:0;position:absolute;width:1px}.ui-checkbox__mark{align-items:center;background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-xs,4px);display:inline-flex;height:24px;justify-content:center;width:24px}.ui-checkbox input:checked+.ui-checkbox__mark{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f)}.ui-checkbox input:checked+.ui-checkbox__mark:after{border-width:medium;border-left:0 solid var(--on-accent,#fff);border-bottom:2px solid var(--on-accent,#fff);border-right:2px solid var(--on-accent,#fff);border-top:0 solid var(--on-accent,#fff);content:"";height:11px;transform:rotate(45deg) translate(-1px,-1px);width:5px}.ui-checkbox input:focus-visible+.ui-checkbox__mark{outline:var(--focus-ring-width,2px) solid var(--focus-ring,#23302a);outline-offset:var(--focus-ring-offset,2px)}.ui-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:var(--space-6,24px)}.ui-list-row{border-bottom:var(--border-decorative,1px) solid var(--line,#d3d4c7);gap:var(--row-gap,12px);min-height:var(--row-min-h,52px);padding:var(--row-pad-y,10px) var(--row-pad-x,16px)}.ui-list-row,.ui-modal-scrim{align-items:center;display:flex}.ui-modal-scrim{background:rgb(35 48 42/42%);inset:0;justify-content:center;padding:var(--space-6,24px);position:fixed;z-index:100}.ui-modal{background:var(--surface-overlay,#fff);border-radius:var(--radius-md,12px);box-shadow:0 10px 28px -14px var(--shadow-color,rgb(35 48 42/26%));max-height:calc(100vh - 48px);max-width:560px;overflow:auto;width:100%}.ui-modal__header{align-items:center;border-bottom:var(--border-decorative,1px) solid var(--line,#d3d4c7);display:flex;justify-content:space-between;padding:var(--space-4,16px) var(--space-6,24px)}.ui-modal__header h2{font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0}.ui-modal__body{padding:var(--space-6,24px)}.ui-modal__body>.curriculum-management-bulk,.ui-modal__body>.curriculum-management-form{border-top:0;margin-top:0;padding-top:0}.member-avatar-button{background:transparent;border:0;cursor:pointer;height:56px;padding:0;width:56px}.member-avatar,.member-avatar-button{align-items:center;border-radius:50%;display:inline-flex;justify-content:center}.member-avatar{flex:0 0 auto;font-family:var(--font-display,Georgia,serif);font-weight:600;overflow:hidden;position:relative}.member-avatar--sm{font-size:.875rem;height:32px;width:32px}.member-avatar--md{font-size:1.125rem;height:40px;width:40px}.member-avatar--lg{font-size:1.5rem;height:56px;width:56px}.member-avatar--current{box-shadow:0 0 0 var(--ring-gap,2px) var(--surface-raised,#fbfaf6),0 0 0 calc(var(--ring-gap, 2px) + 3px) var(--ink,#23302a)}.member-avatar__fallback{align-items:center;border-radius:inherit;display:inline-flex;inset:0;justify-content:center;position:absolute}.member-avatar__image{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity var(--dur-fade,.12s) var(--ease-out,ease);width:100%}.member-avatar__image--loaded{opacity:1}.hex-color-field{border:0;margin:0;min-width:0;padding:0}.hex-color-field legend,.hex-color-field__entry>label{color:var(--ink,#23302a);font-size:.8125rem;font-weight:700;margin-bottom:var(--space-2,8px)}.hex-color-field__swatches{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);grid-template-columns:repeat(8,minmax(32px,44px));margin-bottom:var(--space-4,16px)}.hex-color-field__custom,.hex-color-field__swatch{align-items:center;border-radius:50%;display:inline-flex;height:44px;justify-content:center;width:44px}.hex-color-field__swatch{border:2px solid var(--surface-raised,#fbfaf6);box-shadow:0 0 0 1.5px var(--line-strong,#7f857a);color:var(--on-accent,#fff);cursor:pointer;font-size:1.125rem}.hex-color-field__swatch--selected{box-shadow:0 0 0 2px var(--surface-raised,#fbfaf6),0 0 0 4px var(--line-strong,#7f857a)}.hex-color-field__custom{border:2px dashed var(--line-strong,#7f857a);color:var(--ink-muted,#55645b);cursor:pointer;flex-direction:column;font-size:.625rem;font-weight:700;line-height:1;position:relative}.hex-color-field__custom--selected{border:2px solid var(--surface-raised,#fbfaf6);box-shadow:0 0 0 1.5px var(--line-strong,#7f857a);font-size:.5rem;letter-spacing:-.02em}.hex-color-field__custom input{cursor:pointer;inset:0;opacity:0;position:absolute}.hex-color-field__entry{display:flex;flex-direction:column;max-width:240px}.hex-color-field__entry>label{margin-bottom:var(--space-2,8px)}.hex-color-field__entry input[type=text]{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);font-family:var(--font-numeric,ui-monospace,monospace);font-size:1rem;min-height:var(--field-h,44px);padding:0 var(--space-3,12px)}.hex-color-field__entry input[aria-invalid=true]{border:2px solid var(--danger-accent,#9c2a1d)}.hex-color-field__preview{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-6,24px);max-width:520px}.hex-color-field__preview-card{align-items:center;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);display:flex;gap:var(--space-3,12px);min-height:80px;padding:var(--space-3,12px)}.hex-color-field__preview-card--light{background:#fbfaf6;color:#23302a}.hex-color-field__preview-card--dark{background:#171a18;color:#eaf2ec}@media (max-width:600px){.curriculum-management-bulk-grid{grid-template-columns:1fr}.hex-color-field__swatches{grid-template-columns:repeat(4,44px)}.hex-color-field__preview{grid-template-columns:1fr}}.auth-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.auth-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:480px;padding:clamp(24px,5vw,48px);width:100%}.auth-eyebrow,.page-eyebrow{color:var(--accent,#2f6a4f);font-family:var(--font-text,sans-serif);font-size:.75rem;font-weight:700;letter-spacing:.09em;margin:0 0 var(--space-3,12px);text-transform:uppercase}.auth-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.auth-intro{color:var(--ink-muted,#55645b);font-size:1rem;line-height:1.5;margin:var(--space-3,12px) 0 var(--space-8,32px)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5,20px)}.auth-form .ui-button{align-self:flex-start;margin-top:var(--space-2,8px)}.member-sign-in{display:grid;grid-gap:var(--space-5,20px);gap:var(--space-5,20px)}.member-sign-in h2{font-family:var(--font-display,Georgia,serif);font-size:1.35rem;margin:0 0 var(--space-4,16px)}.member-sign-in__profiles{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));margin-bottom:var(--space-5,20px)}.member-sign-in__profile{align-items:center;display:flex;flex-direction:column;gap:var(--space-2,8px);text-align:center}.member-sign-in__profile>span:last-child{font-weight:700;overflow-wrap:anywhere}.member-sign-in__back{background:transparent;border:0;color:var(--accent,#2f6a4f);cursor:pointer;padding:0;text-decoration:underline}.member-sign-in__selected{align-items:center;display:flex;flex-direction:column;gap:var(--space-3,12px);margin:var(--space-4,16px) 0;text-align:center}.member-sign-in__selected h2{margin:0}.auth-alert,.auth-success{border:var(--border-control,1.5px) solid;border-radius:var(--radius-sm,8px);font-size:.9375rem;line-height:1.45;padding:var(--space-3,12px) var(--space-4,16px)}.auth-alert{background:var(--danger-surface,#f7e1dd);border-color:var(--danger-accent,#9c2a1d);color:var(--ink,#23302a)}.auth-success{background:var(--accent-surface,#dfebe3);border-color:var(--accent,#2f6a4f);color:var(--ink,#23302a)}.auth-footer{border-top:var(--border-decorative,1px) solid var(--line,#d3d4c7);color:var(--ink-muted,#55645b);font-size:.875rem;line-height:1.45;margin-top:var(--space-8,32px);padding-top:var(--space-4,16px)}.auth-footer p{margin:0}.auth-footer a{color:var(--accent,#2f6a4f);font-weight:700}.auth-success-panel h2,.auth-verification h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0 0 var(--space-3,12px)}.auth-success-panel p,.auth-verification p{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.auth-session-status{align-items:flex-start;margin:64px auto;max-width:480px;padding:0 20px}.auth-session-status,.profile-switch__status{display:flex;flex-direction:column;gap:var(--space-4,16px)}.profile-switch__empty,.profile-switch__status{color:var(--ink-muted,#55645b);line-height:1.5}.profile-switch__grid{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);grid-template-columns:repeat(auto-fit,minmax(112px,1fr));margin:var(--space-6,24px) 0}.profile-switch__tile{align-items:center;background:transparent;border:var(--border-control,1.5px) solid transparent;border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2,8px);min-height:112px;padding:var(--space-3,12px)}.profile-switch__tile:focus-visible,.profile-switch__tile:hover{background:var(--surface-sunken,#f3f2ec);border-color:var(--line-strong,#7f857a)}.profile-switch__tile span:last-child{font-weight:700;text-align:center}.profile-switch__selected{align-items:center;display:flex;flex-direction:column;gap:var(--space-3,12px);margin:var(--space-5,20px) 0}.profile-switch__selected h2{font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0}.profile-switch__back{background:transparent;border:0;color:var(--accent,#2f6a4f);cursor:pointer;font-weight:700;min-height:44px;padding:0;text-decoration:underline}.auth-logout{align-items:flex-start;display:inline-flex;flex-direction:column;gap:var(--space-2,8px)}.household-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.household-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:560px;padding:clamp(24px,5vw,48px);width:100%}.household-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.household-card>p:last-of-type,.household-intro{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-8,32px)}.dashboard-timeframe-icon{align-items:center;display:inline-flex;font-size:20px;justify-content:center;line-height:1}.all-kids-board__mobile-column-toggle{display:none}@keyframes today-dashboard-balance-pulse{0%{color:var(--accent-warm,#b56a1f);transform:scale(1.16)}to{color:inherit;transform:scale(1)}}.completion-celebration{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:1000}.completion-celebration__message{animation:completion-celebration-message 2.2s ease both;background:var(--surface-raised);border:2px solid var(--accent,#2f6a4f);border-radius:var(--radius-md,14px);box-shadow:0 12px 35px var(--shadow-color,rgb(35 48 42/20%));color:var(--ink);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.1rem,3vw,1.45rem);font-weight:700;left:50%;margin:0;max-width:min(88vw,520px);padding:16px 24px;position:absolute;text-align:center;top:18%;transform:translateX(-50%);width:max-content}.completion-celebration__fireworks{inset:0;position:absolute}.completion-celebration__burst{animation:completion-celebration-flash 1.05s ease-out var(--burst-delay) both;height:8px;position:absolute;width:8px}.completion-celebration__particle{animation:completion-celebration-particle 1.05s cubic-bezier(.1,.7,.2,1) var(--burst-delay) both;background:var(--particle-color);border-radius:50%;height:8px;left:0;position:absolute;top:0;width:8px}@keyframes completion-celebration-message{0%{opacity:0;transform:translate(-50%,-12px) scale(.92)}12%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-5px) scale(.98)}}@keyframes completion-celebration-flash{0%,to{opacity:0}8%{opacity:1}}@keyframes completion-celebration-particle{0%{opacity:0;transform:rotate(var(--particle-rotation)) translateX(0) scale(.25)}10%{opacity:1}72%{opacity:1}to{opacity:0;transform:rotate(var(--particle-rotation)) translateX(var(--particle-distance)) scale(.55)}}@media (max-width:759px){.all-kids-board__mobile-column-toggle{background:var(--surface-sunken,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:999px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto var(--space-4,16px);max-width:1180px;padding:4px;width:100%}.all-kids-board__mobile-column-toggle button{background:transparent;border:0;border-radius:999px;color:var(--ink,#23302a);cursor:pointer;font:inherit;font-weight:700;min-height:44px;padding:0 16px}.all-kids-board__mobile-column-toggle button[aria-pressed=true]{background:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.all-kids-board__mobile-column-toggle button:focus-visible{outline:3px solid var(--focus-ring,#23302a);outline-offset:1px}.all-kids-board-page .ui-button{min-height:44px}}.household-setup-form{display:flex;flex-direction:column;gap:var(--space-5,20px)}.household-setup-form .ui-button{align-self:flex-start;margin-top:var(--space-2,8px)}.policy-acceptance-form{display:flex;flex-direction:column;gap:var(--space-5,20px)}.policy-acceptance-copy h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;line-height:1.2;margin:0}.policy-acceptance-copy p{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.policy-documents{display:flex;flex-direction:column;gap:var(--space-3,12px)}.policy-document{align-items:flex-start;background:var(--surface-sunken,#f3f2ec);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;flex-direction:column;gap:var(--space-2,8px);padding:var(--space-4,16px)}.policy-document>div:first-child{display:flex;flex-direction:column;gap:4px}.legal-card a,.policy-document a{color:var(--accent,#2f6a4f);font-weight:700}.legal-page,.policy-document .ui-checkbox{align-items:flex-start}.legal-page{background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.legal-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);color:var(--ink,#23302a);line-height:1.6;max-width:680px;padding:clamp(24px,5vw,48px);width:100%}.legal-card h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.legal-card h1,.legal-card h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.legal-card h2{font-size:1.35rem;margin:var(--space-6,24px) 0 0}.legal-card p{margin:var(--space-4,16px) 0 0}.legal-card .legal-version{color:var(--ink-muted,#55645b);font-size:.875rem;margin-top:var(--space-3,12px)}.child-creation-page{max-width:680px;width:100%}.child-creation-panel{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:clamp(24px,5vw,48px)}.child-creation-header h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.child-creation-header>p:last-child{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-8,32px)}.child-creation-form{display:flex;flex-direction:column;gap:var(--space-5,20px)}.child-creation-form .ui-button{align-self:flex-start;margin-top:var(--space-2,8px)}.child-consent{background:var(--surface-sunken,#f3f2ec);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);padding:var(--space-4,16px)}.child-consent h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0}.child-consent p{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.child-consent a,.child-creation-back a{color:var(--accent,#2f6a4f);font-weight:700}.child-consent .ui-checkbox{align-items:flex-start;margin-top:var(--space-4,16px)}.child-creation-back{margin:var(--space-4,16px) 0 0;text-align:center}.member-management-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.member-management-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:720px;padding:clamp(24px,5vw,48px);width:100%}.member-management-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.member-management-heading-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between}.member-management-intro{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-6,24px)}.member-household-code{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);padding:var(--space-4,16px)}.member-household-code code{color:var(--accent,#2f6a4f);font-size:1.35rem;font-weight:700;letter-spacing:.12em}.member-management-list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.member-management-row{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);padding:var(--space-4,16px)}.member-avatar-editor,.member-management-identity,.member-management-summary{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.member-avatar-editor__controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.member-avatar-editor__choose{cursor:pointer}.member-avatar-editor__choose input[type=file]{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.member-avatar-editor__presets{display:flex;flex-direction:column;gap:var(--space-2,8px)}.member-avatar-editor__preset-grid{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);grid-template-columns:repeat(6,minmax(0,1fr));max-width:260px}.member-avatar-editor__preset{align-items:center;border:2px solid transparent;border-radius:999px;cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;width:36px}.member-avatar-editor__preset:disabled{cursor:not-allowed;opacity:.6}.member-avatar-editor__preset--selected{border-color:var(--ink,#1f2937)}.recipe-image-editor{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);margin-bottom:var(--space-3,12px)}.recipe-image-editor__preview{align-items:center;background:var(--surface-muted,#eceee0);border-radius:var(--radius-2,8px);color:var(--ink-muted,#6b6f5c);display:flex;height:72px;justify-content:center;overflow:hidden;width:96px}.recipe-image-editor__preview img{height:100%;object-fit:cover;width:100%}.recipe-image-editor__preview svg{height:28px;width:28px}.recipe-image-editor__controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.recipe-image-editor__controls>.ui-error,.recipe-image-editor__controls>.ui-help{flex-basis:100%}.recipe-image-editor__choose{cursor:pointer}.recipe-image-editor__choose input[type=file]{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.member-management-copy{display:flex;flex-direction:column;gap:4px}.member-management-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.member-child-privacy{border-top:1px solid var(--line,#d3d4c7);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);padding-top:var(--space-3,12px)}.member-child-privacy summary,.member-child-privacy__option p{margin:0}.member-child-privacy summary{cursor:pointer;font-size:1rem;font-weight:700;min-height:44px;padding:11px 0}.member-child-privacy__options{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.member-child-privacy__option{align-content:start;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);padding:var(--space-3,12px)}.member-child-privacy__option .ui-control-stack{justify-self:start}.member-management-editor{border-top:1px solid var(--line,#d3d4c7);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);padding-top:var(--space-4,16px)}.member-management-editor .hex-color-field__preview{display:none}.member-pin-controls{border-top:1px solid var(--line,#d3d4c7);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);padding-top:var(--space-3,12px)}.member-pin-controls__summary{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.member-pin-controls__form{align-items:end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.member-pin-controls__form .ui-field{max-width:220px}.member-credential-controls{border-top:1px solid var(--line,#d3d4c7);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);padding-top:var(--space-3,12px)}.member-credential-controls__summary{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.member-credential-controls__form{align-items:end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.member-credential-controls__form .ui-field{max-width:280px}.member-management-empty{border:1px dashed var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);padding:var(--space-5,20px)}.member-management-empty h2{font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0}.member-management-empty p{color:var(--ink-muted,#55645b);margin:var(--space-2,8px) 0 var(--space-3,12px)}.member-management-empty a{color:var(--accent,#2f6a4f);font-weight:700}.invitation-management-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.invitation-management-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:720px;padding:clamp(24px,5vw,48px);width:100%}.invitation-accept-card h1,.invitation-management-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.invitation-create-form{border-top:1px solid var(--line,#d3d4c7);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);padding-top:var(--space-5,20px)}.invitation-role-fieldset{border:0;display:flex;flex-wrap:wrap;gap:var(--space-4,16px);margin:0;padding:0}.invitation-role-fieldset legend{font-weight:700;margin-bottom:var(--space-2,8px);width:100%}.invitation-role-fieldset label{align-items:center;display:flex;gap:var(--space-2,8px)}.invitation-role-fieldset input{accent-color:var(--accent,#2f6a4f)}.invitation-created-link{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin-top:var(--space-4,16px);padding:var(--space-4,16px)}.invitation-created-link p{color:var(--ink-muted,#55645b);margin:0}.invitation-created-link input{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);min-width:0;padding:10px;width:100%}.invitation-list-section{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-6,24px);padding-top:var(--space-5,20px)}.invitation-list-section h2{font-family:var(--font-display,Georgia,serif);font-size:1.35rem;margin:0 0 var(--space-3,12px)}.invitation-list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.invitation-row{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between;padding:var(--space-3,12px)}.invitation-row>div{display:grid;grid-gap:4px;gap:4px}.invitation-accept-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:560px;padding:clamp(24px,5vw,48px);width:100%}.invitation-accept-card>p{line-height:1.5}.area-management-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.settings-shell{align-items:flex-start;display:flex;gap:var(--space-6,24px);justify-content:flex-start;margin-inline:auto;max-width:1240px;width:100%}.settings-shell__content{flex:1 1 auto;min-width:0}.section-shell{background:var(--surface-canvas,#f3f2ec);min-height:calc(100dvh - var(--app-header-h));width:100%}.section-shell__content>main{min-height:0;padding:0;width:100%}@media (max-width:640px){.settings-shell{flex-direction:column}}.chore-shell{align-items:flex-start;display:flex;gap:var(--space-6,24px);justify-content:flex-start;margin-inline:auto;max-width:1240px;width:100%}.chore-shell__content{flex:1 1 auto;min-width:0}.filter-chips{margin:var(--space-4,16px) 0}.filter-chips__list{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.filter-chips__chip{align-items:center;cursor:pointer;font:inherit;gap:var(--space-2,8px);background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:999px;color:var(--ink,#23302a);display:inline-flex;font-weight:600;max-width:100%;min-height:44px;overflow:hidden;padding:0 var(--space-4,16px);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.filter-chips__chip:hover{background:var(--surface-hover,#f0efe8)}.filter-chips__chip:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring,#23302a);outline-offset:var(--focus-ring-offset,2px)}.filter-chips__chip[aria-current=page]{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--surface-raised,#fbfaf6)}.filter-chips__count{background:var(--surface-hover,#f0efe8);border-radius:999px;color:var(--ink-muted,#55645b);font-size:.85em;min-width:1.6em;padding:0 var(--space-2,8px);text-align:center}.filter-chips__chip[aria-current=page] .filter-chips__count{background:rgb(255 255 255/.2);color:inherit}.filter-chips__more{background:transparent;border-style:dashed;color:var(--ink-muted,#55645b)}@media (max-width:640px){.chore-shell{flex-direction:column}}.area-management-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:720px;padding:clamp(24px,5vw,48px);width:100%}.area-management-card--chores{max-width:none}.area-management-card h1,.area-management-empty h2,.area-management-row h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.area-management-card h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.area-management-intro{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.area-management-card>.auth-alert{margin-bottom:var(--space-4,16px)}.theme-preference-toggle{border:0;margin:0 0 var(--space-5,20px);padding:0}.theme-preference-toggle legend{color:var(--ink,#23302a);font-size:1rem;font-weight:700;padding:0}.theme-preference-toggle .ui-help{margin:var(--space-2,8px) 0 var(--space-3,12px)}.theme-preference-options{display:flex;flex-wrap:wrap;gap:8px}.theme-preference-options label{cursor:pointer;position:relative}.theme-preference-options input{height:1px;opacity:0;position:absolute;width:1px}.theme-preference-options span{align-items:center;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line-strong,#7f857a);border-radius:999px;color:var(--ink,#23302a);display:inline-flex;min-height:40px;padding:0 14px}.theme-preference-options input:checked+span{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.theme-preference-options input:focus-visible+span{outline:3px solid var(--focus-ring,#23302a);outline-offset:2px}.area-management-empty{align-items:center;border:1px dashed var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);display:flex;flex-direction:column;padding:clamp(24px,5vw,40px);text-align:center}.area-management-empty__icon{color:var(--accent,#2f6a4f);font-size:2rem;line-height:1;margin-bottom:var(--space-3,12px)}.area-management-empty h2{font-size:1.5rem;margin:0}.area-management-empty>p{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-5,20px);max-width:500px}.area-management-empty form{width:100%}.area-management-add{align-items:flex-end;display:flex;gap:var(--space-3,12px);width:100%}.area-management-add .ui-field{flex:1 1;text-align:left}.area-management-add .ui-control-stack{flex:0 0 auto}.area-management-starters-label{margin-bottom:var(--space-2,8px)!important}.area-management-starters{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:center}.area-management-list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0 0 var(--space-6,24px);padding:0}.area-management-row{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;justify-content:space-between;min-height:64px;padding:var(--space-4,16px)}.area-management-row__copy{flex:1 1;min-width:0}.area-management-row--archived{opacity:.82}.area-management-row--archived h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;margin:0 0 4px}.area-management-actions{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:flex-end}.area-management-editor{display:grid;flex:1 1;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.area-management-archived{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-6,24px)}.area-management-archived>h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0 0 var(--space-2,8px)}.area-management-archived>.ui-help{display:block;margin-bottom:var(--space-4,16px)}.area-management-archive-options{border:0;display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);margin:var(--space-5,20px) 0;padding:0}.area-management-archive-options legend{font-weight:700;margin-bottom:var(--space-2,8px)}.area-management-archive-options label{align-items:flex-start;display:flex;gap:var(--space-2,8px)}.area-management-archive-options input{accent-color:var(--accent-solid,#2f6a4f);flex:0 0 auto;margin-top:4px}.area-management-archive-options small{color:var(--ink-muted,#55645b);display:block;margin-top:2px}.area-management-reassign{align-items:center!important;margin-left:24px}.area-management-reassign>span{font-size:.8125rem;font-weight:700}.area-management-reassign select{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);min-height:var(--field-h,44px);min-width:180px;padding:0 var(--space-3,12px)}.area-management-row h2{font-size:1.125rem;margin:0 0 4px}.curriculum-management-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.curriculum-shell{align-items:flex-start;display:flex;gap:var(--space-6,24px);justify-content:flex-start;margin-inline:auto;max-width:1240px;width:100%}.curriculum-shell__content{flex:1 1 auto;min-width:0}@media (max-width:640px){.curriculum-shell{flex-direction:column}}.curriculum-breadcrumb ol{color:var(--ink-muted,#55645b);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.25rem;list-style:none;margin:0 0 var(--space-2,8px);padding:0}.curriculum-breadcrumb li+li:before{content:"›";margin-right:.25rem}.curriculum-breadcrumb a{color:inherit}.curriculum-breadcrumb [aria-current=page]{color:var(--ink,#23302a);font-weight:700}.curriculum-management-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:820px;padding:clamp(24px,5vw,48px);width:100%}.curriculum-management-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:var(--space-2,8px) 0 0}.curriculum-management-intro{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-5,20px)}.curriculum-management-empty{border:1px dashed var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);padding:clamp(24px,5vw,40px);text-align:center}.curriculum-management-empty h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0}.curriculum-management-empty>p{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-5,20px)}.curriculum-management-list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:var(--space-5,20px) 0;padding:0}.curriculum-management-row{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;flex-wrap:wrap;gap:var(--space-3,12px);padding:var(--space-4,16px)}.curriculum-management-row--archived{opacity:.82}.curriculum-management-row--archived h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;margin:0 0 4px}.curriculum-management-sequence{color:var(--ink-muted,#55645b);flex:0 0 auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;min-width:1.5em}.curriculum-management-row__copy{display:grid;flex:1 1;grid-gap:2px;gap:2px;min-width:220px}.curriculum-management-row__copy h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;margin:0}.curriculum-management-description-field{grid-column:1/-1}.curriculum-management-description-input{min-height:8rem;resize:vertical}.curriculum-catalog-tag{border:1px solid var(--line,#d3d4c7);border-radius:999px;color:var(--ink-muted,#55645b);display:inline-flex;font-size:.75rem;gap:4px;padding:2px 8px;width:-moz-fit-content;width:fit-content}.curriculum-catalog-resync-banner,.curriculum-catalog-tag{align-items:center;background:var(--surface-raised,#fbfaf6)}.curriculum-catalog-resync-banner{border:1px solid var(--line,#d3d4c7);border-left:4px solid var(--accent-solid,#3f6b53);border-radius:var(--radius-sm,8px);display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between;margin:var(--space-3,12px) 0;padding:var(--space-3,12px) var(--space-4,16px)}.curriculum-catalog-resync-diff{display:grid;grid-gap:4px;gap:4px;margin:var(--space-3,12px) 0}.curriculum-management-bulk,.curriculum-management-single-entry{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-6,24px)}.curriculum-management-bulk>h2,.curriculum-management-single-entry>h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0 0 var(--space-2,8px)}.curriculum-management-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);margin-top:var(--space-4,16px)}.curriculum-management-tabs [aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--action,#2f6a4f)}.curriculum-management-bulk-grid{display:grid;grid-gap:var(--space-5,20px);gap:var(--space-5,20px);grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);margin-top:var(--space-4,16px)}.curriculum-management-bulk-fields{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.curriculum-management-bulk-input{min-height:13rem;resize:vertical}.curriculum-management-preview{align-self:start;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);padding:var(--space-5,20px)}.curriculum-management-preview h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0}.curriculum-management-preview p{margin:0}.curriculum-management-preview-list{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin:0;max-height:18rem;overflow-y:auto;padding-left:var(--space-6,24px)}.curriculum-management-single-entry .curriculum-management-form{border-top:0;margin-top:var(--space-3,12px);padding-top:0}.curriculum-management-item-description,.curriculum-management-resource-reference{color:var(--ink,#23302a);line-height:1.55;margin:var(--space-2,8px) 0 0;max-width:70ch;overflow-wrap:anywhere;white-space:pre-wrap}.curriculum-management-resource-reference{color:var(--ink-muted,#55645b)}.curriculum-management-resource-link{overflow-wrap:anywhere;width:-moz-fit-content;width:fit-content}.curriculum-management-actions{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:flex-end}.curriculum-management-editor{display:grid;flex:1 1;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.curriculum-management-archived{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-6,24px)}.curriculum-management-archived>h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0 0 var(--space-2,8px)}.curriculum-management-form{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-5,20px);padding-top:var(--space-5,20px)}.curriculum-management-form,.curriculum-management-form-grid{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.curriculum-management-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.curriculum-management-school-year{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.curriculum-course-meeting-days{border:0;display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);margin:0;padding:0}.curriculum-course-meeting-days legend{font-weight:700;padding:0}.curriculum-course-meeting-days>.ui-help{margin:0}.curriculum-course-schedule-impact{background:var(--warning-surface,#fff0cf);border-left:3px solid var(--warning-ink,#74520d);color:var(--ink,#23302a);padding:var(--space-3,12px)}.curriculum-course-schedule-impact p{margin:var(--space-2,8px) 0 0}.curriculum-progress__range{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.curriculum-progress__children{display:grid;grid-gap:var(--space-5,24px);gap:var(--space-5,24px)}.curriculum-progress__child h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0 0 var(--space-2,8px)}.curriculum-progress__courses{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.curriculum-progress__course{background:var(--surface-sunken,#f3f2ec);border-radius:var(--radius-sm,8px);padding:var(--space-3,12px)}.curriculum-progress__course-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.curriculum-progress__course-title{display:flex;flex-direction:column}.curriculum-progress__subject-dot{background:var(--line-strong,#7f857a);border-radius:50%;flex:0 0 auto;height:12px;width:12px}.curriculum-progress__course-stats{color:var(--ink,#23302a);margin:var(--space-2,8px) 0 0}.curriculum-progress__pace-badge{border-radius:999px;flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.03em;margin-left:auto;padding:3px 10px;text-transform:uppercase}.curriculum-progress__pace-badge--ahead{background:#e1f0e6;color:#1f6f43}.curriculum-progress__pace-badge--behind{background:#fbe4e0;color:#9c2a1d}.curriculum-course-assignment{border-top:1px solid var(--line,#d3d4c7);display:grid;flex-basis:100%;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin-top:var(--space-2,8px);padding-top:var(--space-3,12px);width:100%}.curriculum-course-assignment h3{font-weight:700;margin:0}.curriculum-course-assignment-fieldset{border:0;display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin:0;padding:0}.curriculum-course-assignment-options{display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.curriculum-course-assignment-avatar{align-items:center;background:transparent;border:0;border-radius:50%;cursor:pointer;display:inline-flex;height:48px;justify-content:center;padding:4px;width:48px}.curriculum-course-assignment-avatar:focus-visible,.curriculum-course-assignment-avatar:hover{background:var(--surface-sunken,#f3f2ec);outline:2px solid var(--line-strong,#7f857a);outline-offset:1px}.curriculum-course-assignment-avatar:disabled{cursor:wait;opacity:.65}.rollover-review-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;flex-direction:column;gap:var(--space-4,16px);min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,7vh,72px) 16px 48px}.rollover-review-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);margin:0 auto;max-width:760px;padding:clamp(24px,5vw,48px);width:100%}.rollover-review-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:var(--space-2,8px) 0 0}.rollover-review__status{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 var(--space-5,20px)}.rollover-review__status-badge{background:var(--surface-sunken,#f3f2ec);border-radius:999px;color:var(--ink,#23302a);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:3px 10px;text-transform:uppercase}.rollover-review__status-badge--pending{background:var(--warning-surface,#fff0cf);color:var(--warning-ink,#74520d)}.rollover-review__status-badge--applied,.rollover-review__status-badge--auto_applied{background:#e3eee5;color:#235c3f}.rollover-review__status-badge--expired{background:#ece9e2;color:#55645b}.rollover-review__all-caught-up{background:#e3eee5;border-radius:var(--radius-sm,8px);color:#235c3f;line-height:1.5;margin:0 0 var(--space-5,20px);padding:var(--space-4,16px)}.rollover-review__date-nav{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);margin:0 auto;max-width:760px;width:100%}.rollover-review__child{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-6,24px);padding-top:var(--space-6,24px)}.rollover-review__child:first-of-type{border-top:0;margin-top:var(--space-4,16px);padding-top:0}.rollover-review__child h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.4rem;margin:0 0 var(--space-3,12px)}.rollover-review__list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.rollover-review__row{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);padding:var(--space-4,16px)}.rollover-review__row--info{background:transparent;border-style:dashed;opacity:.88}.rollover-review__row--decision{border-left:3px solid var(--line-strong,#7f857a)}.rollover-review__row-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:space-between}.rollover-review__row-header h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;margin:0}.rollover-review__badge{border-radius:999px;display:inline-block;flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.03em;padding:3px 10px;text-transform:uppercase}.rollover-review__badge--info{background:var(--surface-sunken,#f3f2ec);color:var(--ink-muted,#55645b)}.rollover-review__badge--missed{background:#fbe4e0;color:#9c2a1d}.rollover-review__action-line,.rollover-review__quota-progress,.rollover-review__summary{color:var(--ink,#23302a);line-height:1.5;margin:0}.rollover-review__reschedule{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.rollover-review__missed-items{border-top:1px dashed var(--line,#d3d4c7);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);list-style:none;margin:var(--space-2,8px) 0 0;padding:var(--space-3,12px) 0 0}.rollover-review__missed-item{display:grid;grid-gap:4px;gap:4px}.rollover-review__missed-item-title{color:var(--ink,#23302a);font-weight:600}.rollover-review__chores{background:var(--surface-sunken,#f3f2ec);border-radius:var(--radius-sm,8px);margin-top:var(--space-4,16px);padding:var(--space-4,16px)}.rollover-review__chores h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1rem;margin:0 0 4px}.rollover-review__chores p{margin:0 0 4px}.rollover-review__reversal{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);margin-top:4px}.rollover-review__reversal-note{color:var(--ink-muted,#55645b);font-style:italic;margin:var(--space-2,8px) 0 0}.rollover-preferences-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;flex-direction:column;gap:var(--space-4,16px);min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,7vh,72px) 16px 48px}.rollover-preferences-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);margin:0 auto;max-width:640px;padding:clamp(24px,5vw,48px);width:100%}.rollover-preferences-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:var(--space-2,8px) 0 0}.rollover-preferences__field{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.account-export-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,7vh,72px) 16px 48px}.account-export-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);margin:0 auto;max-width:680px;padding:clamp(24px,5vw,48px);width:100%}.account-export-card h1,.account-export-card h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.account-export-card h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:var(--space-2,8px) 0 0}.account-export-form,.account-export-result{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.account-export-form fieldset{border:0;display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);margin:0;padding:0}.account-export-form legend{font-weight:700;margin-bottom:var(--space-2,8px)}.account-export-form fieldset label{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);cursor:pointer;display:flex;gap:var(--space-3,12px);padding:var(--space-4,16px)}.account-export-form fieldset label:has(input:checked){border-color:var(--accent,#2f6a4f);box-shadow:0 0 0 1px var(--accent,#2f6a4f)}.account-export-form fieldset input{margin-top:3px}.account-export-form fieldset label span{display:grid;grid-gap:4px;gap:4px}.account-export-form fieldset small,.account-export-result .ui-help{color:var(--ink-muted,#55645b);line-height:1.45}.account-export-result h2,.account-export-result p{margin:0}.account-export-result>.ui-button{justify-self:start;text-decoration:none}.account-export-status-error{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.account-billing-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,7vh,72px) 16px 48px}.account-billing-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);margin:0 auto;max-width:960px;padding:clamp(24px,5vw,48px);width:100%}.account-billing-card h1,.account-billing-card h2,.account-billing-card h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.account-billing-card h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:var(--space-2,8px) 0 0}.account-billing-card h2,.account-billing-card h3,.account-billing-card p{margin:0}.account-billing-card h2{font-size:1.5rem}.account-billing-card h3{font-size:1.05rem}.account-billing-card .ui-help,.account-billing-intro{color:var(--ink-muted,#55645b);line-height:1.5}.billing-error-state,.billing-overview,.billing-section{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.billing-section{border-top:1px solid var(--line,#d3d4c7);padding-top:var(--space-5,20px)}.billing-plan__heading,.billing-section__heading{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between}.billing-badge{background:var(--accent-surface,#dfebe3);border-radius:999px;color:var(--accent,#2f6a4f);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.billing-empty,.billing-notice,.billing-read-only{background:var(--warning-surface,#fff0cf);border:1px solid var(--warning-ink,#74520d);border-radius:var(--radius-sm,8px);color:var(--warning-ink,#74520d);display:grid;grid-gap:4px;gap:4px;line-height:1.5;padding:var(--space-4,16px)}.billing-dates{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}.billing-dates>div{background:var(--surface-canvas,#f3f2ec);border-radius:var(--radius-sm,8px);padding:var(--space-3,12px)}.billing-dates dt{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.billing-dates dd{font-weight:600;margin:4px 0 0}.billing-usage{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.billing-usage__row{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.billing-usage__row>div{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:space-between}.billing-usage__row span{color:var(--ink-muted,#55645b);font-size:.875rem}.billing-usage__row progress{accent-color:var(--accent,#2f6a4f);height:10px;width:100%}.billing-plan-grid{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;margin:0;padding:0}.billing-plan{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);padding:var(--space-4,16px)}.billing-plan--current{border-color:var(--accent,#2f6a4f);box-shadow:0 0 0 1px var(--accent,#2f6a4f)}.billing-plan__price strong{font-size:1.5rem}.billing-plan__trial{color:var(--accent,#2f6a4f);font-weight:600}.billing-plan__limits{line-height:1.4;margin:0;padding-left:var(--space-5,20px)}.billing-actions,.billing-plan__limits{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.billing-actions{align-items:start;justify-items:start}.billing-invoices{list-style:none;margin:0;padding:0}.billing-invoice-error,.billing-invoices{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.billing-invoice-error{align-items:start;justify-items:start}.billing-invoice{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);padding:var(--space-3,12px)}.billing-invoice>div{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:space-between}.billing-invoice>span{color:var(--ink-muted,#55645b);font-size:.875rem}.billing-invoice>a{color:var(--accent,#2f6a4f);font-weight:700;justify-self:start}.rollover-history-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;flex-direction:column;gap:var(--space-4,16px);min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,7vh,72px) 16px 48px}.rollover-history-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);margin:0 auto;max-width:760px;padding:clamp(24px,5vw,48px);width:100%}.rollover-history-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:var(--space-2,8px) 0 0}.rollover-history__filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);margin:var(--space-4,16px) 0}.rollover-history__entries{display:grid;grid-gap:var(--space-6,24px);gap:var(--space-6,24px);list-style:none;margin:0 0 var(--space-4,16px);padding:0}.rollover-history__entry{border-top:1px solid var(--line,#d3d4c7);padding-top:var(--space-5,20px)}.rollover-history__entry:first-child{border-top:0;padding-top:0}.rollover-history__entry-header h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.4rem;margin:0 0 4px}.rollover-history__entry-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);margin:0 0 4px}.rollover-history__decider-badge,.rollover-history__status-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:3px 10px;text-transform:uppercase}.rollover-history__status-badge--pending{background:var(--warning-surface,#fff0cf);color:var(--warning-ink,#74520d)}.rollover-history__status-badge--applied,.rollover-history__status-badge--auto_applied{background:#e3eee5;color:#235c3f}.rollover-history__status-badge--expired{background:#ece9e2;color:#55645b}.rollover-history__decider-badge--parent{background:#e3e8fd;color:#33409e}.rollover-history__decider-badge--system{background:#f3e6d8;color:#7a4b1f}.rollover-history__all-caught-up{background:#e3eee5;border-radius:var(--radius-sm,8px);color:#235c3f;line-height:1.5;margin:0 0 var(--space-3,12px);padding:var(--space-3,12px)}.rollover-history__child{margin-top:var(--space-4,16px)}.rollover-history__child h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;margin:0 0 var(--space-2,8px)}.rollover-history__list{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.rollover-history__item{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);padding:var(--space-4,16px)}.rollover-history__item-header h4{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.0625rem;margin:0}.rollover-history__item-action,.rollover-history__item-summary{color:var(--ink,#23302a);line-height:1.5;margin:0}.rollover-history__missed-items{border-top:1px dashed var(--line,#d3d4c7);display:grid;grid-gap:4px;gap:4px;list-style:none;margin:var(--space-2,8px) 0 0;padding:var(--space-2,8px) 0 0}.rollover-history__missed-item-title{color:var(--ink,#23302a);font-weight:600}.chore-management-section{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-8,32px)}.chore-management-section__header h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.5rem;margin:0}.chore-management-section__header .auth-eyebrow,.chore-management-section__header .page-eyebrow{margin-bottom:var(--space-2,8px)}.chore-creation-form{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);max-width:520px}.chore-creation-form .auth-alert{grid-column:1/-1}.chore-creation-form .ui-button{justify-self:flex-start;margin-top:var(--space-2,8px)}.chore-creation-recurrence{background:var(--surface-sunken,#f3f2ec);border-left:3px solid var(--accent,#2f6a4f);color:var(--ink-muted,#55645b);margin:0;padding:var(--space-3,12px)}.chore-creation-recurrence strong{color:var(--ink,#23302a)}.chore-management-list{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-6,24px)}.chore-management-list h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0 0 var(--space-3,12px)}.chore-management-list__header{align-items:flex-end;display:flex;gap:var(--space-5,20px);justify-content:space-between}.chore-management-list__header .ui-help{margin:0}.chore-management-filters{align-items:flex-end;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:flex-end}.chore-management-filters .ui-field{flex:1 1 140px;min-width:120px}.chore-management-filters .ui-field>label{font-size:.75rem}.chore-management-filters .ui-control-stack{flex:0 0 auto}.chore-management-groups{display:grid;grid-gap:var(--space-5,20px);gap:var(--space-5,20px)}.chore-management-group h4{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.05rem;margin:0 0 var(--space-2,8px)}.chore-management-group ul{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.chore-management-list li{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;flex-direction:column;gap:4px;padding:var(--space-4,16px)}.chore-management-list li span{color:var(--ink-muted,#55645b);font-size:.875rem;line-height:1.4}.chore-management-list .ui-control-stack{align-self:flex-start;margin-top:var(--space-2,8px)}.chore-management-status{align-self:flex-start;background:var(--surface-sunken,#f3f2ec);border-radius:999px;color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.chore-management-status--paused{background:#f7e8d9;color:#8a4b22}.chore-management-warning{background:var(--warning-surface,#fff0cf);border-left:3px solid var(--warning-ink,#74520d);color:var(--ink,#23302a)!important;margin:4px 0 0;padding:8px 10px}.chore-edit-form{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.chore-edit-form .auth-alert{margin:0}.chore-edit-schedule,.chore-edit-scope{border:0;display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);margin:0;padding:0}.chore-edit-schedule legend,.chore-edit-scope legend{font-weight:700;padding:0}.chore-edit-scope label{align-items:flex-start;display:flex;gap:8px}.chore-edit-scope input{accent-color:var(--accent-solid,#2f6a4f);flex:0 0 auto;margin-top:4px}.chore-edit-scope small{color:var(--ink-muted,#55645b);display:block;margin-top:2px}.chore-edit-impact{background:var(--surface-sunken,#f3f2ec);border-left:3px solid var(--accent,#2f6a4f);padding:var(--space-3,12px)}.chore-edit-impact h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.15rem;margin:0 0 8px}.chore-edit-impact p{margin:8px 0 0}.chore-edit-impact__history{border-top:1px solid var(--line,#d3d4c7);margin-top:12px;padding-top:12px}.chore-edit-impact ul{margin:8px 0 0;padding-left:20px}.chore-end-fieldset,.chore-timeframe-fieldset{border:0;display:grid;grid-gap:8px;gap:8px;margin:0;padding:0}.chore-end-fieldset legend{font-weight:700;padding:0}.chore-end-options{display:flex;flex-wrap:wrap;gap:12px}.chore-end-option{align-items:center;display:flex;gap:6px}.chore-timeframe-fieldset legend{font-weight:700;padding:0}.chore-timeframe-options{display:flex;flex-wrap:wrap;gap:8px}.chore-timeframe-option{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;justify-content:center;min-height:40px;min-width:40px;padding:0 8px;position:relative}.chore-timeframe-option input{height:1px;margin:0;opacity:0;position:absolute;width:1px}.chore-timeframe-option:has(input:checked){background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.chore-timeframe-option:has(input:focus-visible){outline:2px solid var(--accent-solid,#2f6a4f);outline-offset:2px}.chore-schedule-fieldset{border:0;display:grid;grid-gap:8px;gap:8px;margin:0;padding:0}.chore-schedule-fieldset legend{font-weight:700;padding:0}.chore-schedule-fieldset>.ui-field{gap:0}.chore-weekday-options{display:flex;flex-wrap:wrap;gap:6px}.chore-weekday-options .chore-weekday-option{flex:0 0 auto;min-width:36px}.chore-weekday-option{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:flex;font-weight:600;justify-content:center;min-height:40px;padding:0 4px}.chore-weekday-option:focus-visible,.chore-weekday-option:hover{border-color:var(--line-strong,#7f857a)}.chore-weekday-option[aria-pressed=true]{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.timeframe-management{border-top:1px solid var(--line,#d3d4c7);margin-top:var(--space-8,32px);padding-top:var(--space-8,32px)}.timeframe-management-list{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:20px 0 0;padding:0}.timeframe-management-row{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px}.timeframe-management-row h3{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;margin:0 0 4px}.timeframe-range{display:flex;flex:1 1 260px;gap:12px}.timeframe-create-form{border-top:1px solid var(--line,#d3d4c7);display:grid;grid-gap:12px;gap:12px;margin-top:24px;padding-top:24px}.timeframe-create-form h3{margin:0}@media (max-width:600px){.chore-management-filters,.chore-management-list__header{align-items:stretch;flex-direction:column;gap:var(--space-3,12px)}.chore-management-filters{justify-content:stretch}.chore-management-filters .ui-field{flex-basis:auto;width:100%}.chore-management-filters .ui-button,.chore-management-filters .ui-control-stack{width:100%}.area-management-add{align-items:stretch;flex-direction:column}.area-management-add .ui-button,.area-management-add .ui-control-stack{width:100%}.curriculum-management-row{flex-direction:column;align-items:stretch}.curriculum-management-actions{justify-content:stretch}.curriculum-management-actions .ui-button,.curriculum-management-actions .ui-control-stack{flex:1 1 auto}.chore-creation-form .ui-button,.member-management-actions .ui-button,.member-management-actions .ui-control-stack{width:100%}.rollover-history__filters,.rollover-review__date-nav,.rollover-review__reschedule{align-items:stretch;flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.points-history-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.points-history-card{max-width:760px;padding:clamp(24px,5vw,48px);width:100%}.points-history__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4,16px);flex-wrap:wrap}.points-history__header h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.points-history__intro{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-3,12px) 0 0}.points-history__summary{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(2,minmax(0,1fr));margin:var(--space-6,24px) 0}.points-history__summary>span{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);color:var(--ink-muted,#55645b);display:grid;grid-gap:var(--space-1,4px);gap:var(--space-1,4px);padding:var(--space-4,16px)}.points-history__summary strong{color:var(--accent,#2f6a4f);font-family:var(--font-display,Georgia,serif);font-size:1.75rem}.points-history__member-select{margin-bottom:var(--space-5,20px);max-width:320px}.points-history__empty{color:var(--ink-muted,#55645b)}.points-history__list{list-style:none;margin:0;padding:0}.points-history-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.points-history-row--reversal{opacity:.85;font-style:italic}.points-history-row__title{flex:1 1}.points-history-row__meta{color:var(--ink-muted,#55645b);font-size:.85rem}.points-history-row__delta{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.points-history-row__delta--positive{color:var(--accent,#2f6a4f)}.points-history-row__delta--negative{color:var(--danger-accent,#9c2a1d)}.points-history-row--adjustment{font-style:italic}.points-adjustment-form{display:flex;flex-direction:column;gap:var(--space-4,16px)}@media (max-width:560px){.points-history__header .ui-button,.points-history__header .ui-control-stack{width:100%}.points-history__summary{grid-template-columns:1fr}.points-history-row{align-items:flex-start;flex-wrap:wrap}.points-history-row__meta{order:3;width:100%}}.curriculum-lock-control{display:grid;grid-gap:.5rem;gap:.5rem}.curriculum-lock-history__entries{display:grid;grid-gap:.75rem;gap:.75rem;-webkit-padding-start:1.5rem;padding-inline-start:1.5rem;overflow-wrap:anywhere}.curriculum-lock-history__entries time{display:block}.curriculum-lock-switch{display:inline-flex;align-items:center;gap:.65rem;background:transparent;border:0;padding:.5rem 0;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.curriculum-lock-switch:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}.curriculum-lock-switch:disabled{cursor:default;opacity:.7}.curriculum-lock-switch__track{display:flex;align-items:center;width:2.75rem;height:1.6rem;padding:.15rem;border:1px solid;border-radius:2rem;background:var(--ink-muted,#55645b)}.curriculum-lock-switch[aria-checked=true] .curriculum-lock-switch__track{background:var(--accent-solid,#2f6a4f)}.curriculum-lock-switch__thumb{display:grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--surface-overlay,#fff);color:var(--accent,#2f6a4f)}.curriculum-lock-switch[aria-checked=true] .curriculum-lock-switch__thumb{margin-left:auto}.area-management-add-subtask{text-decoration:underline;text-underline-offset:3px}.money-budget-header__nav,.money-dashboard-header__nav{align-items:center;display:flex;gap:var(--space-2,8px)}.money-budget-header__nav-step,.money-dashboard-header__nav-step{flex:0 0 44px;min-width:44px;padding-inline:0;width:44px}.money-budget-header__nav-step>span,.money-dashboard-header__nav-step>span{font-size:.875rem}.money-budget-header__month-title,.money-dashboard-header__month-title{color:var(--ink,#23302a);font-size:1.125rem;font-weight:700;margin:0;min-width:11ch;text-align:center}.money-budget-add-category{-webkit-margin-start:var(--space-4,16px);margin-inline-start:var(--space-4,16px)}.money-budget-groups>.area-management-row{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.money-budget-groups>.area-management-row>summary{align-items:center;display:flex;gap:var(--space-2,8px)}.ui-button.ui-button--icon.money-budget-edit-icon{min-height:28px;min-width:28px;padding:4px}.money-budget-group__actions{display:flex;gap:var(--space-1,4px)}.money-budget-edit-icon svg{height:16px;width:16px}.money-budget-line__amounts{align-items:start;display:grid;flex:0 0 var(--money-budget-amounts-width,380px);grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(3,minmax(0,1fr));text-align:right;width:var(--money-budget-amounts-width,380px)}.money-budget-line{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) 140px var(
      --money-budget-amounts-width,380px
    )}.money-budget-line__identity{flex:1 1 220px;min-width:0}.money-budget-line__title{align-items:center;display:inline-flex;gap:var(--space-2,8px)}.money-budget-line__meter{grid-column:2}.money-budget-line__amounts{grid-column:3}.money-budget-line>.ui-error,.money-budget-line__note{grid-column:1/-1}.money-budget-totals-row{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) 140px var(
      --money-budget-amounts-width,380px
    )}.money-budget-totals-row>span{grid-column:1/3}.money-budget-totals-row>.money-budget-line__amounts{grid-column:3}.money-budget-line__amount-column{align-items:end;display:grid;grid-gap:4px;gap:4px;min-width:0}.money-budget-line__amount-label{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.money-budget-line__amount-column .ui-control-stack,.money-budget-line__amount-column .ui-field,.money-budget-line__amount-column>.money-amount{align-items:center;display:flex;justify-self:end;min-height:var(--control-h,40px)}.money-budget-line__amount-column .ui-control-stack,.money-budget-line__amount-column .ui-field{justify-content:flex-end}@media (max-width:980px){.money-budget-line{grid-template-columns:minmax(0,1fr)}.money-budget-line__amounts,.money-budget-line__meter{grid-column:1}.money-budget-line__amounts{flex-basis:auto;max-width:100%;width:100%}.money-budget-totals-row{grid-template-columns:minmax(0,1fr)}.money-budget-totals-row>.money-budget-line__amounts,.money-budget-totals-row>span{grid-column:1}}.area-management-subtask-form{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-2,8px)}.area-management-subtask-form .ui-field{flex:1 1;min-width:160px;text-align:left}.area-management-subtask-form .ui-control-stack{flex:0 0 auto}@media (max-width:640px){.area-management-row{flex-wrap:wrap}.area-management-row__copy{flex-basis:100%}.area-management-actions{flex-basis:100%;justify-content:flex-start}.area-management-subtask-form .ui-field{flex-basis:100%}}.area-management-add-subtask-form{margin-top:8px}.area-management-chore-link{background:transparent;border:0;color:var(--ink,#23302a);cursor:pointer;font:inherit;font-weight:500;min-height:var(--control-h,40px);padding:4px 0;text-align:left;text-decoration:none;text-underline-offset:3px;overflow-wrap:anywhere}.app-header{align-items:center;background:var(--surface-raised,#fbfaf6);border-bottom:1px solid color-mix(in srgb,var(--line,#d3d4c7) 70%,transparent);box-shadow:0 2px 4px rgb(35 48 42/8%),0 8px 18px rgb(35 48 42/6%);display:flex;gap:12px;min-height:var(--app-header-h);padding:8px clamp(12px,3vw,24px);position:-webkit-sticky;position:sticky;top:0;z-index:40}.app-shell>:is(main,.section-shell,[class*=-page],[class$=-page]){margin-top:0;padding-top:0}.app-header__household-name{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-navigation__toggle{align-items:center;background:transparent;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,10px);color:var(--ink,#23302a);cursor:pointer;display:inline-flex;height:44px;justify-content:center;padding:0;position:relative;width:44px;z-index:43}.app-navigation__toggle:focus-visible,.app-navigation__toggle:hover{background:var(--surface-sunken,#f3f2ec)}.app-navigation__hamburger{display:grid;grid-gap:4px;gap:4px;width:21px}.app-navigation__hamburger span{background:currentColor;border-radius:2px;display:block;height:2px;width:100%}.app-navigation__backdrop{background:rgb(35 48 42/36%);border:0;cursor:default;inset:60px 0 0;padding:0;position:fixed;z-index:41}.app-navigation{background:var(--surface-raised,#fbfaf6);border-right:1px solid var(--line,#d3d4c7);bottom:0;box-shadow:12px 0 30px rgb(35 48 42/16%);left:0;max-width:calc(100vw - 48px);overflow-y:auto;padding:20px 12px;position:fixed;top:60px;width:320px;z-index:42}.app-navigation__title{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0 12px 8px;text-transform:uppercase}.app-navigation ul{display:grid;grid-gap:4px;gap:4px;list-style:none;margin:0;padding:0}.app-navigation a{align-items:center;border-radius:var(--radius-md,10px);color:var(--accent,#2f6a4f);display:flex;font-weight:650;gap:12px;min-height:44px;padding:8px 12px;text-decoration:none}.app-navigation a:focus-visible,.app-navigation a:hover{background:var(--surface-sunken,#f3f2ec)}.app-navigation a svg{fill:none;flex:0 0 auto;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}.app-navigation a[aria-current=page]{background:color-mix(in srgb,var(--accent,#2f6a4f) 12%,transparent);font-weight:700}.app-navigation:focus{outline:none}.app-navigation__group{margin-top:16px}.app-navigation__group:first-of-type{margin-top:0}.app-navigation__group-title{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0 12px 4px;text-transform:uppercase}.app-navigation__signout{border-top:1px solid var(--line,#d3d4c7);margin-top:16px;padding-top:12px}.app-navigation__action{align-items:center;background:transparent;border:0;border-radius:var(--radius-md,10px);color:var(--accent,#2f6a4f);cursor:pointer;display:flex;font:inherit;font-weight:650;gap:12px;min-height:44px;padding:8px 12px;text-align:left;width:100%}.app-navigation__action:focus-visible,.app-navigation__action:hover{background:var(--surface-sunken,#f3f2ec)}.app-navigation__action svg{fill:none;flex:0 0 auto;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}:root{--app-rail-w:248px}html[data-app-rail=collapsed]{--app-rail-w:72px}html[data-app-rail] .app-shell{margin-left:var(--app-rail-w);transition:margin-left var(--dur-3,.22s) var(--ease-out,ease)}.app-navigation--rail{box-shadow:none;display:flex;flex-direction:column;max-width:none;padding:16px 10px;top:var(--app-header-h);transition:width var(--dur-3,.22s) var(--ease-out,ease);width:var(--app-rail-w);z-index:30}.app-navigation--rail a{color:var(--ink,#23302a);font-weight:500;min-height:40px}.app-navigation--rail a[aria-current=page]{background:var(--accent-surface,#dfebe3);color:var(--accent-solid,#2f6a4f);font-weight:700}.app-navigation--rail .app-navigation__group{margin-top:12px}.app-navigation__collapse{align-items:center;background:transparent;border:0;border-radius:var(--radius-md,10px);color:var(--ink-muted,#55645b);cursor:pointer;display:flex;font:inherit;gap:12px;min-height:44px;padding:8px 12px;width:100%}.app-navigation--rail{overflow:hidden;padding-bottom:0}.app-navigation__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:8px}.app-navigation__footer{background:var(--surface-raised,#fbfaf6);border-top:1px solid var(--line,#d3d4c7);flex:0 0 auto;padding:4px 0 8px}.app-navigation__footer .app-navigation__signout{border-top:0;margin-top:0;padding-top:0}.app-navigation__collapse:focus-visible,.app-navigation__collapse:hover{background:var(--surface-sunken,#e7e6dd);color:var(--ink,#23302a)}.app-navigation__collapse:before{content:"«";flex:0 0 20px;text-align:center}.app-navigation__collapse[data-collapsed]:before{content:"»"}.app-navigation--collapsed .app-navigation__group-title{display:none}.app-navigation--collapsed .app-navigation__group+.app-navigation__group{border-top:1px solid var(--line,#d3d4c7);margin-top:8px;padding-top:8px}.app-navigation--collapsed .app-navigation__action,.app-navigation--collapsed .app-navigation__collapse,.app-navigation--collapsed a{justify-content:center;padding-inline:0}.app-navigation--collapsed .app-navigation__action>span,.app-navigation--collapsed .app-navigation__collapse>span,.app-navigation--collapsed a>span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.app-navigation__areas{gap:2px}.app-navigation__flyout-trigger{align-items:center;background:transparent;border:0;border-radius:var(--radius-md,10px);color:var(--ink,#23302a);cursor:pointer;display:flex;font:inherit;font-weight:500;gap:12px;min-height:40px;padding:8px 12px;text-align:left;width:100%}.app-navigation__flyout-trigger svg{fill:none;flex:0 0 auto;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}.app-navigation__flyout-trigger:focus-visible,.app-navigation__flyout-trigger:hover,.app-navigation__flyout-trigger[aria-expanded=true]{background:var(--surface-sunken,#f3f2ec)}.app-navigation a[data-area-current],.app-navigation__flyout-trigger[data-area-current]{font-weight:700}.app-navigation__flyout-trigger[data-area-current]{color:var(--accent-solid,#2f6a4f)}.app-navigation .app-navigation__children{border-left:1px solid var(--line,#d3d4c7);gap:2px;margin:2px 0 6px 21px;padding-left:6px}.app-navigation__page{border-radius:var(--radius-md,10px);display:block;min-height:36px;padding:7px 12px}.app-navigation .app-navigation__children a,.app-navigation .app-navigation__flyout a{min-height:36px;font-weight:500}.app-navigation .app-navigation__children a[aria-current=page],.app-navigation .app-navigation__flyout a[aria-current=page]{font-weight:700}.app-navigation--collapsed .app-navigation__flyout-trigger{justify-content:center;padding-inline:0}.app-navigation--collapsed .app-navigation__flyout-trigger>span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.app-navigation__flyout{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-lg,14px);box-shadow:0 10px 28px rgb(35 48 42/18%);min-width:220px;padding:8px;position:fixed;z-index:45}.app-navigation__flyout-title{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:4px 12px 6px;text-transform:uppercase}.app-navigation--collapsed .app-navigation__flyout a{justify-content:flex-start;padding-inline:12px}.app-navigation__drawer-footer{border-top:1px solid var(--line,#d3d4c7);margin-top:16px;padding-top:8px}.app-navigation__drawer-footer .app-navigation__signout{border-top:0;margin-top:0;padding-top:0}.app-header__assistant{align-items:center;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,10px);color:var(--accent,#2f6a4f);display:inline-flex;font-weight:650;gap:8px;margin-left:auto;min-height:40px;padding:6px 12px;text-decoration:none}.app-header__assistant svg{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}.app-header__assistant:focus-visible,.app-header__assistant:hover,.app-header__assistant[aria-current=page]{background:var(--surface-sunken,#f3f2ec)}@media (max-width:479px){.app-header__assistant span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}.app-tabbar{background:var(--surface-raised,#fbfaf6);border-top:1px solid var(--line,#d3d4c7);bottom:0;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:41}.app-tabbar ul{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;list-style:none;margin:0;padding:0}.app-tabbar a,.app-tabbar button{align-items:center;background:transparent;border:0;border-top:3px solid transparent;color:var(--ink-muted,#55645b);cursor:pointer;display:flex;flex-direction:column;font:inherit;font-size:.75rem;font-weight:650;gap:2px;justify-content:center;min-height:56px;text-decoration:none;width:100%}.app-tabbar a[aria-current=page]{border-top-color:var(--accent-solid,#2f6a4f);color:var(--accent-solid,#2f6a4f)}.app-tabbar a:focus-visible,.app-tabbar button:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring,#23302a);outline-offset:-4px}.app-tabbar svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:22px}html[data-app-tabbar] .app-shell{padding-bottom:calc(56px + env(safe-area-inset-bottom, 0px))}.app-navigation__error{margin:8px 12px 0}.app-header__notice{align-items:center;color:var(--ink-muted,#55645b);display:inline-flex;font-size:.875rem;gap:8px;margin-left:auto}.app-header__retry{background:transparent;border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-md,10px);color:var(--accent,#2f6a4f);cursor:pointer;font:inherit;font-weight:650;min-height:36px;padding:4px 12px}.chore-management-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.chore-management-title>.ui-control-stack{flex-shrink:0;align-self:center;margin-top:0}.assignment-toggle{align-items:center;background:none;border:0;color:var(--accent,#2f6a4f);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;font-weight:650;gap:4px;min-height:28px;padding:0;text-align:left}[data-density=touch] .assignment-toggle{min-height:var(--control-target,44px)}.assignment-toggle:focus-visible{outline:3px solid var(--accent-solid,var(--accent,#2f6a4f));outline-offset:2px}.assignment-toggle__chevron{-webkit-border-after:2px solid currentcolor;border-block-end:2px solid currentcolor;-webkit-border-end:2px solid currentcolor;border-inline-end:2px solid currentcolor;block-size:6px;inline-size:6px;transform:translateY(-2px) rotate(45deg)}.assignment-toggle[aria-expanded=true] .assignment-toggle__chevron{transform:translateY(1px) rotate(-135deg)}.assignment-drawer{display:none;flex:0 0 100%;grid-template-rows:0fr;min-width:0;order:99}.assignment-drawer[data-open=true]{display:grid;grid-template-rows:1fr;padding-bottom:var(--space-2,8px)}.assignment-drawer__inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:no-preference){.assignment-drawer{transition:grid-template-rows .18s ease,display allow-discrete .18s}@starting-style{.assignment-drawer[data-open=true]{grid-template-rows:0fr}}.assignment-toggle__chevron{transition:transform .18s ease}}.area-chore-grid__scroll{max-width:100%;overflow-x:auto;padding:6px 0 2px}.area-chore-grid__table{border-collapse:separate;border-spacing:4px;font-size:.8rem}.area-chore-grid__table th{color:var(--muted,#5c6b62);font-weight:700;padding:2px 4px;text-align:center}.area-chore-grid__table tbody th{padding-right:8px;text-align:left;white-space:nowrap}.area-chore-grid__table td{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);min-width:34px;padding:3px;text-align:center;vertical-align:middle}.area-chore-grid__table td.area-chore-grid__corner{border:0;min-width:0;padding:0}.area-chore-custom{padding-top:6px}.area-chore-custom h3{color:var(--muted,#5c6b62);font-size:.8rem;font-weight:700;margin:0 0 4px}.area-chore-custom .member-avatar--sm{font-size:.7rem;height:22px;width:22px}.area-chore-grid__empty{color:var(--ink-faint,#8a948e)}.area-chore-grid__people{display:inline-flex;flex-wrap:wrap;gap:2px;justify-content:center}.area-chore-grid__table .member-avatar--sm{font-size:.7rem;height:22px;width:22px}.chore-assignment-form{display:grid;grid-gap:12px;gap:12px}.ui-modal.chore-assignment-modal{max-width:760px}.chore-assignment-form{gap:var(--space-4,16px)}.chore-assignment-form__intro{margin:0}.schedule-builder{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.schedule-builder__heading h3,.schedule-builder__heading p,.schedule-builder__section-heading h4,.schedule-builder__section-heading p{margin:0}.schedule-builder__heading{display:grid;grid-gap:var(--space-1,4px);gap:var(--space-1,4px)}.schedule-builder__heading h3{font-family:var(--font-display,Georgia,serif);font-size:1.05rem}.schedule-builder__heading p,.schedule-builder__section-heading p{color:var(--ink-muted,#55645b);font-size:.8125rem;line-height:1.4}.frequency-mode-toggle{background:var(--surface-sunken,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);display:grid;grid-gap:var(--space-1,4px);gap:var(--space-1,4px);grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-1,4px)}.frequency-mode-toggle__option{align-items:flex-start;background:transparent;border:1.5px solid transparent;border-radius:var(--radius-sm,8px);color:var(--ink-muted,#55645b);cursor:pointer;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:60px;padding:var(--space-2,8px) var(--space-3,12px);text-align:left}.frequency-mode-toggle__option:focus-visible:not(:disabled),.frequency-mode-toggle__option:hover:not(:disabled){border-color:var(--line-strong,#7f857a)}.frequency-mode-toggle__option--active{background:var(--surface-raised,#fbfaf6);border-color:var(--accent-solid,#2f6a4f);box-shadow:0 2px 8px rgb(35 48 42/8%);color:var(--accent-solid,#2f6a4f)}.frequency-mode-toggle__option:disabled{cursor:not-allowed;opacity:.58}.frequency-mode-toggle__label{font-size:.95rem;font-weight:750}.frequency-mode-toggle__description{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:500}.schedule-builder__custom,.schedule-builder__grid,.schedule-builder__section{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.schedule-builder__section{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:var(--space-4,16px)}.schedule-builder__section-heading{align-items:center;display:flex;gap:var(--space-3,12px)}.schedule-builder__section-heading>span{align-items:center;background:var(--accent-soft,#dcefe3);border-radius:var(--radius-full,999px);color:var(--accent-solid,#2f6a4f);display:inline-flex;flex:0 0 auto;font-size:.8rem;font-weight:800;height:28px;justify-content:center;width:28px}.schedule-builder__section-heading h4{font-size:.95rem}.assign-picker,.assign-picker__rotation,.recurrence-builder{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.assign-picker__mode{align-items:center;background:var(--surface-sunken,#f3f2ec);border-radius:var(--radius-sm,8px);display:flex;gap:var(--space-3,12px);justify-content:space-between;padding:var(--space-3,12px)}.assign-picker__mode>div{display:grid;grid-gap:2px;gap:2px}.assign-picker__mode strong{font-size:.875rem}.assign-picker__mode>div>span{color:var(--ink-muted,#55645b);font-size:.75rem}.assign-picker__switch{cursor:pointer;flex:0 0 auto;position:relative}.assign-picker__switch input{height:1px;opacity:0;position:absolute;width:1px}.assign-picker__switch>span[aria-hidden=true]{background:var(--line-strong,#7f857a);border-radius:var(--radius-full,999px);display:block;height:28px;position:relative;transition:background-color var(--dur-1,90ms) var(--ease-out,ease);width:48px}.assign-picker__switch>span[aria-hidden=true]:after{background:var(--surface-overlay,#fff);border-radius:50%;box-shadow:0 1px 4px rgb(35 48 42/24%);content:"";height:22px;left:3px;position:absolute;top:3px;transition:transform var(--dur-1,90ms) var(--ease-out,ease);width:22px}.assign-picker__switch input:checked+span{background:var(--accent-solid,#2f6a4f)}.assign-picker__switch input:checked+span:after{transform:translateX(20px)}.assign-picker__switch input:focus-visible+span{outline:2px solid var(--accent-solid,#2f6a4f);outline-offset:2px}.assign-picker__switch input:disabled+span{cursor:not-allowed;opacity:.55}.assign-picker__group{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.assign-picker__group-label{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.assign-picker__avatars{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.assign-picker__rotation>.ui-help{margin:0}.assign-picker__rotation-order{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.assign-picker__rotation-order li{align-items:center;background:var(--surface-sunken,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);grid-template-columns:auto minmax(0,1fr) repeat(3,36px);min-height:48px;padding:5px 6px 5px var(--space-3,12px)}.assign-picker__rotation-position{color:var(--ink-muted,#55645b);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:750}.assign-picker__order-button{align-items:center;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;padding:0;width:36px}.assign-picker__order-button:focus-visible:not(:disabled),.assign-picker__order-button:hover:not(:disabled){border-color:var(--accent-solid,#2f6a4f)}.assign-picker__order-button--remove{color:var(--danger-accent,#9c2a1d)}.assign-picker__order-button:disabled{cursor:not-allowed;opacity:.4}.recurrence-builder__interval{align-items:end;display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:minmax(88px,.35fr) minmax(0,1fr)}.recurrence-builder__month-mode,.recurrence-builder__repeat-modes,.recurrence-builder__unit-toggle{display:grid;grid-gap:var(--space-1,4px);gap:var(--space-1,4px)}.recurrence-builder__unit-toggle{grid-template-columns:repeat(4,minmax(72px,1fr))}.recurrence-builder__repeat-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.recurrence-builder__month-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.recurrence-builder__month-mode-option,.recurrence-builder__repeat-option,.recurrence-builder__unit-option{background:var(--surface-sunken,#f3f2ec);border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;font-weight:650;min-height:44px;padding:var(--space-2,8px)}.recurrence-builder__unit-option{min-height:52px;padding:var(--space-2,8px) var(--space-1,4px);white-space:nowrap}.recurrence-builder__month-mode-option--active,.recurrence-builder__repeat-option--active,.recurrence-builder__unit-option--active{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.recurrence-builder__month-mode-option:disabled,.recurrence-builder__repeat-option:disabled,.recurrence-builder__unit-option:disabled{cursor:not-allowed;opacity:.55}.recurrence-builder__timeframes{border:0;display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);margin:0;padding:0}.recurrence-builder__timeframes legend{font-size:.8125rem;font-weight:700;padding:0}.recurrence-builder>.ui-field--checkbox{align-items:center;flex-direction:row;min-height:44px}.recurrence-builder>.ui-field--checkbox input{accent-color:var(--accent-solid,#2f6a4f);height:18px;width:18px}.recurrence-builder__date-range{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(2,minmax(0,1fr))}.chore-assign-dates{display:flex;flex-wrap:wrap;gap:12px}.chore-assign-dates .ui-field{flex:1 1 160px}.chore-assignment-timeframe{border:0;display:grid;grid-gap:8px;gap:8px;margin:0;min-width:0;padding:0}.chore-assignment-timeframe legend{font-weight:700;padding:0}.chore-assignment-custom-timeframe{max-width:280px}.chore-assignment-avatars{display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.chore-assignment-avatar{align-items:center;background:transparent;border:var(--border-control,1.5px) solid transparent;border-radius:var(--radius-full,999px);cursor:pointer;display:inline-flex;justify-content:center;padding:var(--space-1,4px)}.chore-assignment-avatar:focus-visible,.chore-assignment-avatar:hover{background:var(--surface-sunken,#f3f2ec);border-color:var(--line-strong,#7f857a)}.chore-assignment-avatar[aria-pressed=true]{background:var(--surface-sunken,#f3f2ec);border-color:var(--accent-solid,#2f6a4f)}.chore-day-options,.chore-weekofmonth-options{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.chore-weekofmonth-options{grid-template-columns:repeat(5,minmax(0,1fr));max-width:220px}.chore-day-option,.chore-weekofmonth-option{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:flex;font-weight:600;justify-content:center;min-height:40px;padding:0 4px}.chore-day-option:focus-visible,.chore-day-option:hover,.chore-weekofmonth-option:focus-visible,.chore-weekofmonth-option:hover{border-color:var(--line-strong,#7f857a)}.chore-day-option[aria-pressed=true],.chore-weekofmonth-option[aria-pressed=true]{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.chore-assign-grid{overflow-x:auto;padding-bottom:var(--space-1,4px)}.chore-assign-grid__table{display:grid;grid-gap:6px;gap:6px;grid-template-columns:88px repeat(7,minmax(54px,1fr));min-width:650px}.chore-assign-grid__guide{align-items:center;background:var(--accent-soft,#dcefe3);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);display:flex;gap:var(--space-2,8px);padding:var(--space-2,8px) var(--space-3,12px)}.chore-assign-grid__guide>span{align-items:center;background:var(--accent-solid,#2f6a4f);border-radius:50%;color:var(--on-accent,#fff);display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:800;height:24px;justify-content:center;width:24px}.chore-assign-grid__guide p{font-size:.8125rem;margin:0}.chore-assign-grid__corner{min-width:0}.chore-assign-grid__corner--clear{align-items:center;background:transparent;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);color:var(--muted,#5c6b62);cursor:pointer;display:flex;font-size:.7rem;font-weight:700;justify-content:center;padding:0;text-transform:uppercase;width:100%}.chore-assign-grid__corner--clear:focus-visible,.chore-assign-grid__corner--clear:hover{border-color:var(--accent-solid,#2f6a4f);color:var(--accent-solid,#2f6a4f)}.chore-assign-grid__corner--clear:disabled{cursor:not-allowed;opacity:.5}.chore-assign-grid__column-header{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm,8px);color:var(--muted,#5c6b62);cursor:pointer;display:flex;font:inherit;font-size:.8rem;font-weight:700;justify-content:center;min-height:36px;padding:4px 0;width:100%}.chore-assign-grid__column-header:focus-visible,.chore-assign-grid__column-header:hover{border-color:var(--line-strong,#7f857a)}.chore-assign-grid__column-header--active{background:var(--accent-soft,#dcefe3);color:var(--accent-solid,#2f6a4f)}.chore-assign-grid__column-header:disabled,.chore-assign-grid__row-label:disabled{cursor:default;opacity:.52}.chore-assign-grid__row-label{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm,8px);cursor:pointer;display:flex;font:inherit;flex-direction:column;font-size:1rem;gap:1px;justify-content:center;line-height:1;padding:3px 5px}.chore-assign-grid__row-name{font-size:.68rem;font-weight:700}.chore-assign-grid__row-label:focus-visible,.chore-assign-grid__row-label:hover{border-color:var(--line-strong,#7f857a)}.chore-assign-grid__row-label--active{background:var(--accent-soft,#dcefe3);color:var(--accent-solid,#2f6a4f)}.chore-assign-grid__cell-wrapper{position:relative}.chore-assign-grid__cell{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;width:100%}.chore-assign-grid__cell:focus-visible,.chore-assign-grid__cell:hover{border-color:var(--accent-solid,#2f6a4f)}.chore-assign-grid__cell--empty{background:transparent;border-style:dashed}.chore-assign-grid__cell--column-active,.chore-assign-grid__cell--row-active{box-shadow:inset 0 0 0 2px var(--accent-solid,#2f6a4f)}.chore-assign-grid__placeholder{color:var(--muted,#5c6b62);font-size:1.25rem;line-height:1}.chore-assign-grid__cell:disabled{cursor:not-allowed;opacity:.58}.chore-assign-grid__count{background:var(--accent-solid,#2f6a4f);border-radius:var(--radius-full,999px);color:var(--on-accent,#fff);font-weight:700;height:28px;justify-content:center;width:28px}.chore-assign-grid__count,.chore-assign-grid__stack{align-items:center;display:flex}.chore-assign-grid__stack-avatar{position:relative;border-radius:50%;box-shadow:0 0 0 2px var(--surface-canvas,#f3f2ec)}.chore-assign-grid__stack-avatar .member-avatar--sm{height:22px;width:22px;font-size:.6rem}.chore-assign-picker{display:flex;flex-wrap:wrap;gap:16px}.chore-assign-picker__group{display:grid;grid-gap:6px;gap:6px}.chore-assign-picker__group-head{align-items:center;display:flex;gap:8px}.chore-assign-picker__group-label{color:var(--muted,#5c6b62);font-size:.8rem;font-weight:700;text-transform:uppercase}.chore-assign-picker__all{background:transparent;border:0;color:var(--accent-solid,#2f6a4f);cursor:pointer;font-size:.8rem;font-weight:700;padding:0}.chore-assign-picker__avatars{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.chore-assign-onetime{display:grid;grid-gap:12px;gap:12px}.chore-assign-onetime__rows{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.chore-assign-onetime__row{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:8px;gap:8px;padding:10px 12px}.chore-assign-onetime__row-label{font-weight:700}.chore-assign-onetime__members{display:flex;flex-wrap:wrap;gap:12px}.chore-assign-onetime__members .chore-assign-popover__member{flex:0 0 auto}.chore-assign-popover-backdrop{align-items:flex-start;background:rgba(0,0,0,.35);display:flex;inset:0;justify-content:center;padding-top:12vh;position:fixed;z-index:60}.chore-assign-popover{background:var(--surface-raised,#fff);border-radius:var(--radius-md,12px);box-shadow:var(--shadow-md,0 8px 24px rgba(0,0,0,.2));display:grid;grid-gap:12px;gap:12px;max-width:320px;padding:16px;width:90vw}.chore-assign-popover h3{margin:0}.chore-assign-popover__members{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;max-height:40vh;overflow-y:auto;padding:0}.chore-assign-popover__member{align-items:center;cursor:pointer;display:flex;gap:10px}.chore-assignment-form>.member-management-actions{background:var(--surface-overlay,#fff);border-top:1px solid var(--line,#d3d4c7);bottom:calc(var(--space-6, 24px) * -1);margin:var(--space-2,8px) calc(var(--space-6, 24px) * -1) calc(var(--space-6, 24px) * -1);padding:var(--space-4,16px) var(--space-6,24px);position:-webkit-sticky;position:sticky;z-index:2}@media (max-width:600px){.ui-modal-scrim:has(.chore-assignment-modal){align-items:stretch;padding:0}.ui-modal.chore-assignment-modal{border-radius:0;max-height:100vh}.frequency-mode-toggle__description{line-height:1.25}.recurrence-builder__date-range,.recurrence-builder__interval,.recurrence-builder__repeat-modes{grid-template-columns:1fr}.assign-picker__rotation-order li{grid-template-columns:auto minmax(0,1fr) repeat(3,34px)}.assign-picker__order-button{height:34px;width:34px}}.routine-assign-popover__avatars{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;max-height:40vh;overflow-y:auto;padding:0}.all-kids-board-page{background:var(--surface-canvas,#f3f2ec);min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,7vh,72px) 16px 48px}.all-kids-board__header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3,12px) var(--space-4,16px);justify-content:space-between;margin:0 auto var(--space-4,16px);max-width:1280px;padding:var(--space-6,24px) 4px 0;width:100%}.all-kids-board__date-subtitle{color:var(--ink-muted,#55645b);margin:0}.all-kids-board__empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.all-kids-board__title-row{display:flex;flex:1 1 auto;flex-direction:column;gap:2px}.all-kids-board__header h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.1;margin:0}.all-kids-board__nav{display:flex;flex-wrap:wrap;gap:8px 14px;padding-bottom:3px}.all-kids-board__nav a,.all-kids-board__switch-user{color:var(--accent,#2f6a4f);font-size:.875rem;font-weight:700}.all-kids-board__switch-user{background:transparent;border:0;cursor:pointer;min-height:44px;padding:0;text-decoration:underline}.all-kids-board__date-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.all-kids-board__today-button{min-width:0}.all-kids-board__date-nav .ui-button{min-height:44px}.all-kids-board__date-step{flex:0 0 44px;min-width:44px;padding-inline:0;width:44px}.all-kids-board__date-step>span{font-size:.875rem}.all-kids-board__date-picker{display:flex;flex:0 1 10.5rem;max-width:100%;width:10.5rem}.all-kids-board__date-picker input{min-width:0;width:100%}.all-kids-board__controls{align-items:center;display:flex;flex:1 1 100%;flex-wrap:wrap;gap:12px}.all-kids-board__timeframes{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}.all-kids-board__timeframes--hidden{pointer-events:none;visibility:hidden}.all-kids-board__timeframe{align-items:center;background:transparent;border:1px solid var(--line,#d3d4c7);border-radius:999px;color:var(--ink-muted,#55645b);cursor:pointer;display:inline-flex;gap:6px;min-height:44px;padding:0 14px;transition:background-color var(--dur-1,90ms) var(--ease-out,ease),border-color var(--dur-1,90ms) var(--ease-out,ease)}.all-kids-board__timeframe[aria-pressed=true]{background:var(--accent-soft,#e3eee5);border:2px solid var(--accent-solid,#2f6a4f);color:var(--ink,#23302a);font-weight:700}.all-kids-board__timeframe .dashboard-timeframe-icon{font-size:1.125rem}@media (max-width:560px){.all-kids-board__timeframes{gap:6px}.all-kids-board__timeframe{padding:0 12px}}.all-kids-board__timeframe-show-all{background:transparent;border-style:dashed;color:var(--ink-muted,#55645b)}.all-kids-board__column-toggle{border:0;flex:0 0 auto;margin:0;min-width:0;padding:0}.all-kids-board__column-toggle legend{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;margin-bottom:4px;padding:0}.all-kids-board__column-options{background:var(--surface-sunken,#e7e6dd);border-radius:999px;display:flex;gap:2px;padding:3px}.all-kids-board__column-options label{cursor:pointer;position:relative}.all-kids-board__column-options input{height:1px;opacity:0;position:absolute;width:1px}.all-kids-board__column-options span{align-items:center;border-radius:999px;color:var(--ink,#23302a);display:inline-flex;min-height:38px;padding:0 16px;transition:background-color var(--dur-1,90ms) var(--ease-out,ease)}.all-kids-board__column-options input:checked+span{background:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff);font-weight:700}.all-kids-board__column-options input:focus-visible+span{outline:var(--focus-ring-width,2px) solid var(--focus-ring,#23302a);outline-offset:var(--focus-ring-offset,2px)}@media (max-width:759px){.all-kids-board__column-toggle--redundant-on-mobile{display:none}}.all-kids-board__column-options input:focus-visible+span{outline:3px solid var(--focus-ring,#23302a);outline-offset:2px}.all-kids-board__column-options input:disabled+span{cursor:wait;opacity:.7}.all-kids-board__jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 auto var(--space-4,16px);max-width:1280px;padding:0 4px}.all-kids-board__jump-chip{align-items:center;background:transparent;border:2.5px solid transparent;border-radius:var(--radius-md,12px);color:var(--ink,#23302a);cursor:pointer;display:inline-flex;flex-direction:column;gap:2px;justify-content:flex-start;min-height:44px;padding:4px;width:72px}.all-kids-board__jump-chip:hover{background:var(--surface-hover,#f0efe8)}.all-kids-board__jump-chip[aria-current=true]{box-shadow:0 0 0 2px var(--surface-raised,#fbfaf6),0 0 0 4px var(--line-strong,#7f857a)}.all-kids-board__jump-chip--you{border-color:var(--member-ink,var(--accent-solid,#2f6a4f))}.all-kids-board__jump-name{font-size:.6875rem;font-weight:600;line-height:1.1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.all-kids-board__you-tag{background:var(--accent-solid,#2f6a4f);border-radius:999px;color:var(--on-accent,#fff);font-size:.6875rem;font-weight:700;letter-spacing:.06em;margin-left:6px;padding:3px 7px;text-transform:uppercase}.all-kids-board__lanes{display:flex;gap:12px;margin:0 auto;max-width:1280px;overflow-x:auto;padding:4px;scroll-snap-type:x proximity}.all-kids-board__lane{background:var(--surface-raised,#fbfaf6);border:2.5px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);grid-column-gap:12px;column-gap:12px;display:grid;flex:0 0 608px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;padding:14px;grid-row-gap:14px;row-gap:14px;scroll-snap-align:start}.all-kids-board__lane--filtered{flex-basis:312px;grid-template-columns:minmax(0,1fr)}.all-kids-board__lane:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring,#23302a);outline-offset:var(--focus-ring-offset,2px)}.all-kids-board__lane--you{border-color:var(--member-ink,var(--accent-solid,#2f6a4f))}.all-kids-board__lane--ringed{box-shadow:0 0 0 2px var(--surface-canvas,#f3f2ec),0 0 0 5px var(--line-strong,#7f857a)}.all-kids-board__lane--readonly{opacity:.92}.all-kids-board__lane--up-for-grabs{background:var(--surface-raised,#fbfaf6);border:2px dashed var(--points-accent,#8a4e06)}.all-kids-board__up-for-grabs-icon{align-items:center;background:var(--points-surface,#fff0d9);border-radius:999px;display:flex;flex-shrink:0;font-size:1.25rem;height:44px;justify-content:center;width:44px}.all-kids-board__lane-head{align-items:flex-start;display:flex;gap:10px;grid-column:1/-1;min-height:72px}.all-kids-board__lane-name{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.25rem;font-weight:600;margin:0}.all-kids-board__lane-balance{color:var(--ink-muted,#55645b);font-size:.8125rem;margin:2px 0 0}.all-kids-board__lane-balance strong{font-weight:700}.all-kids-board__point-breakdown{display:grid;grid-gap:7px;gap:7px;grid-template-columns:repeat(3,auto);margin:5px 0 0}.all-kids-board__point-breakdown div{display:grid}.all-kids-board__point-breakdown dt{color:var(--ink-muted,#55645b);font-size:.72rem}.all-kids-board__point-breakdown dd{font-size:.8125rem;font-weight:700;margin:0}.all-kids-board__lane-progress{background:var(--surface-sunken,#e7e6dd);border-radius:999px;height:8px;margin-top:8px;max-width:220px;overflow:hidden}.all-kids-board__lane-progress>span{background:var(--member-ink,var(--accent-solid,#2f6a4f));border-radius:inherit;display:block;height:100%;transition:width var(--dur-3,.22s) var(--ease-out,ease)}.all-kids-board__lane-cheer{color:var(--success-ink,#24583f);font-size:.8125rem;font-weight:700;margin:4px 0 0}.all-kids-board__lane-progress--done>span{background:var(--success-ink,#24583f)}.all-kids-board__band{display:flex;flex-direction:column;gap:8px;min-width:0}.all-kids-board__lane:not(.all-kids-board__lane--filtered) .all-kids-board__band:only-of-type{grid-column:1/-1}.all-kids-board__band-label{align-items:center;color:var(--ink-muted,#55645b);display:flex;font-size:.75rem;font-weight:700;gap:7px;letter-spacing:.06em;margin:0;text-transform:uppercase}.all-kids-board__band-chip{border-radius:3px;display:inline-block;height:10px;width:10px}.all-kids-board__band-chip--school{background:var(--school-accent,#3b5a7c)}.all-kids-board__band-label em{color:var(--ink-faint,#75837a);font-size:.75rem;font-style:normal;font-weight:500;letter-spacing:0;margin-left:auto;text-transform:none}.all-kids-board__band-empty{background:var(--surface-sunken,#f3f2ec);border-radius:var(--radius-sm,8px);color:var(--ink-muted,#55645b);margin:0;padding:var(--space-3,12px)}.all-kids-board__group-heading{color:var(--ink-faint,#75837a);font-size:.6875rem;font-weight:700;letter-spacing:.06em;margin:4px 0 -2px;text-transform:uppercase}.all-kids-board__list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.all-kids-board__row{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;flex-wrap:wrap;gap:4px 6px;padding:4px 6px;position:relative}.all-kids-board__row--complete{opacity:.72}.all-kids-board__row--complete .all-kids-board__row-title{text-decoration:line-through;text-decoration-thickness:2px}.all-kids-board__row--bonus{background:var(--points-surface,#fff0d9);border:2px dashed var(--points-accent,#8a4e06)}.all-kids-board__row--bonus-claimed{border-style:solid}.all-kids-board__drag-handle{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm,8px);color:var(--ink-faint,#75837a);cursor:-webkit-grab;cursor:grab;display:inline-flex;flex:0 0 auto;font-size:1rem;justify-content:center;line-height:1;min-height:var(--control-target,44px);min-width:var(--control-target,44px);padding:0;touch-action:none}.all-kids-board__drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.all-kids-board__drag-handle:focus-visible,.all-kids-board__drag-handle:hover{background:var(--surface-sunken,#f3f2ec);color:var(--ink,#23302a)}@media (hover:hover) and (pointer:fine){.all-kids-board__drag-handle{opacity:0;transition:opacity var(--dur-fade,.12s) var(--ease-out,ease)}.all-kids-board__drag-handle:focus-visible,.all-kids-board__row:focus-within .all-kids-board__drag-handle,.all-kids-board__row:hover .all-kids-board__drag-handle{opacity:1}}.area-management-chore-drag-handle{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm,8px);color:var(--ink-faint,#75837a);cursor:-webkit-grab;cursor:grab;display:inline-flex;flex:0 0 auto;font-size:1rem;justify-content:center;line-height:1;min-height:var(--control-target,44px);min-width:14px;padding:0;touch-action:none}.area-management-chore-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.area-management-chore-drag-handle:focus-visible,.area-management-chore-drag-handle:hover{background:var(--surface-sunken,#f3f2ec);color:var(--ink,#23302a)}.all-kids-board__check{align-items:flex-start;display:inline-flex;flex:1 1 auto;gap:8px;min-width:0}.all-kids-board__check--unavailable{opacity:.75}.all-kids-board__row-copy{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.all-kids-board__row-title{align-items:center;color:var(--ink,#23302a);display:inline-flex;flex-wrap:wrap;font-weight:600;gap:6px}.all-kids-board__row-meta{color:var(--ink-muted,#55645b);font-size:.8125rem}.all-kids-board__points{background:var(--accent-surface,#dfebe3);border-radius:999px;color:var(--accent,#2f6a4f);display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.all-kids-board__points--school{background:var(--school-surface,#e2eaf2);color:var(--school-accent,#3b5a7c)}.all-kids-board__bonus-badge{background:var(--points-accent,#8a4e06);color:var(--on-points,#fff)}.all-kids-board__bonus-badge,.all-kids-board__late-badge{border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.all-kids-board__late-badge{background:var(--danger-surface,#f7e1dd);color:var(--danger-accent,#9c2a1d)}.all-kids-board__locked-badge{background:var(--surface-sunken,#f3f2ec);border-radius:999px;color:var(--ink-muted,#55645b);font-size:.6875rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.all-kids-board__bonus-claimer{flex:0 0 auto}.all-kids-board__row-action{flex:0 0 auto;margin-left:auto}.all-kids-board__multi{align-items:center;display:flex;flex:1 1 auto;gap:8px;min-width:0}.all-kids-board__multi-btn{min-height:44px;min-width:44px;padding:0}.all-kids-board__multi-count{color:var(--ink-muted,#55645b);flex:1 1 auto;font-size:.8125rem;text-align:center}.all-kids-board__saving{color:var(--ink-muted,#55645b);font-size:.75rem;font-style:italic}.all-kids-board__unavailable{color:var(--ink-disabled,#7f857a);font-size:.75rem;font-style:italic}.all-kids-board__scroll-hint{align-items:center;color:var(--ink-muted,#55645b);display:flex;font-size:.8125rem;gap:12px;margin:8px auto 0;max-width:1280px;padding:0 4px}.all-kids-board__scroll-bar{background:var(--surface-sunken,#f3f2ec);border-radius:3px;flex:1 1 auto;height:6px;position:relative}.all-kids-board__scroll-bar span{background:var(--line-strong,#7f857a);border-radius:3px;height:100%;position:absolute;top:0}.all-kids-board__empty-household{background:var(--surface-raised,#fbfaf6);border:2px dashed var(--line-strong,#7f857a);border-radius:var(--radius-lg,16px);margin:var(--space-6,24px) auto 0;max-width:520px;padding:var(--space-8,32px);text-align:center}.all-kids-board__empty-household h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);margin:0 0 8px}@media (max-width:759px){.all-kids-board-page{padding-inline:10px}.all-kids-board__nav a{align-items:center;display:inline-flex;min-height:44px}.all-kids-board__mobile-column-toggle{max-width:min(304px,100%)}.all-kids-board__lane{flex-basis:min(296px,calc(100vw - 48px));grid-template-columns:minmax(0,1fr)}.all-kids-board__band:only-of-type,.all-kids-board__lane-head{grid-column:1}.all-kids-board__lanes{max-width:min(304px,100%);scroll-snap-type:x mandatory}.all-kids-board__lanes[data-mobile-column=chores] .all-kids-board__band--school,.all-kids-board__lanes[data-mobile-column=curriculum] .all-kids-board__band--chores,.all-kids-board__lanes[data-mobile-column=curriculum] .all-kids-board__timeframes{display:none}}.kiosk-locked-bar{align-items:center;background:var(--ink,#23302a);color:var(--ink-inverse,#fbfaf6);display:flex;gap:var(--space-3,12px);flex-wrap:wrap;padding:var(--space-3,12px) var(--space-5,20px);width:100%}.kiosk-locked-bar__toggle{border-color:rgba(251,250,246,.65);color:inherit}.kiosk-locked-bar__toggle:focus-visible,.kiosk-locked-bar__toggle:hover{background:rgba(251,250,246,.12)}.kiosk-locked-bar__label{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.kiosk-locked-bar__title{font-family:var(--font-display,Georgia,serif);font-size:1rem;font-weight:600}.kiosk-locked-bar__meta{color:var(--ink-inverse,#fbfaf6);font-size:.8125rem;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-locked-bar__parent{background:transparent;border:2px solid var(--ink-inverse,#fbfaf6);border-radius:var(--radius-md,10px);color:var(--ink-inverse,#fbfaf6);cursor:pointer;flex:none;font-weight:600;min-height:44px;padding:8px 20px}.kiosk-locked-bar__parent:focus-visible,.kiosk-locked-bar__parent:hover{background:rgba(251,250,246,.12)}.kiosk-exit-flow__chooser-grid{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin:var(--space-4,16px) 0}.kiosk-exit-flow__tile{align-items:center;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d8d6c9);border-radius:var(--radius-lg,16px);color:var(--ink,#23302a);display:flex;flex-direction:column;gap:8px;padding:var(--space-3,12px);text-align:center}button.kiosk-exit-flow__tile{cursor:pointer}button.kiosk-exit-flow__tile:focus-visible,button.kiosk-exit-flow__tile:hover{border-color:var(--line-strong,#7f857a)}.kiosk-exit-flow__tile--disabled{opacity:.6}.kiosk-exit-flow__tile--disabled .ui-help{margin:0}.kiosk-exit-flow__back,.kiosk-exit-flow__link{background:none;border:none;color:var(--accent,#2f6a4f);cursor:pointer;font-weight:600;padding:0;text-decoration:underline}.kiosk-exit-flow__escapes{display:flex;flex-direction:column;gap:var(--space-3,12px);margin-top:var(--space-4,16px)}.ui-pin-pad{display:flex;flex-direction:column;gap:var(--space-4,16px)}.ui-pin-pad__display{display:flex;gap:12px;justify-content:center}.ui-pin-pad__dot{background:var(--surface-sunken,#e7e6dd);border:1px solid var(--line-strong,#7f857a);border-radius:50%;display:block;height:14px;width:14px}.ui-pin-pad__dot--filled{background:var(--ink,#23302a)}.ui-pin-pad__grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,56px);justify-content:center}.ui-pin-pad__key{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d8d6c9);border-radius:var(--radius-md,10px);color:var(--ink,#23302a);cursor:pointer;font-size:1.25rem;height:56px;width:56px}.ui-pin-pad__key:focus-visible,.ui-pin-pad__key:hover{border-color:var(--line-strong,#7f857a)}.ui-pin-pad__key--spacer{visibility:hidden}.kiosk-management__device-list{display:flex;flex-direction:column;gap:var(--space-3,12px);list-style:none;margin:var(--space-3,12px) 0;padding:0}.kiosk-management__device{align-items:center;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d8d6c9);border-radius:var(--radius-md,10px);display:flex;gap:var(--space-3,12px);justify-content:space-between;padding:var(--space-3,12px)}.kiosk-management__device-name{font-weight:600;margin:0}.recipe-box-page,.recipe-editor-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.recipe-box-card{max-width:1180px}.recipe-box-card,.recipe-editor-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:clamp(24px,5vw,48px);width:100%}.recipe-editor-card{max-width:1080px}.recipe-box-card h1,.recipe-box-empty h2,.recipe-editor-card h1,.recipe-editor-card h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.recipe-box-card h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.recipe-box-header{align-items:flex-start;display:flex;gap:var(--space-5,20px);justify-content:space-between;margin-bottom:var(--space-5,20px)}.recipe-box-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.recipe-box-header p{color:var(--ink-muted,#55645b);margin:var(--space-2,8px) 0 0}.recipe-box-controls{margin-bottom:var(--space-4,16px)}.recipe-box-search{color:var(--ink-muted,#55645b);display:grid;font-size:.8rem;grid-gap:4px;gap:4px;max-width:320px}.recipe-box-search input{border:1px solid var(--line-strong,#7f857a);border-radius:8px;min-height:44px;padding:8px 12px}.recipe-box-other-households{align-items:center;color:var(--ink-muted,#55645b);display:flex;font-size:.85rem;gap:8px;margin-top:var(--space-2,8px)}.recipe-box-chips{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);list-style:none;margin:0 0 var(--space-5,20px);padding:0}.recipe-box-chip{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:999px;color:var(--ink,#23302a);cursor:pointer;min-height:36px;padding:6px 14px}.recipe-box-chip[aria-pressed=true]{background:var(--accent-surface,#e4f1e8);border-color:var(--accent,#2f6a4f);font-weight:700}.recipe-box-chip span{color:var(--ink-muted,#55645b);margin-left:4px}.recipe-box-empty{align-items:center;border:1px dashed var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);display:flex;flex-direction:column;gap:var(--space-3,12px);padding:clamp(24px,5vw,40px);text-align:center}.recipe-box-empty__icon{color:var(--ink-faint,#8a9089);height:40px;width:40px}.recipe-box-empty p{color:var(--ink-muted,#55645b);margin:0;max-width:480px}.recipe-box-grid{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}@media (min-width:1100px){.recipe-box-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.recipe-box-grid{grid-template-columns:minmax(0,1fr)}}.recipe-card{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);overflow:hidden;position:relative}.recipe-card__link{color:inherit;display:block;padding:var(--space-3,12px);text-decoration:none}.recipe-card__image{align-items:center;background:var(--surface-sunken,#ecece4);border-radius:var(--radius-sm,8px);color:var(--ink-faint,#8a9089);display:flex;height:104px;justify-content:center;margin:calc(-1 * var(--space-3, 12px)) calc(-1 * var(--space-3, 12px)) var(--space-3,12px);overflow:hidden}.recipe-card__image svg{height:32px;width:32px}.recipe-card__image img{height:100%;object-fit:cover;width:100%}.recipe-card h2{font-family:var(--font-display,Georgia,serif);font-size:1rem;line-height:1.3;margin:0 0 4px}.recipe-card__household{color:var(--ink-muted,#55645b);font-size:.75rem;margin:0 0 4px}.recipe-card__meta{color:var(--ink-muted,#55645b);font-size:.85rem;margin:0}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:8px 0 0;padding:0}.recipe-card__tags li{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:999px;color:var(--ink-muted,#55645b);font-size:.72rem;padding:2px 8px}.recipe-card__favorite{align-items:center;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:50%;color:var(--ink-faint,#8a9089);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:20px;top:20px;width:32px;z-index:1}.recipe-card__favorite--on{color:var(--points-ink,#a15c00)}.recipe-editor-back{color:var(--ink-muted,#55645b);display:inline-block;margin:var(--space-2,8px) 0}.recipe-editor-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-4,16px);justify-content:space-between;margin-bottom:var(--space-4,16px)}.recipe-editor-header h1{font-size:clamp(1.5rem,4vw,2rem);margin:0}.recipe-editor-title input{font-size:1.25rem;min-width:320px}.recipe-editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.recipe-quick-add{display:flex;flex-direction:column;gap:var(--space-4,16px)}.recipe-quick-add__row{display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.recipe-quick-add__row .ui-field{flex:1 1 100px}.recipe-quick-add__ingredients{border:0;display:flex;flex-direction:column;gap:var(--space-2,8px);margin:0;padding:0}.recipe-quick-add__ingredients legend{font-weight:600;padding:0 0 var(--space-1,4px)}.recipe-quick-add__ingredient{align-items:center;display:flex;gap:var(--space-2,8px)}.recipe-quick-add__quantity{width:72px}.recipe-quick-add__unit{width:88px}.recipe-quick-add__ingredient-name{flex:1 1}.recipe-quick-add__method{display:flex;flex-direction:column;gap:var(--space-1,4px)}.recipe-quick-add__method textarea.ui-input{min-height:6rem;resize:vertical}.recipe-editor-notice{background:var(--success-surface,#e4f1e8);border-radius:8px;color:var(--success-ink,#24583f);padding:8px 12px}.recipe-editor-body{display:grid;grid-gap:var(--space-6,24px);gap:var(--space-6,24px);grid-template-columns:minmax(0,1fr) 320px}@media (max-width:900px){.recipe-editor-body{grid-template-columns:minmax(0,1fr)}}.recipe-editor-main{display:grid;grid-gap:var(--space-6,24px);gap:var(--space-6,24px)}.recipe-editor-panel h2{font-size:1.125rem;margin:0 0 var(--space-3,12px)}.recipe-editor-rail{border-left:1px solid var(--line,#d3d4c7);display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);padding-left:var(--space-5,20px)}@media (max-width:900px){.recipe-editor-rail{border-left:0;border-top:1px solid var(--line,#d3d4c7);padding-left:0;padding-top:var(--space-5,20px)}}.recipe-editor-rail h2{font-size:1.125rem;margin:0}.recipe-editor-field{color:var(--ink-muted,#55645b);display:grid;font-size:.8rem;grid-gap:4px;gap:4px}.recipe-editor-field textarea,.recipe-editor-rail textarea{border:1px solid var(--line-strong,#7f857a);border-radius:8px;font:inherit;padding:8px 12px;resize:vertical}.recipe-editor-sharing .ui-checkbox-row{align-items:center;color:var(--ink,#23302a);display:flex;font-size:.9rem;gap:8px}.recipe-editor-favorite{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:999px;cursor:pointer;display:inline-flex;gap:6px;justify-self:start;min-height:36px;padding:6px 14px}.recipe-editor-favorite[aria-pressed=true]{color:var(--points-ink,#a15c00)}.recipe-editor-method{color:var(--ink,#23302a);line-height:1.6;white-space:pre-wrap}.recipe-ingredient-table{border-collapse:collapse;width:100%}.recipe-ingredient-table th{color:var(--ink-muted,#55645b);font-size:.72rem;text-align:left;text-transform:uppercase}.recipe-ingredient-row td,.recipe-ingredient-table th{border-bottom:1px solid var(--line,#d3d4c7);padding:4px 6px}.recipe-ingredient-row td{min-height:40px;vertical-align:middle}.recipe-ingredient-row--excluded{background:var(--surface-canvas,#f3f2ec)}.recipe-ingredient-row input:not([type=checkbox]),.recipe-ingredient-row input[type=text]{border:1px solid var(--line,#d3d4c7);border-radius:6px;min-height:32px;padding:4px 6px;width:100%}.recipe-ingredient-row__grip{align-items:center;color:var(--ink-faint,#8a9089);display:flex;gap:2px;white-space:nowrap}.recipe-ingredient-row__grocery label{align-items:center;display:flex;gap:4px;white-space:nowrap}.recipe-ingredient-group td{color:var(--ink-muted,#55645b);font-size:.72rem;font-weight:700;padding:10px 6px 4px;text-transform:uppercase}@media (max-width:899px),(pointer:coarse){.recipe-ingredient-table th{font-size:.8rem;padding:8px}.recipe-ingredient-row td{min-height:56px;padding:8px}.recipe-ingredient-row input:not([type=checkbox]){min-height:44px}}.recipe-ingredient-footer{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);margin-top:var(--space-3,12px)}.recipe-ingredient-footer p{flex-basis:100%}.recipe-box-search-status,.recipe-ingredient-footer p{color:var(--ink-muted,#55645b);font-size:.8rem;margin:var(--space-2,8px) 0 0}.recipe-box-load-more{display:flex;justify-content:center;margin-top:var(--space-5,20px)}@media (max-width:480px){.recipe-box-page,.recipe-editor-page{padding-left:12px;padding-right:12px}.recipe-box-card,.recipe-editor-card{padding:20px 16px}}.recipe-import-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.recipe-import-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:1080px;padding:clamp(24px,5vw,48px);width:100%}.recipe-import-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.5rem,4vw,2rem);margin:0 0 var(--space-4,16px)}.recipe-import-start{display:flex;flex-direction:column;gap:var(--space-4,16px)}.recipe-import-mode{display:flex;gap:var(--space-2,8px)}.recipe-import-mode__option{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:999px;color:var(--ink,#23302a);cursor:pointer;min-height:44px;padding:8px 18px}.recipe-import-mode__option[aria-pressed=true]{background:var(--accent-surface,#e4f1e8);border-color:var(--accent,#2f6a4f);font-weight:700}.recipe-import-url-form{display:flex;flex-direction:column;gap:var(--space-3,12px);max-width:480px}.recipe-import-images{display:flex;flex-direction:column;gap:var(--space-2,8px)}.recipe-import-images__choose input[type=file]{height:1px;overflow:hidden;position:absolute;width:1px}.recipe-import-image-list{display:flex;flex-direction:column;gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.recipe-import-image-row{align-items:center;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;gap:var(--space-2,8px);padding:8px 12px}.recipe-import-image-row__order{color:var(--ink-muted,#55645b);font-weight:700;min-width:1.5em}.recipe-import-image-row__name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-import-image-row__status{color:var(--ink-muted,#55645b);font-size:.8rem;white-space:nowrap}.recipe-import-status{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-3,12px)}.recipe-import-status--active{align-items:center;flex-direction:row}.recipe-import-status--error h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);margin:0}.recipe-import-source{color:var(--ink-muted,#55645b);margin:0 0 var(--space-3,12px)}.recipe-import-review-caveat{margin:0 0 var(--space-3,12px);max-width:60ch}.recipe-import-duplicate-warning{background:var(--warning-surface,#fbf0d9);border-radius:8px;color:var(--warning-ink,#7a4b00);margin-bottom:var(--space-3,12px);padding:10px 14px}.recipe-import-warnings{color:var(--ink-muted,#55645b);margin:0 0 var(--space-4,16px);padding-left:1.25em}.recipe-import-form{display:flex;flex-direction:column;gap:var(--space-4,16px);margin-top:var(--space-3,12px);padding:0}.recipe-import-ingredients-scroll{max-width:100%;overflow-x:auto;position:relative}.recipe-import-instructions{display:flex;flex-direction:column;gap:var(--space-2,8px);list-style:none;margin:0 0 var(--space-3,12px);padding:0}.recipe-import-instruction{align-items:flex-start;display:flex;gap:var(--space-2,8px)}.recipe-import-instruction textarea{flex:1 1;min-height:3rem}.recipe-import-instruction__reorder{display:flex;flex-direction:column}@media (max-width:480px){.recipe-import-page{padding-left:12px;padding-right:12px}.recipe-import-card{padding:20px 16px}}.recipe-detail-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(32px,9vh,96px) 20px 48px}.recipe-detail-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:760px;padding:clamp(24px,5vw,48px);width:100%}.recipe-detail-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4,16px);margin:var(--space-4,16px) 0 var(--space-6,24px)}.recipe-detail-image{border-radius:var(--radius-sm,8px);flex:0 0 96px;height:96px;object-fit:cover;width:96px}.recipe-detail-header__text{flex:1 1 240px;min-width:0}.recipe-detail-header__text h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.5rem,5vw,2.25rem);line-height:1.15;margin:0}.recipe-detail-meta{color:var(--ink-muted,#55645b);margin:var(--space-2,8px) 0 0}.recipe-detail-attribution{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);padding:8px 12px}.recipe-detail-attribution,.recipe-detail-source{color:var(--ink-muted,#55645b);font-size:.85rem;margin:var(--space-4,16px) 0 0}.recipe-detail-description{color:var(--ink,#23302a);margin:var(--space-2,8px) 0 0}.recipe-detail-edit{-webkit-margin-start:auto;margin-inline-start:auto}@media (max-width:560px){.recipe-detail-header{flex-direction:column}.recipe-detail-image{flex-basis:auto;height:160px;width:100%}.recipe-detail-edit{-webkit-margin-start:0;margin-inline-start:0}}.recipe-detail-body{display:grid;grid-gap:var(--space-6,24px);gap:var(--space-6,24px)}.recipe-detail-panel h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.25rem;margin:0 0 var(--space-3,12px)}.recipe-detail-ingredient-group+.recipe-detail-ingredient-group{margin-top:var(--space-4,16px)}.recipe-detail-ingredient-group h3{color:var(--ink-muted,#55645b);font-size:.8rem;margin:0 0 var(--space-2,8px);text-transform:uppercase}.recipe-detail-ingredient-list{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.recipe-detail-ingredient label{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);cursor:pointer;display:flex;font-size:1.05rem;gap:var(--space-3,12px);min-height:48px;padding:12px 16px}.recipe-detail-ingredient input[type=checkbox]{height:22px;margin-top:2px;width:22px}.recipe-detail-ingredient--checked label{background:var(--surface-sunken,#ecece4);color:var(--ink-muted,#55645b)}.recipe-detail-ingredient--checked .recipe-detail-ingredient__text{text-decoration:line-through}.recipe-detail-ingredient__note,.recipe-detail-ingredient__optional{color:var(--ink-muted,#55645b)}.recipe-detail-steps{color:var(--ink,#23302a);display:grid;font-size:1.05rem;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);line-height:1.6;list-style:none;margin:0;padding:0;counter-reset:recipe-step}.recipe-detail-steps li{background:var(--surface-canvas,#f3f2ec);border-radius:var(--radius-sm,8px);counter-increment:recipe-step;padding:14px 16px 14px 52px;position:relative}.recipe-detail-steps li:before{align-items:center;background:var(--accent,#2f6a4f);border-radius:50%;color:#fff;content:counter(recipe-step);display:flex;font-weight:700;height:28px;justify-content:center;left:12px;position:absolute;top:12px;width:28px}@media (max-width:480px){.recipe-detail-page{padding-left:12px;padding-right:12px}.recipe-detail-card{padding:20px 16px}}.curriculum-find-page{padding:24px 16px}.curriculum-find-page .curriculum-find-card{max-width:720px}.curriculum-find-form{display:flex;flex-direction:column;gap:16px}.curriculum-find__escape-hatch{color:var(--ink-faint,#75837a);margin:16px 0}.curriculum-find__result-title{font-weight:600}.curriculum-find__result-edition{color:var(--ink-faint,#75837a);font-weight:400}.curriculum-find__result-meta{color:var(--ink-faint,#75837a);margin:4px 0 8px}.curriculum-find__result-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.curriculum-find__choices{display:flex;flex-direction:column;gap:12px;margin-top:12px}.curriculum-find__choice{align-items:flex-start;display:flex;gap:10px}.curriculum-find__upload{display:flex;flex-direction:column;gap:8px;margin-left:24px}.curriculum-request-page,.curriculum-request-status-page{margin:0 auto;max-width:720px;padding:24px 16px}.curriculum-request-card,.curriculum-request-status-card{display:flex;flex-direction:column;gap:16px}.curriculum-request__choices{display:flex;flex-direction:column;gap:12px;margin-top:12px}.curriculum-request__choice{align-items:flex-start;display:flex;gap:10px}.curriculum-request__choice--disabled{opacity:.7}.curriculum-request__upload{margin-left:24px}.curriculum-request-status__actions,.curriculum-request__upload{display:flex;flex-direction:column;gap:8px}.catalog-admin-page{background:var(--surface-canvas,#f3f2ec);color:var(--ink,#23302a);min-height:calc(100dvh - var(--app-header-h));padding:20px}.catalog-admin-topbar{align-items:flex-end;background:var(--surface-raised,#fbfaf6);border:1px solid var(--line-strong,#7f857a);display:flex;gap:20px;justify-content:space-between;margin:0 auto 16px;max-width:1500px;padding:12px 16px}.catalog-admin-panel h2,.catalog-admin-state h1,.catalog-admin-state h2,.catalog-admin-topbar h1{font-family:system-ui,sans-serif;margin:0}.catalog-admin-eyebrow,.catalog-admin-request-id{color:var(--ink-muted,#55645b);font-size:.75rem;margin:0 0 3px}.catalog-admin-filter{display:grid;font-size:.8rem;font-weight:700;grid-gap:3px;gap:3px}.catalog-admin-action-form textarea,.catalog-admin-filter select,.catalog-admin-table input,.catalog-admin-table select{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line-strong,#7f857a);border-radius:4px;color:inherit;min-height:32px;padding:4px 6px}.catalog-admin-banner,.catalog-admin-decided,.catalog-admin-panel,.catalog-admin-state{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);margin:0 auto 16px;max-width:1500px;padding:16px}.catalog-admin-table-wrap{margin:0 auto;max-width:1500px;overflow-x:auto}.catalog-admin-table{background:var(--surface-raised,#fbfaf6);border-collapse:collapse;font-size:.8rem;min-width:1100px;width:100%}.catalog-admin-table td,.catalog-admin-table th{border:1px solid var(--line,#d3d4c7);padding:6px 8px;text-align:left;vertical-align:middle}.catalog-admin-table tbody tr{cursor:pointer;min-height:40px}.catalog-admin-table tbody tr:focus-visible,.catalog-admin-table tbody tr:hover{background:var(--surface-sunken,#ecece4);outline:2px solid var(--focus,#245bd8);outline-offset:-2px}.catalog-admin-sort{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:700;padding:4px 0;white-space:nowrap}.catalog-admin-table__attention{box-shadow:inset 4px 0 var(--warn-solid,#a15c00)}.catalog-admin-count--warning{color:var(--warn-solid,#a15c00);font-weight:700}.catalog-admin-form__actions,.catalog-admin-pagination{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin:12px auto;max-width:1500px}.catalog-admin-form__actions--spread{justify-content:space-between}.catalog-admin-detail{padding-bottom:110px}.catalog-admin-panel__heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.catalog-admin-metadata{display:grid;grid-gap:1px;gap:1px;grid-template-columns:repeat(4,minmax(150px,1fr));margin:0}.catalog-admin-metadata div{border:1px solid var(--line,#d3d4c7);padding:8px}.catalog-admin-metadata dt{color:var(--ink-muted,#55645b);font-size:.72rem;font-weight:700;text-transform:uppercase}.catalog-admin-metadata dd{margin:2px 0 0}.catalog-admin-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(160px,1fr))}.catalog-admin-form__actions{grid-column:1/-1;margin:0}.catalog-admin-lessons{max-height:60vh;overflow:auto}.catalog-admin-lessons .catalog-admin-table{min-width:720px}.catalog-admin-lessons thead{background:var(--surface-raised,#fbfaf6);position:-webkit-sticky;position:sticky;top:0;z-index:1}.catalog-admin-lessons tbody tr{cursor:default}.catalog-admin-unit{font-weight:700}.catalog-admin-row-actions{white-space:nowrap}.catalog-admin-row-actions button{margin-right:4px;min-height:30px}.catalog-admin-findings{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:12px 0 0;padding:0}.catalog-admin-finding{border-left:4px solid var(--warn-solid,#a15c00);display:grid;grid-gap:3px;gap:3px;padding:8px 12px}.catalog-admin-finding--error{border-color:var(--danger-solid,#a12c2c)}.catalog-admin-status{border:1px solid var(--line-strong,#7f857a);border-radius:999px;font-size:.75rem;font-weight:700;padding:4px 8px;text-transform:capitalize}.catalog-admin-banner--success{border-left:4px solid var(--success-solid,#27724f)}.catalog-admin-banner--error{border-left:4px solid var(--danger-solid,#a12c2c)}.catalog-admin-actionbar{align-items:center;background:var(--surface-raised,#fbfaf6);border-top:1px solid var(--line-strong,#7f857a);bottom:0;display:flex;flex-wrap:wrap;gap:8px;left:0;padding:10px 20px;position:fixed;right:0;z-index:3}.catalog-admin-action-form{align-items:flex-start;display:grid;flex-basis:100%;grid-gap:5px;gap:5px;grid-template-columns:minmax(240px,1fr) auto}.catalog-admin-action-form label{grid-column:1/-1}@media (max-width:899px){.catalog-admin-page{padding:10px}.catalog-admin-topbar{align-items:stretch;flex-direction:column}.catalog-admin-form,.catalog-admin-metadata{grid-template-columns:1fr}.catalog-admin-actionbar{padding:8px 10px}}.curriculum-attach-page{margin:0 auto;max-width:720px;padding:24px 16px}.curriculum-attach-card,.curriculum-attach-form{display:flex;flex-direction:column;gap:16px}.curriculum-attach-fieldset{border:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.curriculum-attach__children{display:flex;flex-direction:column;gap:8px}.curriculum-attach__child-option{align-items:center;display:flex;gap:10px}.curriculum-attach__day-chips{display:flex;flex-wrap:wrap;gap:6px}.curriculum-attach__day-chip{align-items:center;background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:flex;font-weight:600;justify-content:center;min-height:40px;min-width:40px;padding:0 4px}.curriculum-attach__day-chip[aria-pressed=true]{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f);color:var(--on-accent,#fff)}.curriculum-attach__break-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.curriculum-attach__step-actions{display:flex;gap:10px;justify-content:flex-end}.curriculum-attach__summary{font-weight:600}.curriculum-attach__warning{background:var(--surface-canvas,#f3f2ec);border-left:4px solid var(--warn-solid,#a15c00);border-radius:var(--radius-sm,8px);padding:10px 12px}.goal-detail-page,.goal-form-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,6vh,64px) 16px 48px}.goal-detail-card,.goal-form-card{background:var(--surface-raised,#fbfaf6);border-radius:var(--radius-md,14px);box-shadow:0 1px 2px rgba(0,0,0,.06);max-width:860px;padding:clamp(20px,4vw,40px);width:100%;max-width:720px}.goal-filters{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:var(--space-1,4px) var(--space-3,12px);min-width:0}.goal-filter-group{display:flex;flex-wrap:wrap;gap:var(--space-1,4px) var(--space-2,8px)}.goal-chip{align-items:center;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-pill,999px);cursor:pointer;display:inline-flex;font-size:.875rem;gap:6px;padding:2px 10px;white-space:nowrap}.goal-chip:has(input:checked){background:var(--accent-soft,#e3eee5);border-color:var(--accent-solid,#2f6a4f)}.goal-chip:has(input:focus-visible){outline:2px solid var(--focus-ring,#1f5fbf);outline-offset:2px}.goal-chip input{margin:0}[data-density=touch] .goal-chip{min-height:var(--control-target,44px)}@media (max-width:640px){.goal-filters{flex-basis:100%;gap:var(--space-1,4px)}.goal-filter-group{flex-basis:100%;flex-wrap:nowrap;overflow-x:auto;padding:2px}.goal-chip{flex:0 0 auto}}.goal-oversight-banner{background:var(--surface-sunken,#ecece4);border-radius:var(--radius-sm,8px);margin-bottom:16px;padding:10px 14px}.goal-empty-state{border:1px dashed var(--line,#d3d4c7);border-radius:var(--radius-md,14px);display:flex;flex-direction:column;gap:12px;padding:32px 16px;text-align:center}.goal-row--reminder-due{border-left:3px solid var(--warning-ink,#74520d)}.goal-row__disc{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--ink,#23302a);cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--control-target,44px);isolation:isolate;justify-content:center;padding:0;position:relative;width:var(--control-target,44px)}.goal-row__disc:before{background:var(--surface-raised,#fbfaf6);border:2px solid var(--line-strong,#7f857a);border-radius:50%;content:"";height:28px;position:absolute;width:28px;z-index:-1}.goal-row__disc:disabled{cursor:default}.goal-row__title{font-weight:600}.goal-row__title--done{color:var(--ink-muted,#55645b);text-decoration:line-through}.goal-row__value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal-row__meta{flex-basis:100%}.ui-button.goal-row__complete{min-height:var(--control-target,44px)}.goal-row__progress{flex-basis:100%;margin-top:var(--space-1,4px)}.goal-tag{border-radius:var(--radius-pill,999px);font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.goal-tag--success{background:var(--accent-soft,#e3eee5);color:var(--accent-solid,#2f6a4f)}.goal-tag--neutral{background:var(--surface-sunken,#ecece4);color:var(--ink-muted,#55645b)}.goal-tag--warning{background:var(--warning-surface,#fff0cf);color:var(--warning-ink,#74520d)}.goal-progress-bar{align-items:center;display:flex;gap:10px}.goal-progress-bar__track{background:var(--surface-sunken,#ecece4);border-radius:var(--radius-pill,999px);flex:1 1;height:10px;overflow:hidden}.goal-progress-bar__fill{background:var(--accent-solid,#2f6a4f);border-radius:var(--radius-pill,999px);display:block;height:100%;transition:width var(--dur-2,.22s) var(--ease-out,ease)}.goal-progress-bar__value{color:var(--ink,#23302a);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal-form{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.goal-form textarea.ui-input{min-height:5rem;resize:vertical}.goal-form__band{border:0;display:grid;grid-gap:10px;gap:10px;margin:0;padding:0}.goal-form__band legend{font-weight:700;padding:0}.goal-form__people{border:0;margin:0;padding:0}.goal-form__people legend{font-weight:700}.goal-form__people .chore-assignment-avatars{margin-top:.65rem}.goal-form__remind{gap:var(--space-3,12px)}.goal-reminder-fields{align-items:end;border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:grid;grid-gap:var(--space-2,8px) var(--space-5,20px);gap:var(--space-2,8px) var(--space-5,20px);grid-template-columns:minmax(0,220px) auto;margin:0;min-width:0;padding:var(--space-3,12px)}.goal-reminder-fields>:not(.goal-reminder-fields__cadence,.goal-reminder-fields__channels,legend){grid-column:1/-1}.goal-reminder-fields .ui-error,.goal-reminder-fields .ui-help{margin:0}@media (max-width:640px){.goal-reminder-fields{grid-template-columns:minmax(0,1fr)}}.goal-reminder-fields legend{font-weight:600;padding:0 var(--space-1,4px)}.goal-reminder-fields__cadence{max-width:280px}.goal-reminder-fields__channels{display:flex;flex-wrap:wrap;gap:var(--space-1,4px) var(--space-5,20px)}.goal-remind-sheet{max-width:520px}.goal-inbox .ui-button,.goal-remind-sheet .ui-button,.goal-remind-sheet .ui-modal__close,.goal-reminder-fields .ui-input{min-height:var(--control-target,44px)}.goal-inbox__state,.goal-remind-sheet__form,.goal-remind-sheet__state{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px)}.goal-people{align-items:center;display:inline-flex;flex:0 0 auto;-webkit-padding-start:6px;padding-inline-start:6px}.goal-people__item,.goal-people__more{border-radius:50%;box-shadow:0 0 0 2px var(--surface-raised,#fbfaf6);-webkit-margin-start:-6px;margin-inline-start:-6px}.goal-people .member-avatar--sm{font-size:.75rem;height:28px;width:28px}.goal-people__more{align-items:center;background:var(--surface-sunken,#ecece4);color:var(--ink,#23302a);display:inline-flex;font-size:.75rem;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:0 4px}.goal-row__done{color:var(--ink-muted,#55645b);font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-button.goal-row__remind{min-height:var(--control-target,44px)}.goal-notice{background:var(--success-surface,#e4f1e8);border-radius:var(--radius-sm,8px);color:var(--success-ink,#24583f);margin:0 0 var(--space-3,12px);padding:10px 14px}.ui-button.goal-inbox-toggle{min-height:var(--control-target,44px)}.goal-row__complete-wrap{display:inline-flex}@media (max-width:640px){.goal-row__complete-wrap{display:none}.goal-row .list-row__copy{flex-basis:120px}.goal-row__title{flex-basis:100%}.goal-row__meta{flex-basis:auto}.goal-row .list-row__copy{column-gap:var(--space-1,4px)}.ui-button.goal-row__remind{min-width:0;padding-inline:var(--space-3,12px)}}.goal-row__actions{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2,8px);-webkit-margin-start:auto;margin-inline-start:auto}.goal-badge{-webkit-margin-start:var(--space-2,8px);margin-inline-start:var(--space-2,8px);background:var(--accent-solid,#2f6a4f);border-radius:var(--radius-pill,999px);color:var(--on-accent,#fff);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;line-height:1;min-width:1.5em;padding:4px 6px;text-align:center}.goal-inbox-panel{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,14px);margin-bottom:var(--space-4,16px);padding:var(--space-3,12px) var(--row-pad-x,16px)}.goal-inbox{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px)}.goal-inbox__head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:space-between}.goal-inbox__title{font-size:1.0625rem;margin:0}.goal-inbox__empty{color:var(--ink-muted,#55645b);margin:0}.goal-inbox__list{list-style:none;margin:0;padding:0}.goal-inbox__item{align-items:center;border-top:var(--border-decorative,1px) solid var(--line,#d3d4c7);display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:space-between;min-height:var(--control-target,44px);padding-block:var(--space-1,4px)}.goal-inbox__copy{display:grid;min-width:0}.goal-inbox__goal{overflow-wrap:anywhere}.goal-inbox__item--unread .goal-inbox__goal{font-weight:700}.goal-inbox__meta{color:var(--ink-muted,#55645b)}.ui-button.goal-inbox__mark{min-height:var(--control-target,44px)}.goal-people-section h2{font-size:1.0625rem;margin:0}.goal-people-section__summary{color:var(--ink-muted,#55645b);margin:2px 0 var(--space-2,8px)}.goal-person-list{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.goal-person{align-items:flex-start;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;gap:var(--space-3,12px);padding:10px 14px}.goal-person__copy{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:var(--space-1,4px) var(--space-3,12px);min-width:0}.goal-person__name{font-weight:600;overflow-wrap:anywhere}.goal-person__reminder{color:var(--ink-muted,#55645b)}.goal-person__progress{flex-basis:100%}.goal-form__choice{align-items:flex-start;cursor:pointer;display:flex;gap:var(--space-3,12px);min-height:44px}.goal-form__choice input{accent-color:var(--accent-solid,#2f6a4f);margin-top:4px}.goal-form__choice small,.goal-form__choice strong{display:block}.goal-form__choice small{color:var(--ink-muted,#55645b);line-height:1.45;margin-top:3px}.goal-form__choice--inline{align-items:center;display:inline-flex;margin-right:12px;min-height:0}.goal-form__choice--inline input{margin-top:0}.goal-form__milestones,.goal-form__recurring{display:flex;flex-direction:column;gap:10px;padding-left:26px}.goal-form__milestones ol{display:flex;flex-direction:column;gap:10px;list-style:decimal;margin:0;padding-left:20px}.goal-form__milestone-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.goal-form__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.goal-form__actions .ui-button{min-height:var(--control-target,44px)}.goal-detail-card__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.goal-detail-card__area{color:var(--ink-muted,#55645b);margin:0 0 2px;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.goal-detail-card__actions{display:flex;flex-wrap:wrap;gap:8px}.goal-detail-card__completion,.goal-detail-card__description,.goal-detail-card__progress{margin:12px 0}.goal-detail-card__reminder{align-items:center;display:flex;gap:10px;margin:12px 0}.goal-step-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:16px 0;padding:0}.goal-step-row{align-items:center;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);display:flex;gap:12px;justify-content:space-between;padding:10px 14px}.goal-step-row__title--done{color:var(--ink-muted,#55645b);text-decoration:line-through}.area-management-row__name{flex:1 1;min-width:120px}.area-management-row__count{color:var(--ink-muted,#55645b)}.area-management-row__actions{display:flex;flex-wrap:wrap;gap:6px}@media (max-width:640px){.goal-detail-card__header{flex-direction:column}}.marketing-page{--accent:var(--harbor-sea);--accent-soft:var(--harbor-sea-soft);--accent-solid:var(--harbor-sea);--accent-surface:var(--harbor-sea-soft);--on-accent:var(--ink-inverse);display:flex;flex-direction:column;gap:var(--space-8);margin:0 auto;max-width:1120px;padding:var(--space-4) var(--space-4) var(--space-8)}.marketing-nav{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;padding:var(--space-3) 0}.marketing-nav__brand{align-items:center;color:var(--ink);display:inline-flex;font-family:var(--font-display);font-size:1.25rem;font-weight:700;gap:var(--space-2)}.marketing-brand-mark{color:var(--ink);flex:none}.marketing-nav__links{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.marketing-eyebrow{color:var(--harbor-sea);font-size:.8125rem;font-weight:700;letter-spacing:.16em;margin:0;text-transform:uppercase}.marketing-hero{background:var(--harbor-sea-soft);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(24px,6vw,56px)}.marketing-hero--compact{padding:clamp(20px,4vw,40px)}.marketing-hero--split{gap:var(--space-6)}.marketing-hero__copy{display:flex;flex-direction:column;gap:var(--space-3)}.marketing-hero h1{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.9rem,5.5vw,3.25rem);line-height:1.1;margin:0}.marketing-hero__lede{color:var(--ink-muted);font-size:1.0625rem;margin:0;max-width:60ch}.marketing-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.marketing-hero__preview{max-width:420px;width:100%}@media (min-width:860px){.marketing-hero--split{align-items:center;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.marketing-hero__preview{justify-self:end}}.marketing-wave{display:block;height:clamp(40px,8vw,80px);width:100%}.marketing-wave__back,.marketing-wave__front{fill:none;stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.marketing-wave__back{stroke:var(--harbor-wave)}.marketing-wave__front{stroke:var(--harbor-mist)}@media (prefers-reduced-motion:no-preference){.marketing-wave__back{animation:marketing-wave-drift 18s ease-in-out infinite alternate}}@keyframes marketing-wave-drift{0%{transform:translateX(-40px)}to{transform:translateX(40px)}}.marketing-main{display:flex;flex-direction:column;gap:var(--space-12)}.marketing-section{display:flex;flex-direction:column;gap:var(--space-4)}.marketing-section h2{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2rem);margin:0}.marketing-section>p{color:var(--ink-muted);font-size:1.0625rem;margin:0;max-width:62ch}.marketing-section>p a{color:var(--harbor-sea);font-weight:700;text-decoration:underline}.marketing-section--tint{background:var(--harbor-sea-soft);border-radius:var(--radius-xl);padding:clamp(20px,5vw,48px)}.marketing-section--pricing{border-left:4px solid var(--harbor-sea);padding-left:var(--space-4)}.marketing-pillars{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(0,1fr);list-style:none;margin:0;padding:0}@media (min-width:600px){.marketing-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.marketing-pillars{grid-template-columns:repeat(4,minmax(0,1fr))}}.marketing-pillars>li{background:var(--surface-raised);border:var(--border-decorative) solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5)}.marketing-pillars__icon{color:var(--harbor-sea)}.marketing-pillars h3{color:var(--ink);font-family:var(--font-display);font-size:1.125rem;margin:0}.marketing-pillars p{color:var(--ink-muted);margin:0}.marketing-pillars__bullets{display:grid;font-size:.9375rem;grid-gap:var(--space-2);gap:var(--space-2);list-style:none;margin:var(--space-2) 0 0;padding:0}.marketing-pillars__bullets li{padding-left:var(--space-5);position:relative}.marketing-pillars__bullets li:before{background:var(--harbor-sea);border-radius:50%;content:"";height:6px;left:var(--space-1);position:absolute;top:.6em;width:6px}.marketing-day{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(0,1fr);list-style:none;margin:0;padding:0}@media (min-width:760px){.marketing-day{grid-template-columns:repeat(3,minmax(0,1fr))}}.marketing-day>li{background:var(--surface-raised);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5)}.marketing-day h3{color:var(--ink);font-family:var(--font-display);font-size:1.25rem;margin:0}.marketing-day p{color:var(--ink-muted);margin:0}.marketing-section--cta{--focus-ring:var(--harbor-on-navy);align-items:flex-start;background:var(--harbor-navy);border-radius:var(--radius-xl);padding:clamp(24px,6vw,56px)}.marketing-section--cta,.marketing-section--cta h2,.marketing-section--cta>p.marketing-cta__privacy{color:var(--harbor-on-navy)}.marketing-section--cta>p.marketing-cta__privacy{margin:0}.marketing-section--cta>p.marketing-cta__privacy a{color:var(--harbor-on-navy);font-weight:700;text-decoration:underline}.marketing-section--cta .ui-button--primary{background:var(--harbor-on-navy);color:var(--harbor-navy)}.marketing-section--cta .ui-button--secondary{background:transparent;border-color:var(--harbor-on-navy);color:var(--harbor-on-navy)}.marketing-section--cta .ui-button:active:not([aria-disabled=true]),.marketing-section--cta .ui-button:hover:not([aria-disabled=true]){border-color:var(--harbor-on-navy)}.marketing-section--cta .ui-button--primary:active:not([aria-disabled=true]){background:var(--harbor-wave)}.marketing-section--cta .ui-button--secondary:active:not([aria-disabled=true]){background:var(--harbor-navy);color:var(--harbor-on-navy)}.marketing-fineprint{color:var(--ink-muted);font-size:.875rem}.marketing-footer{border-top:var(--border-decorative) solid var(--line);display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4)}.marketing-footer__brand{align-items:center;color:var(--ink-muted);display:flex;gap:var(--space-2);margin:0}.marketing-footer__brand .marketing-brand-mark{color:var(--ink-muted)}.marketing-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-4)}@media (max-width:640px){.marketing-page{padding:var(--space-3)}.marketing-footer__links,.marketing-hero__actions{align-items:flex-start;flex-direction:column}}@media (max-width:560px){.marketing-nav__secondary{display:none}.marketing-nav__links{gap:var(--space-3)}}.marketing-preview{--member-color:var(--harbor-sea);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 14%,transparent)}.marketing-preview .all-kids-board__row--complete{opacity:1}.marketing-section.billing-plan-grid .billing-plan{background:var(--surface-raised);border-radius:var(--radius-md);padding:var(--space-5)}.marketing-section.billing-plan-grid .billing-plan__price strong{font-family:var(--font-display);font-size:2rem}.marketing-section.billing-plan-grid .billing-plan__limits{list-style:none;padding-left:0}.marketing-section.billing-plan-grid .billing-plan__limits li:before{color:var(--success-ink);content:"✓ ";font-weight:700}.legal-public-nav{margin-inline:auto;max-width:960px;padding-inline:var(--space-4,16px)}.auth-password-field{display:flex;flex-direction:column}.auth-password-toggle{background:none;border:0;border-radius:var(--radius-sm,8px);color:var(--accent,#2f6a4f);cursor:pointer;font:inherit;font-size:.875rem;font-weight:700;min-height:36px;padding:0 var(--space-3,12px)}.auth-password-toggle:hover{background:var(--surface-hover,#f0efe8)}.auth-forgot-link{margin:calc(var(--space-1, 4px) * -1) 0 0;text-align:right}.ui-field__control{display:flex;position:relative}.ui-field__trailing{align-items:center;bottom:0;display:flex;padding-right:var(--space-1,4px);position:absolute;right:0;top:0}.ui-input--has-trailing{padding-right:4.5rem}.new-tab-cue{font-size:.85em}.auth-legal-note a{font-weight:700}.legal-toc{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);margin-top:var(--space-4,16px);padding:var(--space-3,12px) var(--space-4,16px)}.legal-card .legal-toc__title{font-size:1.1rem;margin:0}.legal-toc ol{margin:var(--space-2,8px) 0 0;padding-left:var(--space-5,20px)}.legal-toc li{margin:var(--space-1,4px) 0}.child-next-steps{color:var(--ink-muted,#55645b);line-height:1.5;margin:var(--space-4,16px) 0;padding-left:var(--space-5,20px)}.today-calendar-strip{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:12px;margin:0 auto var(--space-5,20px);max-width:1280px;padding:var(--space-4,16px);width:100%}.today-calendar-strip__heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:var(--space-3,12px)}.today-calendar-strip__heading h2{color:var(--ink,#23302a);font-size:1.125rem;font-weight:700;margin:0}.today-calendar-strip__stale{color:var(--ink-muted,#55645b);font-size:.8125rem;margin:0}.today-calendar-strip__reconnect{color:var(--ink,#23302a);font-size:.8125rem;font-weight:600;margin:0}.today-calendar-strip__empty{color:var(--ink-muted,#55645b);margin:0}.today-calendar-strip__list{display:flex;flex-direction:column;gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.today-calendar-strip__item{align-items:flex-start;display:flex;gap:10px}.today-calendar-strip__swatch{background:var(--accent-solid,#2f6a4f);border-radius:999px;flex:0 0 auto;height:10px;margin-top:6px;width:10px}.today-calendar-strip__details{min-width:0}.today-calendar-strip__title{color:var(--ink,#23302a);font-weight:600;margin:0;overflow-wrap:anywhere}.today-calendar-strip__meta{color:var(--ink-muted,#55645b);font-size:.8125rem;margin:2px 0 0}.today-calendar-strip__badge{border-radius:999px;display:inline-block;font-weight:700;letter-spacing:.02em;padding:1px 8px}.today-calendar-strip__badge--all-day{background:#e3e8fd;color:#33409e}.today-calendar-strip__badge--timed{background:var(--surface-sunken,#f3f2ec);color:var(--ink,#23302a)}.calendar-settings{max-width:880px}.calendar-settings__section{display:flex;flex-direction:column;gap:var(--space-3,12px)}.calendar-settings__section h2{margin:0}.calendar-accounts,.calendar-rows{display:flex;flex-direction:column;gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.calendar-account,.calendar-row{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:var(--space-3,12px) var(--space-4,16px)}.calendar-account{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:space-between}.calendar-account__details{display:flex;flex:1 1 240px;flex-direction:column;gap:4px;min-width:0}.calendar-account__email{color:var(--ink,#23302a);font-weight:600;margin:0;overflow-wrap:anywhere}.calendar-account__status{align-items:center;color:var(--ink-muted,#55645b);display:flex;flex-wrap:wrap;font-size:.875rem;gap:6px;margin:0}.calendar-account__dot{background:var(--accent-solid,#2f6a4f);border-radius:999px;height:8px;width:8px}.calendar-account__status--attention{color:var(--ink,#23302a);font-weight:600}.calendar-account__status--attention .calendar-account__dot{background:var(--danger-accent,#9c2a1d)}.calendar-account__meta{color:var(--ink-muted,#55645b);font-weight:400}.calendar-account__actions{display:flex;flex-wrap:wrap;gap:var(--space-2,8px)}.calendar-row{align-items:center;display:grid;grid-gap:var(--space-2,8px) var(--space-3,12px);gap:var(--space-2,8px) var(--space-3,12px);grid-template-columns:auto minmax(0,1fr) auto}.calendar-row__swatch{border-radius:999px;height:14px;width:14px}.calendar-row__name{min-width:0}.calendar-row__account,.calendar-row__title{margin:0;overflow-wrap:anywhere}.calendar-row__title{color:var(--ink,#23302a);font-weight:600}.calendar-row__account{color:var(--ink-muted,#55645b);font-size:.8125rem}.calendar-row__controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:flex-end}.calendar-row__error{grid-column:1/-1;margin:0}.calendar-switch{align-items:center;cursor:pointer;display:inline-flex;gap:8px;position:relative}.calendar-switch__input{height:100%;inset:0;margin:0;opacity:0;position:absolute;width:100%}.calendar-switch__track{background:var(--surface-sunken,#f3f2ec);border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:999px;height:22px;position:relative;transition:background .12s ease;width:40px}.calendar-switch__track:after{background:var(--ink,#23302a);border-radius:999px;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform .12s ease;width:14px}.calendar-switch__input:checked+.calendar-switch__track{background:var(--accent-solid,#2f6a4f);border-color:var(--accent-solid,#2f6a4f)}.calendar-switch__input:checked+.calendar-switch__track:after{background:var(--on-accent,#ffffff);transform:translateX(18px)}.calendar-switch__input:focus-visible+.calendar-switch__track{outline:var(--focus-ring-width,2px) solid var(--focus-ring);outline-offset:var(--focus-ring-offset,2px)}.calendar-switch__input:disabled+.calendar-switch__track{cursor:progress}.calendar-switch__label{color:var(--ink,#23302a);font-size:.875rem}.calendar-whose{max-width:14rem}.calendar-whose-options{border:none;display:flex;flex-direction:column;gap:var(--space-2,8px);margin:0;padding:0}.calendar-whose-actions{display:flex;flex-wrap:wrap;gap:var(--space-2,8px);justify-content:flex-end;margin-top:var(--space-4,16px)}@media (max-width:640px){.calendar-row{grid-template-columns:auto minmax(0,1fr)}.calendar-row__controls{grid-column:1/-1;justify-content:space-between}.calendar-whose{max-width:none}}.page-section-layout{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-4,16px);justify-content:flex-start;margin-inline:auto;max-width:1280px;padding:var(--space-6,24px) 20px 48px;width:100%}.page-section-content{flex:1 1 auto;min-width:0;width:auto}.app-shell>.page-section-layout{padding-top:var(--space-6,24px)}@media (min-width:641px){.page-section-content>*{margin-left:0;margin-right:0}.section-shell__content>main{justify-content:flex-start}.section-shell__content>main>*{margin-left:0;margin-right:0}}@media (max-width:640px){.page-section-layout{padding:var(--space-3,12px)}}.money-import-mapping,.money-import-preview,.money-import-result,.money-import-start{display:flex;flex-direction:column;gap:12px}.money-import-disabled{text-align:center}.money-import-progress{align-items:center;display:flex;flex-direction:column;gap:8px;padding:24px 0;text-align:center}.money-import-mapping__amount{border:1px solid var(--line,#d3d4c7);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:8px}.money-import-mapping__debit-credit{display:flex;gap:12px}.money-import-table{border-collapse:collapse;width:100%}.money-import-table th{border-bottom:1px solid var(--line,#d3d4c7);color:var(--ink-muted,#55645b);font-size:.72rem;padding:4px 6px;text-align:left;text-transform:uppercase}.money-import-table td{border-bottom:1px solid var(--line,#d3d4c7);padding:6px;vertical-align:middle}.money-import-summary{color:var(--ink-muted,#55645b);font-size:.9rem}.money-import-compare{display:flex;gap:16px}.money-import-compare__column{flex:1 1}.money-import-compare__column dl{display:grid;grid-gap:4px;gap:4px;grid-template-columns:auto 1fr}.money-import-compare__column dt{color:var(--ink-muted,#55645b);font-size:.72rem;text-transform:uppercase}@media (max-width:900px){.money-import-table thead{display:none}.money-import-table,.money-import-table tbody,.money-import-table td,.money-import-table tr{display:block;width:100%}.money-import-table tr{border-bottom:1px solid var(--line,#d3d4c7);padding:8px 0}.money-import-table td{border-bottom:none;padding:4px 0}.money-import-table td[data-label]:before{color:var(--ink-muted,#55645b);content:attr(data-label);display:block;font-size:.7rem;text-transform:uppercase}.money-import-compare{flex-direction:column}}.calendar-page__month-title{color:var(--ink,#23302a);font-size:1.125rem;font-weight:700;margin:0;min-width:11ch;text-align:center}.calendar-page__reconnect{color:var(--ink,#23302a);font-size:.875rem;font-weight:600;margin:0 0 var(--space-3,12px)}.calendar-page__stale{color:var(--ink-muted,#55645b);font-size:.8125rem;margin:0 0 var(--space-3,12px)}.calendar-page__legend{align-items:flex-start;flex-wrap:wrap;margin:0 0 var(--space-3,12px)}.calendar-page__legend,.calendar-page__legend-list{display:flex;gap:var(--space-2,8px) var(--space-3,12px)}.calendar-page__legend-list{flex:1 1 100%;flex-wrap:wrap;list-style:none;margin:0;padding:0}.calendar-page__legend-list[hidden]{display:none}.calendar-page__legend-item{align-items:center;color:var(--ink-muted,#55645b);display:flex;font-size:.8125rem;gap:6px}.calendar-page__event-dot,.calendar-page__legend-swatch{background:var(--accent-solid,#2f6a4f);border-radius:999px;flex:0 0 auto;height:8px;width:8px}.calendar-page__grid{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);overflow:hidden}.calendar-page__grid[aria-busy=true]{animation:calendar-page-busy 1.2s ease-in-out infinite alternate}@keyframes calendar-page-busy{0%{opacity:1}to{opacity:.7}}@media (prefers-reduced-motion:reduce){.calendar-page__grid[aria-busy=true]{animation:none;opacity:.7}}.calendar-page__week,.calendar-page__weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-page__weekdays{background:var(--surface-sunken,#f3f2ec);border-bottom:1px solid var(--line,#d3d4c7)}.calendar-page__weekday{color:var(--ink-muted,#55645b);font-size:.75rem;font-weight:700;padding:6px 4px;text-align:center;text-transform:uppercase}.calendar-page__cell{align-items:stretch;background:none;border:0;border-bottom:1px solid var(--line,#d3d4c7);border-right:1px solid var(--line,#d3d4c7);border-radius:0;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:4px;min-height:88px;min-width:0;padding:6px;text-align:left;transition:background var(--dur-fade,.12s) var(--ease-out,ease)}.calendar-page__cell:last-child{border-right:0}.calendar-page__week:last-child .calendar-page__cell{border-bottom:0}.calendar-page__cell:hover{background:var(--surface-hover,#eaf5f3)}.calendar-page__cell:focus-visible{outline:2px solid var(--focus-ring,#10292e);outline-offset:-2px;z-index:1}.calendar-page__cell--muted{background:var(--surface-sunken,#f3f2ec)}.calendar-page__cell--muted,.calendar-page__cell--muted .calendar-page__cell-date,.calendar-page__cell--muted .calendar-page__event{color:var(--ink-muted,#55645b)}.calendar-page__cell--today{background:var(--accent-soft,#e3f4f1)}.calendar-page__cell--today .calendar-page__cell-date{background:var(--accent-solid,#2f6a4f);border-radius:999px;color:var(--on-accent,#fff);display:inline-flex;height:22px;justify-content:center;width:22px}.calendar-page__cell-date{color:var(--ink,#23302a);font-size:.8125rem;font-weight:600}.calendar-page__cell-events{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-page__event{align-items:center;color:var(--ink,#23302a);display:flex;font-size:.6875rem;gap:4px;min-width:0}.calendar-page__event--all-day{background:var(--info-surface,#e3f1f6);border-radius:4px;padding:0 4px}.calendar-page__event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-page__more{color:var(--ink-muted,#55645b);font-size:.6875rem;font-weight:600}.calendar-page__day-detail-empty{color:var(--ink-muted,#55645b);margin:0}.calendar-page__day-detail-list{display:flex;flex-direction:column;gap:var(--space-3,12px);list-style:none;margin:0;padding:0}.calendar-page__day-detail-item{align-items:flex-start;display:flex;gap:10px}.calendar-page__day-detail-item .calendar-page__event-dot{margin-top:6px}.calendar-page__day-detail-details{min-width:0}.calendar-page__day-detail-title{color:var(--ink,#23302a);font-weight:600;margin:0;overflow-wrap:anywhere}.calendar-page__day-detail-meta{color:var(--ink-muted,#55645b);font-size:.8125rem;margin:2px 0 0}.calendar-page__event-badge{border-radius:999px;display:inline-block;font-weight:700;letter-spacing:.02em;padding:1px 8px}.calendar-page__event-badge--all-day{background:var(--info-surface,#e3f1f6);color:var(--ink,#23302a)}.calendar-page__event-badge--timed{background:var(--surface-sunken,#f3f2ec);color:var(--ink,#23302a)}.calendar-page .ui-tabs{margin-bottom:var(--space-3,12px)}.calendar-page__legend-item .ui-chip{gap:6px}.calendar-page__legend-item .ui-chip[aria-pressed=true]{background:var(--surface-raised,#fbfaf6);border-color:var(--line-strong,#5e8187);color:var(--ink,#23302a)}.calendar-page__legend-item .ui-chip[aria-pressed=false]{background:transparent;border-color:var(--line,#d3d4c7);border-style:dashed;color:var(--ink-muted,#55645b);text-decoration:line-through}.calendar-page__legend-item .ui-chip[aria-pressed=false] .calendar-page__legend-swatch{opacity:.5}.calendar-page__event-calendar{color:var(--ink-muted,#55645b)}.calendar-page__cell--selected{background:var(--accent-surface,#d3f0ec);outline:2px solid var(--accent-solid,#2f6a4f);outline-offset:-2px}.calendar-page__layout--with-panel{align-items:start;display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);grid-template-columns:minmax(0,1fr) 20rem}.calendar-page__panel{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:var(--space-4,16px);position:-webkit-sticky;position:sticky;top:var(--space-4,16px)}.calendar-page__panel-header{align-items:flex-start;display:flex;gap:var(--space-2,8px);justify-content:space-between;margin-bottom:var(--space-3,12px)}.calendar-page__panel-heading{color:var(--ink,#23302a);font-size:1.125rem;line-height:1.25;margin:0}.calendar-page__panel-heading:focus-visible{border-radius:4px;outline:2px solid var(--focus-ring,#10292e);outline-offset:2px}.calendar-page__agenda{display:flex;flex-direction:column;gap:var(--space-3,12px)}.calendar-page__agenda-day{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);overflow:hidden}.calendar-page__agenda-heading{background:var(--surface-sunken,#f3f2ec);border-bottom:1px solid var(--line,#d3d4c7);color:var(--ink,#23302a);font-size:.9375rem;margin:0;padding:var(--space-2,8px) var(--space-3,12px)}.calendar-page__agenda-heading--today{background:var(--accent-soft,#e3f4f1)}.calendar-page__agenda-list{list-style:none;margin:0;padding:0}.calendar-page__agenda-item{align-items:flex-start;display:flex;gap:10px;padding:var(--space-3,12px)}.calendar-page__agenda-item+.calendar-page__agenda-item{border-top:1px solid var(--line,#d3d4c7)}.calendar-page__agenda-item .calendar-page__event-dot{margin-top:6px}.calendar-page__agenda-details{min-width:0}.calendar-page__agenda-details .calendar-page__day-detail-meta{overflow-wrap:anywhere}.calendar-page__agenda-busy{background:var(--surface-sunken,#f3f2ec);border-radius:var(--radius-md,12px);min-height:240px}.calendar-page__agenda-busy[aria-busy=true]{animation:calendar-page-busy 1.2s ease-in-out infinite alternate}@media (prefers-reduced-motion:reduce){.calendar-page__agenda-busy[aria-busy=true]{animation:none;opacity:.7}}@media (max-width:640px){.calendar-page__cell{min-height:64px}.calendar-page__weekday{font-size:.625rem}.calendar-page__cell-events{flex-direction:row;flex-wrap:wrap}.calendar-page__event-title{display:none}.calendar-page__event--all-day{background:none;padding:0}.calendar-page .page-header__toolbar{justify-content:center}}.reading-detail-page,.reading-list-page{align-items:flex-start;background:var(--surface-canvas,#f3f2ec);display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-h));padding:clamp(24px,6vh,64px) 16px 48px}.reading-detail-card,.reading-list-card{background:var(--surface-raised,#fbfaf6);border-radius:var(--radius-md,14px);box-shadow:0 1px 2px rgba(0,0,0,.06);max-width:860px;padding:clamp(20px,4vw,40px);width:100%}.reading-detail-card{max-width:720px}.reading-list-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.reading-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.reading-filter-group{display:flex;flex-wrap:wrap;gap:8px}.reading-chip{align-items:center;border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-pill,999px);cursor:pointer;display:inline-flex;gap:6px;padding:6px 12px;min-height:44px}.reading-chip:has(input:checked){background:var(--accent-soft,#e3eee5);border-color:var(--accent-solid,#2f6a4f)}.reading-chip input{margin:0}.reading-empty-state{border:1px dashed var(--line,#d3d4c7);border-radius:var(--radius-md,14px);display:flex;flex-direction:column;gap:12px;padding:32px 16px;text-align:center}.reading-empty-state--inline{border:none;padding:12px 0;text-align:left;align-items:flex-start}.reading-area-panel{margin-bottom:24px}.reading-area-panel__header{border-bottom:1px solid var(--line,#d3d4c7);font-size:1.05rem;margin:0 0 8px;padding-bottom:6px}.reading-area-panel__count{color:var(--ink-muted,#55645b);font-weight:400}.reading-area-panel__list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.reading-row{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);flex-wrap:wrap;justify-content:space-between;padding:12px 16px}.reading-row,.reading-row__main{align-items:flex-start;display:flex;gap:12px}.reading-row__main{flex:1 1;min-width:220px}.reading-row__glyph{flex-shrink:0;font-size:1.4rem;line-height:1.6rem}.reading-row__body{flex:1 1;min-width:0}.reading-row__title-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.reading-row__title{font-weight:600}.reading-row__meta{color:var(--ink-muted,#55645b);margin:2px 0 0}.reading-row__meta--reread{font-style:italic}.reading-row__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.reading-row__status-text{color:var(--ink-muted,#55645b);font-weight:600}.reading-tag{border-radius:var(--radius-pill,999px);font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.reading-tag--success{background:var(--accent-soft,#e3eee5);color:var(--accent-solid,#2f6a4f)}.reading-tag--neutral{background:var(--surface-sunken,#ecece4);color:var(--ink-muted,#55645b)}.reading-form{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px)}.reading-form textarea.ui-input{min-height:6rem;resize:vertical}.reading-form__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.reading-detail-card__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.reading-session-card{border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,14px);margin:16px 0;padding:16px}.reading-session-card__header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.reading-session-card__stepper{margin:12px 0}.reading-session-card__stepper-row{align-items:center;display:flex;gap:8px;margin-top:6px}.reading-session-card__stepper-row input{max-width:90px;text-align:center}.reading-session-card__edit-dates{margin-top:12px}.reading-journal{border-top:1px solid var(--line,#d3d4c7);margin-top:16px;padding-top:16px}.reading-journal__list{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:0 0 12px;padding:0}.reading-journal__entry{background:var(--surface-canvas,#f3f2ec);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);padding:12px 14px}.reading-journal__entry-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.reading-journal__entry-date{color:var(--ink-muted,#55645b);margin-left:auto}.reading-journal__entry-body{margin:0;white-space:pre-wrap}@media (max-width:640px){.reading-detail-card,.reading-list-card{padding:16px}}.assistant-chat{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr)}@media (min-width:48rem){.assistant-chat{grid-template-columns:14rem minmax(0,1fr)}}.assistant-chat__sidebar ul{list-style:none;margin:.5rem 0 0;padding:0}.assistant-chat__sidebar li{align-items:center;display:flex;gap:.25rem}.assistant-chat__conversation{background:none;border:0;border-radius:var(--radius-sm,8px);color:inherit;cursor:pointer;flex:1 1;font:inherit;min-height:2.75rem;padding:0 var(--space-2,8px);text-align:left}.assistant-chat__conversation:hover{background:var(--surface-hover,#f0efe7)}.assistant-chat__conversation[aria-current=true]{background:var(--accent-surface,#e8f0ea);font-weight:700}.assistant-chat__delete{background:var(--surface-raised,#fbfaf6);border:var(--border-control,1.5px) solid var(--danger-accent,#9c2a1d);border-radius:var(--radius-sm,8px);color:var(--danger-accent,#9c2a1d);cursor:pointer;font:inherit;min-height:2.75rem;padding:0 var(--space-3,12px)}.assistant-chat__delete:focus-visible,.assistant-chat__delete:hover{background:var(--danger-surface,#fbe9e6)}.assistant-chat__form,.assistant-chat__main{display:grid;grid-gap:.75rem;gap:.75rem}.assistant-chat__transcript{display:grid;grid-gap:.5rem;gap:.5rem;max-height:min(28rem,55vh);overflow-y:auto}.assistant-chat__conversations>summary{cursor:pointer;font-weight:700;min-height:2.75rem;padding-block:.5rem}@media (max-width:47.99rem){.assistant-chat__form{background:var(--surface,#fff);border-top:1px solid var(--line,#d3d4c7);bottom:0;padding-block:.75rem;position:-webkit-sticky;position:sticky}}.assistant-message{background:var(--surface-raised,#fbfaf6);border:1px solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);max-width:min(100%,40rem);padding:.5rem .75rem}.assistant-message--user{background:var(--accent-surface,#e8f0ea);border-color:var(--accent-solid,#2f6a4f);border-bottom-right-radius:var(--radius-sm,4px);justify-self:end}.assistant-message--assistant{border-bottom-left-radius:var(--radius-sm,4px);justify-self:start}.assistant-message__who{color:var(--ink-muted,#55645b);font-size:.8125rem;font-weight:700}.assistant-message__text{margin:.25rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.assistant-card{border:2px solid var(--accent-solid,#286140);border-radius:var(--radius-md,12px);display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem}.assistant-card__preview{font-weight:700;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.assistant-card__actions,.assistant-chat__form-actions{display:flex;flex-wrap:wrap;gap:.5rem}.assistant-settings{display:grid;grid-gap:1rem;gap:1rem;max-width:32rem}.skip-link{background:var(--accent-solid,#2f6a4f);border-radius:var(--radius-sm,8px);color:var(--on-accent,#fff);left:var(--space-3,12px);padding:var(--space-3,12px) var(--space-4,16px);position:fixed;top:var(--space-3,12px);transform:translateY(-200%);z-index:200}.skip-link:focus{transform:none}.ui-modal:focus{outline:none}.ui-modal__close{align-items:center;background:transparent;border:var(--border-control,1.5px) solid var(--line-strong,#7f857a);border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-2,8px);min-height:44px;padding:0 var(--space-3,12px)}.ui-modal__close:hover{background:var(--surface-hover,#f0efe7)}.ui-modal__description{color:var(--ink-muted,#55645b);margin:0;padding:var(--space-4,16px) var(--space-6,24px) 0}.confirm-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--space-3,12px);justify-content:flex-end}.ui-field__required{color:var(--danger-accent,#9c2a1d)}.ui-field__optional{color:var(--ink-muted,#55645b);font-weight:400}.error-state{background:var(--danger-surface,#fbe9e6);border:1px solid var(--danger-accent,#9c2a1d);border-radius:var(--radius-md,12px);display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);justify-items:start;padding:var(--space-4,16px)}.error-state__message{margin:0}.boundary-page{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);justify-items:start;margin-inline:auto;max-width:36rem;min-height:60vh;align-content:center;padding:var(--space-6,24px) 20px}.boundary-page h1{font-family:var(--font-display,Georgia,serif);margin:0}.boundary-page p{margin:0}.boundary-page__actions{display:flex;flex-wrap:wrap;gap:var(--space-3,12px);margin-top:var(--space-3,12px)}.boundary-page__actions .ui-button{text-decoration:none}.page-skeleton{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);margin-inline:auto;max-width:1280px;padding:var(--space-6,24px) 20px}.page-skeleton__block,.page-skeleton__title{animation:page-skeleton-pulse 1.4s ease-in-out infinite;background:var(--surface-sunken,#e9e8df);border-radius:var(--radius-md,12px)}.page-skeleton__title{height:2rem;width:min(60%,20rem)}.page-skeleton__block{height:5rem}@keyframes page-skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.page-skeleton__block,.page-skeleton__title{animation:none}}@media (pointer:coarse){.ui-button,.ui-input,.ui-modal__close,input:not([type=checkbox],[type=radio]),select{min-height:44px}.auth-footer a,.legal-card a,.marketing-footer a,.marketing-footer__links a{align-items:center;display:inline-flex;min-height:44px}}.area-management-actions .ui-button--icon{background:transparent;border-color:transparent;color:var(--ink-muted,#55645b)}.area-management-actions .ui-button--icon:focus-visible:not([aria-disabled=true]),.area-management-actions .ui-button--icon:hover:not([aria-disabled=true]){background:var(--surface-sunken,#e7e6dd);border-color:transparent;color:var(--ink,#23302a)}.area-management-actions .ui-button--icon[aria-disabled=true]{background:transparent;border-color:transparent;opacity:.4}.area-management-actions .ui-button--danger-quiet:hover:not([aria-disabled=true]){background:var(--danger-surface,#f7e1dd);color:var(--danger-accent,#9c2a1d)}.area-management-chore-link:focus-visible,.area-management-chore-link:hover{color:var(--accent,#2f6a4f);text-decoration:underline}.area-management-add-subtask:before{content:"＋";margin-right:var(--space-1,4px)}:is(.reading-list-page,.reading-detail-page,.curriculum-attach-page,.curriculum-request-page,.curriculum-request-status-page,.rollover-review-page,.rollover-history-page,.catalog-admin-page,.calendar-page,.points-history-page,.reward-catalogue-page,.reward-redemption-page,.recipe-box-page,.recipe-editor-page,.recipe-import-page,.recipe-detail-page,.member-management-page,.invitation-management-page,.household-page,.goal-form-page,.goal-detail-page,.grocery-page,.meal-plan-page,.area-management-page,.curriculum-management-page):not(.page-section-layout){align-items:stretch;background:var(--surface-canvas,#f3f2ec);display:flex;flex-direction:column;gap:var(--space-4,16px);justify-content:flex-start;margin-inline:auto;max-width:1280px;min-height:calc(100dvh - var(--app-header-h));padding:var(--space-6,24px) 20px 48px;width:100%}.app-shell>:is(.reading-list-page,.reading-detail-page,.curriculum-attach-page,.curriculum-request-page,.curriculum-request-status-page,.rollover-review-page,.rollover-history-page,.catalog-admin-page,.calendar-page,.points-history-page,.reward-catalogue-page,.reward-redemption-page,.recipe-box-page,.recipe-editor-page,.recipe-import-page,.recipe-detail-page,.member-management-page,.invitation-management-page,.household-page,.goal-form-page,.goal-detail-page,.grocery-page,.meal-plan-page,.area-management-page,.curriculum-management-page):not(.page-section-layout){padding-top:var(--space-6,24px)}:is(.reading-list-page,.reading-detail-page,.curriculum-attach-page,.curriculum-request-page,.curriculum-request-status-page,.rollover-review-page,.rollover-history-page,.catalog-admin-page,.calendar-page,.points-history-page,.reward-catalogue-page,.reward-redemption-page,.recipe-box-page,.recipe-editor-page,.recipe-import-page,.recipe-detail-page,.member-management-page,.invitation-management-page,.household-page,.goal-form-page,.goal-detail-page,.grocery-page,.meal-plan-page,.area-management-page,.curriculum-management-page,.page-section-content)>*{max-width:none;width:100%}@media (max-width:640px){:is(.reading-list-page,.reading-detail-page,.curriculum-attach-page,.curriculum-request-page,.curriculum-request-status-page,.rollover-review-page,.rollover-history-page,.catalog-admin-page,.calendar-page,.points-history-page,.reward-catalogue-page,.reward-redemption-page,.recipe-box-page,.recipe-editor-page,.recipe-import-page,.recipe-detail-page,.member-management-page,.invitation-management-page,.household-page,.goal-form-page,.goal-detail-page,.grocery-page,.meal-plan-page,.area-management-page,.curriculum-management-page):not(.page-section-layout){padding:var(--space-3,12px)}}.catalog-admin-banner,.catalog-admin-decided,.catalog-admin-panel,.catalog-admin-state,.catalog-admin-topbar{border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);padding:clamp(16px,3vw,32px)}.catalog-admin-panel h2,.catalog-admin-state h1,.catalog-admin-state h2,.catalog-admin-topbar h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif)}.catalog-admin-topbar h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15}.catalog-admin-eyebrow{color:var(--accent,#2f6a4f);font-size:.75rem;font-weight:700;letter-spacing:.09em;margin:0 0 var(--space-3,12px);text-transform:uppercase}.catalog-admin-table-wrap{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px)}.catalog-admin-action-form textarea,.catalog-admin-filter select,.catalog-admin-table input,.catalog-admin-table select{border-color:var(--line,#d3d4c7);border-radius:var(--radius-sm,8px)}.goal-detail-card,.goal-form-card,.reading-detail-card,.reading-list-card{border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);box-shadow:none;padding:clamp(24px,5vw,48px)}.goal-detail-card h1,.goal-form-card h1,.reading-detail-card h1,.reading-list-card h1{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;margin:0}.points-history-card{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px)}.school-course__track{background:var(--line,#d3d4c7);border-radius:999px;flex:0 0 120px;height:8px;overflow:hidden}.school-course__fill{background:var(--accent-solid,#2f6a4f);height:100%}@media (max-width:640px){.school-course__track{flex-basis:100%}}.ui-button--lg{font-size:1.0625rem;min-height:calc(var(--control-target, 44px) + 8px);padding:0 var(--space-6,24px)}.ui-card--tinted{background:var(--accent-surface);border-color:transparent}.ui-list-row--pressable{padding:0}.ui-list-row__press{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:var(--row-gap,12px);min-height:var(--row-min-h,52px);padding:var(--row-pad-y,10px) var(--row-pad-x,16px);text-align:left;width:100%}.ui-list-row__press:hover:not([aria-disabled=true]){background:var(--surface-hover)}.ui-list-row__press:active:not([aria-disabled=true]){background:var(--surface-pressed)}.ui-chip:focus-visible,.ui-done-disc:focus-visible,.ui-list-row__press:focus-visible,.ui-tab:focus-visible,.ui-toast__dismiss:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring);outline-offset:var(--focus-ring-offset,2px)}.ui-list-row--selected{background:var(--accent-soft)}.ui-list-row--disabled{opacity:.55}.ui-list-row--disabled .ui-list-row__press{cursor:not-allowed}.ui-modal-scrim--sheet{align-items:flex-end;padding:0}.ui-modal--sheet{border-radius:var(--radius-lg,24px) var(--radius-lg,24px) 0 0;max-width:none}@media (min-width:760px){.ui-modal-scrim--sheet{align-items:center;padding:var(--space-6,24px)}.ui-modal--sheet{border-radius:var(--radius-lg,24px);max-width:560px}}.ui-chip{align-items:center;background:var(--surface-sunken);border:var(--border-control,1.5px) solid transparent;border-radius:var(--radius-pill,999px);color:var(--ink);cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:var(--space-2,8px);min-height:var(--control-target,44px);padding:0 var(--space-4,16px);transition:background-color var(--dur-1,90ms) var(--ease-out,ease)}.ui-chip--accent{background:var(--accent-surface);color:var(--accent)}.ui-chip--points{background:var(--points-surface);color:var(--points-accent)}.ui-chip--school{background:var(--school-surface);color:var(--school-accent)}.ui-chip:hover:not([aria-disabled=true]){border-color:var(--line-strong)}.ui-chip:active:not([aria-disabled=true]){background:var(--surface-pressed)}.ui-chip[aria-pressed=true]{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent)}.ui-chip[aria-disabled=true]{cursor:not-allowed;opacity:.55}.ui-tabs{border-bottom:var(--border-decorative,1px) solid var(--line);display:flex;gap:var(--space-1,4px);overflow-x:auto}.ui-tab{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--ink-muted);cursor:pointer;font:inherit;font-weight:700;min-height:var(--control-target,44px);padding:0 var(--space-4,16px);white-space:nowrap}.ui-tab:hover:not([aria-disabled=true]){background:var(--surface-hover);color:var(--ink)}.ui-tab[aria-selected=true]{border-bottom-color:var(--accent-solid);color:var(--accent)}.ui-tab[aria-disabled=true]{cursor:not-allowed;opacity:.55}.ui-avatar{background:var(--avatar-bg);border-radius:50%;color:var(--avatar-fg);display:inline-grid;flex:none;font-family:var(--font-display);font-weight:700;place-items:center;--avatar-size:32px;height:var(--avatar-size);width:var(--avatar-size);font-size:calc(var(--avatar-size) * .45)}.ui-avatar--sm{--avatar-size:24px}.ui-avatar--lg{--avatar-size:48px}.ui-avatar--xl{--avatar-size:56px}.ui-avatar--ring{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--avatar-bg)}.ui-progress{align-items:center;display:flex;gap:var(--space-3,12px)}.ui-progress__track{background:var(--surface-sunken);border-radius:var(--radius-pill,999px);flex:1 1;height:12px;overflow:hidden}.ui-progress--sm .ui-progress__track{height:8px}.ui-progress__fill{background:var(--accent-solid);border-radius:var(--radius-pill,999px);display:block;height:100%;transition:width var(--dur-3,.22s) var(--ease-out,ease)}.ui-progress--complete .ui-progress__fill{background:var(--success-ink)}.ui-progress__text{color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.ui-done-disc{align-items:center;background:var(--surface-raised);border:2.5px solid var(--line-strong);border-radius:50%;color:var(--accent);cursor:pointer;display:inline-flex;flex:none;font:inherit;font-weight:800;gap:var(--space-2,8px);height:var(--control-target,44px);justify-content:center;min-width:var(--control-target,44px);padding:0}.ui-done-disc:hover:not([aria-disabled=true]){border-color:var(--accent)}.ui-done-disc:active:not([aria-disabled=true]){background:var(--surface-pressed)}.ui-done-disc--done{animation:ui-pop var(--dur-celebrate,.6s) var(--ease-pop,ease-out);background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent);font-size:1.375rem}.ui-done-disc--partial{background:conic-gradient(var(--accent-solid) 0 66%,var(--accent-surface) 66% 100%);border-color:var(--accent-solid);color:var(--ink)}.ui-done-disc--bonus{border-color:var(--points-accent);border-style:dashed;color:var(--points-accent)}.ui-done-disc--locked{background:var(--surface-sunken);border-radius:var(--radius-pill,999px);color:var(--ink-muted);padding:0 var(--space-3,12px)}.ui-done-disc__word{font-size:.8125rem}.ui-done-disc[aria-disabled=true]{cursor:not-allowed;opacity:.55}@keyframes ui-pop{0%{transform:scale(.6)}to{transform:scale(1)}}.ui-toast{align-items:center;background:var(--surface-overlay);border:var(--border-decorative,1px) solid var(--line);border-radius:var(--radius-md,16px);box-shadow:0 10px 28px -14px var(--shadow-color,rgb(0 0 0/26%));color:var(--ink);display:flex;gap:var(--space-3,12px);padding:var(--space-3,12px) var(--space-4,16px)}.ui-toast--info{background:var(--info-surface)}.ui-toast--success{background:var(--success-surface);color:var(--success-ink)}.ui-toast--error{background:var(--danger-surface);color:var(--danger-accent)}.ui-toast__message{flex:1 1;font-weight:700}.ui-toast__dismiss{background:transparent;border:0;border-radius:50%;color:inherit;cursor:pointer;font-size:1.25rem;height:var(--control-target,44px);width:var(--control-target,44px)}.ui-empty-state{align-items:center;background:var(--accent-soft);border-radius:var(--radius-lg,24px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);justify-items:center;padding:var(--space-8,32px) var(--space-6,24px);text-align:center}.ui-empty-state__icon{font-size:2.25rem}.ui-empty-state__title{font-family:var(--font-display);font-size:1.125rem;margin:0}.ui-empty-state__description{color:var(--ink-muted);margin:0;max-width:40ch}.ui-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px)}.accent-picker{border:0;margin:var(--space-4,16px) 0 var(--space-6,24px);padding:0}.accent-picker legend{font-weight:700;padding:0}.accent-picker__options{display:flex;flex-wrap:wrap;gap:var(--space-3,12px);margin-top:var(--space-2,8px)}.accent-picker__option{align-items:center;background:var(--surface-raised);border:var(--border-control,1.5px) solid var(--line-strong);border-radius:var(--radius-pill,999px);cursor:pointer;display:inline-flex;gap:var(--space-2,8px);min-height:var(--control-target,44px);padding:0 var(--space-4,16px) 0 var(--space-2,8px)}.accent-picker__option:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--ink)}.accent-picker__option:has(input:focus-visible){outline:var(--focus-ring-width,2px) solid var(--focus-ring);outline-offset:4px}.accent-picker__option input{opacity:0;position:absolute}.accent-picker__swatch{border-radius:50%;display:inline-block;height:28px;width:28px}.all-kids-board-page{container:board/inline-size}.all-kids-board__header,.all-kids-board__jump{max-width:none}.all-kids-board-page .today-calendar-strip{margin-inline:4px;max-width:none;width:calc(100% - 8px)}.all-kids-board__jump-chip,.all-kids-board__lane{--member-ink:var(--member-ink-light,var(--ink))}:root[data-theme=dark] .all-kids-board__jump-chip,:root[data-theme=dark] .all-kids-board__lane{--member-ink:var(--member-ink-dark,var(--ink))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .all-kids-board__jump-chip,:root:not([data-theme=light]) .all-kids-board__lane{--member-ink:var(--member-ink-dark,var(--ink))}}.all-kids-board__lanes{--lane-count:1;--lane-gap:14px;gap:var(--lane-gap);max-width:none;scroll-padding-inline:4px}@container board (min-width: 700px){.all-kids-board__lanes{--lane-count:2}}@container board (min-width: 1100px){.all-kids-board__lanes{--lane-count:3}}.all-kids-board__lane,.all-kids-board__lane--filtered{background:color-mix(in srgb,var(--member-color,var(--accent-solid)) 10%,var(--surface-raised));border:var(--border-control,1.5px) solid color-mix(in srgb,var(--member-color,var(--line)) 35%,var(--line));border-radius:var(--radius-xl,28px);flex:0 0 clamp(320px,calc((100cqw - (var(--lane-count) - 1) * var(--lane-gap) - 8px) / var(--lane-count)),520px);align-content:start;align-items:start;grid-auto-rows:max-content;grid-template-columns:minmax(0,1fr);grid-template-rows:none;padding:var(--space-4,16px);row-gap:var(--space-3,12px)}.all-kids-board__band:only-of-type,.all-kids-board__lane-head,.all-kids-board__timeframes{grid-column:1/-1}@media (min-width:760px){.all-kids-board__lane:not(.all-kids-board__lane--filtered){flex-basis:clamp(608px,48cqw,640px);grid-template-columns:repeat(2,minmax(0,1fr))}}.all-kids-board__lane--you{border-color:var(--member-color,var(--accent-solid));box-shadow:0 0 0 3px var(--surface-canvas),0 0 0 5px var(--member-color,var(--accent-solid))}.all-kids-board__lane--ringed{box-shadow:0 0 0 3px var(--surface-canvas),0 0 0 6px var(--ink)}.all-kids-board__lane--up-for-grabs{background:var(--points-surface);border:2px dashed var(--points-accent)}.all-kids-board__lane-head{align-items:center;gap:var(--space-3,12px);min-height:0}.all-kids-board__lane-name{font-size:1.375rem;line-height:1.1}.all-kids-board__you-tag{background:var(--ink);color:var(--surface-canvas)}.all-kids-board__lane-balance{background:var(--points-surface);border-radius:var(--radius-pill,999px);color:var(--points-accent);display:inline-flex;font-weight:800;gap:4px;margin-top:6px;padding:2px 12px}.all-kids-board__lane-balance-value{color:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.all-kids-board__lane-progress{height:12px;margin-top:var(--space-2,8px);max-width:none}.all-kids-board__lane-progress>span{background:var(--accent-solid)}.all-kids-board__lane-progress--done>span{background:var(--success-ink)}.all-kids-board__lane-cheer{background:var(--points-solid);border-radius:var(--radius-lg,24px);color:var(--on-points);font-family:var(--font-display);font-size:1rem;margin:var(--space-2,8px) 0 0;padding:8px 14px;text-align:center}.all-kids-board__band-label{font-size:.8125rem;font-weight:800;letter-spacing:.08em}.all-kids-board__band-chip{background:var(--member-color,var(--accent-solid))}.all-kids-board__band-chip--school{background:var(--school-accent)}.all-kids-board__band-empty{background:var(--accent-soft);border-radius:var(--radius-lg,24px);text-align:center}.all-kids-board__row{align-items:center;background:var(--surface-raised);border:var(--border-control,1.5px) solid var(--line);border-radius:var(--radius-lg,24px);min-height:var(--row-min-h,52px);padding:var(--row-pad-y,10px) 14px}.all-kids-board__row--bonus{background:var(--points-surface);border:2px dashed var(--points-accent)}.all-kids-board__points{background:var(--points-surface);color:var(--points-accent);font-weight:800}.all-kids-board__points--school{background:var(--school-surface);color:var(--school-accent)}.all-kids-board__jump-chip{border-radius:var(--radius-lg,24px)}.all-kids-board__jump-chip--you{border-color:var(--member-color,var(--accent-solid))}.all-kids-board__jump-chip[aria-current=true]{box-shadow:0 0 0 2px var(--surface-canvas),0 0 0 4px var(--ink)}.all-kids-board__timeframe{border-color:var(--line-strong);color:var(--ink);font-weight:700}.all-kids-board__timeframe[aria-pressed=true]{background:var(--accent-surface);border:2px solid var(--accent-solid);color:var(--ink)}.all-kids-board__column-options input:checked+span{background:var(--surface-raised);box-shadow:0 1px 0 var(--line);color:var(--ink);font-weight:800}.all-kids-board__check .ui-checkbox__mark{border-radius:50%;border-width:2.5px;flex:none;height:var(--control-target,44px);width:var(--control-target,44px)}.all-kids-board__check input:checked+.ui-checkbox__mark{animation:ui-pop var(--dur-celebrate,.6s) var(--ease-pop,ease-out)}.all-kids-board__check input:checked+.ui-checkbox__mark:after{height:16px;width:8px}@media (prefers-reduced-motion:reduce){.all-kids-board__lane-progress>span{transition:none}.all-kids-board__check input:checked+.ui-checkbox__mark,.completion-celebration__message{animation:none}.completion-celebration__fireworks{display:none}}.money-amount,.money-amount--tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.money-enable{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);justify-items:start}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3,12px) var(--space-4,16px);justify-content:space-between;margin-bottom:var(--space-4,16px)}.page-header__title{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.5rem,3vw,1.875rem);line-height:1.15;margin:0}.page-header__toolbar{justify-content:flex-end}.overflow-menu{display:inline-block;position:relative}.ui-button.ui-button--icon.overflow-menu__trigger{min-height:var(--control-target,44px);min-width:var(--control-target,44px)}.overflow-menu__list{background:var(--surface-overlay,#fff);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-sm,8px);box-shadow:0 10px 28px -14px var(--shadow-color,rgb(35 48 42/26%));display:flex;flex-direction:column;min-width:160px;padding:var(--space-1,4px);position:absolute;right:0;top:100%;z-index:50}.overflow-menu__item{background:transparent;border:0;border-radius:var(--radius-sm,8px);color:var(--ink,#23302a);cursor:pointer;font:inherit;min-height:var(--control-target,44px);padding:0 var(--space-3,12px);text-align:left}.overflow-menu__item:focus-visible,.overflow-menu__item:hover:not([aria-disabled=true]){background:var(--surface-hover)}.overflow-menu__item[aria-disabled=true]{cursor:not-allowed;opacity:.55}.overflow-menu__item--destructive{color:var(--danger-ink,#8a2a1f)}.chore-shell__content.chore-shell__content--list,.list-page{max-width:100%;width:100%}.list-page>.auth-alert,.list-page>.ui-help{margin:0 0 var(--space-3,12px)}.list-page .page-header__toolbar{align-items:flex-start;flex:1 1 360px;flex-wrap:nowrap;justify-content:flex-end;max-width:100%;min-width:0}.list-page .page-header__toolbar .filter-chips{flex:1 1 auto;margin:0;min-width:0}@media (max-width:640px){.list-page .page-header__toolbar{flex-basis:100%;flex-wrap:wrap}.list-page .page-header__toolbar .filter-chips{flex-basis:100%;overflow-x:auto}.list-page .filter-chips__list{flex-wrap:nowrap}.list-page .filter-chips__chip{flex:0 0 auto}}.list-page__add{margin-bottom:var(--space-4,16px)}.list-groups{background:var(--surface-raised,#fbfaf6);border:var(--border-decorative,1px) solid var(--line,#d3d4c7);border-radius:var(--radius-md,12px);list-style:none;margin:0 0 var(--space-6,24px);padding:0}.list-group+.list-group{border-top:var(--border-decorative,1px) solid var(--line,#d3d4c7)}.list-group__head{align-items:center;background:var(--surface-canvas,#f3f2ec);display:flex;gap:var(--space-2,8px);min-height:var(--row-min-h,52px);padding:var(--space-1,4px) var(--row-pad-x,16px)}.list-group:first-child>.list-group__head{border-radius:var(--radius-md,12px) var(--radius-md,12px) 0 0}.list-group__head h2{color:var(--ink,#23302a);font-family:var(--font-display,Georgia,serif);font-size:1.0625rem;margin:0}.list-group__head h2 .list-group__toggle{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm,8px);color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-2,8px);margin:0;min-height:var(--control-target,44px);padding:0 var(--space-2,8px);text-align:start}.list-group__toggle:hover{background:var(--surface-raised,#fbfaf6)}.list-group__chevron{flex:none;transform:rotate(0deg)}.list-group__toggle[aria-expanded=false] .list-group__chevron{transform:rotate(-90deg)}.list-group__body[hidden]{display:none}.ui-button.list-page__collapse-all{min-height:var(--control-target,44px)}.list-group__actions{align-items:center;display:flex;gap:var(--space-1,4px);-webkit-margin-start:auto;margin-inline-start:auto}.list-group__editor{padding:var(--space-3,12px) var(--row-pad-x,16px)}.list-group__add{padding:var(--space-2,8px) var(--row-pad-x,16px) var(--space-3,12px)}.list-group__rows{list-style:none;margin:0;padding:0}.list-group__rows>.list-row:last-child{border-bottom:0}.list-row{flex-wrap:wrap;padding-block:var(--space-1,4px)}.list-row__copy{align-items:baseline;display:flex;flex:1 1 200px;flex-wrap:wrap;gap:0 var(--space-3,12px);min-width:0}.list-row__title{overflow-wrap:anywhere}.list-row__meta{color:var(--ink-muted,#55645b);font-size:.8125rem}.list-row__note{flex-basis:100%;margin:0}.list-groups>.list-row:last-child{border-bottom:0}h3.list-row__title{font-size:1rem;margin:0}.list-group__empty{margin:0;padding:var(--space-3,12px) var(--row-pad-x,16px)}.ui-button.ui-button--icon.list-row__assign{min-height:var(--control-target,44px);min-width:var(--control-target,44px)}.list-row .assignment-toggle{align-self:center;flex:0 0 auto}.list-page .page-header__toolbar .ui-button{white-space:nowrap}@media (max-width:640px){.list-row:has(>.assignment-toggle)>.list-row__copy{flex-basis:100%}.list-row>.assignment-toggle{flex:1 1 auto}}.list-row .area-chore-custom ul{display:grid;grid-gap:4px;gap:4px;list-style:none;margin:0;padding:0}.list-row .area-chore-custom li{align-items:center;display:flex;font-size:.875rem;gap:8px}.all-kids-board__timeframes{align-content:flex-start;align-items:flex-start;align-self:start;padding:10px 12px}.all-kids-board__timeframe{justify-content:center;min-width:var(--control-target,44px);min-height:var(--control-target,44px);padding-inline:10px}.all-kids-board__timeframe:focus-visible{outline:3px solid var(--accent-solid);outline-offset:3px}.all-kids-board__timeframe:not(.all-kids-board__timeframe-show-all){box-sizing:border-box;flex:0 0 var(--control-target,44px);height:var(--control-target,44px);width:var(--control-target,44px)}.all-kids-board__timeframe .dashboard-timeframe-icon{display:block;flex:none;height:24px;width:24px}.all-kids-board__timeframe:not(.all-kids-board__timeframe-show-all){padding:0}.weekly-schedule{display:grid;grid-gap:var(--space-4,16px);gap:var(--space-4,16px);margin-top:var(--space-3,12px)}.weekly-schedule__days{display:grid;grid-gap:var(--space-3,12px);gap:var(--space-3,12px);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));list-style:none;margin:0;padding:0}.weekly-schedule__day,.weekly-schedule__occasional{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md,16px);display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);align-content:start;min-width:0;padding:var(--space-3,12px)}.weekly-schedule__day-name{color:var(--ink);font-size:1rem;margin:0}.weekly-schedule__list{display:grid;grid-gap:var(--space-2,8px);gap:var(--space-2,8px);list-style:none;margin:0;padding:0}.weekly-schedule__item{background:var(--accent-soft);border-radius:var(--radius-sm,10px);display:grid;grid-gap:2px;gap:2px;padding:var(--space-2,8px) var(--space-3,12px)}.weekly-schedule__item-title{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.weekly-schedule__item-meta,.weekly-schedule__none{color:var(--ink-muted);font-size:.875rem;margin:0}@media (max-width:480px){.weekly-schedule__days{grid-template-columns:1fr}}.notification-bell{position:relative;flex-shrink:0}.notification-bell__toggle{position:relative;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line-strong);border-radius:.65rem;background:var(--surface-raised);color:var(--ink);cursor:pointer}.notification-bell__toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.notification-bell__badge{position:absolute;top:-5px;right:-5px;min-width:20px;padding:1px 4px;border-radius:20px;color:var(--ink-inverse);background:var(--danger-accent);font-size:.7rem;font-weight:700}.notification-bell__backdrop{position:fixed;inset:0;z-index:109;background:rgb(0 0 0/12%)}.notification-bell__panel{position:absolute;z-index:110;top:calc(100% + 8px);right:0;width:min(390px,calc(100vw - 24px));max-height:min(650px,calc(100dvh - 100px));overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-overlay);color:var(--ink);box-shadow:0 10px 30px rgb(0 0 0/15%)}.notification-bell__panel button{min-height:44px;padding:.5rem .85rem;border:1px solid var(--line-strong);border-radius:.5rem;background:var(--surface-raised);color:var(--ink);cursor:pointer}.notification-bell__panel button:disabled{color:var(--ink-disabled);cursor:default}.notification-bell__actions,.notification-bell__heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-bell__heading h2{margin:0;font-size:1.15rem}.notification-bell__items{list-style:none;margin:.75rem 0;padding:0}.notification-bell__items li{padding:.85rem .5rem;border-bottom:1px solid var(--line)}.notification-bell__items li[data-unread]{border-left:3px solid var(--accent)}.notification-bell__items p{margin:0 0 .35rem}.notification-bell__items time{color:var(--ink-muted);font-size:.8rem}.notification-bell__actions{margin-top:.5rem;flex-wrap:wrap}.notification-bell__actions a{display:inline-flex;align-items:center;min-height:44px}.recipe-import-list__filters,.recipe-import-list__links{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.recipe-import-list__filters button,.recipe-import-list__links a{min-height:44px;display:inline-flex;align-items:center}.recipe-import-list__filters button{padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:.5rem;cursor:pointer;background:var(--surface-raised);color:var(--ink)}.recipe-import-list__filters button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:1px}.recipe-import-list{list-style:none;padding:0}.recipe-import-list>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.recipe-import-list h2{font-size:1.1rem;margin:0}.recipe-import-list p{margin:.4rem 0}.recipe-import-list>li>div{flex:1 1 230px}.recipe-import-list>li>a{min-height:44px;display:inline-flex;align-items:center}@media (max-width:480px){.notification-bell__panel{position:fixed;top:70px;right:12px}}.app-header>.notification-bell{margin-left:auto}.app-header__assistant+.notification-bell{margin-left:0}