@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#eeeaf4;font-synthesis:none;text-rendering:optimizelegibility;background:#09080c;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{overscroll-behavior-y:none;touch-action:pan-x pan-y;background:#09080c}body{overscroll-behavior-y:none;background:radial-gradient(circle at 50% -10%,#21172c 0,#09080c 36%);min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}#root{overscroll-behavior-y:none;touch-action:pan-x pan-y;min-height:100svh}.portrait-guard{display:none}@media (orientation:landscape) and (hover:none) and (pointer:coarse){.portrait-guard{z-index:10000;color:#eeeaf4;text-align:center;background:#0e0c13;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:fixed;inset:0}.portrait-guard strong{font-family:Space Grotesk,sans-serif;font-size:20px}.portrait-guard span{color:#aaa2b5}}.app-shell{grid-template-rows:76px minmax(0, 1fr) calc(72px + env(safe-area-inset-bottom));background:#0e0c13;max-width:760px;height:100svh;margin:0 auto;display:grid;overflow:hidden}.ant-btn{max-width:100%}.ant-btn>span:not(.anticon){text-overflow:ellipsis;overflow:hidden}.ant-drawer-content-wrapper{max-width:100vw!important}.ant-drawer-bottom>.ant-drawer-content-wrapper{max-height:calc(100svh - 16px);height:auto!important}.ant-drawer-bottom .ant-drawer-section{max-height:calc(100svh - 16px);overflow:hidden}.ant-drawer .ant-form-item{margin-bottom:10px}.ant-modal,.ant-picker-dropdown,.ant-select-dropdown{max-width:calc(100vw - 16px)}.app-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0c13eb;border-bottom:1px solid #282231;justify-content:space-between;align-items:center;height:76px;padding:0 18px;display:flex;position:relative}.wordmark{color:#f5f1ff;font-family:Space Grotesk,sans-serif;font-size:19px;font-weight:700;display:block}.household-name{color:#8e879c;font-size:12px}.avatar-button{width:44px!important;height:44px!important;padding:3px!important}.avatar-button .ant-avatar{color:#fff;background:#7950d9}.app-content{overscroll-behavior-y:none;scrollbar-gutter:stable;min-height:0;padding:0 18px 40px;overflow-y:auto}.page-heading{z-index:9;margin-inline:-18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0c13f5;border-bottom:1px solid #282231;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;padding:24px 18px 14px;display:flex;position:sticky;top:0}.page-heading>div:first-child{min-width:0}.page-heading-title-row{align-items:center;gap:10px;display:flex}.page-heading-actions{flex:none;align-items:center;display:flex}.page-heading h2{font-family:Space Grotesk,sans-serif;margin:3px 0 0!important;font-size:28px!important}.eyebrow{color:#9b6cff;letter-spacing:1.4px;font-size:11px;font-weight:700}.bottom-nav{z-index:20;width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:6px 5px env(safe-area-inset-bottom);background:#15111c;border-top:1px solid #30283b;grid-template-columns:repeat(6,1fr);display:grid;position:relative}.bottom-nav button{color:#7f788d;min-width:0;font:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.bottom-nav button>:first-child{height:24px;font-size:21px}.bottom-nav button.active{color:#aa82ff}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.dashboard-grid.reorder-mode{grid-template-columns:1fr}.dashboard-grid.reorder-mode .dashboard-section.wide{grid-column:auto}.dashboard-section{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#15121b;border:1px solid #2b2535;min-width:0;padding:14px}.dashboard-section.wide{grid-column:1/-1}.dashboard-section.reorder-mode{border-color:#423452}.dashboard-section.dragging{z-index:5;border-color:#7652ae;box-shadow:0 8px 24px #00000052}.dashboard-section>header{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:34px;margin-bottom:10px;display:grid}.dashboard-section.reorder-mode>header{grid-template-columns:32px 32px minmax(0,1fr)}.dashboard-section>header h3{color:#eee9f5;overflow-wrap:anywhere;min-width:0;margin:0!important;font-size:15px!important}.dashboard-section>header .ant-btn{color:#9f79eb;width:32px;height:32px;padding:0}.dashboard-section>header .dashboard-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.dashboard-section>header .dashboard-drag-handle:active{cursor:grabbing}.dashboard-section-icon{color:#b794f6;background:#261d33;border-radius:6px;place-items:center;width:32px;height:32px;font-size:17px;display:grid}.dashboard-section-icon .anticon{display:inline-flex}.dashboard-meals{border-top:1px solid #30283b;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-meal{gap:3px;min-width:0;padding:12px 8px 2px;display:grid}.dashboard-meal+.dashboard-meal{border-left:1px solid #30283b}.dashboard-meal>span{color:#8e8698;text-transform:uppercase;font-size:10px;font-weight:700}.dashboard-meal>strong{color:#f0ebf6;overflow-wrap:anywhere;font-size:14px}.dashboard-list{margin:0;padding:0;list-style:none}.dashboard-list li{color:#ddd6e5;border-top:1px solid #2b2535;min-width:0;min-height:38px}.dashboard-events li{grid-template-columns:90px minmax(0,1fr);align-items:center;gap:10px;padding-block:8px;display:grid}.dashboard-events time{color:#a985ed;text-transform:capitalize;font-size:11px;font-weight:700}.dashboard-events li>span,.dashboard-laundry li>span{gap:1px;min-width:0;display:grid}.dashboard-events strong,.dashboard-laundry strong{overflow-wrap:anywhere}.dashboard-list small{color:#88808f;font-size:10px}.dashboard-ranked{counter-reset:dashboard-task}.dashboard-ranked li{counter-increment:dashboard-task;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:9px 0;display:grid}.dashboard-ranked li:before{content:counter(dashboard-task);color:#b997f5;background:#261d33;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:grid}.dashboard-ranked li>span{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.dashboard-ranked li>span>strong{font-weight:500}.dashboard-completed-tasks li{grid-template-columns:26px minmax(0,1fr) 32px;align-items:center;gap:9px;padding-block:7px;display:grid}.dashboard-completed-tasks .ant-avatar{background:#40344e;margin:0;font-size:10px}.dashboard-completed-tasks li>span{color:#dcd5e4;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.dashboard-completed-tasks li>strong{color:#77d5ba;font-variant-numeric:tabular-nums;background:#51c7a61f;border:1px solid #397f70;border-radius:999px;justify-self:end;place-items:center;width:28px;height:24px;font-size:11px;display:grid}.dashboard-groceries li{overflow-wrap:anywhere;padding:9px 0 9px 17px;position:relative}.dashboard-groceries li:before{content:"";background:#51c7a6;border-radius:50%;width:6px;height:6px;position:absolute;top:15px;left:1px}.dashboard-laundry li{justify-content:space-between;align-items:center;gap:12px;padding-block:9px;display:flex}.dashboard-laundry time{color:#b69aff;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.dashboard-empty{color:#77707f;border-top:1px solid #2b2535;margin:0;padding:11px 0 3px;font-size:12px}.agenda-tabs{width:100%;margin-bottom:20px}.calendar-import-input{display:none}.calendar-import-tutorial{gap:14px;max-width:560px;margin:0 auto;display:grid}.calendar-import-tutorial ol{color:#eee9f5;gap:8px;margin:0;padding-left:24px;line-height:1.45;display:grid}.calendar-import-tutorial li{padding-left:4px}.calendar-import-tutorial li::marker{color:#b89be9;font-weight:700}.calendar-import-tutorial a{color:#c5a8ff;text-underline-offset:2px;font-weight:600;text-decoration:underline}.calendar-import-tutorial .ant-segmented{width:100%}.calendar-file-import-content{gap:14px;display:grid}.calendar-file-import-content .ant-btn{min-height:40px}.google-calendar-connection{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;gap:12px;padding:14px;display:grid}.google-calendar-connection>div{gap:3px;display:grid}.google-calendar-connection .ant-btn{min-height:40px}.google-calendar-connection>.calendar-sync-direction{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-sync-direction>div{gap:2px;display:grid}.calendar-sync-direction .ant-switch{flex:none}.apple-calendar-credentials{gap:10px;display:grid}.equal-radio{width:100%;display:grid}.equal-radio.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}.equal-radio.three-options{grid-template-columns:repeat(3,minmax(0,1fr))}.equal-radio.four-options{grid-template-columns:repeat(4,minmax(0,1fr))}.equal-radio .ant-radio-button-wrapper{text-align:center;text-overflow:ellipsis;min-width:0;padding-inline:6px;overflow:hidden}.timeline{flex-direction:column;display:flex}.agenda-calendar{touch-action:pan-y;overscroll-behavior-x:contain;min-width:0;overflow-x:clip}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-toolbar>.equal-radio{flex:1;width:auto;min-width:0}.calendar-navigation{align-items:center;display:flex}.calendar-navigation .ant-btn:first-child,.calendar-navigation .ant-btn:last-child{width:34px;padding-inline:0}.calendar-view{min-width:0}.calendar-view.slide-next{animation:.24s cubic-bezier(.22,1,.36,1) both calendar-slide-next}.calendar-view.slide-previous{animation:.24s cubic-bezier(.22,1,.36,1) both calendar-slide-previous}.calendar-period-title{text-transform:capitalize;margin:18px 0 12px!important;font-size:17px!important}@keyframes calendar-slide-next{0%{opacity:.35;transform:translate(34px)}to{opacity:1;transform:translate(0)}}@keyframes calendar-slide-previous{0%{opacity:.35;transform:translate(-34px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.calendar-view.slide-next,.calendar-view.slide-previous,.task-undo-progress,.task-completion-progress,.sortable-task-wrapper.completion-exiting,.laundry-item.completion-pending{animation:none!important}.task-swipe-foreground,.task-swipe-action .anticon{transition:none}}.month-calendar{border:1px solid #30283b;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{color:#81798c;text-align:center;text-transform:uppercase;min-width:0;padding:7px 2px;font-size:9px;font-weight:600}.month-calendar>.calendar-weekday{border-bottom:1px solid #30283b}.month-day{touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#131018;border-bottom:1px solid #30283b;border-right:1px solid #30283b;min-width:0;min-height:104px;padding:7px}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.month-day>strong{color:#d8d1e1;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.month-day.outside{background:#100d14}.month-day.outside>strong{color:#544d5e}.month-day.today>strong{color:#fff;background:#8f5df0;border-radius:50%}.month-day>div{gap:4px;margin-top:4px;display:grid}.calendar-event{border:1px solid var(--event-color);background:color-mix(in srgb, var(--event-color) 17%, #131018);color:#efeaf5;min-width:0;font:inherit;text-align:left;text-overflow:ellipsis;cursor:pointer;border-left-width:3px;border-radius:4px;padding:6px 7px;font-size:10px;line-height:1.25;overflow:hidden}.calendar-event:hover{background:color-mix(in srgb, var(--event-color) 27%, #131018)}.calendar-event span{color:var(--event-color);font-size:9px;display:block}.calendar-event.compact{white-space:nowrap;width:100%;padding:4px 5px}.calendar-event.compact span{display:none}.year-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.year-month{background:#131018;border:1px solid #30283b;min-width:0;padding:10px}.year-month h5{color:#d8d1e1;text-transform:capitalize;margin:0 0 6px;font-size:12px;font-weight:600}.year-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.year-month-grid button{aspect-ratio:1;color:#aaa2b4;min-width:0;font:inherit;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:3px;padding:0;font-size:9px;position:relative}.year-month-grid button:hover{color:#fff;background:#302042}.year-month-grid button.outside{color:#403a48}.year-month-grid button.today{color:#fff;outline:1px solid #8f5df0}.year-month-grid button.has-events{color:#fff;font-weight:700}.year-event-dots{justify-content:center;gap:1px;display:flex;position:absolute;bottom:1px;left:1px;right:1px}.year-event-dots i{border-radius:50%;width:4px;height:4px}.event-row{grid-template-columns:48px 1fr;gap:15px;display:grid;position:relative}.event-save-actions .event-save-button{flex:1;margin:0}.event-row:not(:last-child):before{content:"";background:#332a41;width:1px;position:absolute;top:56px;bottom:2px;left:23px}.event-swipe-item{overflow:hidden}.event-swipe-item:not(:last-child) .event-row:before{content:"";background:#332a41;width:1px;position:absolute;top:56px;bottom:2px;left:23px}.event-swipe-item .task-swipe-foreground{background:#0e0c13}.event-title-button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.event-title-button:focus-visible{outline-offset:2px;outline:2px solid #9b6cff}.event-tasks-toggle{color:#8f8799;min-height:30px;padding-inline:7px;font-size:11px}.event-tasks-toggle.active{color:#b69aff}.date-tile{border:1px solid var(--event-color);background:#191421;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:48px;height:52px;display:flex}.date-tile strong{color:var(--event-color);font-size:20px;line-height:20px}.date-tile span{color:#857c91;text-transform:uppercase;font-size:10px}.event-body{min-width:0;padding:2px 0 28px}.event-topline{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.event-meta{color:#8e879c;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.event-actions{flex:none;align-items:center;gap:2px;display:flex}.event-actions .ant-btn{width:28px;height:28px;padding:0}.event-reminder{color:#a98ce5;align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.event-participants{color:#8e879c;align-items:center;gap:7px;min-width:0;margin:-7px 0 12px;font-size:12px;display:flex}.event-participants>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.event-location{color:#8e879c;overflow-wrap:anywhere;align-items:center;gap:6px;margin:-7px 0 12px;font-size:12px;display:flex}.event-location svg{flex:none;margin-top:1px}.event-location>a{min-width:0;color:inherit;overflow-wrap:anywhere;text-underline-offset:2px;-webkit-text-decoration:underline #51485e;text-decoration:underline #51485e}.event-location>a:hover{color:#c4a7ff}.event-travel-time{color:#a98ce5;flex:none;min-width:0;height:24px;margin-left:auto;padding-inline:5px;font-size:11px}.location-autocomplete .ant-select{width:100%}.location-autocomplete>a{color:#777080;width:fit-content;margin:3px 0 0 auto;font-size:9px;display:block}.event-schedule{color:#9f93ad;text-transform:capitalize;flex-wrap:wrap;gap:5px 12px;margin:-7px 0 12px;font-size:11px;display:flex}.event-meta .ant-tag{background:color-mix(in srgb, currentColor 13%, #15121b);text-transform:capitalize;font-size:10px;line-height:18px}.event-body h4{margin:7px 0 12px!important;font-size:17px!important}.event-type-option{align-items:center;gap:8px;min-width:0;display:flex}.event-type-option i{border-radius:50%;flex:none;width:11px;height:11px}.event-type-option.create{color:#b69aff}.create-select-option{color:#b69aff;align-items:center;gap:7px;display:inline-flex}.small-drawer-form{gap:10px;max-width:560px;margin:0 auto;display:grid}.small-drawer-form label{gap:4px;min-width:0;display:grid}.small-drawer-form .ant-picker,.small-drawer-form .ant-input-number{width:100%}.required-field-label:before{color:#ff4d4f;content:"*";margin-inline-end:4px;font-family:SimSun,sans-serif;display:inline-block}.event-type-drawer-form{gap:10px;max-width:560px;margin:0 auto;display:grid}.event-type-drawer-form label{gap:4px;display:grid}.event-type-drawer-form .ant-color-picker-trigger{justify-content:flex-start;width:100%}.responsibilities{background:#17131e;border-left:2px solid #7048bd;flex-direction:column;gap:8px;padding:11px 12px;display:flex}.responsibility-heading{justify-content:space-between;align-items:center;min-height:24px;display:flex}.responsibility-heading>span{color:#7f788d;letter-spacing:1px;text-transform:uppercase;font-size:10px}.responsibility-heading .ant-btn{color:#b69aff;width:28px;height:28px;padding:0}.surface-list .ant-avatar{background:#40344e;margin-left:8px;font-size:9px}.responsibilities .task-list{margin:0}.responsibility-row{align-items:center;gap:6px;min-width:0;display:flex}.responsibility-row>.ant-checkbox-wrapper{flex:1;min-width:0}.responsibility-row>.ant-checkbox-wrapper>span:last-child{overflow-wrap:anywhere;min-width:0}.responsibility-actions{flex:none;align-items:center;gap:2px;display:flex}.responsibility-actions .ant-btn{width:28px;height:28px;padding:0}.done-text{color:#716b7b;text-decoration:line-through}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid .ant-picker{width:100%}.large-form-drawer .ant-drawer-content-wrapper{width:min(100vw,440px)!important}.event-drawer .ant-form-item{margin-bottom:10px}.date-input-control{grid-template-columns:minmax(0,1fr) 40px;gap:6px;display:grid}.date-input-control .ant-picker{width:100%}.date-input-control>.ant-btn{width:40px;padding-inline:0}.time-setting{grid-template-columns:minmax(0,4fr) minmax(58px,1fr);gap:10px;display:grid}.time-setting .ant-form-item:last-child .ant-form-item-label>label{justify-content:center;width:100%;font-size:11px}.time-setting .ant-form-item:last-child .ant-form-item-control-input-content{justify-content:center;display:flex}.recurrence-hint{text-align:center;text-transform:capitalize;font-size:12px;margin:-8px 0 12px!important}.reminder-toggle{background:#15121b;border:1px solid #2b2535;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 16px;padding:12px;display:flex}.reminder-toggle>div{gap:2px;min-width:0;display:grid}.reminder-toggle .ant-typography-secondary{font-size:12px}.reminder-sentence{background:#15121b;border:1px solid #2b2535;grid-template-columns:auto 64px minmax(90px,1fr) auto;align-items:center;gap:6px;padding:12px;display:grid}.reminder-sentence .ant-input-number,.reminder-sentence .ant-select{width:100%}.reminder-sentence>span{color:#d8d2df;white-space:nowrap;font-size:12px}.recurrence-setting{grid-template-columns:auto 74px minmax(0,1fr);align-items:center;gap:8px;display:grid}.recurrence-setting>span{color:#d8d2df}.recurrence-setting .ant-input-number,.recurrence-setting .ant-select{width:100%}.recurrence-setting.recurrence-off{grid-template-columns:1fr}.event-save-button{margin-top:12px}.event-responsibilities{background:#17131e;border-left:2px solid #7048bd;gap:8px;margin:4px 0 16px;padding:11px 12px;display:grid}.event-responsibilities>.ant-typography{font-size:12px}.event-responsibilities .task-line-content{flex:1}.surface-list{background:#15121b;border:1px solid #2b2535;padding:0 14px}.surface-list .ant-list-item{gap:12px;min-height:64px}.surface-list .ant-checkbox-wrapper{flex:1}.surface-list .ant-typography{text-align:right;font-size:11px}.managed-list-item{flex-wrap:nowrap!important}.managed-list-content{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.managed-list-content>.ant-checkbox-wrapper{align-items:flex-start;min-width:0}.managed-list-content>.ant-checkbox-wrapper .ant-checkbox{margin-top:2px}.managed-list-content>.ant-checkbox-wrapper .ant-checkbox-label{flex:1;min-width:0}.task-line-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-width:0;display:grid}.task-line-content>span:first-child{overflow-wrap:anywhere;min-width:0}.task-assignees{flex:none;padding-left:8px;display:flex}.task-assignees .ant-avatar{border:1px solid #15121b;margin-left:-8px}.task-assignees .ant-avatar:first-child{margin-left:0}.task-list.surface-list{background:0 0;border:0;padding:0}.task-list .ant-list-item{min-height:44px;padding:8px 10px;border-block-end:0!important}.task-primary{grid-template-columns:30px minmax(0,1fr);align-items:center;min-width:0;display:grid}.task-primary-template{display:block}.task-checkbox-hitbox.ant-checkbox-wrapper{cursor:pointer;align-items:center;width:30px;height:34px;margin:-2px 0 -2px -6px;padding-left:6px;display:flex}.task-checkbox-hitbox:has(.ant-checkbox-input:focus-visible){outline-offset:-3px;outline:2px solid #9b6cff}.task-title-button{min-width:0;color:inherit;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:3px 2px;line-height:1.45;overflow:hidden}.task-title-button:focus-visible{outline-offset:1px;outline:2px solid #9b6cff}.task-overview{gap:3px;display:grid}.task-overview>.ant-checkbox-wrapper{width:100%}.task-secondary{flex-wrap:wrap;align-items:center;gap:4px 7px;min-width:0;min-height:18px;margin-left:24px;display:flex}.task-secondary>.ant-typography{text-align:left;overflow-wrap:anywhere;min-width:0;font-size:10px}.task-description{white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #3b3048;min-width:0;padding:3px 0 3px 10px;line-height:1.5;color:#aaa2b4!important;text-align:left!important;margin:2px 0 0 24px!important;font-size:12px!important}.task-metadata{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.task-priority{margin:0!important;padding-inline:6px!important;font-size:9px!important;line-height:18px!important}.task-priority.low{color:#77d5ba;background:#51c7a61a;border-color:#397f70}.task-priority.medium{color:#eac762;background:#eab3081a;border-color:#826a27}.task-priority.high{color:#f08b95;background:#ef44441a;border-color:#8d3d48}.task-deadline,.task-duration{color:#aaa2b4;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.task-recurrence{color:#b9a3dc;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.task-deadline.overdue{color:#ef8994;font-weight:600}.sortable-task-wrapper{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:1px solid #342c3f;border-radius:6px;position:relative;overflow:hidden}.sortable-task-wrapper+.sortable-task-wrapper{margin-top:8px}.sortable-task-wrapper.completion-exiting{pointer-events:none;animation:.32s cubic-bezier(.4,0,1,1) forwards task-completion-exit}.task-completion-progress{z-index:3;transform-origin:0;pointer-events:none;background:#7fd8b8;height:3px;animation:10s linear both task-completion-countdown;position:absolute;bottom:0;left:0;right:0}@keyframes task-completion-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes task-completion-exit{to{opacity:0;transform:translate(-110%)}}.task-swipe-shell{position:relative;overflow:hidden}.task-swipe-foreground{z-index:1;touch-action:pan-y;background:#15121b;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:relative}.task-swipe-foreground.swiping{transition:none}.task-swipe-action{color:#fff;cursor:pointer;border:0;place-items:center;width:72px;padding:0;font-size:19px;display:grid;position:absolute;inset-block:0}.task-swipe-action .anticon{transition:transform 80ms linear}.task-swipe-edit{z-index:0;background:#32695f;left:0}.task-swipe-delete{z-index:0;background:#8f3340;right:0}.task-swipe-action:focus-visible{z-index:2;outline-offset:-4px;outline:2px solid #fff}.sortable-task{background:#15121b;width:100%;position:relative}.sortable-task.has-description{cursor:pointer}.sortable-task-wrapper.dragging{z-index:5;border-color:#7652ae;box-shadow:0 8px 24px #00000052}.task-item-side{justify-content:flex-end;align-self:start;align-items:center;gap:2px;min-width:30px;display:flex}.task-assignee-badge{background:#211b29;border:1px solid #40364d;border-radius:999px;align-items:center;min-height:24px;padding:1px 3px;display:flex}.task-assignee-badge .task-assignees{padding-left:0}.task-assignee-badge .ant-avatar{width:20px;min-width:20px;height:20px;line-height:18px}.task-description-toggle{width:26px!important;min-width:26px!important;height:26px!important;padding:0!important}.task-list.reorder-mode .sortable-task{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;display:grid}.task-list.reorder-mode .managed-list-content{width:100%}.task-list.reorder-mode .managed-list-content>.ant-typography{grid-column:1/-1}.task-list.reorder-mode .task-metadata{display:none}.reorder-task-content{width:100%}.task-drag-handle{color:#b89be9;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab!important;width:34px!important;min-width:34px!important;height:38px!important;padding:0!important}.task-drag-handle:active{cursor:grabbing!important}.managed-list-item>.ant-input{flex:1;min-width:0}.list-item-actions{flex:none;align-items:center;gap:2px;display:flex}.list-item-actions .ant-btn{width:30px;height:30px;padding:0}.task-filter{margin-bottom:14px}.task-list.recurring-mode .task-secondary{margin-left:2px}.task-completed-today{box-sizing:border-box;color:#77d5ba;background:#51c7a61a;border:1px solid #397f70;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-width:36px;height:30px;padding:0 7px;font-size:12px;display:inline-flex}.task-completed-today strong{font-variant-numeric:tabular-nums;font-size:11px}.task-drawer-form{gap:10px;max-width:560px;margin:0 auto;display:grid}.task-drawer-form label{gap:4px;display:grid}.task-extra-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.task-extra-fields label{min-width:0}.task-extra-fields .ant-picker{width:100%}.task-deadline-picker{grid-template-columns:minmax(0,1fr) 104px;gap:6px;display:grid}.task-notification-toggle{justify-content:space-between;align-items:center;gap:12px;min-height:46px;display:flex}.task-notification-toggle>div{gap:2px;min-width:0;display:grid}.task-notification-toggle .ant-typography-secondary{font-size:12px}.task-recurrence-settings{background:#17131e;border:1px solid #302839;border-radius:6px;grid-template-columns:auto 72px minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid}.task-recurrence-settings>.ant-typography{grid-column:1/-1;font-size:12px}.task-recurrence-settings .ant-input-number{width:100%}.task-recurrence-weekdays{grid-column:1/-1;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.task-recurrence-weekdays .ant-checkbox-wrapper{border:1px solid #3a3145;border-radius:5px;justify-content:center;height:30px;margin:0}.task-recurrence-weekdays .ant-checkbox{display:none}.task-recurrence-weekdays .ant-checkbox-wrapper-checked{color:#fff;background:#7048bd;border-color:#8f67d6}.task-recurrence-month-day{grid-column:1/-1}.task-drawer-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-drawer-actions .ant-btn:last-child{flex:1;min-width:0}.task-undo-stack{z-index:44;bottom:calc(84px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column-reverse;gap:8px;width:min(100% - 24px,736px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.task-undo{box-sizing:border-box;pointer-events:auto;background:#25202d;border:1px solid #4a4056;border-radius:6px;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 8px 8px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 34px #0000006b}.task-undo-title{color:#f5f1ff;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.task-undo .ant-btn{color:#c5a8ff;flex:none;font-weight:700}.task-undo-progress{transform-origin:0;background:#aa82ff;height:3px;animation:5s linear forwards task-undo-countdown;position:absolute;bottom:0;left:0;right:0}@keyframes task-undo-countdown{to{transform:scaleX(0)}}.task-notification-toggle .ant-switch{flex:none}.stat-row{color:#aaa3b4;justify-content:space-between;align-items:center;margin:-12px 0 12px;display:flex}.base-list-item{min-width:0}.grocery-list.surface-list{background:0 0;border:0;padding:0}.grocery-list{gap:8px;display:grid}.grocery-list.reorder-mode{gap:0}.grocery-category{background:#17131d;border:1px solid #382e44;border-radius:6px;gap:7px;min-width:0;padding:10px;display:grid}.grocery-category.uncategorized{background:0 0;border:0;padding:0}.grocery-category.dragging{opacity:.28}.grocery-list.reorder-mode .grocery-category{gap:0}.grocery-category+.grocery-category,.grocery-category+.grocery-gap-drop-zone,.grocery-category+.sortable-grocery{margin-top:6px}.grocery-category>header{color:#bca9d9;align-items:center;gap:7px;min-height:24px;padding-inline:3px;display:flex}.grocery-category>header>button:not(.grocery-category-drag-handle){color:#eee9f5;min-width:0;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:3px 0;font-size:12px;font-weight:700;display:inline-flex}.grocery-category>header>button:not(.grocery-category-drag-handle):disabled{color:#eee9f5;cursor:default}.grocery-category>header>button:not(.grocery-category-drag-handle) .anticon{color:#8f7ba8;flex:none;font-size:12px}.grocery-category>header span{color:#777080;font-variant-numeric:tabular-nums;font-size:10px}.grocery-category-drag-handle{color:#b89be9;touch-action:none;cursor:grab!important;width:28px!important;min-width:28px!important;height:28px!important;padding:0!important}.grocery-category-drag-handle:active{cursor:grabbing!important}.grocery-category-gap-drop-zone{box-sizing:border-box;border:2px dashed #0000;border-radius:6px;height:8px}.grocery-category-gap-drop-zone.active{background:#9b6cff0f;border-color:#7d609f;height:66px}.sortable-grocery{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:6px;min-width:0;position:relative}.sortable-grocery.dragging{opacity:.32}.grocery-drop-surface{border-radius:6px;min-width:0;transition:outline-color .14s,box-shadow .14s,background-color .14s;position:relative}.grocery-gap-drop-zone{box-sizing:border-box;border:2px dashed #0000;border-radius:6px;height:8px}.grocery-gap-drop-zone.empty{background:#9b6cff06;border-color:#4a3b59;height:44px}.grocery-gap-drop-zone.active{background:#9b6cff0f;border-color:#7d609f;height:52px}.sortable-grocery.group-target .grocery-drop-surface{outline-offset:2px;background:#9b6cff0d;outline:2px solid #9b6cff;box-shadow:0 0 0 5px #9b6cff1f}.grocery-list .base-list-item{border:1px solid #342c3f;border-radius:6px;overflow:hidden}.grocery-item{grid-template-columns:minmax(0,1fr);align-items:center;min-height:44px;padding:8px 10px;display:grid}.grocery-list.reorder-mode .grocery-item{grid-template-columns:34px minmax(0,1fr) 24px;gap:4px}.grocery-drag-handle{z-index:5;color:#b89be9;touch-action:none;position:relative;cursor:grab!important;width:34px!important;min-width:34px!important;height:38px!important;padding:0!important}.grocery-drag-handle:active{cursor:grabbing!important}.grocery-drag-overlay{box-sizing:border-box;color:#eee9f5;background:#1b1721;border:1px solid #7652ae;border-radius:6px;grid-template-columns:34px minmax(0,1fr);align-items:center;width:min(400px,100vw - 32px);min-height:44px;padding:8px 12px;display:grid;box-shadow:0 12px 30px #00000061}.grocery-drag-overlay svg{color:#c5a8ff}.grocery-drag-overlay span{overflow-wrap:anywhere;min-width:0;font-weight:600}.grocery-category-drag-overlay{box-sizing:border-box;color:#eee9f5;background:#17131d;border:1px solid #7652ae;border-radius:6px;align-items:center;gap:9px;width:min(400px,100vw - 32px);min-height:48px;padding:10px 13px;display:flex;box-shadow:0 12px 30px #00000061}.grocery-category-drag-overlay svg{color:#c5a8ff;flex:none}.grocery-category-drag-overlay span{overflow-wrap:anywhere;min-width:0;font-weight:700}.grocery-group-ready-icon{color:#8e79aa;transition:color .14s,transform .14s}.grocery-group-ready-icon.ready{color:#c9aaff;transform:scale(1.12)}.grocery-list .task-primary{width:100%}.grocery-overview{gap:2px;width:100%;min-width:0;display:grid}.grocery-buy-by{color:#aaa2b4;align-items:center;gap:4px;margin-left:24px;font-size:10px;display:inline-flex}.grocery-buy-by.overdue{color:#ef8994;font-weight:600}.grocery-category-manager{gap:8px;display:grid}.grocery-category-row{color:#bca9d9;background:#15121b;border:1px solid #342c3f;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 34px 34px;align-items:center;gap:5px;min-height:46px;padding:5px 7px 5px 11px;display:grid}.grocery-category-row>button{color:#eee9f5;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;min-width:0;padding:8px 4px}.category-name-field{gap:6px;display:grid}.dish-library{margin-bottom:28px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-heading>div{gap:2px;min-width:0;display:grid}.section-heading h4{margin:0!important;font-size:17px!important}.dish-list{background:#15121b;border:1px solid #2b2535}.dish-list .ant-list-empty-text{padding-inline:16px}.dish-list .ant-list-item{gap:12px;min-height:58px;padding-inline:12px}.dish-list .base-list-item:not(:last-child){border-bottom:1px solid #292331}.dish-list .base-list-item .ant-list-item{border-bottom:0}.dish-list .task-title-button{flex:1;min-width:0}.dish-actions{align-items:center;gap:6px;display:flex}.dish-actions>.ant-typography{white-space:nowrap;font-size:10px}.dish-actions>svg,.dish-actions>.anticon{color:#a98ce5}.month-navigation{grid-template-columns:34px minmax(125px,1fr) 34px 34px;align-items:center;gap:6px;margin-bottom:12px;display:grid}.month-navigation>.ant-picker{width:100%}.month-navigation>.ant-btn{width:34px;padding-inline:0}.setup-month-actions{gap:10px;display:grid}.setup-month-actions>.ant-picker{width:100%}.spacing-setting{justify-content:space-between;align-items:center;gap:12px;display:flex}.spacing-setting .ant-input-number{width:72px}.randomness-hint{font-size:12px;margin:-4px 0 2px!important}.meal-grid{gap:8px;display:grid}.meal-drawer-form{gap:10px;max-width:560px;margin:0 auto;display:grid}.meal-drawer-form label{gap:4px;display:grid}.meal-drawer-form .ant-picker,.meal-drawer-form .ant-select{width:100%}.meal-dish-option{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.meal-dish-option>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.meal-dish-option .ant-btn{flex:none;width:32px;min-width:32px;height:32px;margin-block:-5px}.meal-dish-dropdown-actions{z-index:1;background:#211a2b;border-top:1px solid #342c3f;padding:8px 4px 2px;position:sticky;bottom:0}.meal-dish-dropdown-actions .ant-btn{width:100%}.meal-day{background:#131018;border:1px solid #292332;grid-template-columns:58px minmax(0,1fr) 36px;align-items:center;min-height:72px;display:grid}.meal-day>div{color:#81798c;text-transform:uppercase;border-right:1px solid #2c2537;flex-direction:column;justify-content:center;align-items:center;height:100%;font-size:10px;display:flex}.meal-day strong{color:#d8d1e1;font-size:19px}.meal-day p{color:#706978;overflow-wrap:anywhere;min-width:0;margin:0;padding:0 12px}.meal-title-button{overflow-wrap:anywhere;color:#efeaf5;min-width:0;height:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 12px;font-weight:600}.meal-dish-actions{align-content:center;width:36px;display:grid}.meal-dish-actions .ant-btn{color:#b69aff;width:34px;height:30px;padding:0}.dish-recipe{white-space:pre-wrap}.dish-ingredients{color:#d8d1e1;margin:0;padding-left:20px}.meal-title-button:focus-visible{outline-offset:-3px;outline:2px solid #9b6cff}.meal-swipe-item .task-swipe-foreground{background:#131018}.meal-swipe-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.meal-day.planned .meal-title-button{color:#efeaf5}.meal-reorder-target{min-width:0;transition:background-color .14s,outline-color .14s}.meal-reorder-target.over{outline-offset:2px;outline:2px solid #9b6cff}.meal-day.reorder-mode{grid-template-columns:58px minmax(0,1fr) 40px}.meal-day.reorder-mode.dragging{z-index:4;opacity:.78;border-color:#9b6cff;box-shadow:0 10px 28px #0006}.meal-reorder-title{color:#efeaf5;overflow-wrap:anywhere;min-width:0;padding-inline:12px;font-weight:600}.meal-drag-handle{color:#b89be9;touch-action:none;cursor:grab!important;width:40px!important;min-width:40px!important;height:100%!important;padding:0!important}.meal-drag-handle:active{cursor:grabbing!important}.meal-day.planned{background:#181320;border-color:#423258}.meal-day.planned p{color:#efeaf5;font-weight:600}.meal-day.today{border-color:#8f5df0;box-shadow:inset 3px 0 #9b6cff}.meal-day.today>div{color:#bfa5f7}.meal-day.today strong{color:#f1eaff}.laundry-list{gap:10px;display:grid}.laundry-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#15121b;border:1px solid #342c3f;border-radius:6px;position:relative;overflow:hidden}.laundry-item-content{gap:9px;padding:9px 10px 10px;display:grid}.laundry-item.reorder-mode{border-color:#423452}.laundry-item.reorder-mode .laundry-item-content{grid-template-columns:34px minmax(0,1fr);align-items:center}.laundry-item.reorder-mode .laundry-drag-handle{color:#b89be9;cursor:grab;touch-action:none;grid-row:1/span 2;width:34px;min-width:34px;height:42px;padding:0}.laundry-item.reorder-mode .laundry-drag-handle:active{cursor:grabbing}.laundry-item.reorder-mode .laundry-summary,.laundry-item.reorder-mode .laundry-steps{grid-column:2}.laundry-item.dragging{z-index:2;border-color:#9b6cff;box-shadow:0 12px 30px #00000059}.laundry-item.completion-pending{pointer-events:none;will-change:transform, opacity;animation-name:task-completion-exit;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:forwards}.laundry-swipe-foreground{min-height:100%}.laundry-summary{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;min-height:32px;display:grid}.laundry-copy{min-width:0}.laundry-title-button{color:#eee9f3;max-width:100%;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-weight:600;line-height:1.35;overflow:hidden}.laundry-title-button:focus-visible{outline-offset:1px;outline:2px solid #9b6cff}.laundry-title-button:disabled{color:#eee9f3;cursor:default}.laundry-assignee-badge{justify-content:center;min-width:28px}.laundry-assignee-badge .ant-avatar{color:#f0e9fa;background:#55406f;font-size:10px}.laundry-timer-button{color:#c8b5ef;font-variant-numeric:tabular-nums;border-color:#59456f;min-width:92px;height:30px;padding-inline:9px;font-size:10px}.laundry-timer-button.active{background:#6f49bd;border-color:#9b74e3;box-shadow:0 0 0 2px #9b6cff1f}.laundry-timer-button.finished{color:#85d5bd;background:#397f7029;border-color:#4fa48f}.laundry-steps{width:100%;min-width:0;padding:9px 2px 4px;overflow:visible}.laundry-steps .ant-steps{width:100%;min-width:0}.laundry-steps .ant-steps-item{flex:1 1 0;min-width:0}.laundry-steps .ant-steps-item-container{outline-offset:2px}.laundry-steps .ant-steps-item-content{text-align:center;width:auto;min-width:0}.laundry-steps .ant-steps-item-title{white-space:normal;overflow-wrap:anywhere;width:100%;max-width:100%;padding-inline:1px;font-size:9px;line-height:1.15;transition:color .16s,opacity .16s}.laundry-steps .ant-steps-item-tail{margin-inline:0}.laundry-steps .ant-steps-item-icon{background:0 0;border:0;place-items:center;width:16px;height:16px;margin-top:0;display:grid;overflow:visible}.laundry-step-indicator{box-sizing:border-box;background:#211c28;border:2px solid #5b5562;border-radius:50%;width:9px;height:9px;display:block}.laundry-step-indicator.active{background:#9b6cff;border:3px solid #d3c0ff;width:14px;height:14px;box-shadow:0 0 0 4px #9b6cff2e}.laundry-step-indicator.complete{color:#c9f5e8;background:#397f70;border-color:#5fc3a8;border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;display:grid}.laundry-step-indicator.complete.finished{color:#e1fff6;background:#397f70;width:20px;height:20px;font-size:12px;box-shadow:0 0 0 3px #15121b,0 0 0 5px #5fc3a833}.laundry-step-indicator.timer{color:#f0bd5d;filter:drop-shadow(0 0 5px #f0bd5d7a);background:#2c2518;border:0;border-radius:50%;width:17px;height:17px;font-size:17px;box-shadow:0 0 0 3px #f0bd5d24}.laundry-step-inactive .ant-steps-item-title{opacity:.72;color:#716a79!important}.laundry-step-active .ant-steps-item-title{font-weight:700;color:#cbb7f5!important}.laundry-step-timer .ant-steps-item-title{font-weight:700;color:#f0bd5d!important}.laundry-step-complete .ant-steps-item-title{color:#75c8af!important}.laundry-step-finished .ant-steps-item-title{font-weight:700;color:#85d5bd!important}.laundry-step-inactive .ant-steps-item-tail:after{background:#3c3643!important}.laundry-step-complete .ant-steps-item-tail:after,.laundry-step-finished .ant-steps-item-tail:after{background:#397f70!important}.laundry-load-form-actions{justify-content:space-between;gap:8px;width:min(100%,560px);margin-inline:auto;display:flex}.laundry-load-form-actions>.ant-btn:last-child{flex:1}.laundry-appliance-tabs{margin-bottom:10px}.laundry-tabs{margin-bottom:20px}.laundry-recurrence-list{border-block:1px solid #30283b}.laundry-recurrence-item{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:11px 3px;display:flex}.laundry-recurrence-item+.laundry-recurrence-item{border-top:1px solid #292331}.laundry-recurrence-item:hover{background:#b997f50a}.laundry-recurrence-item>span:first-child{gap:3px;min-width:0;display:grid}.laundry-recurrence-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.laundry-recurrence-item small{color:#a99db6;font-size:11px}.laundry-recurrence-meta{color:#8f829d;flex:none;align-items:center;gap:9px;display:flex}.laundry-recurrence-meta small{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.laundry-recurrence-meta .ant-avatar{color:#f0e9fa;background:#55406f;font-size:9px}.laundry-recurrence-empty{color:#7f7788;margin:0;padding:12px 3px;font-size:12px}.laundry-recurrence-form>div{gap:4px;display:grid}.laundry-repeat-option{border-top:1px solid #30283b;margin-top:3px;padding-top:12px}.laundry-repeat-toggle{justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.laundry-repeat-toggle>div,.laundry-reminder-toggle>div{overflow-wrap:anywhere;flex:1;gap:2px;min-width:0;display:grid}.laundry-repeat-toggle .ant-typography,.laundry-reminder-toggle .ant-typography{white-space:normal;min-width:0}.laundry-repeat-toggle .ant-typography-secondary{color:#8e8698;font-size:11px}.laundry-repeat-option .ant-switch{flex:0 0 44px;width:44px;min-width:44px;max-width:44px}.laundry-repeat-settings{border-left:2px solid #8b5fd3;gap:13px;margin-top:10px;padding:12px 0 2px 13px;animation:.18s ease-out both laundry-repeat-reveal;display:grid}.laundry-repeat-settings>div:not(.task-notification-toggle),.laundry-repeat-settings>label{gap:5px;min-width:0;display:grid}.laundry-reminder-toggle{min-height:42px;display:flex}@keyframes laundry-repeat-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.laundry-step-preview{gap:5px;display:grid}.laundry-step-preview>div{flex-wrap:wrap;gap:5px;display:flex}.laundry-template-list{background:#15121b;border:1px solid #2b2535;min-width:0}.laundry-template-swipe-item:not(:last-child){border-bottom:1px solid #292331}.laundry-template-item{grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;display:grid}.laundry-template-item>button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:11px 12px;display:grid}.laundry-template-item.built-in>div{gap:3px;min-width:0;padding:11px 12px;display:grid}.laundry-template-item strong,.laundry-template-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.laundry-template-item span{color:#8e8698;font-size:11px}.laundry-template-form{align-content:start;gap:9px;max-width:560px;margin:0 auto;display:grid}.laundry-template-form label{gap:4px;display:grid}.laundry-template-steps-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.laundry-template-steps-heading .ant-typography{font-variant-numeric:tabular-nums;font-size:11px}.laundry-fixed-step{color:#aaa2b4;background:#17131e;border:1px solid #30283b;align-items:center;gap:8px;min-height:38px;padding:8px 11px;display:flex}.laundry-template-steps{gap:6px;display:grid}.laundry-template-step{background:#17131e;border:1px solid #30283b;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:4px;display:grid;position:relative}.laundry-template-step.dragging{z-index:2;border-color:#9b6cff;box-shadow:0 8px 22px #00000059}.laundry-template-step .ant-btn{width:32px;padding-inline:0}.laundry-template-step .laundry-step-drag-handle{color:#b89be9;cursor:grab;touch-action:none;width:34px}.laundry-template-step .laundry-step-drag-handle:active{cursor:grabbing}.laundry-add-step{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.laundry-template-form-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.laundry-timer-form{gap:10px;max-width:560px;margin:0 auto;display:grid}.laundry-timer-form label{gap:4px;display:grid}.laundry-timer-actions{justify-content:flex-end;gap:8px;display:flex}.clock-picker-trigger{font-variant-numeric:tabular-nums;justify-content:flex-start;width:100%}.clock-picker-trigger .ant-btn-icon{color:#b997f5}.clock-picker-modal .ant-modal-content{overflow:hidden}.clock-picker-modal .ant-modal-body{justify-items:center;display:grid}.clock-time-display{color:#756d7d;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;margin:2px 0 5px;font-size:42px;line-height:1;display:flex}.clock-time-display button{color:#756d7d;min-width:68px;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:5px 7px}.clock-time-display button.active{color:#f2edf6;border-bottom-color:#9b6cff}.clock-time-display button:focus-visible{outline-offset:1px;outline:2px solid #b997f5}.clock-face-label{text-transform:uppercase;margin-bottom:11px;font-size:11px;color:#92899d!important}.clock-face{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#211c28;border-radius:50%;width:min(290px,100vw - 64px);position:relative;box-shadow:inset 0 0 0 1px #332b3d}.clock-face.dragging{cursor:grabbing}.clock-face>button{z-index:2;color:#e7e1ec;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;padding:0;font-size:12px;position:absolute;transform:translate(-50%,-50%)}.clock-face>button.inner{color:#aaa0b2;width:28px;height:28px;font-size:10px}.clock-face>button.selected{color:#fff;background:#9b6cff;box-shadow:0 0 0 3px #9b6cff2b}.clock-face>button:focus-visible{outline-offset:2px;outline:2px solid #d1bcff}.clock-center{z-index:1;background:#9b6cff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.clock-hand{z-index:1;transform-origin:bottom;pointer-events:none;background:#9b6cff;width:2px;transition:height .12s,transform 80ms;position:absolute;bottom:50%;left:calc(50% - 1px)}.ant-drawer-bottom .ant-drawer-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.ant-drawer-bottom .ant-drawer-footer>.ant-btn,.ant-drawer-bottom .ant-drawer-footer>.laundry-timer-actions{width:min(100%,560px);margin-inline:auto}.household-drawer .ant-drawer-header{min-height:48px;padding:10px 16px}.household-drawer .ant-drawer-body{padding:10px 16px 16px!important}.household-drawer-name{min-height:32px}.household-drawer-name .ant-typography{margin:0!important;font-size:17px!important}.household-members-label{margin-top:8px;font-size:11px;display:block}.household-drawer .ant-list{margin-top:2px}.household-drawer .ant-list-item{min-height:48px;padding-block:6px}.household-drawer .ant-list-item-meta{align-items:center}.household-drawer .ant-list-item-meta-description{font-size:11px}.household-drawer .ant-avatar{width:30px;min-width:30px;height:30px;font-size:11px;line-height:30px}.join-household-panel{gap:3px;padding:12px 0;display:grid}.join-household-panel>.ant-typography-secondary{margin-bottom:7px;font-size:12px}.household-actions{gap:6px;display:grid}.household-setup-shell{width:min(100%,440px);min-height:100svh;padding:max(32px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));box-sizing:border-box;flex-direction:column;justify-content:center;gap:22px;margin:0 auto;display:flex;overflow-x:hidden}.household-setup-shell>header{gap:4px;display:grid}.household-setup-shell>header .wordmark{color:#b997f5;margin-bottom:14px;font-size:13px}.household-setup-shell h2{margin:0!important;font-size:28px!important}.household-setup-shell>header .ant-typography{margin:0}.household-setup-actions{background:#17131e;border:1px solid #30283b;border-radius:6px;gap:10px;padding:16px;display:grid}.household-setup-actions>.ant-btn{white-space:normal;width:100%;min-width:0;height:auto;min-height:42px;padding-block:9px}.household-setup-actions .ant-space-compact,.household-setup-actions .ant-input{min-width:0}.household-setup-divider{color:#77707f;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:11px;display:grid}.household-setup-divider:before,.household-setup-divider:after{content:"";background:#30283b;height:1px}.household-setup-language{gap:7px;display:grid}.household-setup-shell>.ant-btn{color:#8e8798;align-self:center}.invite-box{background:#1c1724;border:1px solid #352b43;margin:14px 0;padding:12px}.invite-box>div{color:#c9b3ff;letter-spacing:1px;justify-content:space-between;align-items:center;font-size:20px;display:flex}.invite-box p{color:#81798c;margin:6px 0 0;font-size:12px}.join-household{margin-bottom:14px}.login-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:520px;min-height:100svh;margin:auto;padding:48px 24px;display:flex}.brand-mark{color:#fff;background:#8f5df0;border-radius:8px;place-items:center;width:70px;height:70px;font-size:32px;display:grid;box-shadow:0 18px 50px #824fe142}.login-shell h1{font-family:Space Grotesk,sans-serif;margin:24px 0 4px!important}.login-shell>.ant-typography{color:#8f8799}.login-actions{width:100%;margin-top:32px}.login-actions .ant-btn{width:100%}.login-actions .ant-typography{font-size:12px}.google-g{font-family:sans-serif;font-weight:800}.pwa-banners{z-index:100;top:max(8px, env(safe-area-inset-top));pointer-events:none;gap:8px;display:grid;position:fixed;left:12px;right:12px}.pwa-banner{pointer-events:auto;background:#211a2b;border:1px solid #4b3962;justify-content:space-between;align-items:center;gap:14px;width:min(100%,736px);margin:0 auto;padding:12px 14px;display:flex;box-shadow:0 12px 36px #0000006b}.pwa-banner>div{gap:2px;min-width:0;display:grid}.pwa-banner strong{color:#f5f1ff;font-size:14px}.pwa-banner>div>span{color:#a79eae;font-size:12px}.pwa-banner .ant-btn{flex:none}.pwa-banner-actions{align-items:center;gap:4px;display:flex}.ios-install-steps{gap:12px;margin:8px 0 0;padding-inline-start:24px;display:grid}.ios-install-steps li{color:#d8d2df;padding-inline-start:4px}.ios-install-steps li::marker{color:#aa82ff;font-weight:700}.notification-consent{z-index:45;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));position:fixed;left:12px}.language-setting{border-top:1px solid #30283b;justify-content:space-between;align-items:center;gap:10px;padding:10px 0 0;display:flex}.language-setting>div{gap:2px;min-width:0;display:grid}.language-setting .ant-typography-secondary{font-size:12px}.language-setting>.ant-segmented{flex:none;width:220px}.notification-setting{border-block:1px solid #30283b;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 0;display:flex}.notification-setting>div{gap:2px;min-width:0;display:grid}.notification-setting .ant-typography-secondary{font-size:12px}.notification-setting .ant-switch{flex:none;width:32px;min-width:32px}@media (width>=720px){.app-content{padding-inline:32px}.page-heading{margin-inline:-32px;padding-inline:32px}}@media (width<=430px){.household-setup-shell{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));justify-content:flex-start;gap:18px}.household-setup-shell>header .wordmark{margin-bottom:8px}.household-setup-shell h2{font-size:25px!important;line-height:1.18!important}.household-setup-actions{padding:14px}.household-setup-actions .ant-space-compact{gap:8px;display:grid}.household-setup-actions .ant-space-compact>*{border-radius:6px!important;width:100%!important}.household-setup-actions .ant-space-compact .ant-btn{min-height:40px}.page-heading{align-items:flex-start;gap:10px}.page-heading h2{font-size:25px!important;line-height:1.15!important}.page-heading .ant-btn{width:42px;min-width:42px;height:42px;padding-inline:0}.page-heading .ant-btn>span:not(.ant-btn-icon){display:none}.page-heading .ant-btn-icon{font-size:18px;display:inline-flex}.page-heading-actions{gap:4px!important}.bottom-nav button{font-size:8px}.dashboard-grid{grid-template-columns:1fr}.dashboard-section.wide{grid-column:auto}.month-navigation{grid-template-columns:32px minmax(0,1fr) 32px 32px}.dish-actions>.ant-typography{display:none}.pwa-banners{left:8px;right:8px}.pwa-banner{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.pwa-banner-actions{width:100%}.pwa-banner-actions .ant-btn:first-child{flex:1;min-width:0}.pwa-banner-actions .ant-btn:last-child{width:40px;padding-inline:0}.notification-consent{right:8px;bottom:calc(80px + env(safe-area-inset-bottom));left:8px}.language-setting{flex-direction:column;align-items:stretch}.language-setting>.ant-segmented{width:100%}.notification-setting{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.laundry-add-step{grid-template-columns:1fr}.laundry-add-step .ant-btn{width:100%}.surface-list{padding-inline:12px}.surface-list .ant-list-item{flex-wrap:wrap;align-items:flex-start}.surface-list .ant-list-item>.ant-typography{text-align:left;width:100%}.task-list .managed-list-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.task-list .managed-list-content{align-items:start;gap:4px;display:grid}.task-list .managed-list-content>.ant-checkbox-wrapper{align-items:flex-start;width:100%}.task-list .managed-list-content>.ant-checkbox-wrapper>span:last-child{flex:1;min-width:0}.task-list .managed-list-content>.ant-typography{text-align:left;overflow-wrap:anywhere;width:auto;margin-inline-start:24px;line-height:1.35}.task-list .task-secondary{margin-left:24px}.task-list .task-description{width:auto;margin:4px 0 0 24px!important}.task-list .list-item-actions{align-self:start}.task-deadline-picker{grid-template-columns:minmax(0,1fr) 96px}.ant-modal-footer{flex-wrap:wrap;gap:8px;display:flex}.ant-modal-footer .ant-btn{flex:auto;margin-inline-start:0!important}}@media (width<=360px){.app-shell{grid-template-rows:68px minmax(0, 1fr) calc(72px + env(safe-area-inset-bottom))}.app-header{height:68px;padding-inline:14px}.app-content{padding:0 14px 36px}.bottom-nav button{font-size:9px}.page-heading{margin-inline:-14px;margin-bottom:20px;padding:20px 14px 12px}.page-heading h2{font-size:23px!important}.eyebrow{letter-spacing:1px;font-size:10px}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar>.equal-radio{width:100%}.calendar-navigation{justify-content:space-between}.month-day{min-height:70px;padding:4px}.month-day>strong{width:21px;height:21px;font-size:10px}.calendar-event.compact{padding:3px;font-size:8px}.year-calendar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:0}.event-row{grid-template-columns:44px minmax(0,1fr);gap:11px}.date-tile{width:44px}.event-row:not(:last-child):before{left:21px}.reminder-sentence{grid-template-columns:auto 58px minmax(80px,1fr) auto;padding-inline:10px}.dish-list .ant-list-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.dish-list .ant-list-item>.ant-typography{overflow-wrap:anywhere}.dish-actions{justify-content:flex-end}.meal-day{grid-template-columns:52px minmax(0,1fr) 36px}.meal-day p{overflow-wrap:anywhere;padding-inline:12px}.invite-box{padding:14px}.join-household{flex-direction:column;display:flex!important}.join-household>*{border-radius:6px!important;width:100%!important}.pwa-banner strong{font-size:13px}.pwa-banner span{font-size:11px}.ant-modal-footer .ant-btn{flex-basis:100%;width:100%}.ant-modal{margin:0 auto;padding-bottom:8px;top:8px}.ant-modal-content,.ant-drawer-body{padding:16px!important}}
