@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_ea55aed0-module__KujYLq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_ea55aed0-module__KujYLq__variable{--font-body:"Inter","Inter Fallback"}
@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e7150917543fc9da-s.8200e9a3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/71fbf9c08529c2a5-s.91ff3091.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e9457141811d41ae-s.30a48620.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ac34884600cd8d5d-s.7d4c278c.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e1ccd2766b08c828-s.838318db.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/507a47c1876d4ec2-s.303dbfb4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8c2eb9ceedecfc8e-s.p.21935807.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e7150917543fc9da-s.8200e9a3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/71fbf9c08529c2a5-s.91ff3091.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e9457141811d41ae-s.30a48620.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ac34884600cd8d5d-s.7d4c278c.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e1ccd2766b08c828-s.838318db.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/507a47c1876d4ec2-s.303dbfb4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8c2eb9ceedecfc8e-s.p.21935807.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Fallback;src:local(Times New Roman);ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.0%;size-adjust:115.2%}.lora_3e40915e-module__nfZI-W__className{font-family:Lora,Lora Fallback;font-style:normal}.lora_3e40915e-module__nfZI-W__variable{--font-heading:"Lora","Lora Fallback"}
:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#dbeafe;--color-secondary:#7c3aed;--color-success:#059669;--color-success-light:#ecfdf5;--color-success-bg:#f0fdf4;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-danger-dark:#b91c1c;--color-warning:#d97706;--color-warning-light:#fef3c7;--color-warning-dark:#b45309;--color-warning-text:#92400e;--color-text:#1f2937;--color-text-light:#6b7280;--color-bg:#fff;--color-bg-alt:#f9fafb;--color-bg-hover:#f3f4f6;--color-border:#e5e7eb;--color-cat-income:#10b981;--color-cat-bills:#8b5cf6;--color-cat-food:#f59e0b;--color-cat-savings:#3b82f6;--color-cat-default:#6b7280;--utilization-excellent:#059669;--utilization-good:#3b82f6;--utilization-fair:#d97706;--utilization-poor:#dc2626;--color-primary-a05:color-mix(in srgb,var(--color-primary)5%,transparent);--color-primary-a15:color-mix(in srgb,var(--color-primary)15%,transparent);--color-secondary-a10:color-mix(in srgb,var(--color-secondary)10%,transparent);--color-border-a30:color-mix(in srgb,var(--color-border)30%,transparent);--color-text-light-a10:color-mix(in srgb,var(--color-text-light)10%,transparent);--color-primary-light-dimmed:#bfdbfe;--color-bg-alt-dimmed:#eaecf0;--utilization-excellent-a10:color-mix(in srgb,var(--utilization-excellent)10%,transparent);--utilization-good-a10:color-mix(in srgb,var(--utilization-good)10%,transparent);--utilization-fair-a10:color-mix(in srgb,var(--utilization-fair)10%,transparent);--utilization-poor-a10:color-mix(in srgb,var(--utilization-poor)10%,transparent);--block-work-bg:#e0d4f5;--block-work-border:#7c4dbd;--block-meeting-bg:#d4e8f8;--block-meeting-border:#2874a6;--block-exercise-bg:#c8f0c0;--block-exercise-border:#2e8b2e;--block-meal-bg:#fce8c8;--block-meal-border:#c87a1a;--block-social-bg:#c4ddf5;--block-social-border:#2a6cb8;--block-appointment-bg:#f8d0d8;--block-appointment-border:#c2405a;--block-chore-bg:#d0ecd4;--block-chore-border:#4a8a55;--block-errand-bg:#ffe0b0;--block-errand-border:#b06e20;--block-routine-bg:#e0ddd8;--block-routine-border:#8a857c;--block-default-bg:#e6e1d8;--block-default-border:#7c7567;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--border-radius-sm:4px;--border-radius:8px;--border-radius-lg:12px;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px}[data-mode=dark]{--color-text:#f9fafb;--color-text-light:#9ca3af;--color-bg:#111827;--color-bg-alt:#1f2937;--color-bg-hover:#374151;--color-bg-alt-dimmed:#2d3748;--color-border:#374151;--color-border-a30:#3741514d;--color-primary-light:#1e3a5f;--color-primary-light-dimmed:#1a3050;--color-warning-text:#fbbf24;--color-success-light:#064e3b;--color-success-bg:#022c22;--color-danger-light:#450a0a;--color-danger-dark:#fca5a5;--color-warning-light:#451a03;--color-warning-dark:#fbbf24;--color-cat-income:#34d399;--color-cat-bills:#a78bfa;--color-cat-food:#fbbf24;--color-cat-savings:#60a5fa;--color-cat-default:#9ca3af;--block-work-bg:#3d2d6e;--block-work-border:#a47fd4;--block-meeting-bg:#1a3a5c;--block-meeting-border:#5b9fd6;--block-exercise-bg:#1a4020;--block-exercise-border:#5cb85c;--block-meal-bg:#5c3a0a;--block-meal-border:#e8a050;--block-social-bg:#1a3352;--block-social-border:#5b8fd4;--block-appointment-bg:#5c1a28;--block-appointment-border:#e0607a;--block-chore-bg:#1a3d22;--block-chore-border:#6aab75;--block-errand-bg:#4a2d00;--block-errand-border:#d4924a;--block-routine-bg:#2d2b28;--block-routine-border:#a09890;--block-default-bg:#2a2620;--block-default-border:#9c937e}[data-palette=ocean]{--color-primary:#0369a1;--color-primary-hover:#075985;--color-primary-light:#e0f2fe;--color-secondary:#0891b2;--color-primary-light-dimmed:#bae6fd}[data-palette=ocean][data-mode=dark]{--color-primary:#38bdf8;--color-primary-hover:#7dd3fc;--color-primary-light:#082f49;--color-secondary:#22d3ee;--color-primary-light-dimmed:#0c4a6e}[data-palette=forest]{--color-primary:#15803d;--color-primary-hover:#166534;--color-primary-light:#dcfce7;--color-secondary:#65a30d;--color-primary-light-dimmed:#bbf7d0}[data-palette=forest][data-mode=dark]{--color-primary:#4ade80;--color-primary-hover:#86efac;--color-primary-light:#052e16;--color-secondary:#a3e635;--color-primary-light-dimmed:#14532d}[data-palette=sunset]{--color-primary:#c2410c;--color-primary-hover:#9a3412;--color-primary-light:#ffedd5;--color-secondary:#db2777;--color-primary-light-dimmed:#fed7aa}[data-palette=sunset][data-mode=dark]{--color-primary:#fb923c;--color-primary-hover:#fdba74;--color-primary-light:#431407;--color-secondary:#f472b6;--color-primary-light-dimmed:#7c2d12}[data-palette=lavender]{--color-primary:#7c3aed;--color-primary-hover:#6d28d9;--color-primary-light:#ede9fe;--color-secondary:#a21caf;--color-primary-light-dimmed:#ddd6fe}[data-palette=lavender][data-mode=dark]{--color-primary:#a78bfa;--color-primary-hover:#c4b5fd;--color-primary-light:#2e1065;--color-secondary:#e879f9;--color-primary-light-dimmed:#4c1d95}[data-density=compact]{--spacing-xs:2px;--spacing-sm:4px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px;--spacing-2xl:24px;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:28px;--border-radius-sm:2px;--border-radius:4px;--border-radius-lg:8px}[data-density=spacious]{--spacing-xs:6px;--spacing-sm:10px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-size-xs:13px;--font-size-sm:15px;--font-size-base:17px;--font-size-lg:20px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:36px;--border-radius-sm:6px;--border-radius:12px;--border-radius-lg:16px}.auth-page{min-height:calc(100vh - 80px);padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);width:100%;max-width:420px;padding:var(--spacing-xl);box-shadow:0 1px 3px #0000001a}.auth-card h1{color:var(--color-text);margin:0 0 var(--spacing-xs);font-size:1.5rem}.auth-subtitle{color:var(--color-text-light);margin:0 0 var(--spacing-lg);font-size:.875rem}.auth-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.auth-form label{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--spacing-xs);font-weight:600}.auth-form input{width:100%;padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);color:var(--color-text);transition:border-color .2s}.auth-form input:focus{border-color:var(--color-primary);outline:none}.auth-form .btn-primary{margin-top:var(--spacing-md);padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-sm);color:#fff;background:var(--color-primary);border-radius:var(--border-radius-sm);cursor:pointer;border:none;font-weight:600;transition:background .2s}.auth-form .btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.auth-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--border-radius-sm);padding:var(--spacing-sm)var(--spacing-md);color:var(--color-danger);margin-bottom:var(--spacing-sm);font-size:.875rem}.auth-error p{margin:0}.auth-error ul{margin:var(--spacing-xs)0 0;padding-left:var(--spacing-lg);font-size:.8125rem}.auth-links{margin-top:var(--spacing-lg);text-align:center;color:var(--color-text-light);font-size:.875rem}.auth-links a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-links p{margin:var(--spacing-xs)0 0}.password-requirements{margin:var(--spacing-xs)0 0;gap:var(--spacing-xs)var(--spacing-md);flex-wrap:wrap;padding:0;font-size:.8125rem;list-style:none;display:flex}.password-requirements li.met{color:var(--color-success)}.password-requirements li.unmet{color:var(--color-text-light)}.auth-consent{margin-top:var(--spacing-sm)}.auth-consent__label{align-items:flex-start;gap:var(--spacing-sm);color:var(--color-text-light);cursor:pointer;font-size:.8125rem;display:flex}.auth-consent__label input[type=checkbox]{flex-shrink:0;width:auto;margin-top:2px}.auth-consent__label a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-consent__label a:hover{text-decoration:underline}.auth-loading{min-height:calc(100vh - 80px);color:var(--color-text-light);justify-content:center;align-items:center;font-size:1rem;display:flex}.account-page{max-width:520px;padding:var(--spacing-lg);margin:0 auto}.account-page h1{color:var(--color-text);margin:0 0 var(--spacing-lg);font-size:1.5rem}.account-page h2{color:var(--color-text);margin:0 0 var(--spacing-sm);font-size:1.125rem}.account-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.account-section--info{color:var(--color-text-light);font-size:.875rem}.account-section--info p{margin:var(--spacing-xs)0}.account-section__description{color:var(--color-text-light);margin:0 0 var(--spacing-md);font-size:.875rem}.account-section--danger{border-color:var(--color-danger)}.account-section__warning{color:var(--color-danger);margin:0 0 var(--spacing-md);font-size:.875rem}.account-section__actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);align-items:center;display:flex}.account-success{background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--border-radius-sm);padding:var(--spacing-sm)var(--spacing-md);color:var(--color-success);font-size:.875rem}.admin-users{max-width:800px;padding:var(--spacing-lg);margin:0 auto}.admin-users h1{margin-bottom:var(--spacing-lg)}.user-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.user-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);display:flex}.user-row--disabled{opacity:.6}.user-row .user-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.user-row .user-info .user-name{color:var(--color-text);font-weight:600}.user-row .user-info .user-you{color:var(--color-text-light);font-size:.8125rem;font-weight:400}.user-row .user-info .user-email{color:var(--color-text-light);font-size:.875rem}.user-row .user-info .user-meta{color:var(--color-text-light);font-size:.75rem}.user-row .user-info .status-disabled{color:var(--color-danger);margin-right:var(--spacing-xs);font-weight:600}.user-row .role-badge{text-transform:uppercase;white-space:nowrap;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.user-row .role-badge.admin{background:var(--color-warning-light);color:#92400e;border:1px solid var(--color-warning)}.user-row .role-badge.user{background:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.user-actions{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.btn-sm{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;white-space:nowrap;font-size:.75rem;font-weight:500;transition:background .2s,border-color .2s}.btn-sm:hover{background:var(--color-bg);border-color:var(--color-text-light)}.btn-sm--danger{color:var(--color-danger);border-color:var(--color-danger)}.btn-sm--danger:hover{background:#fdf0ee}.btn-primary--danger{background:var(--color-danger)}.btn-primary--danger:hover:not(:disabled){background:var(--color-danger-dark)}.admin-modal-overlay{z-index:1000;padding:var(--spacing-lg);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (max-width:768px){.user-row{flex-wrap:wrap}.user-actions{justify-content:flex-end;width:100%}}.cookie-banner{z-index:900;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)var(--spacing-lg);background:var(--color-bg);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001a}.cookie-banner__text{color:var(--color-text);margin:0;font-size:.875rem}.cookie-banner__text a{color:var(--color-primary);font-weight:600;text-decoration:none}.cookie-banner__text a:hover{text-decoration:underline}.cookie-banner__actions{gap:var(--spacing-sm);flex-shrink:0;display:flex}@media (max-width:768px){.cookie-banner{text-align:center;flex-direction:column}}.form-section{background-color:var(--color-bg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:0 1px 3px #0000001a}.form-section h2{margin-bottom:var(--spacing-lg);color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:400}.form-section__header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:baseline;display:flex}.form-section__header h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{font-size:var(--font-size-xl);margin:var(--spacing-md)0 var(--spacing-sm)0;color:var(--color-text);font-weight:600}.section-description{color:var(--color-text-light);margin-bottom:var(--spacing-md);font-size:.95rem}.form-group{margin-bottom:var(--spacing-lg)}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;margin-bottom:var(--spacing-sm)}.form-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form-grid--pantry{gap:var(--spacing-sm);grid-template-columns:2fr 1fr 1fr 1fr 1fr}@media (max-width:768px){.form-grid--pantry{grid-template-columns:1fr 1fr}}.list-item{background-color:var(--color-bg);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem;display:flex}.list-item.expiring{background-color:var(--color-warning);border-color:var(--color-warning)}.list-item .expires{color:var(--color-warning-text);margin-left:var(--spacing-sm);font-size:.9rem;font-weight:600}.event-group{margin-bottom:var(--spacing-lg)}.event-group h3{color:var(--color-text-light);margin-bottom:.75rem;font-size:1rem}.add-button{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.add-button:hover{background-color:var(--color-bg)}.save-button{background-color:var(--color-secondary);color:#fff;border:none}.save-button:hover{background-color:var(--color-success)}.list-item__actions{gap:var(--spacing-sm);flex-shrink:0;display:flex}.edit-button{background-color:var(--color-primary);color:#fff;border:none}.edit-button:hover{background-color:var(--color-primary-hover)}.remove-button{background-color:var(--color-danger);color:#fff;border:none}.remove-button:hover{background-color:var(--color-danger-dark)}.cancel-button{background-color:var(--color-text-light);color:#fff;border:none}.cancel-button:hover{background-color:var(--color-text-light)}.add-form{background-color:var(--color-bg);padding:var(--spacing-lg);border-radius:var(--border-radius);margin-top:var(--spacing-md);border:1px solid var(--color-border);border-left:3px solid var(--color-border)}.add-form .form-group{margin-bottom:var(--spacing-sm)}.add-form input[type=text],.add-form input[type=date],.add-form input[type=number],.add-form select,.add-form textarea{padding:.5rem}.form-buttons{align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex}.add-form__pending{margin:0 0 var(--spacing-md);gap:var(--spacing-xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.add-form__pending li{align-items:center;gap:var(--spacing-xs);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-xs)var(--spacing-sm);color:var(--color-text-light);font-size:.85rem;display:flex}.add-form__pending button{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.add-form__pending button:hover{color:var(--color-danger)}.add-another-button{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.add-another-button:hover{background:var(--color-bg)}.submit-button{margin:var(--spacing-lg)auto 0;padding:var(--spacing-sm)var(--spacing-xl);min-height:44px;font-size:var(--font-size-sm);background-color:var(--color-secondary);color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;text-align:center;border:none;font-family:inherit;font-weight:600;line-height:1.4;text-decoration:none;display:block}.submit-button:hover{background-color:var(--color-success)}.submit-button:disabled{background-color:var(--color-text-light);cursor:not-allowed}.submit-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.submit-button--outline{color:var(--color-secondary);border:1px solid var(--color-secondary);background-color:#0000}.submit-button--outline:hover{background-color:var(--color-secondary);color:#fff}.wfh-section h2{margin-bottom:var(--spacing-xs);border-bottom:none;padding-bottom:0}.wfh-controls{justify-content:space-between;align-items:baseline;display:flex}.wfh-controls .section-description{margin-bottom:0}.wfh-row{gap:var(--spacing-md);display:flex}.wfh-row__day{align-items:center;gap:var(--spacing-xs);cursor:pointer;margin-bottom:0;font-size:.9rem;display:flex}.wfh-row__day input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.wfh-row__day span{-webkit-user-select:none;user-select:none}.preview-button{color:var(--color-primary);border:1px solid var(--color-border);width:100%;margin-top:var(--spacing-sm);background:0 0}.preview-button:hover{background-color:var(--color-bg)}.header{background-color:var(--color-text);color:#fff;padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);border-radius:var(--border-radius);justify-content:space-between;align-items:center;display:flex}.header h1{margin-bottom:var(--spacing-sm);font-size:2rem}.header p{opacity:.9;font-size:1rem}.settings-button{background-color:var(--color-text-light);color:#fff;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;border:none;font-size:.9rem;transition:background-color .2s}.settings-button:hover{background-color:var(--color-text-light)}.plan-result{background-color:var(--color-bg);padding:var(--spacing-xl);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:0 1px 3px #0000001a}.plan-header{background-color:var(--color-secondary);color:#fff;padding:var(--spacing-lg);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.plan-header h2{margin-bottom:var(--spacing-sm);font-size:1.75rem}.plan-summary{background-color:var(--color-bg-alt);padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg)}.plan-summary p{margin-bottom:var(--spacing-sm)}.day-section{margin-bottom:var(--spacing-xl);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.day-header{background-color:var(--color-text);color:#fff;padding:var(--spacing-md);margin:0;font-size:1.3rem}.day-content{gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg);grid-template-columns:2fr 1fr;display:grid}.schedule-column h4,.meals-column h4{margin-bottom:var(--spacing-md);color:var(--color-text);font-size:1.1rem}.schedule-table{border-collapse:collapse;width:100%;margin-bottom:var(--spacing-md)}.schedule-table th{background-color:var(--color-bg-alt);padding:var(--spacing-sm);text-align:left;border-bottom:2px solid var(--color-border);font-weight:600}.schedule-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border);vertical-align:top}.time-cell{color:var(--color-text-light);white-space:nowrap;width:120px;font-weight:600}.day-assignments{background-color:var(--color-bg);padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-top:var(--spacing-sm)}.assignment-group{margin-bottom:var(--spacing-md)}.assignment-group:last-child{margin-bottom:0}.assignment-group strong{color:var(--color-text);margin-bottom:var(--spacing-sm);display:block}.assignment-group ul{padding:0;list-style:none}.assignment-group li{margin-bottom:var(--spacing-xs)}.meals-list{flex-direction:column;gap:.75rem;display:flex}.meal-row{align-items:flex-start;gap:var(--spacing-sm);display:flex}.meal-row strong{min-width:25px;color:var(--color-text-light)}.shopping-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-border)}.shopping-section h3{margin-bottom:var(--spacing-md);color:var(--color-text);font-size:1.5rem}.shopping-columns{gap:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.shopping-column h4{margin-bottom:var(--spacing-md);color:var(--color-text);font-size:1.2rem}.shopping-category{margin-bottom:var(--spacing-lg)}.shopping-category strong{color:var(--color-text-light);margin-bottom:var(--spacing-sm);display:block}.shopping-category ul{padding:0;list-style:none}.shopping-category li{margin-bottom:var(--spacing-xs)}.workout-result-field{margin-bottom:var(--spacing-md)}.workout-result-field strong{color:var(--color-text);margin-bottom:var(--spacing-xs);display:block}.result-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);display:flex}.new-plan-button{color:var(--color-primary);padding:.75rem var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;font-size:1rem;font-weight:600;transition:background-color .2s}.new-plan-button:hover{background-color:var(--color-bg)}.print-button{background-color:var(--color-primary);color:#fff;padding:.75rem var(--spacing-lg);border-radius:var(--border-radius-sm);cursor:pointer;border:none;font-size:1rem;font-weight:600;transition:background-color .2s}.print-button:hover{background-color:var(--color-primary-hover)}@media (max-width:768px){.day-content,.shopping-columns{grid-template-columns:1fr}}.results-page{max-width:1400px;padding:var(--spacing-md);margin:0 auto}.results-page__header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.results-page__header h1{color:var(--color-text);margin:0;font-size:1.75rem;font-weight:400}.results-page__header p{color:var(--color-text-light);margin:var(--spacing-xs)0 0}.view-toggle{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);display:flex;box-shadow:0 1px 3px #0000001a}.view-toggle__modes{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);display:flex;overflow:hidden}.view-toggle__btn{padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg);color:var(--color-text-light);cursor:pointer;border:none;font-size:.9rem;font-weight:600;transition:background-color .2s,color .2s}.view-toggle__btn:not(:last-child){border-right:1px solid var(--color-border)}.view-toggle__btn--active{background:var(--color-primary);color:#fff}.view-toggle__btn:hover:not(.view-toggle__btn--active){background:var(--color-bg-alt)}.view-toggle__day-nav{align-items:center;gap:var(--spacing-sm);display:flex}.view-toggle__arrow{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);cursor:pointer;color:var(--color-text-light);font-size:1rem}.view-toggle__arrow:hover:not(:disabled){background:var(--color-bg-alt)}.view-toggle__arrow:disabled{opacity:.4;cursor:not-allowed}.view-toggle__pills{gap:2px;display:flex}.view-toggle__pill{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);cursor:pointer;color:var(--color-text-light);font-size:.8rem;font-weight:600;transition:background-color .2s}.view-toggle__pill--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.view-toggle__pill:hover:not(.view-toggle__pill--active){background:var(--color-bg-alt)}.planner-toggle{margin-bottom:0}.planner-toggle__modes{background:var(--color-border);border-radius:var(--border-radius);gap:2px;width:fit-content;padding:2px;display:flex}.planner-toggle__btn{padding:var(--spacing-sm)var(--spacing-lg);min-height:36px;font-size:var(--font-size-sm);color:var(--color-text-light);cursor:pointer;border-radius:calc(var(--border-radius) - 2px);background:0 0;border:none;font-weight:600;transition:background-color .2s,color .2s}.planner-toggle__btn--active{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px #0000001a}.planner-toggle__btn:hover:not(.planner-toggle__btn--active){background:#0000000a}.planner-toggle__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.planner-toggle__upgrade{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text);display:flex}.planner-toggle__upgrade a{color:var(--color-primary);white-space:nowrap;font-weight:600}@media (prefers-reduced-motion:reduce){.planner-toggle__btn{transition:none}}.results-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);overflow-x:auto;box-shadow:0 1px 3px #0000001a}.results-section__header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.results-section__header h2{color:var(--color-text);margin:0;font-size:1.4rem;font-weight:400}.results-section__hint{color:var(--color-text-light);margin:0 0 var(--spacing-sm);font-size:.8rem}.results-section__summary{background:var(--color-bg);padding:var(--spacing-md);border-radius:var(--border-radius-sm);border:1px solid var(--color-border);border-left:3px solid var(--color-text-light);margin-bottom:var(--spacing-lg);align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.results-section__summary strong{white-space:nowrap;color:var(--color-text)}.results-section__summary .editable-field{field-sizing:content;resize:none;min-height:2lh;overflow:hidden}.section-print-btn{padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);color:var(--color-text-light);cursor:pointer;font-size:.85rem;font-weight:600;transition:background-color .2s}.section-print-btn:hover{background:var(--color-bg-alt)}.editable-field--inline{width:auto;max-width:80px}.cal-grid{border:1px solid var(--color-border);grid-template-rows:auto repeat(32,24px);grid-template-columns:60px repeat(7,1fr);gap:0;min-height:800px;display:grid;position:relative}.cal-grid--day{grid-template-columns:60px 1fr}.cal-grid__corner{background:var(--color-text);border-bottom:1px solid var(--color-border);grid-area:1/1}.cal-grid__day-header{background:var(--color-text);color:#fff;padding:var(--spacing-sm);text-align:center;letter-spacing:.04em;text-transform:uppercase;border-left:1px solid #ffffff1a;grid-row:1;font-size:.85rem;font-weight:400}.cal-grid__time-label{padding:2px var(--spacing-xs)0 0;text-align:right;color:var(--color-text-light);border-right:1px solid var(--color-border);grid-column:1;font-size:.65rem;position:relative}.cal-grid__time-label:after{content:"";background:var(--color-border);width:8px;height:1px;position:absolute;top:0;right:-1px}.cal-block{padding:2px var(--spacing-xs);border:none;border-left:3px solid var(--block-default-border);background:var(--block-default-bg);z-index:1;cursor:pointer;text-align:left;border-radius:2px;flex-direction:column;align-items:flex-start;margin:1px 2px;font-family:inherit;transition:box-shadow .2s;display:flex;overflow:hidden}.cal-block:hover{box-shadow:0 1px 3px #3c32281f}.cal-block--work{background:var(--block-work-bg);border-left-color:var(--block-work-border)}.cal-block--meeting{background:var(--block-meeting-bg);border-left-color:var(--block-meeting-border)}.cal-block--exercise{background:var(--block-exercise-bg);border-left-color:var(--block-exercise-border)}.cal-block--meal{background:var(--block-meal-bg);border-left-color:var(--block-meal-border)}.cal-block--social{background:var(--block-social-bg);border-left-color:var(--block-social-border)}.cal-block--appointment{background:var(--block-appointment-bg);border-left-color:var(--block-appointment-border)}.cal-block--chore{background:var(--block-chore-bg);border-left-color:var(--block-chore-border)}.cal-block--errand{background:var(--block-errand-bg);border-left-color:var(--block-errand-border)}.cal-block--routine{background:var(--block-routine-bg);border-left-color:var(--block-routine-border)}.cal-grid__row-line{z-index:0;pointer-events:none;border-top:1px solid #6c62591a}.cal-block__label{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:600;line-height:1.2;overflow:hidden}.cal-block--pinned{border-left-width:4px;position:relative}.cal-block--pinned:after{content:"📌";font-size:.6rem;line-height:1;position:absolute;top:1px;right:2px}.cal-block--selected{outline:2px solid var(--color-primary);outline-offset:-1px;box-shadow:0 0 0 3px var(--color-primary-a15)}.cal-block[draggable=true]{cursor:grab}.cal-block[draggable=true]:active{cursor:grabbing;opacity:.5}.cal-grid__drop-indicator{background:rgba(var(--color-primary),.15);border:2px dashed var(--color-primary);z-index:2;pointer-events:none;border-radius:2px;margin:1px 2px}.cal-grid__add-row{gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:0 var(--spacing-sm);display:flex}.cal-grid__add-btn{min-height:36px;font-size:var(--font-size-xs);flex:1}.block-detail-overlay{z-index:100;padding:var(--spacing-md);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.block-detail{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);width:100%;max-width:460px;box-shadow:0 8px 30px #3c322826}.block-detail__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.block-detail__title{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.block-detail__title strong{color:var(--color-text);font-size:1rem}.block-detail__time-range{color:var(--color-text-light);font-size:.9rem}.block-detail__pinned-badge{padding:1px var(--spacing-sm);background:var(--color-bg);color:var(--color-text-light);border:1px solid var(--color-border);border-radius:10px;font-size:.7rem;font-weight:600;display:inline-block}.block-detail__close{padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);color:var(--color-text-light);cursor:pointer;font-size:.85rem;font-weight:600}.block-detail__close:hover{background:var(--color-bg-alt)}.block-detail__body{gap:var(--spacing-md);flex-direction:column;display:flex}.block-detail__delete{margin-top:var(--spacing-sm);align-self:flex-start}.block-detail__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.block-detail__label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.block-detail__time-inputs{align-items:center;gap:var(--spacing-sm);display:flex}.block-detail__time-inputs .editable-field{width:auto;max-width:140px}.block-detail__time-inputs span{color:var(--color-text-light);font-size:.85rem}.cal-assignments{gap:var(--spacing-sm);margin-top:var(--spacing-lg);grid-template-columns:repeat(7,1fr);display:grid}.cal-assignments--day{grid-template-columns:1fr}.cal-assignments__card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm)}.cal-assignments__day{color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--spacing-xs);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);font-size:.8rem;font-weight:400}.cal-assignments__group{margin-bottom:var(--spacing-xs)}.cal-assignments__group:last-child{margin-bottom:0}.cal-assignments__group strong{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.7rem;font-weight:600;display:block}.cal-assignments__group .editable-field{padding:2px var(--spacing-xs);field-sizing:content;resize:none;min-height:1lh;margin-bottom:2px;font-size:.8rem}.meals-grid{background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:80px repeat(7,minmax(0,1fr));gap:1px;display:grid}.meals-grid--day{grid-template-columns:80px minmax(0,1fr)}.meals-grid__corner{background:var(--color-text)}.meals-grid__day-header{background:var(--color-text);color:#fff;padding:var(--spacing-sm);text-align:center;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:400}.meals-grid__row-label{padding:var(--spacing-sm);color:var(--color-text-light);background:var(--color-bg-alt);text-transform:uppercase;letter-spacing:.03em;align-items:center;font-size:.8rem;font-weight:600;display:flex}.meals-grid__cell{padding:var(--spacing-xs);background:var(--color-bg);min-width:0;overflow:hidden}.meals-grid__cell .editable-field{padding:var(--spacing-xs);field-sizing:content;width:100%;min-height:2lh;font-size:.8rem}.workouts-grid{gap:var(--spacing-sm);grid-template-columns:repeat(7,1fr);display:grid}.workouts-grid--day{grid-template-columns:1fr}.workout-card{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden}.workout-card__header{background:var(--color-text);color:#fff;padding:var(--spacing-sm);text-align:center;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:400}.workout-card__body{padding:var(--spacing-sm)}.workout-card__field{margin-bottom:var(--spacing-xs)}.workout-card__field:last-child{margin-bottom:0}.workout-card__field strong{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.7rem;font-weight:600;display:block}.workout-card__field .editable-field{padding:2px var(--spacing-xs);field-sizing:content;min-height:1lh;font-size:.8rem}.workout-badge{padding:2px var(--spacing-sm);margin-bottom:var(--spacing-xs);background:var(--color-bg-alt);color:var(--color-text-light);border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block}.workout-badge--crossfit{background:var(--block-exercise-bg);color:#4a7142}.workout-badge--lifting{background:var(--block-work-bg);color:#6b5f90}.workout-badge--cardio{background:var(--block-meal-bg);color:#8b6d3c}.workout-badge--rest{background:var(--block-routine-bg);color:var(--color-text-light)}.workout-badge--yoga{background:var(--block-errand-bg);color:#6b5f50}.log-toggle{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);min-height:28px;display:flex}.log-toggle__buttons{gap:2px;width:100%;display:flex}.log-toggle__btn{padding:2px var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);min-height:28px;font-size:var(--font-size-xs);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:2px;transition:background-color .2s;display:flex}.log-toggle__btn:hover:not(:disabled){background:var(--color-bg-alt)}.log-toggle__btn:disabled{opacity:.4;cursor:not-allowed}.log-toggle__btn--check{color:var(--color-success);border-color:var(--color-success-light)}.log-toggle__btn--check:hover:not(:disabled){background:var(--color-success-bg)}.log-toggle__btn--edit{color:var(--color-warning);border-color:var(--color-warning-light)}.log-toggle__btn--edit:hover:not(:disabled){background:var(--color-warning-light)}.log-toggle__btn--add{color:var(--color-text-light)}.log-toggle__icon{font-size:.85rem;line-height:1}.log-toggle__label{letter-spacing:.02em;font-size:.65rem;font-weight:600}.meals-grid:not(.meals-grid--day) .log-toggle__label,.workouts-grid:not(.workouts-grid--day) .log-toggle__label{display:none}.log-toggle__status{padding:2px var(--spacing-sm);border-radius:10px;font-size:.7rem;font-weight:600;display:inline-block}.log-toggle__status--as_planned{background:var(--color-success-bg);color:var(--color-success)}.log-toggle__status--modified{background:var(--color-warning-light);color:var(--color-warning)}.log-toggle__status--unplanned{background:var(--color-bg-alt);color:var(--color-text-light)}.log-toggle__undo{padding:0 var(--spacing-xs);color:var(--color-text-light);cursor:pointer;background:0 0;border:none;font-size:.7rem;text-decoration:underline}.log-toggle__undo:hover:not(:disabled){color:var(--color-text-light)}.log-toggle__undo:disabled{opacity:.4;cursor:not-allowed}.log-toggle--form-open{flex-direction:column;align-items:stretch}.log-toggle__form{gap:var(--spacing-xs);flex-direction:column;display:flex}.log-toggle__input{width:100%;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:.8rem}.log-toggle__input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.log-toggle__textarea{resize:vertical;field-sizing:content;min-height:2lh}.log-toggle__form-actions{gap:var(--spacing-xs);display:flex}.log-toggle__save,.log-toggle__cancel{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;flex:1;font-size:.75rem;font-weight:600;transition:background-color .2s}.log-toggle__save:disabled,.log-toggle__cancel:disabled{opacity:.4;cursor:not-allowed}.log-toggle__save{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.log-toggle__save:hover:not(:disabled){background:var(--color-primary-hover)}.log-toggle__cancel{background:var(--color-bg);color:var(--color-text-light)}.log-toggle__cancel:hover:not(:disabled){background:var(--color-bg-alt)}@media (max-width:768px){.view-toggle__modes .view-toggle__btn:last-child{display:none}.cal-grid{grid-template-columns:50px 1fr;min-height:600px}.meals-grid{grid-template-columns:70px 1fr}.workouts-grid,.cal-assignments{grid-template-columns:1fr}.view-toggle__pills{flex-wrap:wrap}.log-toggle__label{display:none}}.buffer-rule-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);grid-template-columns:2fr 1fr 1fr auto;align-items:center;display:grid}.buffer-rule-header,.location-rule-header{color:var(--color-text-light);margin-bottom:var(--spacing-xs);font-weight:600;font-size:var(--font-size-sm)}.location-rule{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);grid-template-columns:1fr 2fr auto;align-items:center;display:grid}.add-button{margin-top:var(--spacing-sm)}.remove-button{white-space:nowrap}@media (max-width:768px){.buffer-rule-grid{grid-template-columns:1fr 1fr}.buffer-rule-grid select{grid-column:1/-1}.location-rule{grid-template-columns:1fr auto}.remove-button{min-width:44px;min-height:44px}}.profile-header{margin-bottom:var(--spacing-lg)}.profile-header h2{margin:0 0 var(--spacing-xs)0}.profile-header__subtitle{color:var(--color-text-light);margin:0;font-size:.875rem}.profile-tabs{gap:var(--spacing-xs);border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-lg);display:flex}.profile-tabs__tab{padding:var(--spacing-sm)var(--spacing-md);color:var(--color-text-light);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;margin-bottom:-2px;font-size:.9375rem;font-weight:500;transition:color .2s,border-color .2s}.profile-tabs__tab:hover{color:var(--color-text)}.profile-tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.profile-tab-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.profile-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);transition:box-shadow .2s}.profile-card:hover{box-shadow:0 1px 3px #0000001a}.profile-card h3{margin:0 0 var(--spacing-md)0;color:var(--color-text);font-size:var(--font-size-xl);font-weight:600}.profile-card__hint{color:var(--color-text-light);margin-bottom:var(--spacing-md);font-size:.85rem}.profile-card--tight{padding:var(--spacing-md)var(--spacing-lg)}.profile-card--tight h3{margin-bottom:var(--spacing-sm)}.label-hint{color:var(--color-text-light);font-size:.75rem;font-weight:400}.form-grid--2col{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.form-grid--4col{gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}.form-grid--3col{gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr;display:grid}.form-grid--3col.form-grid--tight{gap:var(--spacing-sm)var(--spacing-md)}.form-grid--3col.form-grid--tight .form-group{flex-direction:column;display:flex}.form-grid--3col.form-grid--tight .form-group input{margin-top:auto}.timezone-inline{align-items:center;gap:var(--spacing-md);display:flex}.timezone-inline label{white-space:nowrap;margin-bottom:0}.timezone-inline input{max-width:240px}.timezone-inline .profile-card__hint{white-space:nowrap;margin-bottom:0}.checkbox-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.checkbox-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;min-height:44px;font-size:.9rem;transition:background-color .2s,border-color .2s;display:flex}.checkbox-item:hover{background-color:var(--color-bg);border-color:var(--color-border)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.checkbox-item span{-webkit-user-select:none;user-select:none}@media (max-width:768px){.profile-tabs{-webkit-overflow-scrolling:touch;gap:0;overflow-x:auto}.profile-tabs__tab{padding:var(--spacing-sm);font-size:.875rem}.profile-card{padding:var(--spacing-md)}.form-grid--2col,.form-grid--3col,.form-grid--4col{grid-template-columns:1fr 1fr}.timezone-inline{flex-wrap:wrap}.timezone-inline input{flex:1;max-width:100%}.checkbox-grid{grid-template-columns:1fr}}.workout-entry__info{align-items:baseline;gap:var(--spacing-xs)var(--spacing-sm);flex-wrap:wrap;display:flex}.workout-entry__meta{color:var(--color-text-light);font-size:.875rem}.workout-entry__details{margin:var(--spacing-xs)0 0;color:var(--color-text-light);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.workout-entry__notes{margin:var(--spacing-xs)0 0;color:var(--color-text-light);font-size:.8rem;font-style:italic}.equipment-list{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.equipment-list__item{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);min-height:44px;display:flex}.equipment-list__item span{font-size:.9rem}.equipment-list__add{gap:var(--spacing-sm);margin-top:var(--spacing-xs);display:flex}.equipment-list__add input{flex:1}.lift-max-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);grid-template-columns:2fr 1fr auto;align-items:center;display:grid}.lift-max-header{color:var(--color-text-light);margin-bottom:var(--spacing-xs);font-size:.9rem;font-weight:600}.checkbox-inline{align-items:center;gap:var(--spacing-sm);cursor:pointer;min-height:44px;display:flex}.checkbox-inline input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.checkbox-inline span{-webkit-user-select:none;user-select:none;font-size:.9rem}@media (max-width:768px){.lift-max-grid{grid-template-columns:1fr auto}.lift-max-grid input:first-child{grid-column:1/-1}.equipment-list__add{flex-direction:column}.equipment-list__add button{min-height:44px}}.workout-log-header{margin-bottom:var(--spacing-lg)}.workout-log-header h2{margin:0 0 var(--spacing-xs)0}.workout-log-header__week{color:var(--color-text-light);margin:0;font-size:.875rem}.workout-log-section{margin-bottom:var(--spacing-xl)}.workout-log-section h3{margin:0 0 var(--spacing-md)0;font-size:var(--font-size-xl);color:var(--color-text);font-weight:600}.workout-log-section__list{gap:var(--spacing-md);flex-direction:column;display:flex}.planned-workout-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)var(--spacing-lg);transition:box-shadow .2s}.planned-workout-card:hover{box-shadow:0 1px 3px #0000001a}.planned-workout-card--logged{background-color:var(--color-success-light);border-color:var(--color-secondary)}.planned-workout-card__header{align-items:center;gap:var(--spacing-xs)var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.planned-workout-card__type{font-weight:600}.planned-workout-card__meta{color:var(--color-text-light);font-size:.875rem}.planned-workout-card__details{color:var(--color-text-light);margin:0 0 var(--spacing-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.planned-workout-card__actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.planned-workout-card__date-input{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);min-height:36px;font-size:.875rem}.log-button{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;border:none;min-height:44px;font-size:.875rem;font-weight:500;transition:background-color .2s}.log-button--primary{background-color:var(--color-secondary);color:#fff}.log-button--primary:hover{background-color:var(--color-success)}.log-button--secondary{background-color:var(--color-primary);color:#fff}.log-button--secondary:hover{background-color:var(--color-primary-hover)}.badge{padding:.125rem var(--spacing-sm);border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block}.badge--as_planned{background-color:var(--color-success-light);color:var(--color-success)}.badge--modified{background-color:var(--color-bg-alt);color:var(--color-primary-hover)}.badge--unplanned{background-color:var(--color-bg-alt);color:var(--color-text-light)}.planned-comparison{border-left:3px solid var(--color-primary);background-color:var(--color-bg-alt);padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:0 var(--border-radius-sm)var(--border-radius-sm)0;font-size:.875rem}.planned-comparison strong{margin-bottom:var(--spacing-xs);color:var(--color-primary-hover);display:block}.planned-comparison p{color:var(--color-text-light);margin:0}.workout-log-form{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg)}.workout-log-form__exercises{margin:var(--spacing-lg)0}.workout-log-form__exercises h4{margin:0 0 var(--spacing-md)0;color:var(--color-text);font-size:1rem;font-weight:600}.exercise-log-entry{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.exercise-log-entry__header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.exercise-log-entry__name{flex:1;font-weight:500}.exercise-log-entry__notes{margin-top:var(--spacing-sm);width:100%}.set-grid{gap:var(--spacing-xs)var(--spacing-sm);margin-bottom:var(--spacing-sm);grid-template-columns:2.5rem 1fr 1fr 6rem 2rem;align-items:center;display:grid}.set-grid__header{display:contents}.set-grid__header span{color:var(--color-text-light);font-size:.8rem;font-weight:600}.set-grid__row{display:contents}.set-grid__number{text-align:center;color:var(--color-text-light);font-size:.85rem}.set-grid input[type=number],.set-grid select{width:100%;min-width:0}.add-inline-button{border:1px dashed var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-primary);padding:var(--spacing-xs)var(--spacing-sm);cursor:pointer;background:0 0;min-height:36px;font-size:.85rem;transition:background-color .2s,border-color .2s}.add-inline-button:hover{background-color:var(--color-bg);border-color:var(--color-primary)}.logged-workout-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)var(--spacing-lg);transition:box-shadow .2s}.logged-workout-card:hover{box-shadow:0 1px 3px #0000001a}.logged-workout-card__header{align-items:center;gap:var(--spacing-xs)var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.logged-workout-card__date{font-weight:600}.logged-workout-card__meta{color:var(--color-text-light);font-size:.85rem}.logged-workout-card__body{margin-bottom:var(--spacing-sm);font-size:.9375rem}.logged-workout-card__exercises{margin:0 0 var(--spacing-sm);padding:0;list-style:none}.logged-workout-card__exercises li{color:var(--color-text-light);padding:var(--spacing-xs)0;font-size:.875rem}.logged-workout-card__details{color:var(--color-text-light);margin:0 0 var(--spacing-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.logged-workout-card__notes{color:var(--color-text-light);margin:0 0 var(--spacing-sm);font-size:.85rem;font-style:italic}.logged-workout-card__actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}.empty-state{color:var(--color-text-light);padding:var(--spacing-md)0;font-style:italic}.error-message{color:var(--color-danger);margin-bottom:var(--spacing-md);font-size:.9rem}.status-message{background-color:var(--color-success-light);color:var(--color-success);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md);font-size:.9rem}.logged-table-wrap{overflow-x:auto}.logged-table{border-collapse:collapse;width:100%;font-size:.9rem}.logged-table th{text-align:left;color:var(--color-text-light);padding:var(--spacing-xs)var(--spacing-sm);border-bottom:2px solid var(--color-border);white-space:nowrap;font-size:.8rem;font-weight:600}.logged-row{border-bottom:1px solid var(--color-border)}.logged-row:hover{background-color:var(--color-bg-alt)}.logged-row td{padding:var(--spacing-sm);vertical-align:middle}.logged-row__date{white-space:nowrap;color:var(--color-text-light);font-size:.85rem;font-weight:500}.logged-row__slot{color:var(--color-text-light);font-size:.85rem}.logged-row__name{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.logged-row__meta{color:var(--color-text-light);font-size:.85rem}.logged-row__notes{color:var(--color-text-light);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-style:italic;display:block;overflow:hidden}.logged-row__status,.logged-row__actions{white-space:nowrap}.logged-row__btn{color:var(--color-primary);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);background:0 0;border:none;min-height:32px;font-size:.8rem;transition:background-color .2s}.logged-row__btn:hover{background-color:var(--color-bg)}.logged-row__btn--danger{color:var(--color-danger)}.logged-row__btn--danger:hover{background-color:rgba(var(--color-danger),.08)}@media (max-width:768px){.planned-workout-card__actions{flex-direction:column}.planned-workout-card__actions .log-button{width:100%}.set-grid{gap:var(--spacing-xs);grid-template-columns:2rem 1fr 1fr 2rem}.set-grid__header span:nth-child(4),.set-grid__row select{display:none}.workout-log-form{padding:var(--spacing-md)}.logged-row__name{max-width:160px}.logged-row__btn{padding:var(--spacing-xs);font-size:.75rem}}.meal-entry__info{align-items:baseline;gap:var(--spacing-xs)var(--spacing-sm);flex-wrap:wrap;display:flex}.meal-entry__meta{color:var(--color-text-light);font-size:.875rem}.meal-entry__nutrition{margin:var(--spacing-xs)0 0;color:var(--color-text-light);font-size:.875rem}.meal-entry__notes{margin:var(--spacing-xs)0 0;color:var(--color-text-light);font-size:.8rem;font-style:italic}.fetch-nutrition-row{gap:var(--spacing-sm);align-items:flex-start;display:flex}.fetch-nutrition-row input{flex:1}.fetch-button{background-color:var(--color-primary);color:#fff;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;white-space:nowrap;border:none;min-height:44px;font-size:.9rem;font-weight:600;transition:background-color .2s}.fetch-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.fetch-button:disabled{background-color:var(--color-text-light);cursor:not-allowed}.fetch-status{margin-top:var(--spacing-xs);color:var(--color-text-light);font-size:.85rem}.form-grid--nutrition{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}@media (max-width:768px){.form-grid--nutrition{grid-template-columns:1fr}.fetch-nutrition-row{flex-direction:column}.fetch-nutrition-row .fetch-button{width:100%}}.meal-log-header{margin-bottom:var(--spacing-lg)}.meal-log-header h2{margin:0 0 var(--spacing-xs)0}.meal-log-section{margin-bottom:var(--spacing-xl)}.meal-log-section h3{margin:0 0 var(--spacing-md)0;font-size:var(--font-size-xl);color:var(--color-text);font-weight:600}.meal-log-section__list{gap:var(--spacing-md);flex-direction:column;display:flex}.planned-meal-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)var(--spacing-lg);transition:box-shadow .2s}.planned-meal-card:hover{box-shadow:0 1px 3px #0000001a}.planned-meal-card--logged{background-color:var(--color-success-light);border-color:var(--color-secondary)}.planned-meal-card__header{align-items:center;gap:var(--spacing-xs)var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.planned-meal-card__name{font-weight:600}.planned-meal-card__meta{color:var(--color-text-light);font-size:.875rem}.planned-meal-card__nutrition{color:var(--color-text-light);margin:0 0 var(--spacing-sm);font-size:.875rem}.planned-meal-card__actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.planned-meal-card__date-input{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);min-height:36px;font-size:.875rem}.meal-log-form{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg)}.meal-log-form__estimate-row{gap:var(--spacing-sm);align-items:flex-start;display:flex}.meal-log-form__estimate-row textarea{flex:1}.meal-log-form__estimate-row .log-button{white-space:nowrap;align-self:flex-start;margin-top:0}.meal-log-form__estimate-status{color:var(--color-warning-text);margin:var(--spacing-xs)0 0;font-size:.85rem}.logged-meal-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)var(--spacing-lg);transition:box-shadow .2s}.logged-meal-card:hover{box-shadow:0 1px 3px #0000001a}.logged-meal-card__header{align-items:center;gap:var(--spacing-xs)var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.logged-meal-card__date{font-weight:600}.logged-meal-card__meta{color:var(--color-text-light);font-size:.85rem}.logged-meal-card__body{margin-bottom:var(--spacing-sm);font-size:.9375rem}.logged-meal-card__description{color:var(--color-text-light);margin:0 0 var(--spacing-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.logged-meal-card__nutrition{color:var(--color-text-light);margin:0 0 var(--spacing-sm);font-size:.85rem}.logged-meal-card__notes{color:var(--color-text-light);margin:0 0 var(--spacing-sm);font-size:.85rem;font-style:italic}.logged-meal-card__actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}.daily-nutrition-summary{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)var(--spacing-lg);margin-bottom:var(--spacing-xl)}.daily-nutrition-summary h4{margin:0 0 var(--spacing-sm)0;color:var(--color-text);font-size:.9375rem;font-weight:600}.daily-nutrition-summary__rows{gap:var(--spacing-sm)var(--spacing-lg);flex-wrap:wrap;display:flex}.daily-nutrition-summary__row{gap:var(--spacing-xs);align-items:baseline;display:flex}.daily-nutrition-summary__label{color:var(--color-text-light);font-size:.85rem}.daily-nutrition-summary__value{color:var(--color-text);font-size:.9rem;font-weight:600}.daily-nutrition-summary__target{color:var(--color-text-light);font-weight:400}@media (max-width:768px){.planned-meal-card__actions{flex-direction:column}.planned-meal-card__actions .log-button{width:100%}.meal-log-form{padding:var(--spacing-md)}.meal-log-form__estimate-row{flex-direction:column}.meal-log-form__estimate-row .log-button{width:100%}.daily-nutrition-summary__rows{gap:var(--spacing-xs);flex-direction:column}}.todo-header__actions{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.todo-header__toggle{align-items:center;gap:var(--spacing-xs);cursor:pointer;color:var(--color-text-light);font-size:.9rem;display:flex}.todo-header__toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.week-navigator{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.week-navigator__arrow{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);color:var(--color-text-light);background:0 0;justify-content:center;align-items:center;min-width:36px;min-height:36px;font-size:.85rem;transition:background-color .2s;display:flex}.week-navigator__arrow:hover{background-color:var(--color-bg-alt);color:var(--color-primary)}.week-navigator__label{color:var(--color-text);text-align:center;min-width:160px;font-size:.95rem;font-weight:600}.week-navigator__today{border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);color:var(--color-primary);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);background:0 0;min-height:36px;font-size:.8rem;transition:background-color .2s}.week-navigator__today:hover{background-color:var(--color-primary);color:#fff}.todo-section{margin-bottom:var(--spacing-xl)}.todo-section h3{margin:0 0 var(--spacing-md)0;font-size:var(--font-size-xl);color:var(--color-text);font-weight:600}.todo-section__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.todo-section__header h3{margin:0}.todo-section__header-actions{align-items:center;gap:var(--spacing-md);display:flex}.todo-section__collapse-controls{margin-bottom:var(--spacing-xs);justify-content:flex-end;display:flex}.todo-section--recurring{border-top:1px solid var(--color-border);padding-top:var(--spacing-lg)}.todo-section--completed{opacity:.7;border-top:1px solid var(--color-border);padding-top:var(--spacing-lg)}.category-group{margin-bottom:var(--spacing-lg)}.category-group__toggle{align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm)0;text-align:left;background:0 0;border:none;width:100%;font-size:1rem;display:flex}.category-group__toggle:hover .category-group__name{color:var(--color-primary)}.category-group__arrow{color:var(--color-text-light);text-align:center;width:16px;font-size:1rem}.category-group__name{color:var(--color-text);font-weight:600;transition:color .2s}.category-group__count{color:var(--color-text-light);font-size:.85rem;font-weight:400}.category-group__table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.todo-table{border-collapse:separate;border-spacing:16px 0;table-layout:fixed;width:100%;font-size:.9rem}.todo-table thead{border-bottom:2px solid var(--color-border)}.todo-table th{text-align:left;padding:var(--spacing-xs)var(--spacing-sm);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.todo-table td{padding:var(--spacing-xs)var(--spacing-sm);vertical-align:middle;border-bottom:1px solid var(--color-border);text-overflow:ellipsis;overflow:hidden}.todo-table tbody tr:hover{background-color:var(--color-bg-alt)}.todo-table__th--check{width:32px}.todo-table__th--task{width:50%}.todo-table__th--priority,.todo-table__th--hours,.todo-table__th--actions{width:80px}.todo-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.todo-table__th--sortable:hover{color:var(--color-primary)}.todo-table__th--sortable .sort-arrow{font-size:.6rem}.todo-row--completed{opacity:.5}.todo-row--completed .todo-row__title{text-decoration:line-through}.todo-row__check{text-align:center;width:32px}.todo-row__check input[type=checkbox]{cursor:pointer;width:16px;height:16px}.todo-row__title{text-overflow:ellipsis;font-weight:500;overflow:hidden}.todo-row__title .badge{margin-left:var(--spacing-xs);vertical-align:middle}.todo-row__room{color:var(--color-text-light);font-size:.85rem}.todo-row__priority{white-space:nowrap}.todo-row__priority-select{padding:var(--spacing-xs);background-color:var(--color-bg);cursor:pointer;width:100%;min-height:36px;font-size:.85rem}.todo-row__priority-select--must{border-color:var(--color-danger);color:var(--color-danger-dark);background-color:#fdf2f0}.todo-row__priority-select--want{background-color:var(--color-bg-alt);border-color:var(--color-primary);color:var(--color-primary-hover)}.todo-row__priority-select--if_time{background-color:var(--color-bg-alt);border-color:var(--color-text-light);color:var(--color-text-light)}.todo-row__hours{white-space:nowrap}.todo-row__hours input{width:50px;padding:var(--spacing-xs);min-height:36px;font-size:.85rem}.todo-row__actions{white-space:nowrap;text-align:right;overflow:visible}.todo-row__btn{padding:var(--spacing-xs);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:36px;font-size:.8rem;transition:background-color .2s}.todo-row__btn--edit{color:var(--color-primary)}.todo-row__btn--edit:hover{background-color:var(--color-bg-alt)}.todo-row__btn--delete{color:var(--color-danger)}.todo-row__btn--delete:hover{background-color:#fdf2f0}.recurring-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)var(--spacing-lg);margin-bottom:var(--spacing-sm);transition:box-shadow .2s}.recurring-card:hover{box-shadow:0 1px 3px #0000001a}.recurring-card__header{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.recurring-card__title{font-weight:600}.recurring-card__category{color:var(--color-text-light);font-size:.85rem}.recurring-card__meta{color:var(--color-text-light);margin:var(--spacing-xs)0;gap:var(--spacing-sm);flex-wrap:wrap;font-size:.85rem;display:flex}.recurring-card__due{color:var(--color-warning-text);font-weight:600}.recurring-card__location{color:var(--color-text-light)}.recurring-card__notes{color:var(--color-text-light);margin:var(--spacing-xs)0;font-size:.85rem;font-style:italic}.recurring-card__actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}.todo-form{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.todo-form__checkbox-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.9375rem;display:flex}.todo-form__checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.todo-form__inline-add{align-items:center;gap:var(--spacing-sm);display:flex}.todo-form__inline-add input{flex:1}.badge--project{background-color:var(--block-work-bg);color:var(--block-work-border)}.badge--must{color:var(--color-danger-dark);background-color:#fdf2f0}.badge--want{background-color:var(--color-bg-alt);color:var(--color-primary-hover)}.badge--if_time{background-color:var(--color-bg-alt);color:var(--color-text-light)}.badge--weekly{background-color:var(--color-success-light);color:var(--color-success)}.badge--biweekly{background-color:var(--color-bg-alt);color:var(--color-primary-hover)}.badge--monthly{background-color:var(--color-warning);color:var(--color-warning-text)}.badge--quarterly{background-color:var(--block-work-bg);color:var(--block-work-border)}.category-group__header{align-items:center;gap:var(--spacing-sm);display:flex}.category-group__expand-all{color:var(--color-text-light);background:0 0;border:none;padding:0;font-size:.75rem}.category-group__expand-all:hover{color:var(--color-primary)}.category-group__rooms{padding-left:var(--spacing-md)}.room-group{margin-bottom:var(--spacing-sm)}.room-group__toggle{align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs)0;text-align:left;background:0 0;border:none;width:100%;display:flex}.room-group__arrow{color:var(--color-text-light);text-align:center;width:14px;font-size:.85rem}.room-group__name{color:var(--color-text-light);font-size:.9rem;font-weight:500;transition:color .2s}.room-group__toggle:hover .room-group__name{color:var(--color-primary)}.room-group__count{color:var(--color-text-light);font-size:.8rem;font-weight:400}@media (max-width:768px){.todo-header__actions{flex-direction:column;align-items:stretch}.todo-form{padding:var(--spacing-md)}.todo-form__inline-add{flex-wrap:wrap}.recurring-card{padding:var(--spacing-md)}.todo-row__location,.todo-table th:nth-child(4),.todo-table td:nth-child(4){display:none}.todo-row__btn{padding:var(--spacing-xs);font-size:.75rem}}.pantry-controls{margin-bottom:var(--spacing-md);justify-content:flex-end;align-items:center;display:flex}.pantry-controls__toggle-all{color:var(--color-text-light);background:0 0;border:none;padding:0;font-size:.75rem}.pantry-controls__toggle-all:hover{color:var(--color-primary)}.pantry-group{margin-bottom:var(--spacing-md)}.pantry-group__toggle{align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm)0;text-align:left;background:0 0;border:none;width:100%;font-size:1rem;display:flex}.pantry-group__toggle:hover .pantry-group__name{color:var(--color-primary)}.pantry-group__arrow{color:var(--color-text-light);text-align:center;width:16px;font-size:1rem}.pantry-group__name{color:var(--color-text);font-weight:600;transition:color .2s}.pantry-group__count{color:var(--color-text-light);font-size:.85rem;font-weight:400}.pantry-group__items{padding-left:var(--spacing-md)}.pantry-group__sort{color:var(--color-text-light);cursor:pointer;padding:var(--spacing-xs)0;text-transform:uppercase;letter-spacing:.03em;background:0 0;border:none;font-size:.8rem}.pantry-group__sort:hover{color:var(--color-primary)}.pantry-actions{gap:var(--spacing-md);margin-top:var(--spacing-md);display:flex}@media (max-width:768px){.pantry-actions{flex-direction:column}}.store-board__columns{gap:var(--spacing-md);padding-bottom:var(--spacing-sm);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.store-column{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);flex-direction:column;flex:1;min-width:200px;display:flex}.store-column--unsorted{border-style:dashed;border-color:var(--color-border);background:var(--color-bg-alt)}.store-column--bigBox{border-top:3px solid var(--block-work-border)}.store-column--warehouse{border-top:3px solid var(--block-meal-border)}.store-column--grocery{border-top:3px solid var(--block-exercise-border)}.store-column--specialty{border-top:3px solid var(--block-errand-border)}.store-column--over{box-shadow:inset 0 0 0 2px var(--color-primary)}.store-column__header{padding:var(--spacing-sm)var(--spacing-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;display:flex}.store-column__count{color:var(--color-text-light);background:var(--color-bg-alt);padding:2px var(--spacing-sm);border-radius:10px;font-size:.75rem}.store-column__body{padding:var(--spacing-sm);flex:1;min-height:60px}.store-column__category{margin-bottom:var(--spacing-sm)}.store-column__cat-label{color:var(--color-text-light);margin-bottom:var(--spacing-xs);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;display:block}.store-column__cat-label:hover{color:var(--color-primary)}.store-column__cat-input{padding:1px var(--spacing-xs);border:1px solid var(--color-primary);margin-bottom:var(--spacing-xs);border-radius:2px;width:100%;font-size:.75rem;font-weight:600}.store-column__add-btn{width:100%;padding:var(--spacing-xs);border:1px dashed var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-light);cursor:pointer;margin-top:var(--spacing-sm);background:0 0;font-size:.8rem;display:block}.store-column__add-btn:hover{background:var(--color-bg-alt);color:var(--color-text-light)}.store-column__add-row{margin-top:var(--spacing-sm)}.store-column__add-input{width:100%;padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);font-size:.8rem}.shopping-item{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);background:var(--color-bg);border:1px solid var(--color-border);margin-bottom:2px;font-size:.85rem;transition:box-shadow .15s;display:flex}.shopping-item:hover{box-shadow:0 1px 3px #0000001a}.shopping-item--dragging{opacity:.4}.shopping-item--overlay{background:var(--color-bg);border:1px solid var(--color-border);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.85rem;box-shadow:0 4px 12px #3c322826}.shopping-item__grip{cursor:grab;color:var(--color-text-light);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.8rem;line-height:1}.shopping-item__qty{color:var(--color-text-light);white-space:nowrap;flex-shrink:0;font-size:.75rem}.shopping-item__name{font-family:inherit;font-size:inherit;background:0 0;border:none;flex:1;min-width:0;padding:2px}.shopping-item__name:focus{background:var(--color-bg);border-radius:2px;outline:none}.shopping-item__badges{flex-shrink:0;gap:2px;display:flex}.shopping-item__badge{white-space:nowrap;border-radius:3px;padding:1px 4px;font-size:.6rem;font-weight:600}.shopping-item__badge--bigBox{background:var(--block-work-bg);color:var(--block-work-border)}.shopping-item__badge--warehouse{background:var(--block-meal-bg);color:var(--block-meal-border)}.shopping-item__badge--grocery{background:var(--block-exercise-bg);color:var(--block-exercise-border)}.shopping-item__badge--specialty{background:var(--block-errand-bg);color:var(--block-errand-border)}.shopping-item__assign-btn{padding:2px var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg);cursor:pointer;color:var(--color-text-light);white-space:nowrap;flex-shrink:0;font-size:.75rem;line-height:1}.shopping-item__assign-btn:hover{background:var(--color-bg-alt)}.shopping-item__delete-btn{border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-light);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1rem;line-height:1}.shopping-item__delete-btn:hover{color:var(--color-danger);background:#fdf2f0}.store-popover{z-index:50;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);min-width:200px;margin-top:var(--spacing-xs);position:absolute;top:100%;right:0;box-shadow:0 4px 12px #3c32281f}.store-popover__section{margin-bottom:var(--spacing-sm)}.store-popover__section:last-child{margin-bottom:0}.store-popover__label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);font-size:.7rem;font-weight:600;display:block}.store-popover__option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;font-size:.85rem;display:flex}.store-popover__option:hover{background:var(--color-bg-alt)}.store-popover__option input[type=checkbox]{accent-color:var(--color-primary)}.store-popover__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.store-popover__dot--bigBox{background:var(--block-work-border)}.store-popover__dot--warehouse{background:var(--block-meal-border)}.store-popover__dot--grocery{background:var(--block-exercise-border)}.store-popover__dot--specialty{background:var(--block-errand-border)}.store-popover__select{background:var(--color-bg);width:100%;font-size:.85rem}.store-popover__new-cat{gap:var(--spacing-xs);margin-top:var(--spacing-xs);display:flex}.store-popover__input{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);flex:1;font-size:.8rem}.store-popover__add-btn{padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;font-size:.8rem;font-weight:600}.store-popover__add-btn:hover{opacity:.9}.shopping-print-view{display:none}.shopping-print-view__store{margin-bottom:var(--spacing-md)}.shopping-print-view__store h4{margin:0 0 var(--spacing-xs);color:var(--color-text);font-size:1rem}.shopping-print-view__category{margin-bottom:var(--spacing-sm)}.shopping-print-view__category strong{font-size:.85rem}.shopping-print-view__category ul{padding-left:var(--spacing-lg);margin:var(--spacing-xs)0 0;list-style:outside}.shopping-print-view__category li{margin-bottom:1px;font-size:.85rem}@media (max-width:768px){.store-board__columns{flex-direction:column}.store-column{min-width:100%}}@media print{.nav,.submit-button,.new-plan-button,.print-button,.preview-button,.week-nav,.form-section,.form-group,.error,.nav__generate-all,.result-actions,.view-toggle,.planner-toggle,.section-print-btn{display:none!important}body{background:#fff;margin:0;font-size:11pt;padding:0!important}.container{max-width:100%;margin:0;padding:0}.plan-result{box-shadow:none;padding:0}.plan-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-after:avoid}.day-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}.day-section{page-break-inside:avoid;margin-bottom:var(--spacing-md)}.editable-field{resize:none;box-shadow:none!important;background:0 0!important;border:none!important;padding:2px!important}.store-board__columns,.shopping-item__assign-btn,.shopping-item__delete-btn,.store-column__add-btn,.store-column__add-row{display:none!important}.shopping-print-view{display:block!important}.shopping-columns{grid-template-columns:1fr 1fr}.day-content{grid-template-columns:1fr}.cal-block,.cal-grid__day-header,.meals-grid__day-header,.workout-card__header,.workout-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.results-section{box-shadow:none;page-break-inside:avoid}.results-page__header{page-break-after:avoid}body[data-print-section=calendar] .results-section--meals,body[data-print-section=calendar] .results-section--workouts,body[data-print-section=calendar] .results-section--shopping,body[data-print-section=meals] .results-section--calendar,body[data-print-section=meals] .results-section--workouts,body[data-print-section=meals] .results-section--shopping,body[data-print-section=workouts] .results-section--calendar,body[data-print-section=workouts] .results-section--meals,body[data-print-section=workouts] .results-section--shopping,body[data-print-section=shopping] .results-section--calendar,body[data-print-section=shopping] .results-section--meals,body[data-print-section=shopping] .results-section--workouts{display:none!important}}.ai-planner{max-width:900px;margin:0 auto}.ai-planner__actions{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);display:flex}.ai-planner__actions .submit-button{justify-content:center;align-items:center;margin:0;display:inline-flex}.ai-planner__card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);box-shadow:0 1px 3px #0000001a}.ai-planner__card[open]>.ai-planner__card-header{border-bottom:1px solid var(--color-border)}.ai-planner__card-header{padding:var(--spacing-md)var(--spacing-lg);color:var(--color-text);cursor:pointer;align-items:center;gap:var(--spacing-sm);font-size:1.2rem;font-weight:600;list-style:none;display:flex}.ai-planner__card-header::-webkit-details-marker{display:none}.ai-planner__card-header:before{content:"▸";color:var(--color-text-light);font-size:.85rem;transition:transform .2s}details[open]>.ai-planner__card-header:before{transform:rotate(90deg)}.ai-planner__card-body{padding:var(--spacing-lg)}.ai-planner__card-body .submit-button{margin:var(--spacing-md)var(--spacing-sm)0 0;justify-content:center;align-items:center;display:inline-flex}.generating-overlay__content{align-items:center;gap:var(--spacing-lg);text-align:center;flex-direction:column;display:flex}.generating-overlay__spinner{border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.generating-overlay__step{color:#fff;font-size:var(--font-size-lg);min-height:1.5em;animation:fadeIn .3s ease ease-in;margin:0}.generating-overlay__cancel{color:#ffffffd9;border-radius:var(--border-radius-sm);padding:var(--spacing-xs)var(--spacing-lg);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:1px solid #fff6;min-height:44px;transition:background .2s,border-color .2s}.generating-overlay__cancel:hover{background:#ffffff1a;border-color:#ffffffb3}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.today-page{max-width:600px;padding:var(--spacing-md);margin:0 auto}.today-page__date{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);text-align:center;font-weight:700}.today-page__loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-light)}.today-page__grid{gap:var(--spacing-md);flex-direction:column;display:flex}.today-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)}.today-card__title{font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm)0;font-weight:600}.today-card__header-row{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.today-card__header-row .today-card__title{margin-bottom:0}.today-card__empty{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0;font-style:italic}.today-schedule__priorities{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.today-schedule__priorities-label{font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:600}.today-schedule__rock{font-size:var(--font-size-xs);background:var(--color-bg-alt);padding:2px var(--spacing-sm);color:var(--color-text);border-radius:12px}.today-schedule__blocks{gap:var(--spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-schedule__block{gap:var(--spacing-sm);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);background:var(--color-bg-alt);font-size:var(--font-size-sm);display:flex}.today-schedule__time{color:var(--color-text-light);white-space:nowrap;min-width:110px;font-weight:600}.today-schedule__label{color:var(--color-text)}.today-meals{gap:var(--spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-meals__slot{padding:var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--color-border);transition:background .15s}.today-meals__slot--done{background:var(--color-success-light);border-color:var(--color-success)}.today-meals__header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.today-meals__label{font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:600}.today-meals__text{font-size:var(--font-size-sm);margin:0;line-height:1.4}.today-meals__check{background:var(--color-success);color:#fff;width:32px;height:32px;font-size:var(--font-size-base);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.today-meals__check:hover{background:var(--color-success);opacity:.85}.today-meals__undo{color:var(--color-text-light);font-size:var(--font-size-xs);cursor:pointer;padding:var(--spacing-xs);background:0 0;border:none;text-decoration:underline}.today-meals__undo:hover{color:var(--color-danger);background:0 0}.today-workout__check{background:var(--color-success);color:#fff;padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:none;min-height:36px}.today-workout__check:hover{opacity:.85}.today-workout__undo{color:var(--color-text-light);font-size:var(--font-size-xs);cursor:pointer;padding:var(--spacing-xs);background:0 0;border:none;text-decoration:underline}.today-workout__undo:hover{color:var(--color-danger);background:0 0}.today-workout__badge{font-size:var(--font-size-xs);background:var(--color-success-light);color:var(--color-success);padding:2px var(--spacing-sm);margin-bottom:var(--spacing-sm);border-radius:12px;font-weight:600;display:inline-block}.today-workout__body{font-size:var(--font-size-sm);line-height:1.5}.today-workout__body strong{font-size:var(--font-size-base)}.today-workout__focus{color:var(--color-text-light);margin:var(--spacing-xs)0 0}.today-workout__details{margin:var(--spacing-xs)0 0;white-space:pre-line}.today-budget__balances{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.today-budget__balance{flex-direction:column;gap:2px;display:flex}.today-budget__balance-label{font-size:var(--font-size-xs);color:var(--color-text-light);font-weight:500}.today-budget__balance-value{font-size:var(--font-size-lg);font-weight:700}.today-budget__balance-value--negative{color:var(--color-danger)}.today-budget__bills{margin-bottom:var(--spacing-md)}.today-budget__bills h4{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);font-weight:600}.today-budget__bills ul{margin:0;padding:0;list-style:none}.today-budget__bill{padding:var(--spacing-xs)0;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.today-budget__bill:last-child{border-bottom:none}.today-budget__bill-name{color:var(--color-text)}.today-budget__bill-meta{color:var(--color-text-light);font-size:var(--font-size-xs)}.today-budget__bill-overdue{color:var(--color-danger);font-weight:600}.today-budget__bill-soon{color:var(--color-warning)}.today-budget__add-btn{width:100%;color:var(--color-primary);border:1px dashed var(--color-border);padding:var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--border-radius-sm);background:0 0}.today-budget__add-btn:hover{border-color:var(--color-primary);background:0 0}.today-budget__form{gap:var(--spacing-sm);flex-direction:column;display:flex}.today-budget__form input,.today-budget__form select{font-size:var(--font-size-sm)}.today-budget__form-row{gap:var(--spacing-sm);grid-template-columns:auto 1fr;display:grid}.today-budget__form-row select{width:auto}.today-budget__form-actions{gap:var(--spacing-sm);display:flex}.today-budget__form-actions button{font-size:var(--font-size-sm);flex:1}.today-budget__form-actions button[type=button]{color:var(--color-text-light);border:1px solid var(--color-border);background:0 0}.today-budget__form-actions button[type=button]:hover{background:var(--color-bg-alt)}.today-todos{gap:var(--spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-todos__item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);transition:opacity .15s;display:flex}.today-todos__item--done{opacity:.5}.today-todos__item--done .today-todos__title{text-decoration:line-through}.today-todos__checkbox{border:2px solid var(--color-border);background:var(--color-bg);width:24px;min-width:24px;height:24px;color:var(--color-success);cursor:pointer;font-size:var(--font-size-sm);border-radius:4px;justify-content:center;align-items:center;padding:0;font-weight:700;display:inline-flex}.today-todos__checkbox:hover{border-color:var(--color-success);background:var(--color-bg)}.today-todos__title{font-size:var(--font-size-sm);flex:1}.today-todos__priority{font-size:var(--font-size-xs);padding:1px var(--spacing-xs);border-radius:8px;flex-shrink:0;font-weight:600}.today-todos__priority--must{background:var(--color-danger-light);color:var(--color-danger)}.today-todos__priority--want{background:var(--color-warning-light);color:var(--color-warning)}.today-todos__priority--if_time{background:var(--color-bg-alt);color:var(--color-text-light)}@media (min-width:1024px){.today-page{max-width:900px}.today-page__grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.today-card:first-child{grid-column:1/-1}}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg-alt);line-height:1.6}h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-text);font-weight:700}h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:600}h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:600}h4{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);color:var(--color-text);font-weight:600}button{background:var(--color-primary);color:#fff;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;transition:all .15s}button:hover{background:var(--color-primary-hover)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--color-secondary)}button.success{background:var(--color-success)}button.danger{background:var(--color-danger)}button.outline{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}button.outline:hover{background:var(--color-primary-a05)}button.btn-ghost{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}button.btn-ghost:hover{background:var(--color-bg-hover)}button.btn-sm{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs)}input,select,textarea{width:100%;padding:var(--spacing-sm)var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-sm);transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}input::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-light)}select{cursor:pointer;background:var(--color-bg)}table{border-collapse:collapse;background:var(--color-bg);border-radius:var(--border-radius-sm);width:100%;font-size:var(--font-size-sm);overflow:hidden}thead{background:var(--color-bg-alt)}th{text-align:left;padding:var(--spacing-sm)var(--spacing-md);font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--color-border)}td{padding:var(--spacing-sm)var(--spacing-md);border-bottom:1px solid var(--color-border)}tbody tr{transition:background .15s}tbody tr:hover{background:var(--color-bg-hover)}tbody tr:last-child td{border-bottom:none}a{color:var(--color-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-primary-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.card{background:var(--color-bg);border-radius:var(--border-radius-sm);padding:var(--spacing-md);border:1px solid var(--color-border)}.container{max-width:1280px;padding:0 var(--spacing-md);margin:0 auto}.page{padding:var(--spacing-lg)0}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-light)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{gap:var(--spacing-lg);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.page-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.page-header h1{margin-bottom:0}.page-actions{gap:var(--spacing-sm);display:flex}.modal-overlay{z-index:1000;padding:var(--spacing-md);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg);border-radius:var(--border-radius);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--font-size-lg);margin:0}.modal-body{padding:var(--spacing-md)}.modal-footer{justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--color-border);display:flex}.modal-close{font-size:var(--font-size-xl);cursor:pointer;color:var(--color-text-light);padding:var(--spacing-xs);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;line-height:1;display:inline-flex}.modal-close:hover{color:var(--color-text)}.form-group{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.form-group label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.form-group small{font-size:var(--font-size-xs);color:var(--color-text-light)}.form-row{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.form-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.action-buttons{gap:var(--spacing-xs);display:flex}.btn-edit{background:var(--color-bg-alt);color:var(--color-text);padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs)}.btn-edit:hover{background:var(--color-primary);color:#fff}.btn-delete{background:var(--color-bg-alt);color:var(--color-danger);padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs)}.btn-delete:hover{background:var(--color-danger);color:#fff}.alert{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);display:flex}.alert.alert-success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success)}.alert.alert-warning{background:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning-dark)}.alert.alert-danger{background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.success{background:var(--color-success)}.status-dot.warning{background:var(--color-warning)}.status-dot.danger{background:var(--color-danger)}.week-nav{align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.week-nav__label{font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;padding:0 var(--spacing-sm);font-weight:600}.week-nav__button{padding:var(--spacing-sm)var(--spacing-md);min-height:36px;font-size:var(--font-size-sm);font-weight:500}.week-nav__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.week-nav__right{margin-left:auto}.week-nav__today{padding:var(--spacing-sm)var(--spacing-md);min-height:36px;font-size:var(--font-size-sm);color:var(--color-primary);border:1px solid var(--color-primary);background:0 0;font-weight:500}.week-nav__today:hover{background:var(--color-primary-a05)}.week-nav__today:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page-container{max-width:800px;padding:var(--spacing-lg);margin:0 auto}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-light)}.empty-state h3{color:var(--color-text);margin-bottom:var(--spacing-sm)}.empty-state p{margin-bottom:var(--spacing-md)}.loading-spinner{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-text-light);flex-direction:column;display:flex}.loading-spinner .spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--focus-ring-width:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-width:3px}.text-muted,.text-warning{font-weight:600}}
.ThemeSelector-module-scss-module__EPoGFq__selector{padding:var(--spacing-sm)var(--spacing-md)}.ThemeSelector-module-scss-module__EPoGFq__label{font-size:var(--font-size-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);font-weight:600}.ThemeSelector-module-scss-module__EPoGFq__row{margin-bottom:var(--spacing-xs)}.ThemeSelector-module-scss-module__EPoGFq__row:last-child{margin-bottom:0}.ThemeSelector-module-scss-module__EPoGFq__options{flex-wrap:wrap;gap:4px;display:flex}.ThemeSelector-module-scss-module__EPoGFq__optionBtn{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs);background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;white-space:nowrap;min-height:28px;transition:none}.ThemeSelector-module-scss-module__EPoGFq__optionBtn:hover{background:var(--color-bg-hover)}.ThemeSelector-module-scss-module__EPoGFq__optionBtn.ThemeSelector-module-scss-module__EPoGFq__active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ThemeSelector-module-scss-module__EPoGFq__optionBtn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.ThemeSelector-module-scss-module__EPoGFq__swatch{background:var(--swatch-color);cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;transition:none}.ThemeSelector-module-scss-module__EPoGFq__swatch:hover{border-color:var(--color-text-light)}.ThemeSelector-module-scss-module__EPoGFq__swatch.ThemeSelector-module-scss-module__EPoGFq__active{border-color:var(--color-text);outline:2px solid var(--color-primary);outline-offset:2px}.ThemeSelector-module-scss-module__EPoGFq__swatch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.Navbar-module-scss-module__G9hsPG__nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:200;position:sticky;top:0}.Navbar-module-scss-module__G9hsPG__container{padding:var(--spacing-sm)var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.Navbar-module-scss-module__G9hsPG__logo{font-size:var(--font-size-lg);color:var(--color-text);flex-shrink:0;font-weight:700}.Navbar-module-scss-module__G9hsPG__hamburger{border:1px solid var(--color-border);font-size:var(--font-size-lg);padding:var(--spacing-sm);cursor:pointer;min-width:44px;min-height:44px;color:var(--color-text);border-radius:var(--border-radius-sm);background:0 0;display:none}.Navbar-module-scss-module__G9hsPG__hamburger:hover{background:var(--color-bg-hover)}.Navbar-module-scss-module__G9hsPG__navLinks{gap:var(--spacing-sm);align-items:center;display:flex}.Navbar-module-scss-module__G9hsPG__navLink{font-size:var(--font-size-sm);color:var(--color-text-light);white-space:nowrap;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);align-items:center;min-height:44px;font-weight:400;display:inline-flex}.Navbar-module-scss-module__G9hsPG__navLink:hover{background:var(--color-bg-hover);color:var(--color-text)}.Navbar-module-scss-module__G9hsPG__navLink.Navbar-module-scss-module__G9hsPG__active,.Navbar-module-scss-module__G9hsPG__generateAll{color:var(--color-primary);font-weight:600}.Navbar-module-scss-module__G9hsPG__dropdown{position:relative}.Navbar-module-scss-module__G9hsPG__dropdownTrigger{font-size:var(--font-size-sm);color:var(--color-text-light);cursor:pointer;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);white-space:nowrap;background:0 0;border:none;min-height:44px;font-weight:400}.Navbar-module-scss-module__G9hsPG__dropdownTrigger:hover{background:var(--color-bg-hover);color:var(--color-text)}.Navbar-module-scss-module__G9hsPG__dropdownTrigger.Navbar-module-scss-module__G9hsPG__active{color:var(--color-primary);font-weight:600}.Navbar-module-scss-module__G9hsPG__dropdownMenu{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);z-index:1000;min-width:180px;padding:var(--spacing-xs)0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 6px #0000001a}.Navbar-module-scss-module__G9hsPG__dropdownItem{padding:var(--spacing-sm)var(--spacing-md);min-height:44px;color:var(--color-text);font-size:var(--font-size-sm);white-space:nowrap;align-items:center;font-weight:400;text-decoration:none;display:flex}.Navbar-module-scss-module__G9hsPG__dropdownItem:hover{background:var(--color-bg-hover)}.Navbar-module-scss-module__G9hsPG__dropdownItem.Navbar-module-scss-module__G9hsPG__active{color:var(--color-primary);font-weight:600}.Navbar-module-scss-module__G9hsPG__groupLabel{padding:var(--spacing-sm)var(--spacing-md)var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.Navbar-module-scss-module__G9hsPG__groupDivider{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-xs)0}.Navbar-module-scss-module__G9hsPG__userFooter{padding:var(--spacing-sm)var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.Navbar-module-scss-module__G9hsPG__userName{font-size:var(--font-size-sm);color:var(--color-text-light);white-space:nowrap;font-weight:500}.Navbar-module-scss-module__G9hsPG__signOutBtn{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-light);border:1px solid var(--color-border);background:0 0;min-height:32px}.Navbar-module-scss-module__G9hsPG__signOutBtn:hover{background:var(--color-bg-hover);color:var(--color-text)}.Navbar-module-scss-module__G9hsPG__navLink:focus-visible,.Navbar-module-scss-module__G9hsPG__dropdownTrigger:focus-visible,.Navbar-module-scss-module__G9hsPG__dropdownItem:focus-visible,.Navbar-module-scss-module__G9hsPG__hamburger:focus-visible,.Navbar-module-scss-module__G9hsPG__signOutBtn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.Navbar-module-scss-module__G9hsPG__navLink,.Navbar-module-scss-module__G9hsPG__dropdownTrigger,.Navbar-module-scss-module__G9hsPG__dropdownItem,.Navbar-module-scss-module__G9hsPG__signOutBtn,.Navbar-module-scss-module__G9hsPG__hamburger{transition:none}}@media (max-width:1024px){.Navbar-module-scss-module__G9hsPG__hamburger{display:block}.Navbar-module-scss-module__G9hsPG__navLinks{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--spacing-md);align-items:stretch;gap:var(--spacing-xs);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 6px #0000001a}.Navbar-module-scss-module__G9hsPG__navLinks.Navbar-module-scss-module__G9hsPG__mobileOpen{display:flex}.Navbar-module-scss-module__G9hsPG__navLink{width:100%}.Navbar-module-scss-module__G9hsPG__dropdownTrigger{text-align:left;width:100%}.Navbar-module-scss-module__G9hsPG__dropdownMenu{box-shadow:none;padding-left:var(--spacing-md);border:none;min-width:auto;position:static}.Navbar-module-scss-module__G9hsPG__userFooter{border-top:1px solid var(--color-border);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm)}}
.Toast-module-scss-module__eDgY8G__container{top:var(--spacing-lg);z-index:1100;gap:var(--spacing-sm);pointer-events:none;flex-direction:column;width:90%;max-width:420px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.Toast-module-scss-module__eDgY8G__toast{pointer-events:auto;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);animation:.3s Toast-module-scss-module__eDgY8G__fadeIn;display:flex;box-shadow:0 4px 6px #0000001a}.Toast-module-scss-module__eDgY8G__success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success)}.Toast-module-scss-module__eDgY8G__error{background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger)}.Toast-module-scss-module__eDgY8G__info{background:var(--color-primary-light);border:1px solid var(--color-primary);color:var(--color-primary)}.Toast-module-scss-module__eDgY8G__message{flex:1;line-height:1.4}.Toast-module-scss-module__eDgY8G__dismiss{cursor:pointer;min-width:44px;min-height:44px;color:inherit;font-size:var(--font-size-lg);opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.Toast-module-scss-module__eDgY8G__dismiss:hover{opacity:1}@keyframes Toast-module-scss-module__eDgY8G__fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
