@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.block{display:block}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#252c29;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f8f9f6;--surface:#fff;--text:#252c29;--secondary:#778079;--line:#e3e7e0;--accent:#237b58;--accent-soft:#e9f1e9;--me:#d3a51b;--partner:#9462d1;--both:#dc514f;--control:#eaece7;--shadow:0 1px 3px #00000010;color-scheme:light;background:#f8f9f6;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}:root[data-appearance=dark]{--bg:#171c19;--surface:#222824;--text:#edf1eb;--secondary:#9da79f;--line:#343c35;--accent:#89c5a1;--accent-soft:#2a4133;--me:#ebc74b;--partner:#b58aef;--both:#f57774;--control:#303832;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--bg:#171c19;--surface:#222824;--text:#edf1eb;--secondary:#9da79f;--line:#343c35;--accent:#89c5a1;--accent-soft:#2a4133;--me:#ebc74b;--partner:#b58aef;--both:#f57774;--control:#303832;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{transition:background .16s,color .16s,transform .16s}button:active{transform:scale(.98)}h1,h2,h3,p{margin:0}.app-shell{background:var(--bg);max-width:520px;min-height:100dvh;margin:0 auto}.brand{letter-spacing:-.7px;align-items:center;gap:7px;font-size:17px;font-weight:650;display:flex}.brand-mark{color:var(--accent);align-items:center;display:flex}.page-heading{justify-content:space-between;align-items:center;margin-top:29px;display:flex}h1{letter-spacing:-1.4px;font-size:36px;font-weight:700;line-height:1.15}.add-button{background:var(--accent);width:44px;height:44px;color:var(--bg);border-radius:50%;place-items:center;display:grid}.heading-icon{color:var(--accent)}.calendar-controls{border-bottom:1px solid var(--line);margin-top:13px;padding-bottom:20px}.week-navigation{color:var(--secondary);justify-content:space-between;align-items:center;font-size:11px;font-weight:550;display:flex}.week-navigation button{place-items:center;width:44px;height:36px;margin:0 -12px;display:grid}.week-strip{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:5px;display:grid}.day-button{border-radius:14px;flex-direction:column;align-items:center;gap:10px;min-height:84px;padding:10px 0 8px;display:flex}.weekday{color:var(--secondary);font-size:10px;font-weight:500}.day-number{letter-spacing:-.5px;font-size:19px;font-weight:550}.day-button.is-today .day-number{color:var(--accent)}.day-button.selected{background:var(--accent);color:var(--bg)}.day-button.selected .weekday,.day-button.selected .day-number{color:var(--bg)}.event-dot{background:var(--accent);visibility:hidden;border-radius:50%;width:4px;height:4px}.event-dot.visible{visibility:visible}.selected .event-dot{background:var(--bg)}.view-row{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.segmented{background:var(--control);border-radius:8px;padding:3px;display:flex}.segmented button{border-radius:6px;min-width:60px;min-height:32px;font-size:11px;font-weight:600}.segmented button.active{background:var(--surface);box-shadow:var(--shadow)}.legend{color:var(--secondary);white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.legend .person-dot:not(:first-child){margin-left:5px}.person-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.me{--person:var(--me)}.partner{--person:var(--partner)}.both{--person:var(--both)}.person-dot{background:var(--person)}.agenda-heading{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:1.5px;color:var(--secondary);font-size:8px;font-weight:650}.agenda-heading h2{letter-spacing:-.6px;margin-top:8px;font-size:23px;font-weight:650}.agenda-heading h2 span{color:var(--secondary);letter-spacing:0;margin-left:9px;font-size:12px;font-weight:400}.event-row{text-align:left;gap:17px;width:100%;padding:0 0 22px;display:flex}.event-time{flex-direction:column;flex-shrink:0;gap:6px;width:68px;padding-top:3px;display:flex}.event-time strong{font-size:11px;font-weight:600}.event-time span{color:var(--secondary);font-size:10px}.event-body{border-left:2px solid var(--person);flex:1;min-width:0;padding:1px 0 12px 13px}.event-title{justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.5;display:flex}.event-title svg{color:var(--secondary);flex-shrink:0}.event-body p{color:var(--secondary);overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.6}.event-meta{color:var(--secondary);align-items:center;gap:5px;margin-top:11px;font-size:9px;display:flex}.demo-label{letter-spacing:.6px;background:var(--control);border-radius:3px;margin-left:4px;padding:3px 5px;font-size:7px}.tab-bar{background:var(--bg);border-top:1px solid var(--line);width:100%;max-width:520px;padding:9px 20px calc(10px + env(safe-area-inset-bottom));z-index:5;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar button{min-height:46px;color:var(--secondary);flex-direction:column;flex:1;align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.tab-bar button.active{color:var(--accent)}.empty-agenda{text-align:center;color:var(--secondary);padding:35px 0 20px}.empty-agenda>svg{color:var(--accent);margin:0 auto 14px}.empty-agenda h3{color:var(--text);font-size:14px;font-weight:550}.empty-agenda p{margin-top:7px;font-size:12px}.text-button{color:var(--accent);justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:14px;display:inline-flex}.empty-agenda .text-button{margin-top:10px;font-size:12px}.week-day-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.week-day-heading h3{font-size:13px;font-weight:600}.week-day-heading span{color:var(--secondary);margin-left:5px;font-size:10px;font-weight:400}.week-day-heading button{width:44px;height:44px;color:var(--accent);place-items:center;display:grid}.compact>svg,.compact h3{display:none}.sheet{background:var(--bg);width:100%;max-width:520px;max-height:94dvh;color:var(--text);overscroll-behavior:contain;border:0;border-radius:22px 22px 0 0;margin:0 auto;padding:0;animation:.2s ease-out slide-up;position:fixed;inset:auto 0 0;overflow-y:auto}.sheet::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006}.handle{background:var(--line);border-radius:5px;width:32px;height:4px;margin:9px auto 0}.sheet-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:5px 20px 10px;display:flex}.sheet-header h2{font-size:16px;font-weight:650}.strong{font-weight:650}.sheet-content{padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.title-field input{letter-spacing:-.6px;width:100%;color:var(--text);background:0 0;border:0;padding:8px 0 22px;font-size:23px}.form-group{background:var(--surface);border-radius:10px;padding:0 14px}.form-group label{justify-content:space-between;align-items:center;gap:10px;min-height:52px;font-size:14px;display:flex}.form-group label+label{border-top:1px solid var(--line)}.form-group input{background:var(--control);max-width:65%;color:var(--text);border:0;border-radius:6px;min-height:36px;padding:7px;font-size:13px}.field-label{letter-spacing:1px;color:var(--secondary);margin:24px 0 10px;font-size:10px;font-weight:550}.person-picker{background:var(--control);border-radius:9px;gap:3px;padding:4px;display:flex}.person-picker button{border-radius:6px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:42px;font-size:13px;display:flex}.person-picker .active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.notes-label{letter-spacing:1px;color:var(--secondary);margin-top:25px;font-size:10px;display:block}.notes-label>span{float:right;text-transform:none;letter-spacing:0}.notes-label textarea{resize:vertical;background:var(--surface);width:100%;min-height:90px;color:var(--text);letter-spacing:0;border:0;border-radius:10px;margin-top:10px;padding:14px;font-size:14px;line-height:1.5;display:block}.local-note{color:var(--secondary);text-align:center;margin-top:22px;font-size:11px}.delete-button{color:#d2564b;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:15px;font-size:14px;display:flex}.error{color:#d2564b;margin:12px 0;font-size:12px;line-height:1.5}.placeholder{text-align:center;padding:70px 0 20px}.placeholder h2{letter-spacing:-.7px;margin-top:13px;font-size:24px;font-weight:650}.placeholder>p:not(.eyebrow){color:var(--secondary);margin-top:13px;font-size:13px;line-height:1.8}.us-intro{text-align:center;margin:30px 0}.us-logo{background:var(--accent-soft);width:62px;height:62px;color:var(--accent);border-radius:18px;place-items:center;margin:0 auto 14px;display:grid}.us-intro h2{letter-spacing:-.6px;font-size:24px;font-weight:650}.us-intro p{color:var(--secondary);margin-top:7px;font-size:12px}.settings-group{background:var(--surface);border-radius:11px;padding:0 15px;overflow:hidden}.settings-heading{border-bottom:1px solid var(--line);padding:17px 0;font-size:14px;font-weight:600}.settings-group button{text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:51px;font-size:13px;display:flex}.settings-group button+button{border-top:1px solid var(--line)}.settings-group button svg{color:var(--accent)}.settings-group small{color:var(--secondary);margin:4px 0 8px;font-size:10px;display:block}.settings-group button:first-of-type{padding-top:10px}.future-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--secondary);align-items:center;gap:13px;padding:17px 0;display:flex}.future-settings strong{color:var(--text);font-size:13px;font-weight:550}.future-settings p{margin-top:5px;font-size:11px}.future-settings>svg:last-child{margin-left:auto}.settings-note{text-align:center;color:var(--secondary);margin-top:30px;font-size:10px;line-height:1.9}@keyframes slide-up{0%{opacity:.5;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media(min-width:600px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}main{padding-top:35px}.sheet{border-radius:22px;bottom:20px}.tab-bar{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.legend{gap:3px;font-size:8px}.event-row{gap:10px}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.form-group input,.notes-label textarea{font-size:16px}.week-navigation button{height:44px}main{padding:calc(env(safe-area-inset-top) + 16px) 20px calc(80px + env(safe-area-inset-bottom))}.brand{font-size:16px}.page-heading{margin-top:12px}h1{letter-spacing:-1px;font-size:30px}.calendar-controls{margin-top:4px;padding-bottom:12px}.week-strip{margin-top:0}.day-button{border-radius:10px;gap:6px;min-height:68px;padding:8px 0 6px}.day-number{font-size:18px}.view-row{margin-top:10px}.segmented button{min-height:38px}.agenda{padding-top:16px}.agenda-heading{margin-bottom:16px}.agenda-heading h2{margin-top:0;font-size:19px}.event-row{gap:12px;min-height:64px;padding-bottom:14px}.event-time{gap:5px;width:62px}.event-body{padding:0 0 8px 11px}.event-body p{white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.event-meta{margin-top:6px}.empty-agenda{padding:20px 0}.empty-agenda p{margin-top:0}.compact{padding:4px 0 10px}.week-day-heading{margin-bottom:10px}.placeholder{padding:48px 0 20px}.placeholder>svg{color:var(--secondary);margin:0 auto}.placeholder h2{font-size:20px}.us-intro{margin:22px 0}.future-settings{margin-top:20px}@media(min-width:600px){main{padding-top:20px}}:root{--bg:#fff;--chrome:#f4f6f3;background:var(--bg)}:root[data-appearance=dark]{--bg:#171c19;--chrome:#202622}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--bg:#171c19;--chrome:#202622}}.top-header{margin:calc(-16px - env(safe-area-inset-top)) -20px 0;padding:calc(16px + env(safe-area-inset-top)) 20px 12px;background:var(--chrome);border-bottom:1px solid var(--line)}.tab-bar{background:var(--chrome)}@media(min-width:600px){.top-header{margin-top:-20px;padding-top:20px}}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.top-header{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}.grocery-summary{justify-content:space-between;align-items:center;gap:20px;padding:14px 0 10px;display:flex}.grocery-summary>div{flex:1;max-width:210px}.grocery-progress-text{color:var(--secondary);font-variant-numeric:tabular-nums;font-size:12px}.grocery-progress{background:var(--control);border-radius:2px;height:3px;margin-top:9px;overflow:hidden}.grocery-progress>span{background:var(--accent);height:100%;transition:width .18s;display:block}.grocery-add{min-height:44px;color:var(--accent);align-items:center;gap:5px;font-size:13px;font-weight:600;display:flex}.grocery-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.grocery-toolbar .segmented button{min-width:58px;padding:0 10px;font-size:11px}.reset-week{min-width:44px;min-height:44px;color:var(--secondary);justify-content:center;align-items:center;gap:5px;font-size:11px;display:flex}button:disabled{cursor:default}.reset-week:disabled{opacity:.4}.grocery-category{margin:14px 0 20px}.grocery-category h2{color:var(--secondary);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 0 9px;font-size:12px;font-weight:600;display:flex}.grocery-category h2 span{font-size:10px;font-weight:400}.product-row{border-bottom:1px solid var(--line);align-items:center;gap:4px;min-height:52px;display:flex}.purchase-toggle{place-items:center;width:44px;min-width:44px;height:48px;margin-left:-10px;display:grid}.purchase-toggle>span{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:21px;height:21px;transition:background .15s,border-color .15s;display:grid}.selected-product .purchase-toggle>span{border-color:var(--accent)}.purchased .purchase-toggle>span{background:var(--accent);color:var(--bg)}.purchase-toggle:disabled{opacity:.55}.product-name{overflow-wrap:anywhere;flex:1;min-width:0;padding:10px 0;font-size:13px;line-height:1.35}.purchased .product-name{color:var(--secondary);text-decoration:line-through}.product-edit{min-width:44px;height:44px;color:var(--secondary);place-items:center;display:grid}.quantity-control{color:var(--accent);flex-shrink:0;align-items:center;display:flex}.quantity-control button{place-items:center;width:44px;height:48px;display:grid}.quantity-control button:disabled{color:var(--secondary);opacity:.35}.quantity-control output{text-align:center;width:20px;color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:550}.quantity-control button:last-child{margin-right:-10px}.grocery-category-select{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:56px;font-size:14px;display:flex}.grocery-category-select select{background:var(--control);max-width:65%;color:var(--text);font:inherit;border:0;border-radius:6px;padding:9px 7px;font-size:16px}.grocery-delete{text-align:center;margin-top:22px}.grocery-delete p{color:var(--secondary);font-size:13px;line-height:1.6}.grocery-header-spacer{width:44px}.reset-content>p{font-size:15px;line-height:1.5}.reset-content .reset-detail{color:var(--secondary);margin-top:8px;font-size:13px}.reset-confirm{background:var(--accent);width:100%;min-height:48px;color:var(--bg);border-radius:9px;margin-top:24px;font-size:14px;font-weight:600;display:block}.grocery-empty{text-align:center;color:var(--secondary);padding:40px 0}.grocery-empty>svg{color:var(--accent);margin:0 auto 12px}.grocery-empty h2{color:var(--text);font-size:16px;font-weight:600}.grocery-empty p{margin-top:8px;font-size:12px;line-height:1.6}.grocery-empty .text-button{margin-top:8px;font-size:12px}@media(max-width:360px){.grocery-toolbar .segmented button{min-width:52px;padding:0 7px}.reset-week span{display:none}.product-name{font-size:12px}.quantity-control output{width:16px}.product-edit{min-width:36px}}:root{--tab-glass:#f8faf7d1;--tab-border:#fffc;--tab-shadow:0 6px 24px #18312514,0 1px 4px #1831250d}:root[data-appearance=dark]{--tab-glass:#28302bd9;--tab-border:#ffffff1f;--tab-shadow:0 6px 24px #0004}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--tab-glass:#28302bd9;--tab-border:#ffffff1f;--tab-shadow:0 6px 24px #0004}}.tab-bar{bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid var(--tab-border);background:var(--chrome);width:calc(100% - 32px);max-width:440px;box-shadow:var(--tab-shadow);isolation:isolate;border-radius:32px;gap:4px;padding:5px}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.tab-bar{background:var(--tab-glass);-webkit-backdrop-filter:blur(24px)saturate(160%)}}.tab-bar button{border-radius:26px;gap:3px;min-height:52px;padding:6px 12px;font-size:10px;font-weight:550;position:relative}.tab-bar button.active{background:var(--accent-soft);color:var(--accent)}.tab-bar button:focus-visible{outline-offset:0}@media(prefers-reduced-transparency:reduce){.tab-bar{background:var(--chrome);-webkit-backdrop-filter:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--bg:#FAF8F2;--surface:#fffdf8;--text:#292D29;--secondary:#686b62;--line:#e6e2d8;--accent:#22866A;--accent-ink:#19674f;--accent-soft:#e1eee5;--me:#E5AE45;--partner:#9C83D5;--both:#E77D72;--control:#ece9e1;--chrome:#f2efe5;--tab-glass:rgba(250,248,242,.88);--green-tint:#e7efe5;--lavender-tint:#eee8f6;--amber-tint:#f7ecd5;--coral-tint:#f8e6df;--lavender-ink:#67518e;--amber-ink:#775816;--coral-ink:#994b43;background:var(--bg);color:var(--text)}:root[data-appearance=dark]{--bg:#1b201d;--surface:#252c27;--text:#f2f0e7;--secondary:#b0b4a9;--line:#3a4039;--accent:#76c7a5;--accent-ink:#9cddbd;--accent-soft:#293f33;--me:#E5AE45;--partner:#b79ae8;--both:#ed9489;--control:#333a32;--chrome:#242a24;--tab-glass:rgba(36,42,36,.9);--green-tint:#2a382c;--lavender-tint:#353040;--amber-tint:#3b3527;--coral-tint:#412e2a;--lavender-ink:#cbb1ef;--amber-ink:#edc574;--coral-ink:#f2b1a6}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--bg:#1b201d;--surface:#252c27;--text:#f2f0e7;--secondary:#b0b4a9;--line:#3a4039;--accent:#76c7a5;--accent-ink:#9cddbd;--accent-soft:#293f33;--me:#E5AE45;--partner:#b79ae8;--both:#ed9489;--control:#333a32;--chrome:#242a24;--tab-glass:rgba(36,42,36,.9);--green-tint:#2a382c;--lavender-tint:#353040;--amber-tint:#3b3527;--coral-tint:#412e2a;--lavender-ink:#cbb1ef;--amber-ink:#edc574;--coral-ink:#f2b1a6}}main{padding:calc(env(safe-area-inset-top) + 12px) 16px calc(94px + env(safe-area-inset-bottom))}.top-header{margin:calc(-12px - env(safe-area-inset-top)) -16px 0;padding:calc(12px + env(safe-area-inset-top)) 16px 8px}.brand{font-size:14px;gap:5px;letter-spacing:-.4px}.brand-mark{color:var(--coral-ink)}.page-heading{margin-top:4px}h1{font-size:26px;letter-spacing:-.8px}.add-button{background:var(--accent-ink);width:44px;height:44px}.add-button svg{width:21px}.heading-icon{color:var(--amber-ink)}.calendar-controls{margin-top:0;padding-bottom:8px}.week-navigation{font-size:10px}.week-strip{gap:2px}.day-button{min-height:58px;padding:5px 0;gap:4px;border-radius:9px}.weekday{font-size:10px}.day-number{font-size:17px}.day-button.selected{background:var(--accent-ink)}.date-indicators{display:flex;align-items:center;justify-content:center;gap:3px;height:7px}.date-indicators .person-dot{width:4px;height:4px}.selected .date-indicators .person-dot{box-shadow:0 0 0 1px #ffffff40}.view-row{margin-top:7px;gap:6px}.segmented{padding:2px;border-radius:8px}.segmented button{min-height:40px;min-width:48px;font-size:10px}.segmented button.active{background:var(--surface);color:var(--accent-ink)}.legend{font-size:8px;gap:4px}.legend .person-dot:not(:first-child){margin-left:3px}.agenda{padding-top:10px}.agenda-heading{margin-bottom:10px}.agenda-heading h2{font-size:17px}.agenda-heading h2 span{font-size:11px}.event-row{padding-bottom:8px;gap:9px;min-height:58px}.event-time{width:59px;padding-top:6px;gap:4px}.event-body{border-left-width:3px;border-radius:0 7px 7px 0;padding:5px 8px 6px 9px}.event-body.me{background:var(--amber-tint)}.event-body.partner{background:var(--lavender-tint)}.event-body.both{background:var(--coral-tint)}.event-title{font-size:13px;line-height:1.3}.event-body p{font-size:10px;margin-top:2px}.event-meta{margin-top:4px;font-size:9px}.demo-label{padding:2px 4px}.empty-agenda{padding:12px 0}.compact{padding:0 0 6px}.week-day-heading{margin-bottom:6px}.text-button,.grocery-add,.quantity-control{color:var(--accent-ink)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0 2px}.month-weekday{font-size:9px;color:var(--secondary);text-align:center;padding:3px 0 5px}.month-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;gap:3px;font-size:13px;border-radius:9px;font-variant-numeric:tabular-nums}.month-date.is-today{color:var(--accent-ink);font-weight:700;background:var(--accent-soft)}.month-date.selected{background:var(--accent-ink);color:var(--bg);font-weight:650}.month-date.outside-month{color:var(--secondary)}.grocery-summary{padding:8px 0 4px;gap:12px}.grocery-summary>div{max-width:180px}.grocery-progress-text{font-size:11px}.grocery-progress{margin-top:5px}.grocery-toolbar{margin-bottom:5px}.grocery-toolbar .segmented button{font-size:10px;min-width:54px}.grocery-category{margin:8px 0 11px}.grocery-category h2{padding:6px 8px;font-size:11px;border:0;border-radius:5px}.category-0 h2{background:var(--lavender-tint);color:var(--lavender-ink)}.category-1 h2{background:var(--green-tint);color:var(--accent-ink)}.category-2 h2{background:var(--amber-tint);color:var(--amber-ink)}.product-row{min-height:46px;gap:2px}.product-name{font-size:12px;padding:6px 0}.purchase-toggle{height:44px;margin-left:-8px}.purchase-toggle>span{width:19px;height:19px;border-color:var(--secondary)}.purchase-toggle:disabled{opacity:.4}.purchased{background:var(--green-tint)}.purchased .purchase-toggle>span{background:var(--accent-ink);border-color:var(--accent-ink)}.purchased .product-name{color:var(--secondary)}.quantity-control button{width:44px;height:44px;position:relative;isolation:isolate}.quantity-control button:before{content:"";position:absolute;width:26px;height:26px;background:var(--accent-soft);border-radius:7px;z-index:-1}.quantity-control button:first-child{color:var(--secondary)}.quantity-control button:first-child:before{background:var(--control)}.quantity-control button:disabled{opacity:.4}.quantity-control output{font-size:12px;width:18px}.quantity-control button:last-child{margin-right:-8px}.grocery-empty{padding:20px 0}.grocery-empty h2{font-size:14px}.grocery-empty>svg{margin-bottom:8px}.tab-bar{bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:408px;padding:3px;gap:2px;border-radius:28px;box-shadow:0 3px 15px #292d2912}.tab-bar button{min-height:48px;padding:4px 8px;gap:2px;font-size:9px;border-radius:24px}.tab-bar button svg{width:21px;height:21px}.tab-bar button.active{color:var(--accent-ink);background:var(--accent-soft)}.sheet-content{padding:16px 16px calc(18px + env(safe-area-inset-bottom))}.title-field input{font-size:21px;padding:6px 0 16px}.field-label{margin-top:18px}.form-group label{min-height:48px}.notes-label{margin-top:18px}.notes-label textarea{min-height:76px}.person-picker button{min-height:44px}.person-picker .active{color:var(--accent-ink)}.us-intro{margin:16px 0}.us-logo{background:var(--coral-tint);color:var(--coral-ink);width:50px;height:50px;border-radius:14px;margin-bottom:10px}.us-intro h2{font-size:21px}.settings-heading{padding:12px 0}.settings-group button{min-height:46px}.future-settings{margin-top:14px;padding:12px 0}.settings-note{margin-top:18px}@media(min-width:600px){main{padding-top:16px}.top-header{margin-top:-16px;padding-top:16px}}@media(max-width:360px){.legend{font-size:8px;gap:3px}.segmented button,.product-edit{min-width:44px}}.app-shell{height:100dvh;min-height:0;overflow:hidden}main{height:calc(100dvh - 76px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior-y:contain;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.launch-splash{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--bg);pointer-events:none;animation:splash-exit .3s ease 1.7s forwards}.splash-brand{display:flex;flex-direction:column;align-items:center;gap:15px;animation:splash-enter .65s cubic-bezier(.16,1,.3,1) both}.splash-brand>span{font-size:30px;font-weight:650;letter-spacing:-1px;color:var(--text)}.splash-heart{display:grid;place-items:center;width:94px;height:94px;background:var(--coral-tint);color:var(--coral-ink);border-radius:28px}@keyframes splash-enter{0%{opacity:0;transform:translateY(9px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes splash-exit{to{opacity:0;visibility:hidden}}.page-heading{margin-top:0;min-height:44px;gap:8px}.page-heading h1{font-size:23px;flex-shrink:0}.calendar-header-actions{display:flex;align-items:center;gap:8px}.calendar-header-actions .segmented button{min-width:44px;min-height:40px;font-size:10px;padding:0 4px}.calendar-header-actions .segmented{margin:0}.add-button{box-shadow:0 4px 9px #164e3933,0 1px 2px #0b322938,inset 0 1px #ffffff30;transition:transform .22s cubic-bezier(.2,.8,.2,1.2),box-shadow .22s}.add-button:active{transform:scale(.91) translateY(1px);box-shadow:0 1px 3px #164e3933,inset 0 1px 2px #0002}.grocery-add{background:var(--accent-ink);color:var(--bg);padding:0 12px;border-radius:22px;box-shadow:0 3px 7px #164e3926,0 1px 2px #0b32292b,inset 0 1px #ffffff25;transition:transform .22s cubic-bezier(.2,.8,.2,1.2),box-shadow .22s}.grocery-add:active{transform:scale(.94);box-shadow:0 1px 2px #164e3926}.grocery-summary{padding-top:10px;padding-bottom:6px}.week-agenda-day{border-bottom:1px solid var(--line);padding-bottom:0}.week-agenda-date{width:100%;min-height:44px;display:flex;align-items:center;gap:9px;text-align:left;padding:4px 0;color:var(--secondary)}.week-date-number{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:14px;font-weight:600;color:var(--text)}.week-date-name{font-size:12px;font-weight:550;color:var(--text)}.week-date-count{margin-left:auto;font-size:10px}.week-agenda-date.selected .week-date-number{background:var(--accent-ink);color:var(--bg)}.week-agenda-date.selected .week-date-name{color:var(--accent-ink);font-weight:650}.week-agenda-day .event-row{margin-top:2px;padding-bottom:7px}.week-agenda-day:last-child{border-bottom:0}@media(max-width:360px){.page-heading h1{font-size:21px}.calendar-header-actions{gap:6px}.calendar-header-actions .segmented button{min-width:44px;padding:0 2px}}@media(prefers-reduced-motion:reduce){.launch-splash,.splash-brand{animation:none}.add-button:active,.grocery-add:active{transform:none}}:root{--bg:#F7F6F3;--surface:#FFFFFE;--text:#252525;--secondary:#62615f;--accent:#237C68;--accent-ink:#206e5c;--me:#F5A26B;--both:#D65F83;--partner:#A58ACB;--amber-tint:#f9e9dc;--coral-tint:#f7e5ec;--lavender-tint:#eee7f5;--chrome:#efede8;--line:#e2dfd9;--tab-glass:rgba(247,246,243,.9)}:root[data-appearance=dark]{--bg:#1b201d;--surface:#252c27;--text:#f2f0e7;--secondary:#b0b4a9;--accent:#76c7a5;--accent-ink:#9cddbd;--chrome:#242a24;--line:#3a4039;--amber-tint:#3b3527;--coral-tint:#412e36;--lavender-tint:#353040;--tab-glass:rgba(36,42,36,.9)}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--bg:#1b201d;--surface:#252c27;--text:#f2f0e7;--secondary:#b0b4a9;--accent:#76c7a5;--accent-ink:#9cddbd;--chrome:#242a24;--line:#3a4039;--amber-tint:#3b3527;--coral-tint:#412e36;--lavender-tint:#353040;--tab-glass:rgba(36,42,36,.9)}}.week-navigation{background:var(--accent-soft);border-radius:9px;padding:0 4px;margin:8px 0 6px;height:44px;color:var(--accent-ink)}.week-navigation button{margin:0;width:44px;border-radius:7px}.week-navigation button:active{background:var(--surface)}.sheet-header{padding:7px 12px;min-height:58px}.sheet-header h2{font-size:15px}.icon-control{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--secondary)}.icon-control:disabled{opacity:.4}.sheet-save{width:40px;height:40px;min-width:44px;min-height:44px}.editor-title{font:inherit;font-size:18px;width:100%;padding:10px 0 16px;color:var(--text);background:transparent;border:0}.editor-group{background:var(--surface);border-radius:10px;padding:0 10px;margin-bottom:14px}.editor-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;border-bottom:1px solid var(--line);font-size:13px}.editor-row:last-child{border-bottom:0}.editor-row input:not([type=checkbox]),.editor-row select{background:var(--control);color:var(--text);font-size:16px;border:0;border-radius:6px;padding:6px;max-width:66%;min-width:0}.date-time-fields{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px;max-width:78%;padding:6px 0}.date-time-fields input{flex:1;max-width:100%!important;min-width:105px!important;width:125px}.date-time-fields input[type=time]{width:96px;min-width:82px!important;flex:0 1 96px}.ios-toggle{appearance:none;-webkit-appearance:none;width:42px;height:26px;min-width:42px;background:var(--control);border-radius:20px;position:relative;cursor:pointer;margin:9px 0}.ios-toggle:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0002;transition:transform .15s}.ios-toggle:checked{background:var(--accent-ink)}.editor-notes{width:100%;border:0;background:var(--surface);color:var(--text);font-size:16px;line-height:1.4;padding:12px;border-radius:8px;min-height:76px;resize:vertical;margin-top:12px}.settings-hint{font-size:11px;line-height:1.5;color:var(--secondary);margin:8px 0 12px}.confirmation-actions{display:flex;gap:10px;margin-top:20px}.confirmation-actions button{min-height:44px;flex:1;background:var(--control);border-radius:8px;font-size:14px}.confirmation-actions .destructive{color:#b52e4e}.grocery-screen-header{background:var(--chrome);margin:-16px -16px 10px;padding:16px 16px 7px;border-bottom:1px solid var(--line)}.grocery-toolbar{margin:5px 0 0}.count-badge{display:inline-block;margin-left:5px;min-width:16px;padding:2px 4px;font-size:9px;background:var(--accent-soft);color:var(--accent-ink);border-radius:7px}.swipe-row{position:relative;overflow:hidden}.swipe-content{position:relative;background:var(--bg);touch-action:pan-y;transition:transform .16s ease}.swipe-delete{position:absolute;inset:0 0 0 auto;width:78px;background:#b92d4e;color:#fff;font-size:12px;font-weight:600}.reminder-filters{display:inline-flex;margin:12px 0}.reminder-filters button{padding:0 10px}.reminder-row{display:flex;align-items:center;border-bottom:1px solid var(--line);min-height:54px}.reminder-details{text-align:left;flex:1;padding:8px 0;min-height:48px}.reminder-details strong{font-size:13px;font-weight:550}.reminder-details>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:4px;font-size:10px;color:var(--secondary)}.reminder-details>span>span{margin-left:5px}.reminder-row.completed strong{text-decoration:line-through;color:var(--secondary)}.reminder-row.completed .purchase-toggle>span{background:var(--accent-ink);color:var(--bg);border-color:var(--accent-ink)}.overdue{color:#b52e4e}.list-empty{padding:18px 0;font-size:12px;color:var(--secondary)}.tab-bar button{padding:4px 5px;font-size:9px}.tab-bar{max-width:440px}.editor-sheet{max-height:calc(100dvh - env(safe-area-inset-top) - 12px)}@media(max-width:599px){.grocery-screen-header{margin-top:calc(-12px - env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top))}}@media(max-width:360px){.page-heading h1{font-size:18px}.grocery-toolbar .segmented button{padding:0 6px;min-width:48px}.editor-row{font-size:12px}.date-time-fields{max-width:76%}}.editor-title:focus-visible{outline:none;box-shadow:0 1px 0 var(--accent-ink)}:root{--tab-glass:rgba(247,246,243,.58);--tab-border:rgba(255,255,255,.5)}:root[data-appearance=dark]{--tab-glass:rgba(36,42,36,.62);--tab-border:rgba(255,255,255,.12)}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--tab-glass:rgba(36,42,36,.62);--tab-border:rgba(255,255,255,.12)}}main{height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}.tab-bar{background:var(--chrome);box-shadow:0 3px 16px #292d2914;border:1px solid var(--tab-border)}@supports (backdrop-filter:blur(20px)){.tab-bar{background:var(--tab-glass);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}}.segmented button,.calendar-header-actions .segmented button{padding:0 10px;min-width:44px;min-height:40px;font-size:10px}.segmented{gap:2px}.header-actions,.calendar-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.header-title-group{display:flex;align-items:center;gap:0}.header-title-group .icon-control{width:44px}.unified-header{margin-bottom:10px}.page-heading{flex-wrap:wrap;gap:6px 8px}.page-heading h1{font-size:21px}.grocery-unified .page-heading h1{font-size:20px}.count-badge{margin-left:3px;background:var(--coral-tint);color:var(--coral-ink);padding:2px 4px;font-size:9px;font-weight:650}.category-menu-button{display:grid;place-items:center;width:44px;height:44px;color:inherit;margin:-6px -8px -6px 0}.grocery-category h2{min-height:44px;padding:0 8px}.context-actions{padding:5px 16px 16px}.context-actions button{display:block;text-align:left;width:100%;min-height:46px;border-bottom:1px solid var(--line);font-size:14px}.destructive{color:#b52e4e}.manage-row{display:flex;justify-content:space-between;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:13px}.product-context{display:flex;gap:8px;padding:5px 0}.product-context button{min-height:44px;padding:0 12px;background:var(--control);border-radius:8px;font-size:12px}@media(max-width:500px){.grocery-unified .header-title-group{width:100%;justify-content:flex-start}.grocery-unified .header-actions{width:100%;justify-content:flex-end}}@media(max-width:390px){.reminders .page-heading h1{width:100%}.reminders .header-actions{width:100%;justify-content:flex-end}.calendar-header-actions .segmented button{padding:0 6px}.page-heading h1{font-size:20px}}@media(max-width:340px){.top-header .page-heading:has(.calendar-header-actions)>h1{width:100%}.calendar-header-actions{width:100%;justify-content:flex-end}}@media(prefers-reduced-transparency:reduce){.tab-bar{background:var(--chrome);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(min-width:421px)and (max-width:500px){.grocery-unified .header-title-group{width:auto}.grocery-unified .header-actions{width:auto;justify-content:initial}}@media(min-width:361px)and (max-width:390px){.reminders .page-heading h1{width:auto}.reminders .header-actions{width:auto;justify-content:initial}}:root{--field-bg:var(--surface);--field-border:var(--line);--field-focus:var(--accent-ink);--badge-bg:var(--coral-tint);--badge-text:var(--coral-ink);--segment-selected:var(--surface)}.editor-title,.editor-notes,.editor-row input:not([type=checkbox]),.editor-row select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:7px;color:var(--text);transition:border-color .16s,box-shadow .16s;padding:9px 10px}.editor-title{font-size:17px;margin:0 0 12px;min-height:44px;line-height:1.4}.editor-title::placeholder,.editor-notes::placeholder{color:var(--secondary);opacity:1;font-weight:400}.editor-title:focus-visible,.editor-notes:focus-visible,.editor-row input:not([type=checkbox]):focus-visible,.editor-row select:focus-visible{outline:none;border-color:var(--field-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--field-focus) 10%,transparent)}.editor-group{background:var(--control)}.editor-row input:not([type=checkbox]),.editor-row select{padding:6px 8px;min-height:36px}.editor-notes{margin-top:0;min-height:90px;resize:vertical}.floating-notes{position:relative;display:block;margin-top:12px}.floating-notes .editor-notes{padding:27px 10px 9px}.floating-notes>span{position:absolute;left:11px;top:12px;font-size:16px;color:var(--secondary);pointer-events:none;transform-origin:left top;transition:transform .16s,top .16s}.floating-notes:focus-within>span,.floating-notes:has(textarea:not(:placeholder-shown))>span{top:6px;transform:scale(.66)}.count-badge,.demo-label{background:var(--badge-bg);color:var(--badge-text);border-radius:6px}.demo-label{font-size:8px;letter-spacing:.1px}.segmented{background:var(--control);padding:3px;gap:2px;border-radius:10px}.segmented button,.calendar-header-actions .segmented button{font-size:11px;font-weight:550;letter-spacing:0;min-height:40px;padding:0 11px;border-radius:7px;transition:background .16s,color .16s,box-shadow .16s}.segmented button.active{background:var(--segment-selected);color:var(--accent-ink);box-shadow:0 1px 3px #25252512,inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.week-navigation{margin:0 -16px 3px;padding:4px 16px;height:52px;border-radius:0;background:var(--accent-soft)}.week-navigation button{background:color-mix(in srgb,var(--accent) 10%,var(--accent-soft));margin:0;border-radius:9px;width:44px;height:44px}.week-navigation button:active{background:color-mix(in srgb,var(--accent) 20%,var(--accent-soft));transform:scale(.95)}.calendar-controls{border-bottom:0;padding-bottom:0}.week-navigation>span{font-size:12px}.month-weekday{padding:6px 0;font-size:10px}.event-month-grid{gap:0;align-items:stretch}.month-cell{position:relative;min-width:0;min-height:74px;padding:0 2px 5px;border-bottom:1px solid var(--line);border-right:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.month-cell:nth-child(7n){border-right:0}.month-cell.selected{background:var(--accent-soft);border-radius:6px}.month-cell.outside-month .month-day-select{color:var(--secondary)}.month-day-select{width:100%;min-height:44px;display:grid;place-items:center;font-size:14px;font-weight:500;border-radius:6px}.month-day-select>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.month-cell.is-today .month-day-select>span{box-shadow:inset 0 0 0 1.5px var(--coral-ink);color:var(--coral-ink);font-weight:700}.month-cell.selected .month-day-select>span{background:var(--accent-ink);color:var(--bg)}.month-cell.selected.is-today .month-day-select>span{box-shadow:0 0 0 2px var(--coral-ink)}.month-cell-events{display:flex;flex-direction:column;gap:3px;min-width:0}.month-event-label{display:block;max-width:100%;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;min-height:30px;padding:4px 3px;border-radius:4px;font-size:10px;font-weight:550;line-height:1.25;border-left:2px solid var(--person)}.month-event-label.me{background:var(--amber-tint);color:var(--amber-ink)}.month-event-label.partner{background:var(--lavender-tint);color:var(--lavender-ink)}.month-event-label.both{background:var(--coral-tint);color:var(--coral-ink)}.month-more{width:100%;min-height:32px;font-size:10px;color:var(--secondary);padding:4px 0;white-space:nowrap}.month-event-label:active{filter:brightness(.96)}.direct-manage-row{gap:10px;min-height:52px}.direct-manage-row>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-direct-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.manage-direct-actions button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 10px;border-radius:7px;font-size:11px}.manage-edit{background:var(--control);color:var(--text)}.manage-delete{background:var(--coral-tint);color:var(--coral-ink)}@media(max-width:390px){.manage-direct-actions button{width:44px;padding:0}.manage-direct-actions button>span{display:none}.calendar-header-actions .segmented button{padding:0 7px}.month-event-label{font-size:10px}}@media(max-width:370px){.top-header .page-heading:has(.calendar-header-actions)>h1{width:100%}.calendar-header-actions{width:100%;justify-content:flex-end}}@media(max-width:430px){.reminders .page-heading h1{width:100%}.reminders .header-actions{width:100%;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.floating-notes>span{transition:none}}:root{--segment-track:#E8E5D8;--segment-ink:#237C68;--switch-off:#D6D3CB;--switch-border:#bcb8ae;--switch-on:#237C68;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2362615f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root[data-appearance=dark]{--segment-track:#363a32;--segment-ink:#9cddbd;--switch-off:#5b605a;--switch-border:#797e77;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b0b4a9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]){--segment-track:#363a32;--segment-ink:#9cddbd;--switch-off:#5b605a;--switch-border:#797e77;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b0b4a9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}.segmented{background:var(--segment-track)}.segmented button,.calendar-header-actions .segmented button,.grocery-toolbar .segmented button{font-size:12px;font-weight:500;letter-spacing:-.1px;line-height:1.2;min-height:44px;padding:0 11px;white-space:nowrap}.segmented button.active{font-weight:700;color:var(--segment-ink)}.outlined-field{position:relative;margin:8px 0 14px;--outline-color:var(--field-border)}.outlined-field .outlined-input{display:block;width:100%;min-height:48px;padding:13px 12px;margin:0;background:var(--field-bg);border:1px solid var(--outline-color);border-radius:7px;color:var(--text);font:inherit;font-size:16px;line-height:1.35;transition:border-color .18s;box-shadow:none}.outlined-field textarea.outlined-input{min-height:88px;resize:vertical}.outlined-field>label{position:absolute;left:9px;top:14px;padding:0 4px;color:var(--secondary);font-size:16px;line-height:20px;pointer-events:none;transform-origin:left center;transition:transform .18s,top .18s,color .18s,background .18s}.outlined-field:focus-within>label,.outlined-field.has-value>label{top:-10px;transform:scale(.75);background:var(--field-bg)}.outlined-field:focus-within{--outline-color:var(--field-focus)}.outlined-field:focus-within>label{color:var(--field-focus)}.outlined-field .outlined-input:focus-visible{outline:1px solid var(--field-focus);outline-offset:0;box-shadow:none}.outlined-field.field-error{--outline-color:var(--coral-ink)}.outlined-field.field-error>label{color:var(--coral-ink)}.editor-row select{appearance:none;-webkit-appearance:none;padding:7px 34px 7px 10px;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:12px}.editor-row input[type=date],.editor-row input[type=time]{padding-left:10px;padding-right:12px}.editor-row input::-webkit-calendar-picker-indicator{margin-left:8px;margin-right:2px;padding:3px;flex-shrink:0}.ios-toggle{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 44px;width:44px;height:44px;min-width:44px;margin:0;border:0;border-radius:10px;background:transparent;cursor:pointer;box-shadow:none;transition:none}.ios-toggle:before{content:"";position:absolute;left:1px;top:9px;width:42px;height:26px;box-sizing:border-box;border:1px solid var(--switch-border);border-radius:20px;background:var(--switch-off);transition:background .18s,border-color .18s}.ios-toggle:after{content:"";position:absolute;left:4px;top:12px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .18s,width .18s}.ios-toggle:checked{background:transparent}.ios-toggle:checked:before{background:var(--switch-on);border-color:var(--switch-on)}.ios-toggle:checked:after{transform:translate(16px)}.ios-toggle:active:after{width:22px}.ios-toggle:checked:active:after{transform:translate(14px)}.ios-toggle:focus-visible{outline:2px solid var(--field-focus);outline-offset:2px}.week-navigation button{position:relative;isolation:isolate;background:transparent;border-radius:7px}.week-navigation button:before{content:"";position:absolute;inset:7px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,var(--accent-soft));z-index:-1;transition:background .18s,transform .18s}.week-navigation button:active{background:transparent;transform:none}.week-navigation button:active:before{background:color-mix(in srgb,var(--accent) 24%,var(--accent-soft));transform:scale(.93)}.month-cell{min-height:49px}.month-cell-events:empty{display:none}@media(max-width:420px){.top-header .page-heading:has(.calendar-header-actions)>h1{width:100%}.calendar-header-actions{width:100%;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.outlined-field>label,.outlined-field .outlined-input,.ios-toggle:before,.ios-toggle:after,.week-navigation button:before{transition:none}}.date-time-fields input[type=date]{width:150px;min-width:150px!important;flex:0 1 150px}.date-time-fields input[type=time]{width:104px;min-width:104px!important;flex:0 1 104px}.month-day-select{height:44px;padding:0;line-height:1;font-variant-numeric:tabular-nums}.month-day-select>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:28px;height:28px;padding:0;line-height:1;text-align:center}.month-cell.is-today .month-day-select>span{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--coral-ink) 42%,transparent)}.month-cell.selected.is-today .month-day-select>span{box-shadow:0 0 0 1px color-mix(in srgb,var(--coral-ink) 55%,transparent)}.event-form .editor-group{padding-inline:16px}.event-form .editor-row{align-items:center}.event-form .date-time-fields{gap:4px;padding-block:4px}.event-form .date-time-fields input{min-height:44px;padding:6px}.event-form .date-time-fields input[type=date]{width:136px;min-width:136px!important;flex:0 1 136px}.event-form .date-time-fields input[type=time]{width:96px;min-width:96px!important;flex:0 1 96px}.event-form .date-time-fields input::-webkit-calendar-picker-indicator{margin-left:4px;margin-right:0;padding:0;align-self:center}.event-form .person-picker button.active{font-weight:600}.event-form .date-time-fields input{padding-right:10px}.event-form .date-time-fields input::-webkit-calendar-picker-indicator{margin-left:6px;margin-right:0;padding:0}.segmented button.active,.event-form .person-picker button.active{color:#185544}:root[data-appearance=dark] .segmented button.active,:root[data-appearance=dark] .event-form .person-picker button.active{color:#c3ebd9}@media(prefers-color-scheme:dark){:root:not([data-appearance=light]) .segmented button.active,:root:not([data-appearance=light]) .event-form .person-picker button.active{color:#c3ebd9}}.outlined-field:focus-within>label,.outlined-field.has-value>label{background:linear-gradient(to bottom,var(--bg) 50%,var(--field-bg) 50%)}.product-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 124px;align-items:start;gap:8px;margin-top:8px;margin-bottom:14px}.product-entry-row .outlined-field{margin:0}.product-entry-row .product-category-field{min-height:48px;border:0}.product-category-field select{width:100%;max-width:100%;min-height:48px;padding-left:10px;font-size:14px;overflow:hidden;text-overflow:ellipsis}@media(max-width:360px){.product-entry-row{grid-template-columns:minmax(0,1fr) 112px;gap:6px}.product-entry-row .outlined-field>label{font-size:14px}}.product-entry-row .outlined-input{height:48px;min-height:48px;padding-block:10px}.top-header .page-heading{flex-wrap:nowrap;gap:8px}.top-header .page-heading>h1,.reminders .page-heading h1{width:auto;min-width:0;white-space:nowrap}.top-header .calendar-header-actions,.top-header .header-actions{width:auto;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;gap:6px}.grocery-unified .header-title-group{width:auto;flex-wrap:nowrap;gap:0;min-width:0}.top-header .segmented{flex-shrink:0}@media(max-width:500px){.top-header .page-heading{gap:5px}.top-header .page-heading h1{font-size:18px;letter-spacing:-.5px}.top-header .segmented{padding:2px;gap:1px;border-radius:8px}.top-header .segmented button{min-width:0;min-height:44px;padding:0 5px;font-size:11px}.top-header .add-button{width:40px;height:40px;min-width:40px;flex-shrink:0}.grocery-unified .header-title-group .icon-control{width:30px;min-width:30px;height:44px}.grocery-unified .header-actions{gap:4px}.grocery-unified .segmented button{padding:0 4px;font-size:10px}.grocery-unified .count-badge{margin-left:2px;min-width:12px;padding:2px 3px;font-size:8px}}@media(max-width:340px){.top-header{padding-inline:8px}.top-header .page-heading{gap:3px}.top-header .page-heading h1{font-size:14px;letter-spacing:-.35px}.top-header .calendar-header-actions,.top-header .header-actions{gap:3px}.top-header .segmented button{padding:0 4px;font-size:10px}.top-header .add-button{width:34px;height:34px;min-width:34px}.top-header .add-button svg{width:19px;height:19px}.grocery-unified .header-title-group .icon-control{width:24px;min-width:24px}.grocery-unified .header-title-group .icon-control svg{width:14px;height:14px}.grocery-unified .segmented button{padding:0 3px;font-size:9px}}.top-header .page-heading:has(.calendar-header-actions)>h1{width:auto;flex-shrink:0}@media(max-width:500px){.top-header .segmented button,.grocery-unified .segmented button{font-size:12px;padding-inline:7px}}@media(max-width:340px){.top-header .segmented button,.grocery-unified .segmented button{font-size:11px;padding-inline:5px}}.top-header .calendar-header-actions,.top-header .header-actions{gap:10px}@media(max-width:340px){.top-header .calendar-header-actions,.top-header .header-actions{gap:8px}}.grocery-unified .count-badge{background:var(--green-tint);color:var(--accent-ink)}.top-header .calendar-header-actions,.top-header .header-actions{gap:14px}@media(max-width:340px){.top-header .calendar-header-actions,.top-header .header-actions{gap:12px}}.top-header .segmented{padding-inline:4px}.top-header .segmented button{min-height:36px}.grocery-unified .header-title-group{gap:8px}.grocery-unified .header-title-group{flex-shrink:0}@media(max-width:300px){.grocery-unified{padding-inline:4px}.grocery-unified .page-heading h1{font-size:12px}.grocery-unified .segmented button{font-size:10px;padding-inline:4px}.grocery-unified .header-actions{gap:8px}}html,body{background:var(--chrome)}@media(max-width:599px){body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--chrome);z-index:40;pointer-events:none}}
