@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/quicksand-vietnamese-wght-normal-ei70gACF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/quicksand-latin-ext-wght-normal-CrJ75Ewg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Quicksand Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/quicksand-latin-wght-normal-Buj9m_3d.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--transition: all .2s ease}:root,[data-theme=light]{--primary: #d4849c;--primary-rgb: 212, 132, 156;--primary-dark: #c0708a;--primary-light: #f8c8dc;--feeding: #d4849c;--feeding-light: #f8c8dc;--feeding-bg: #fce4ec;--feeding-text: #8a3a52;--diaper: #7ab89c;--diaper-light: #c8e6d4;--diaper-bg: #e8f5e9;--diaper-text: #2e6b4a;--sleep: #6a9cb8;--sleep-light: #b8d4e8;--sleep-bg: #e3f2fd;--sleep-text: #2a5a78;--pumping: #d4849c;--pumping-light: #f8c8dc;--pumping-bg: #fce4ec;--pumping-text: #8a3a52;--potty: #9878b8;--potty-light: #d8c8e8;--potty-bg: #f3e5f5;--potty-text: #5a3878;--tummy: #c8a848;--tummy-light: #f8e8b8;--tummy-bg: #fffde7;--tummy-text: #7a6420;--bath: #6a9cb8;--bath-light: #b8d4e8;--bath-bg: #e3f2fd;--bath-text: #2a5a78;--solid: #d89848;--solid-light: #f0d8a8;--solid-bg: #fff8e8;--solid-text: #7a5820;--background: #fefdfb;--bg: #fefdfb;--surface: #fff9f5;--surface-hover: #f0ebe5;--border: #e8e0dc;--border-light: #f0e8e4;--text: #4a4044;--text-secondary: #7a6e72;--text-muted: #a89ca0;--danger: #f8a8a8;--success: #98d4b4;--accent: #d4849c;--secondary: #7ab89c;--success-strong: #10b981;--warning: #f59e0b;--danger-strong: #ef4444;--shadow-sm: 0 2px 8px rgba(74, 64, 68, .06);--shadow: 0 2px 8px rgba(74, 64, 68, .06);--shadow-md: 0 4px 16px rgba(74, 64, 68, .08);--shadow-lg: 0 8px 24px rgba(74, 64, 68, .1);--card-bg: var(--surface);--text-on-color: #ffffff;--z-widget: 1;--z-sticky: 10;--z-nav: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400;--feeding-breast: #ec4899;--feeding-formula: #8b5cf6;--feeding-bottle: #f59e0b;--diaper-pee: #0891b2;--diaper-poo: #92400e;--supplement-action: #f97316;--font-family: "Nunito Variable", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans Devanagari", sans-serif;--font-family-heading: "Quicksand Variable", "Quicksand", -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans Devanagari", sans-serif}[data-theme=dark]{--primary: #e8a8c0;--primary-rgb: 232, 168, 192;--primary-dark: #c0708a;--primary-light: #4a3540;--feeding: #e8a8c0;--feeding-light: #f8c8dc;--feeding-bg: #4a3540;--feeding-text: #e8a8c0;--diaper: #88c8a8;--diaper-light: #a8d8c0;--diaper-bg: #2d4038;--diaper-text: #88c8a8;--sleep: #88b8d8;--sleep-light: #a8c8e8;--sleep-bg: #2d3d4a;--sleep-text: #88b8d8;--pumping: #e8a8c0;--pumping-light: #f8c8dc;--pumping-bg: #4a3540;--pumping-text: #e8a8c0;--potty: #b898d8;--potty-light: #c8a8e8;--potty-bg: #3d3548;--potty-text: #b898d8;--tummy: #d8c878;--tummy-light: #e8d898;--tummy-bg: #4a4230;--tummy-text: #d8c878;--bath: #88b8d8;--bath-light: #a8c8e8;--bath-bg: #2d3d4a;--bath-text: #88b8d8;--solid: #d8a858;--solid-light: #e8c888;--solid-bg: #4a3d28;--solid-text: #d8a858;--background: #1a1614;--bg: #1a1614;--surface: #201c1a;--surface-hover: #352f2b;--border: #3a3230;--border-light: #2a2420;--text: #f0e8e4;--text-secondary: #b8a8a0;--text-muted: #887870;--danger: #f8a8a8;--success: #88c8a8;--accent: #e8a8c0;--secondary: #88c8a8;--success-strong: #34d399;--warning: #fbbf24;--danger-strong: #f87171;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--card-bg: var(--surface);--text-on-color: #ffffff;--feeding-breast: #f472b6;--feeding-formula: #a78bfa;--feeding-bottle: #fbbf24;--diaper-pee: #22d3ee;--diaper-poo: #d97706;--supplement-action: #fb923c;--font-family: "Nunito Variable", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans Devanagari", sans-serif;--font-family-heading: "Quicksand Variable", "Quicksand", -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans Devanagari", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{overflow:hidden;height:100%;overscroll-behavior:none}html,body{font-family:var(--font-family);font-size:16px;font-weight:500;line-height:1.6;color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:700;line-height:1.2;color:var(--text)}body{height:100%;overflow:hidden;overscroll-behavior:none}#root{height:100dvh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;overscroll-behavior:none}h1,h2,h3,h4{font-weight:700;line-height:1.3;color:var(--text)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:50%;cursor:pointer;transition:var(--transition)}.btn-icon:hover{background:var(--surface-hover);color:var(--text)}.app-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem var(--space-md);padding-top:env(safe-area-inset-top);padding-bottom:calc(80px + env(safe-area-inset-bottom))}.page-header{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);padding:var(--space-sm) 0}.settings-page{padding:var(--space-md) 0}.settings-group{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light, var(--border));margin-bottom:var(--space-md);overflow:hidden}.settings-group-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.25rem .5rem}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light, var(--border));cursor:pointer;transition:background .2s ease;background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:inherit;font-size:inherit;color:inherit}.settings-row:last-child{border-bottom:none}.settings-row:hover{background:var(--surface-hover)}.settings-row-left{display:flex;align-items:center;gap:.75rem}.settings-icon-box{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text)}.settings-icon-box.peach{background:var(--feeding-bg);color:var(--feeding)}.settings-icon-box.lavender{background:var(--potty-bg);color:var(--potty)}.settings-icon-box.butter{background:var(--tummy-bg);color:var(--tummy)}.settings-icon-box.sky{background:var(--sleep-bg);color:var(--sleep)}.settings-icon-box.mint{background:var(--diaper-bg);color:var(--diaper)}.settings-icon-box.danger{background:#f8a8a84d;color:var(--danger)}.settings-icon-box.blush{background:#ffb6c14d;color:#e75480}.settings-icon-box.cloud{background:#c8d2e64d;color:#6b7fa0}.settings-row-label{font-weight:600;font-size:.9rem;color:var(--text)}.settings-row-desc{font-size:.75rem;color:var(--text-muted)}.settings-arrow{color:var(--text-muted)}.settings-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;font-size:.7rem;font-weight:600;border-radius:var(--radius-full)}.settings-badge.mint{background:var(--diaper-bg);color:var(--diaper)}.settings-badge.lavender{background:var(--potty-bg);color:var(--potty)}.settings-badge.sky{background:var(--sleep-bg);color:var(--sleep)}.settings-version{text-align:center;font-size:.75rem;color:var(--text-muted);margin:var(--space-lg) 0 var(--space-xl)}.settings-promo-row{display:flex;gap:var(--space-sm);padding:0 1.25rem 1rem}.settings-promo-row .form-input{flex:1}.settings-row--disabled{opacity:.6}.settings-row-danger .settings-row-label{color:var(--danger)}.settings-sub-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem .75rem 3.5rem;border-bottom:1px solid var(--border-light, var(--border));cursor:pointer;transition:background .2s ease}.settings-sub-row:last-child{border-bottom:none}.settings-sub-row:hover{background:var(--surface-hover)}.notification-time-input{font-family:inherit;font-size:16px;font-weight:600;color:var(--text);background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .6rem;cursor:pointer;outline:none;transition:border-color .2s ease}.notification-time-input:focus{border-color:var(--primary)}.toggle-switch{width:48px;height:28px;background:var(--border);border-radius:var(--radius-full);position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.toggle-switch.active{background:var(--success)}.toggle-switch:after{content:"";position:absolute;width:22px;height:22px;background:var(--background);border-radius:50%;top:3px;left:3px;transition:transform .2s ease;box-shadow:var(--shadow-sm)}.toggle-switch.active:after{transform:translate(20px)}.settings-section{display:none}@media (min-width: 768px){.settings-page{max-width:600px;margin:0 auto;padding:var(--space-xl) 0}.settings-page h2{font-size:1.5rem;text-align:center}.settings-group{box-shadow:var(--shadow-sm)}.health-tabs{max-width:900px;margin:0 auto var(--space-lg) auto}.card{max-width:900px;margin-left:auto;margin-right:auto}.modal-overlay{align-items:center}.modal{border-radius:var(--radius-xl);max-width:480px}}@media (min-width: 1024px){.widget{min-height:160px}.settings-page{max-width:640px}}.card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow);border:1px solid var(--border)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-title{font-size:1.1rem;color:var(--text);font-weight:600}.baby-greeting{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md);border:1px solid var(--border-light, var(--border));box-shadow:var(--shadow-sm)}.baby-greeting-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.greeting-icon{font-size:.9rem}.greeting-text{font-family:var(--font-family-heading);font-size:17px;color:var(--text);font-weight:400}.baby-greeting-content{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.baby-greeting-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--text);flex-shrink:0}.baby-greeting-info{flex:1}.baby-greeting-name{font-family:var(--font-family-heading);font-size:1.25rem;font-weight:700;color:var(--text);line-height:1.2}.baby-greeting-age{font-size:.75rem;color:var(--text-secondary);margin-top:1px}.baby-greeting-encouragement{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--primary-light);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--primary-dark)}.baby-greeting-stats{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.baby-stat-pill{display:flex;align-items:baseline;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-hover);border-radius:var(--radius-full);font-size:.75rem}.baby-stat-value{font-weight:700;color:var(--text)}.baby-stat-unit{color:var(--text-muted);font-weight:500}.baby-greeting-selector{cursor:pointer;border-radius:var(--radius-lg);padding:var(--space-sm);margin:calc(-1 * var(--space-sm));margin-bottom:var(--space-md);transition:var(--transition)}.baby-greeting-selector:hover{background:#ffffff0d}.baby-greeting-chevron{display:inline-block;margin-left:var(--space-xs);opacity:.5;vertical-align:middle}.baby-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--space-sm);margin-bottom:var(--space-md);overflow:hidden;box-shadow:var(--shadow-lg)}.baby-dropdown-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);cursor:pointer;transition:var(--transition);color:var(--text-secondary)}.baby-dropdown-item:hover,.baby-dropdown-item.active{background:var(--surface-hover);color:var(--text)}.baby-dropdown-item.danger{color:var(--danger)}.baby-dropdown-item.danger:hover{background:#ef44441a}.baby-dropdown-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:#0009}.baby-dropdown-name{flex:1}.baby-dropdown-shared{font-size:.7rem;background:var(--primary);color:var(--text-on-color);padding:2px 6px;border-radius:4px;text-transform:uppercase}.baby-dropdown-divider{height:1px;background:var(--border);margin:var(--space-xs) 0}.baby-greeting-empty{text-align:center}.dashboard-status{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;width:fit-content;margin:0 auto var(--space-sm)}.dashboard-status.offline{background:rgba(var(--primary-rgb),.12);color:var(--text-secondary)}.dashboard-status.fetching{background:transparent;color:var(--text-muted)}.dashboard-status .spin{animation:spin 1s linear infinite}.widgets-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-sm);max-width:100%;overflow:hidden}@media (min-width: 768px){.widgets-grid{grid-template-columns:repeat(2,1fr);gap:24px}}@media (min-width: 1024px){.widgets-grid{grid-template-columns:repeat(4,1fr)}}.widgets-grid.stale .widget{pointer-events:none;-webkit-user-select:none;user-select:none}.widgets-grid.stale .widget.active-timer{pointer-events:auto;-webkit-user-select:auto;user-select:auto}.widgets-grid.stale .widget:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,transparent 25%,rgba(128,128,128,.06) 50%,transparent 75%);background-size:200% 100%;animation:widget-shimmer 1.8s ease-in-out infinite;pointer-events:none;z-index:2}.widgets-grid.stale .widget>.widget-content{opacity:.55;transition:opacity .3s ease}.widgets-grid.stale .widget.active-timer:after{display:none}.widgets-grid.stale .widget.active-timer>.widget-content{opacity:1}@keyframes widget-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.widget{position:relative;overflow:visible;border-radius:var(--radius-lg);padding:var(--space-lg);transition:all .2s ease;cursor:pointer;height:auto;min-height:140px;min-width:0;background:var(--surface);border:1px solid var(--border-light, var(--border));box-shadow:var(--shadow-sm)}.widget:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.widget:hover .widget-add-icon{opacity:1;transform:scale(1.1)}.widget.feeding{background:var(--feeding-bg);border-color:var(--feeding-light)}.widget.diaper{background:var(--diaper-bg);border-color:var(--diaper-light)}.widget.sleep{background:var(--sleep-bg);border-color:var(--sleep-light)}.widget.pumping{background:var(--pumping-bg);border-color:var(--pumping-light)}.widget.sleeping{border-color:#60a5fa66}.sleep-center-icon{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sleep-baby-img{width:64px;height:64px;object-fit:contain}.sleep-label{font-weight:600}.sleep-zzz{position:absolute;top:-4px;right:-16px;pointer-events:none}.sleep-zzz span{position:absolute;font-weight:700;color:var(--sleep-light, rgba(96, 165, 250, .7));animation:zzz-float 3s ease-in-out infinite;opacity:0}.sleep-zzz span:nth-child(1){font-size:10px;right:0;top:0;animation-delay:0s}.sleep-zzz span:nth-child(2){font-size:13px;right:-6px;top:-8px;animation-delay:.6s}.sleep-zzz span:nth-child(3){font-size:16px;right:-14px;top:-18px;animation-delay:1.2s}@keyframes zzz-float{0%{opacity:0;transform:translateY(0)}20%{opacity:.8}80%{opacity:.6}to{opacity:0;transform:translateY(-14px)}}.widget-glow{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:transparent;border:2px solid rgba(96,165,250,.3);animation:glow-pulse 3s ease-in-out infinite;pointer-events:none}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:1}}.widget-bg-icon{position:absolute;bottom:-10px;right:-10px;opacity:.1;pointer-events:none;color:var(--text)}.widget-add-icon{position:absolute;top:var(--space-xs);right:var(--space-xs);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff4d;border-radius:var(--radius-full);opacity:.8;transition:var(--transition);color:var(--widget-stroke, var(--text))}.widget-content{position:relative;z-index:var(--z-widget);display:flex;flex-direction:column;height:100%}.widget-icon-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.widget-icon-row svg{color:var(--widget-stroke, var(--text-secondary))}.widget.potty{background:var(--potty-bg);border-color:var(--potty-light)}.widget.potty .widget-icon-row svg{color:var(--potty)}.widget.tummy{background:var(--tummy-bg);border-color:var(--tummy-light)}.widget.tummy .widget-icon-row svg{color:var(--tummy)}.widget.bath{background:var(--bath-bg);border-color:var(--bath-light)}.widget.bath .widget-icon-row svg{color:var(--bath)}.widget.supplement{background:var(--diaper-bg);border-color:var(--diaper-light)}.widget.supplement .widget-icon-row svg{color:var(--diaper)}.widget.solid{background:var(--solid-bg);border-color:var(--solid-light)}.widget.solid .widget-icon-row svg{color:var(--solid)}.widget-label{font-family:var(--font-family-heading);font-size:.85rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.widget-time-ago{font-family:var(--font-family-heading);font-size:21px;font-weight:700;color:var(--text);margin-bottom:var(--space-xs);line-height:1.1}.widget-value{font-family:var(--font-family);font-size:16px;font-weight:400;color:var(--text-secondary)}.widget-detail{font-family:var(--font-family);font-size:21px;color:var(--text);margin-top:var(--space-xs);font-weight:500;line-height:1.4}.widget-empty{margin-top:var(--space-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.widget-empty-text{font-family:var(--font-family);font-size:21px;color:var(--text-muted);font-weight:500}.widget.widget-add{background:var(--background);border:2px dashed var(--border);cursor:pointer}.widget.widget-add:hover{border-color:var(--primary);background:#d4849c14}.widget-add-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:var(--space-xs)}.widget-add-content span{font-size:.8rem;font-weight:500}.widget-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:var(--space-md) 0;overflow:hidden}.widget-picker-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);font-weight:600;font-size:.9rem}.widget-picker-header button{background:none;border:none;font-size:1.2rem;color:var(--text-muted);cursor:pointer}.widget-picker-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md)}.widget-picker-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.85rem;cursor:pointer;transition:var(--transition)}.widget-picker-item:hover{border-color:var(--primary);color:var(--primary)}.sleep-widget-awake{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs);flex:1;justify-content:flex-end}.sleep-widget-sleeping{display:flex;flex-direction:row;align-items:center;gap:var(--space-md);flex:1;padding-top:var(--space-xs)}.sleep-info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs);flex:1;min-width:0}.sleep-start-btn,.sleep-wake-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}.sleep-start-btn{background:var(--widget-stroke, var(--sleep));color:var(--text-on-color)}.sleep-start-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.sleep-wake-btn{background:var(--sleep, #6a9cb8);color:#fff;align-self:flex-start}.sleep-wake-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.sleep-start-btn:disabled,.sleep-wake-btn:disabled{opacity:.6;cursor:not-allowed}.sleep-elapsed{display:flex;align-items:center;gap:var(--space-xs);font-size:1.1rem;font-weight:700;color:var(--widget-text, var(--sleep))}.sleep-progress-ring{position:relative;display:flex;align-items:center;justify-content:center;margin:var(--space-2xs) auto 4px;width:64px;height:64px}.sleep-progress-ring svg{position:absolute;top:0;left:0}.sleep-progress-text{display:flex;flex-direction:column;align-items:center;line-height:1.1;z-index:var(--z-widget)}.sleep-progress-value{font-size:.65rem;font-weight:700;color:var(--widget-text, var(--text))}.sleep-progress-goal{font-size:.5rem;opacity:.7;color:var(--widget-text, var(--text-secondary))}.tip-of-the-day{background:var(--card-bg, var(--surface));border-radius:var(--radius-lg, 16px);padding:var(--space-md, 16px);margin-bottom:var(--space-md, 16px);border:1px solid var(--border, rgba(255,255,255,.1));position:relative}.tip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs, 8px)}.tip-title{display:flex;align-items:center;gap:var(--space-xs, 8px);font-weight:600;font-size:.9rem;color:var(--text)}.tip-title svg{color:var(--warning)}.tip-dismiss{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.tip-dismiss:hover{background:#ffffff1a}.tip-text{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.feeding-widget-idle,.feeding-widget-active{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:auto}.feeding-start-btn,.feeding-stop-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}.feeding-start-btn{background:var(--widget-stroke, var(--feeding));color:var(--text-on-color)}.feeding-start-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.feeding-stop-btn{background:var(--success);color:var(--text-on-color)}.feeding-stop-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.feeding-start-btn:disabled,.feeding-stop-btn:disabled{opacity:.6;cursor:not-allowed}.feeding-timer{font-size:1.4rem;font-weight:700;font-family:monospace;color:var(--widget-text, var(--feeding));text-align:center}.widget.active-timer{animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.85}}.diaper-quick-btns{display:flex;gap:var(--space-xs);margin-top:auto}.diaper-quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:var(--widget-stroke, var(--diaper));color:var(--text-on-color);white-space:nowrap}.diaper-quick-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.diaper-quick-btn:disabled{opacity:.6;cursor:not-allowed}.diaper-quick-btn.pee{background:var(--diaper-pee)}.diaper-quick-btn.poo{background:var(--diaper-poo)}.diaper-quick-btn.mixed{background:var(--widget-stroke, var(--diaper))}.feeding-quick-btns{display:flex;gap:var(--space-xs);margin-top:auto;overflow:hidden}.feeding-quick-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:var(--widget-stroke, var(--feeding));color:var(--text-on-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feeding-quick-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.feeding-quick-btn:disabled{opacity:.6;cursor:not-allowed}.feeding-quick-btn.breast{background:var(--feeding-breast)}.feeding-quick-btn.formula{background:var(--feeding-formula)}.feeding-quick-btn.bottle{background:var(--feeding-bottle)}.supplement-quick-btns{display:flex;gap:var(--space-xs);margin-top:auto}.supplement-quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:var(--widget-stroke, var(--supplement));color:var(--text-on-color)}.supplement-quick-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.supplement-quick-btn:disabled{opacity:.6;cursor:not-allowed}.supplement-quick-btn.vitamin-d{background:var(--supplement-action)}.tummy-quick-btns{display:flex;gap:var(--space-xs);margin-top:auto;overflow:hidden}.tummy-quick-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:var(--widget-stroke, var(--tummy));color:var(--text-on-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tummy-quick-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.tummy-quick-btn:disabled{opacity:.6;cursor:not-allowed}.tummy-quick-btn.timer{background:var(--tummy-text)}.pumping-quick-btns{display:flex;gap:var(--space-xs);margin-top:auto;overflow:hidden}.pumping-quick-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:var(--widget-stroke, var(--pumping));color:var(--text-on-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pumping-quick-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.pumping-quick-btn:disabled{opacity:.6;cursor:not-allowed}.pumping-quick-btn.timer{background:var(--pumping-text)}.pumping-quick-btn.amount{background:var(--pumping)}.potty-quick-btns{display:flex;gap:var(--space-xs);margin-top:auto}.potty-quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;color:var(--text-on-color);white-space:nowrap}.potty-quick-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.potty-quick-btn:disabled{opacity:.6;cursor:not-allowed}.potty-quick-btn.success{background:var(--success)}.potty-quick-btn.attempt{background:var(--text-tertiary)}.coming-up-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm);overflow:hidden;max-width:100%}.coming-up-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--text)}.coming-up-header h3{font-family:var(--font-family-heading);font-size:1rem;font-weight:600;margin:0}.coming-up-list{display:flex;flex-direction:column;gap:var(--space-sm)}.coming-up-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:var(--transition)}.coming-up-item:hover{background:var(--surface-hover)}.coming-up-lavender{border-left:3px solid var(--potty)}.coming-up-peach{border-left:3px solid var(--feeding)}.coming-up-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);flex-shrink:0}.coming-up-lavender .coming-up-icon{background:var(--potty-bg);color:var(--potty-text)}.coming-up-peach .coming-up-icon{background:var(--feeding-bg);color:var(--feeding-text)}.coming-up-info{display:flex;flex-direction:column;flex:1;min-width:0}.coming-up-title{font-weight:600;font-size:.875rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;word-break:break-word}.coming-up-detail{font-size:.75rem;color:var(--text-muted)}.coming-up-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0}.coming-up-badge.lavender{background:var(--potty-bg);color:var(--potty-text)}.coming-up-badge.peach{background:var(--feeding-bg);color:var(--feeding-text)}.daily-summary{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);overflow:hidden;margin-bottom:var(--space-lg)}.daily-summary-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);font-family:var(--font-family)}.daily-summary-title{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-family);font-size:1.1rem;font-weight:400;color:var(--text-secondary)}.summary-tabs{display:flex;gap:var(--space-xs);background:var(--background);padding:3px;border-radius:var(--radius-lg)}.summary-tab{padding:var(--space-xs) var(--space-md);border:none;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition)}.summary-tab:hover{color:var(--text-secondary)}.summary-tab.active{background:var(--surface-hover);color:var(--text)}.daily-summary-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.daily-summary-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--background);border-radius:var(--radius-lg);text-align:center}.daily-summary-stat-value{font-size:1.25rem;font-weight:700}.daily-summary-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.daily-summary-stat-extra{font-size:.8rem;color:var(--text-secondary)}.daily-summary-loading,.daily-summary-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:var(--space-lg);font-size:.9rem}.quick-actions{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:var(--space-md);display:flex;justify-content:center;gap:var(--space-md);z-index:var(--z-nav);padding-bottom:max(var(--space-md),env(safe-area-inset-bottom))}.action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-lg);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition);min-width:80px}.action-btn .icon{font-size:1.5rem}.action-btn.feeding{background:var(--feeding-bg);color:var(--feeding)}.action-btn.feeding:hover{background:var(--feeding);color:var(--text-on-color)}.action-btn.diaper{background:var(--diaper-bg);color:var(--diaper)}.action-btn.diaper:hover{background:var(--diaper);color:var(--text-on-color)}.action-btn.sleep{background:var(--sleep-bg);color:var(--sleep)}.action-btn.sleep:hover{background:var(--sleep);color:var(--text-on-color)}.action-btn.pumping{background:var(--pumping-bg);color:var(--pumping)}.action-btn.pumping:hover{background:var(--pumping);color:var(--text-on-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1.5rem;border:none;border-radius:var(--radius-full);font-family:var(--font-family);font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--text-on-color);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--surface-hover);color:var(--text)}.btn-secondary:hover{background:var(--border)}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.btn-link{background:none;border:none;padding:0;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:.9rem}.btn-link:hover{opacity:.8}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:1.125rem}.btn-block{width:100%}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-sm)}.form-input,.form-select{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-family);font-size:16px;background:var(--surface);color:var(--text);transition:var(--transition)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-light);background:var(--background);box-shadow:0 0 0 4px #d4849c26}.form-input::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.type-selector{display:flex;gap:var(--space-sm)}.type-btn{flex:1;padding:var(--space-md);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center}.type-btn.active{border-color:var(--primary);background:#d4849c40;color:var(--primary)}.type-btn:hover:not(.active){background:var(--surface-hover);color:var(--text)}.time-picker{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface-hover);border-radius:var(--radius-xl)}.time-picker-row{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.time-picker-row.time-row{gap:var(--space-md)}.time-picker-column{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.time-picker-btn{width:44px;height:36px;border:none;background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:1rem;transition:var(--transition);display:flex;align-items:center;justify-content:center}.time-picker-btn:hover{background:var(--primary);color:var(--text-on-color)}.time-picker-btn:active{transform:scale(.95)}.time-picker-value{font-weight:700;color:var(--text);text-align:center}.time-picker-value.date{font-size:1.1rem;min-width:140px}.time-picker-value.hour,.time-picker-value.minute{font-size:2.5rem;min-width:60px;font-family:monospace}.time-picker-value.ampm{font-size:1.25rem;min-width:40px}.time-picker-separator{font-size:2.5rem;font-weight:700;color:var(--text-muted);align-self:center}.time-picker-now{padding:var(--space-sm) var(--space-lg);border:none;background:var(--primary);color:var(--text-on-color);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition)}.time-picker-now:hover{background:var(--primary-dark)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--background);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:.5rem 1rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));z-index:var(--z-nav);box-shadow:0 -4px 20px #4a40440f;transition:background-color .3s ease,border-color .3s ease}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;background:none;border:none;border-radius:var(--radius-lg);color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:var(--transition);min-width:64px}.bottom-nav-item .icon{font-size:1.5rem}.bottom-nav-item.active{color:var(--primary);background:var(--primary-light)}.bottom-nav-item:hover:not(.active){color:var(--text-secondary)}.timeline-calendar{display:flex;flex-direction:column;height:100%;flex:1;overflow:hidden;background:var(--background);width:100vw;margin-left:calc(-50vw + 50%);padding-left:var(--space-md);padding-right:var(--space-md);box-sizing:border-box}.timeline-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--surface);border-radius:var(--radius-xl);margin-bottom:var(--space-md)}.timeline-nav-btn{width:40px;height:40px;border:none;background:var(--surface-hover);color:var(--text);border-radius:var(--radius-full);cursor:pointer;font-size:1rem;transition:var(--transition)}.timeline-nav-btn:hover{background:var(--primary);color:var(--text-on-color)}.timeline-date{font-size:1.1rem;font-weight:600;color:var(--text);cursor:pointer}.timeline-date:hover{color:var(--primary)}.timeline-calendar-scroll{flex:1;overflow-y:auto;background:var(--surface);border-radius:var(--radius-xl)}.timeline-calendar-content{position:relative;min-height:1920px}.timeline-hour-row{display:flex;align-items:flex-start;height:80px;border-bottom:1px solid var(--border)}.timeline-hour-label{width:60px;padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:500;color:var(--text-muted);text-align:right;flex-shrink:0}.timeline-hour-line{flex:1;border-top:1px dashed var(--border);margin-top:10px}.timeline-events-container{position:absolute;top:0;left:70px;right:10px;height:100%;pointer-events:none}.timeline-event-block{position:absolute;border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);cursor:pointer;transition:var(--transition);pointer-events:auto;overflow:visible;display:flex;flex-direction:column;box-sizing:border-box;min-height:30px}.timeline-event-block:hover{filter:brightness(1.1);box-shadow:0 2px 8px #0003}.timeline-event-block.selected{box-shadow:0 0 0 2px var(--primary),0 4px 12px #0000004d;z-index:var(--z-sticky)}.timeline-event-content{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0}.timeline-event-icon{font-size:1rem;flex-shrink:0}.timeline-event-time{font-size:.8rem;font-weight:600;color:var(--text)}.timeline-event-detail{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-event-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid rgba(255,255,255,.1)}.timeline-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition)}.timeline-action-btn.edit{background:var(--primary);color:var(--text-on-color)}.timeline-action-btn.edit:hover{background:var(--primary-dark)}.timeline-action-btn.delete{background:var(--danger);color:var(--text-on-color)}.timeline-action-btn.delete:hover{background:#dc2626}.timeline-current-time{position:absolute;left:50px;right:8px;height:2px;background:var(--danger);z-index:var(--z-sticky);pointer-events:none}.timeline-current-time:before{content:"";position:absolute;left:-6px;top:-4px;width:10px;height:10px;background:var(--danger);border-radius:50%}.timeline-current-time-label{position:absolute;right:0;top:-8px;font-size:.65rem;font-weight:600;color:var(--danger);background:var(--card-bg);padding:0 4px;border-radius:4px}.timeline-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);gap:var(--space-sm);padding:var(--space-xl)}.timeline-empty-state svg{opacity:.5;margin-bottom:var(--space-sm)}.timeline-empty-state p{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.timeline-empty-state span{font-size:.85rem;opacity:.7}.confirm-modal{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-xl);width:90%;max-width:320px;position:relative;text-align:center;box-shadow:var(--shadow-lg)}.confirm-modal-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.confirm-modal .confirm-icon{color:var(--danger);opacity:.8}.confirm-modal h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.confirm-modal p{margin:0;font-size:.9rem;color:var(--text-secondary)}.confirm-modal-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);width:100%}.confirm-modal-actions .btn{flex:1;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-modal-actions .btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.confirm-modal-actions .btn-secondary:hover{background:var(--border)}.confirm-modal-actions .btn-danger{background:var(--danger);color:var(--text-on-color);border:none}.confirm-modal-actions .btn-danger:hover{opacity:.9}.timeline{display:flex;flex-direction:column;gap:var(--space-sm)}.timeline-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);transition:var(--transition)}.timeline-item:hover{background:var(--surface-hover)}.timeline-icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.timeline-icon.feeding{background:var(--feeding-bg)}.timeline-icon.diaper{background:var(--diaper-bg)}.timeline-icon.sleep{background:var(--sleep-bg)}.timeline-content{flex:1;min-width:0}.timeline-title{font-weight:500;color:var(--text)}.timeline-subtitle{font-size:.875rem;color:var(--text-secondary)}.timeline-time{font-size:.875rem;color:var(--text-muted);flex-shrink:0;display:flex;align-items:center;gap:var(--space-sm)}.timeline-date-header{font-size:.875rem;font-weight:500;color:var(--text-secondary);padding:var(--space-md) 0 var(--space-sm);border-bottom:1px solid var(--border);margin-bottom:var(--space-sm)}.health-tabs{display:flex;gap:var(--space-xs);padding:var(--space-xs);background:var(--surface);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);overflow-x:auto}.health-tab{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;border-radius:var(--radius-lg);transition:var(--transition);white-space:nowrap}.health-tab:hover{background:var(--surface-hover);color:var(--text-secondary)}.health-tab.active{background:var(--primary);color:var(--text-on-color)}.health-tab-badge{background:#fff3;padding:2px 6px;border-radius:10px;font-size:.7rem}.health-tab.active .health-tab-badge{background:#ffffff4d}.btn-icon-delete{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-md);transition:var(--transition);display:flex;align-items:center;justify-content:center}.btn-icon-delete:hover{background:#ef444426;color:var(--danger)}.btn-icon-edit{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-md);transition:var(--transition);display:flex;align-items:center;justify-content:center}.btn-icon-edit:hover{background:#3b82f626;color:var(--primary)}.btn-icon-toggle{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-md);transition:var(--transition);display:flex;align-items:center;justify-content:center}.btn-icon-toggle:hover{background:#fbbf2426;color:#fbbf24}.btn-icon-toggle.active{color:var(--success)}.btn-icon-toggle.active:hover{background:#ef444426;color:var(--danger)}.timeline-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-xs)}.timeline-icon.health-visit{background:#3b82f626;color:#3b82f6}.timeline-icon.health-vaccine{background:#d4849c2e;color:#8b5cf6}.timeline-icon.health-med{background:#22c55e26;color:#22c55e}.timeline-icon.health-growth{background:#ec489926;color:#ec4899}.growth-chart-section{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border)}.growth-chart-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md)}.growth-chart-tab{padding:var(--space-xs) var(--space-md);border:none;background:var(--background);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition)}.growth-chart-tab:hover{color:var(--text-secondary)}.growth-chart-tab.active{background:var(--primary);color:var(--text-on-color)}.growth-chart{background:var(--background);border-radius:var(--radius-lg);padding:var(--space-md)}.growth-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.growth-chart-header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text)}.growth-chart-subtitle{font-size:.75rem;color:var(--text-muted)}.growth-chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:.8rem;box-shadow:var(--shadow)}.growth-chart-tooltip-title{font-weight:600;color:var(--text);margin-bottom:var(--space-xs)}.growth-chart-tooltip-baby{color:var(--primary)}.growth-chart-tooltip-ref{color:var(--text-muted);font-size:.75rem}.growth-chart-legend{display:flex;gap:var(--space-lg);justify-content:center;margin-top:var(--space-md)}.growth-chart-legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--text-secondary)}.growth-chart-legend-dot.baby{width:10px;height:10px;border-radius:50%;background:var(--primary)}.growth-chart-legend-line{width:20px;height:2px;background:var(--growth-percentile, #8b7ec8)}.growth-chart-legend-range{width:20px;height:10px;background:var(--growth-percentile-area, rgba(139, 126, 200, .18));border-radius:2px}.growth-chart-tooltip-percentile{font-weight:600}.growth-chart-selected{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);margin-top:var(--space-xs);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-full);font-size:.85rem}.growth-chart-selected-age{color:var(--text-muted);font-weight:500}.growth-chart-selected-value{font-weight:600;color:var(--text)}.growth-chart-selected-percentile{font-weight:700;color:var(--primary)}.growth-chart-empty{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.baby-selector{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition)}.baby-selector:hover{background:var(--surface-hover)}.baby-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:var(--text-on-color);font-weight:600;font-size:.875rem}.baby-name{font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a40444d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .2s ease;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--background);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.modal-title{font-size:1.25rem;font-weight:600}.modal-title svg{margin-right:var(--space-sm);flex-shrink:0;vertical-align:text-bottom}.modal-close{width:32px;height:32px;border:none;background:var(--surface-hover);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-secondary);transition:var(--transition)}.modal-close:hover{background:var(--border)}.modal-body{padding:var(--space-lg)}.modal-footer{padding:var(--space-lg);padding-top:0;display:flex;gap:var(--space-md)}.caregiver-modal{max-width:440px}.caregiver-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-hover);border-radius:var(--radius-md)}.caregiver-card-owner{margin:0 var(--space-lg);background:var(--surface-hover)}.caregiver-card-info{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.caregiver-email{font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caregiver-owner-badge{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);background:var(--surface-active);color:var(--text-secondary);white-space:nowrap}.caregiver-role-badge{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);border:none;cursor:pointer;transition:var(--transition);white-space:nowrap}.caregiver-role-badge.caregiver{background:var(--mint-bg, #d1fae5);color:var(--mint-text, #065f46)}.caregiver-role-badge.viewer{background:var(--lavender-bg, #ede9fe);color:var(--lavender-text, #5b21b6)}.caregiver-role-badge:hover{opacity:.8}.caregiver-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);display:flex;align-items:center;transition:var(--transition)}.caregiver-remove-btn:hover{color:var(--error);background:var(--surface-hover)}.caregiver-add-form{padding:var(--space-md) var(--space-lg)}.caregiver-add-row{display:flex;gap:var(--space-sm)}.caregiver-email-input{flex:1;min-width:0}.caregiver-add-btn{white-space:nowrap}.caregiver-role-selector{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.caregiver-role-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:var(--transition)}.caregiver-role-option.active{border-color:var(--primary);background:var(--primary-light, rgba(99, 102, 241, .08))}.caregiver-role-option-label{font-size:.85rem;font-weight:600;color:var(--text)}.caregiver-role-option-desc{font-size:.7rem;color:var(--text-muted)}.caregiver-error{color:var(--error);margin-top:var(--space-xs);font-size:.85rem}.caregiver-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:0 var(--space-lg);margin-top:var(--space-sm)}.caregiver-empty-hint{color:var(--text-secondary);padding:var(--space-md) var(--space-lg);font-size:.9rem}.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl);background:var(--background)}.auth-card{background:var(--surface);border-radius:var(--radius-xl);padding:2.5rem 2rem;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-md);border:1px solid var(--border-light, var(--border))}.auth-baby-icon{width:96px;height:96px;margin:0 auto var(--space-md);filter:drop-shadow(0 4px 12px rgba(212,132,156,.25));animation:float 2s ease-in-out infinite}.auth-title{font-family:var(--font-family-heading);font-size:2rem;font-weight:800;margin-bottom:var(--space-xs);color:var(--primary)}.auth-tagline{color:var(--text-muted);font-size:.95rem;margin-bottom:var(--space-xl);line-height:1.5}.google-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:.875rem;border:2px solid var(--border);border-radius:var(--radius-full);background:var(--surface);font-family:var(--font-family);font-size:.95rem;font-weight:600;color:var(--text);cursor:pointer;transition:var(--transition)}.google-btn:hover{background:var(--surface-hover);border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.auth-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-xl)}.auth-pill{font-size:.75rem;font-weight:600;color:var(--text-secondary);padding:var(--space-xs) var(--space-md);background:var(--background);border-radius:var(--radius-full);border:1px solid var(--border-light, var(--border))}.auth-footer{margin-top:var(--space-lg);font-size:.75rem;color:var(--text-muted)}.onboarding-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-md);padding-top:calc(env(safe-area-inset-top,0px) + var(--space-lg));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-md));background:var(--background);position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.onboarding-container>*{flex-shrink:0}.onboarding-container>:first-child{margin-top:auto}.onboarding-container>:last-child{margin-bottom:auto}.onboarding-progress{display:flex;gap:6px;justify-content:center;margin-bottom:var(--space-lg)}.progress-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--border);transition:all .3s ease}.progress-dot.active{width:24px;background:var(--primary)}.progress-dot.completed{background:var(--primary)}.onboarding-back{position:absolute;top:var(--space-md);left:var(--space-md);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);z-index:10;transition:var(--transition)}.onboarding-back:hover{background:var(--surface-hover)}.onboarding-card{background:var(--surface);border-radius:var(--radius-xl);padding:2rem 1.5rem;width:100%;max-width:420px;text-align:center;box-shadow:var(--shadow-md);border:1px solid var(--border-light, var(--border));position:relative}.onboarding-form-card{text-align:left}.onboarding-brand-icon{width:80px;height:80px;margin:0 auto var(--space-sm);filter:drop-shadow(0 4px 12px rgba(212,132,156,.25));animation:float 2s ease-in-out infinite}.onboarding-brand-title{font-family:var(--font-family-heading);font-size:1.75rem;font-weight:800;margin-bottom:var(--space-xs);color:var(--primary)}.onboarding-title{font-family:var(--font-family-heading);font-size:1.5rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--text)}.onboarding-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-xl);line-height:1.6}.onboarding-form-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-lg);text-align:center}.onboarding-footer{margin-top:var(--space-xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.onboarding-email{font-size:.8rem;color:var(--text-muted)}.onboarding-step-nav{display:flex;justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg)}.onboarding-step-nav-slot{flex:1;display:flex;min-width:0}.onboarding-step-nav-slot:last-child{justify-content:flex-end}.onboarding-back-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;background:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition);white-space:nowrap}.onboarding-back-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.onboarding-feature-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-bottom:var(--space-xl)}.onboarding-feature-pill{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary);padding:var(--space-xs) var(--space-md);background:var(--background);border-radius:var(--radius-full);border:1px solid var(--border-light, var(--border))}.onboarding-feature-pill-icon{width:18px;height:18px}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-xl)}.language-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);text-align:left}.language-option:hover{border-color:var(--primary-light)}.language-option.active{border-color:var(--primary);box-shadow:0 0 0 3px #d4849c33}.language-flag{font-size:1.25rem;flex-shrink:0}.language-name{font-size:.85rem;font-weight:600;color:var(--text)}.units-selector{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-xl)}.units-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-xl);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);min-width:120px}.units-option:hover{border-color:var(--primary-light)}.units-option.active{border-color:var(--primary);box-shadow:0 0 0 3px #d4849c33}.units-label{font-weight:700;color:var(--text);font-size:.95rem}.units-values{font-size:.75rem;color:var(--text-muted)}.onboarding-section-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:var(--space-lg) 0 var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.gender-selector{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xs)}.gender-btn{flex:1;padding:var(--space-md);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--background);font-size:.9rem;cursor:pointer;transition:var(--transition)}.gender-btn.active.boy{border-color:#3b82f6;background:#3b82f61a}.gender-btn.active.girl{border-color:#ec4899;background:#ec48991a}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-xs)}.btn-lg{width:100%;padding:var(--space-md) var(--space-lg);font-size:1rem;margin-top:var(--space-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.empty-state{text-align:center;padding:var(--space-2xl)}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-md)}.empty-state-title{font-size:1.25rem;margin-bottom:var(--space-sm)}.empty-state-text{color:var(--text-secondary);margin-bottom:var(--space-lg)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-2xl);gap:var(--space-md)}.loading-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl)}.loading-spinner-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.loading-logo{width:80px;height:80px;animation:baby-float 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(var(--primary-rgb),.3))}.loading-text{font-family:var(--font-family-heading);font-weight:600;font-size:1.1rem;color:var(--text-secondary);opacity:0;animation:fade-in .8s ease-out .3s forwards}@keyframes fade-in{to{opacity:1}}@keyframes baby-float{0%,to{transform:translateY(0) scale(1) rotate(0);opacity:.85}25%{transform:translateY(-6px) scale(1.03) rotate(-3deg)}50%{transform:translateY(-10px) scale(1.06) rotate(0);opacity:1}75%{transform:translateY(-6px) scale(1.03) rotate(3deg)}}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 480px){:root{--space-md: .75rem;--space-lg: 1rem}body{font-size:14px}h1{font-size:1.5rem}h2{font-size:1.25rem}.app-container{padding:var(--space-sm);padding-top:env(safe-area-inset-top);padding-bottom:calc(72px + env(safe-area-inset-bottom))}.page-header{padding:var(--space-sm) 0;margin-bottom:var(--space-md)}.widgets-grid{grid-template-columns:1fr;gap:var(--space-sm);margin-bottom:var(--space-md)}.widget{padding:var(--space-md)}.widget-icon{font-size:1.25rem;margin-bottom:var(--space-xs)}.widget-label{font-size:15px}.widget-time-ago{font-size:18px}.widget-value{font-size:15px}.widget-detail{font-size:18px}.coming-up-card{padding:var(--space-md);margin-bottom:var(--space-md)}.coming-up-item{padding:var(--space-xs) var(--space-sm);gap:var(--space-sm)}.coming-up-icon{width:28px;height:28px}.coming-up-title{font-size:.8rem}.coming-up-badge{font-size:.5625rem;padding:1px 6px}.quick-actions{gap:var(--space-xs);padding:var(--space-sm)}.action-btn{min-width:60px;padding:var(--space-sm) var(--space-md);font-size:.65rem}.action-btn .icon{font-size:1.25rem}.timeline-item{padding:var(--space-sm);gap:var(--space-sm)}.timeline-icon{width:32px;height:32px;font-size:1rem}.timeline-title{font-size:.9rem}.timeline-subtitle,.timeline-time{font-size:.75rem}.timeline-calendar{height:calc(100dvh - 140px);height:calc(100vh - 140px);padding-bottom:0}.timeline-calendar-scroll{flex:1;margin-bottom:0;padding-bottom:80px}.card{padding:var(--space-md)}.card-title{font-size:1rem}.type-selector{flex-wrap:wrap;gap:var(--space-xs)}.type-btn{padding:var(--space-sm);font-size:.75rem;min-width:0}.form-row{grid-template-columns:1fr;gap:var(--space-sm)}.form-input,.form-select{padding:var(--space-sm);font-size:.9rem}.modal-title{font-size:1.1rem}.modal-body,.modal-footer{padding:var(--space-md)}.baby-selector{padding:var(--space-xs) var(--space-sm)}.baby-avatar{width:28px;height:28px;font-size:.75rem}.baby-name{font-size:.9rem}.health-tabs{padding:var(--space-xs);gap:var(--space-2xs);margin-bottom:var(--space-md)}.health-tab{padding:var(--space-xs) var(--space-sm);font-size:.7rem;gap:4px}.health-tab svg{width:14px;height:14px}.health-tab span:not(.health-tab-badge){display:none}.health-tab-badge{font-size:.65rem;padding:1px 4px}.timeline-item{flex-wrap:wrap}.timeline-time{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xs);padding-left:44px}.modal{max-height:90vh;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-overlay{align-items:flex-end}.modal-body{max-height:60vh;overflow-y:auto}.form-row{display:flex;flex-direction:column;gap:var(--space-sm)}.growth-chart-section{padding:var(--space-sm)}.growth-chart-tabs{gap:var(--space-xs)}.growth-chart-tab{padding:var(--space-xs) var(--space-sm);font-size:.8rem}}@media (min-width: 768px){.widget{min-height:150px}.sleep-start-btn,.sleep-wake-btn,.feeding-start-btn,.feeding-stop-btn{font-size:.8rem;padding:var(--space-xs) var(--space-sm);white-space:nowrap}.settings-page{max-width:700px;margin:0 auto;padding:var(--space-xl)}.settings-section{padding:var(--space-lg)}.card{max-width:700px;margin-left:auto;margin-right:auto}.health-tabs{max-width:700px;margin:0 auto var(--space-lg) auto}.health-tab span:not(.health-tab-badge){display:inline}.diaper-quick-btns{flex-wrap:wrap}.diaper-quick-btn{font-size:.7rem;padding:var(--space-xs);min-width:0}.feeding-timer,.sleep-elapsed{font-size:1rem}.widget-content{overflow:hidden}.quick-actions{justify-content:center;gap:var(--space-lg)}.action-btn{min-width:100px;padding:var(--space-md) var(--space-xl)}.modal{border-radius:var(--radius-xl);margin:var(--space-xl)}.modal-overlay{align-items:center}}.learn-page{position:relative;min-height:100vh;overflow:hidden}.learn-container{padding-bottom:120px}.learn-header{padding:var(--space-lg) var(--space-md)}.learn-title{font-size:1.5rem;font-weight:700;margin:0 0 var(--space-xs);display:flex;align-items:center;gap:var(--space-sm)}.learn-subtitle{font-size:.9rem;color:var(--text-secondary);margin:0;display:flex;align-items:center;gap:var(--space-xs)}.widget-settings-btn{display:flex;align-items:center;gap:var(--space-md);background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:var(--transition);text-align:left}.widget-settings-btn:hover{border-color:var(--primary);background:var(--surface-hover)}.widget-settings-btn-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary);color:var(--text-on-color)}.widget-settings-btn-text{display:flex;flex-direction:column;gap:var(--space-2xs)}.widget-settings-btn-title{font-family:var(--font-family);font-size:28px;font-weight:700;color:#1f2937}.widget-settings-btn-subtitle{font-family:var(--font-family);font-size:17px;color:#6b7280}.widget-settings-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:400px;width:calc(100% - var(--space-xl));z-index:var(--z-modal);padding:var(--space-lg);max-height:80vh;overflow-y:auto}.widget-settings-hint{font-size:.9rem;color:var(--text-muted);margin-bottom:var(--space-lg)}.widget-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.widget-settings-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--surface);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);position:relative}.widget-settings-item.enabled{border-color:var(--primary);background:#d4849c1f}.widget-settings-item.disabled{opacity:.6}.widget-settings-item:hover{background:var(--surface-hover)}.widget-settings-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);transition:var(--transition)}.widget-settings-label{font-size:.85rem;font-weight:500;color:var(--text)}.widget-age-hint{display:inline-block;font-size:.65rem;font-weight:600;color:var(--text-muted);background:var(--surface-hover);padding:1px 5px;border-radius:var(--radius-sm);margin-left:4px;vertical-align:middle}.widget-settings-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-on-color);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:var(--transition)}.widget-settings-check.visible{opacity:1;transform:scale(1)}.widget-settings-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border)}.widget-settings-toggle{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition)}.widget-settings-toggle:hover{background:var(--surface-hover)}.widget-settings-toggle-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface-hover);border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--transition)}.widget-settings-toggle.enabled .widget-settings-toggle-icon{background:var(--primary);color:var(--text-on-color)}.widget-settings-toggle-text{flex:1;text-align:left}.widget-settings-toggle-label{display:block;font-size:.95rem;font-weight:600;color:var(--text)}.widget-settings-toggle-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:2px}.widget-settings-switch{position:relative;width:44px;height:24px;background:var(--surface-hover);border-radius:12px;transition:var(--transition)}.widget-settings-switch.on{background:var(--primary)}.widget-settings-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--background);border-radius:50%;transition:var(--transition);box-shadow:0 1px 3px #0003}.widget-settings-switch.on .widget-settings-switch-thumb{left:22px}.error-fallback{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:var(--background)}.error-fallback-content{text-align:center;max-width:400px}.error-fallback-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:var(--radius-full);background:#ef444426;color:var(--danger-strong);margin-bottom:var(--space-lg)}.error-fallback-title{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:var(--space-md)}.error-fallback-message{color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:1.6}.error-fallback-details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-xl);font-size:.75rem;color:var(--text-muted);text-align:left;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-fallback .btn{display:inline-flex;align-items:center;gap:var(--space-sm)}.legal-page{padding:var(--space-md) 0}.legal-header{text-align:center;margin-bottom:var(--space-xl)}.legal-back{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-lg);color:var(--text-secondary);font-size:.9rem}.legal-back:hover{color:var(--text)}.legal-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-on-color);margin-bottom:var(--space-md)}.legal-title{font-size:1.75rem;margin-bottom:var(--space-sm)}.legal-updated{color:var(--text-muted);font-size:.85rem}.legal-content{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);padding:var(--space-lg)}.legal-section{margin-bottom:var(--space-xl)}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:1.1rem;margin-bottom:var(--space-md);color:var(--text)}.legal-section p{color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-md)}.legal-section ul{list-style:none;padding:0;margin:0 0 var(--space-md)}.legal-section li{padding:var(--space-sm) 0;padding-left:var(--space-lg);position:relative;color:var(--text-secondary);line-height:1.6}.legal-section li:before{content:"•";position:absolute;left:var(--space-sm);color:var(--primary)}.settings-link-btn{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);transition:var(--transition)}.settings-link-btn:hover{color:var(--text)}.insights-container{display:flex;flex-direction:column;gap:var(--space-lg)}.insights-time-range{display:flex;gap:var(--space-xs);background:var(--surface);border-radius:var(--radius-full);padding:3px;border:1px solid var(--border);align-self:center}.time-range-btn{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition)}.time-range-btn.active{background:var(--primary);color:var(--text-on-color);font-weight:600}.time-range-btn:not(.active):hover{color:var(--text);background:var(--surface-hover)}.insights-section{position:relative}.insights-section-title{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;font-weight:600;color:var(--text);margin-bottom:var(--space-md)}.insights-section-title .premium-lock{color:var(--text-muted);margin-left:auto}.age-badge{background:var(--primary);color:var(--text-on-color);font-size:.75rem;padding:2px 8px;border-radius:var(--radius-full);margin-left:auto;font-weight:500}.insights-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.insight-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--border);display:flex;align-items:flex-start;gap:var(--space-sm)}.insight-card-icon{flex-shrink:0}.insight-card-content{display:flex;flex-direction:column;gap:var(--space-2xs)}.insight-card-label{font-size:.8rem;color:var(--text-muted)}.insight-card-value{font-size:1.1rem;font-weight:600;color:var(--text)}.insight-card-alert{font-size:.75rem;color:var(--danger);font-weight:500}.insights-patterns-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.pattern-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:var(--space-md);display:flex;gap:var(--space-sm);align-items:flex-start}.pattern-card-icon{flex-shrink:0;margin-top:2px}.pattern-card-body{display:flex;flex-direction:column;gap:2px}.pattern-card-label{font-size:.75rem;color:var(--text-muted)}.pattern-card-value{font-size:1.05rem;font-weight:700;color:var(--text)}.pattern-card-detail{font-size:.7rem;color:var(--text-secondary);font-style:italic;line-height:1.3}.pattern-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:.85rem;padding:var(--space-md)}.insights-patterns{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.pattern-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border-bottom:1px solid var(--border)}.pattern-item:last-child{border-bottom:none}.pattern-label{color:var(--text-secondary);font-size:.9rem}.pattern-value{font-weight:600;color:var(--text)}.pressure-banner{grid-column:1 / -1;background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-sm)}.pressure-banner-top{display:flex;align-items:center;justify-content:space-between}.pressure-banner-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem;color:var(--text-muted)}.pressure-banner-status{font-size:.95rem;font-weight:700}.pressure-banner-bar-track{position:relative;width:100%;height:8px;background:var(--border);border-radius:4px;overflow:visible}.pressure-banner-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.pressure-banner-bar-thumb{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--surface);border:2.5px solid;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000001f;transition:left .6s ease}.pressure-banner-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.pressure-banner-awake{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.pressure-banner-rec{font-size:.75rem;color:var(--text-secondary);font-style:italic;text-align:right}.snapshot-grid{display:grid;gap:var(--space-sm)}.snapshot-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.snapshot-card-header{display:flex;align-items:center;gap:var(--space-xs)}.snapshot-card-icon{display:flex;align-items:center}.snapshot-card-label{font-size:.85rem;font-weight:600;color:var(--text-primary);flex:1}.snapshot-diff{font-size:.75rem;font-weight:600;padding:.15rem .4rem;border-radius:var(--radius-sm)}.snapshot-diff.positive{color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent)}.snapshot-diff.negative{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.snapshot-card-value{display:flex;align-items:baseline;gap:var(--space-sm)}.snapshot-today{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.snapshot-avg{font-size:.75rem;color:var(--text-muted)}.snapshot-bar-track{position:relative;height:6px;background:var(--border);border-radius:3px;overflow:visible;margin-top:var(--space-xs)}.snapshot-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:3px;transition:width .5s ease}.snapshot-bar-range{position:absolute;top:-2px;height:10px;background:var(--border);opacity:.4;border-radius:5px}.snapshot-bar-avg{position:absolute;top:-3px;width:2px;height:12px;background:var(--text-muted);border-radius:1px;transform:translate(-1px)}.snapshot-range-label{font-size:.7rem;color:var(--text-muted);margin-top:2px}.patterns-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm);margin-top:var(--space-xs);background:none;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .2s,border-color .2s}.patterns-toggle:hover{color:var(--text-primary);border-color:var(--text-muted)}.patterns-toggle-icon{transition:transform .2s ease}.patterns-toggle-icon.expanded{transform:rotate(180deg)}.prediction-confidence{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.confidence-quality{font-size:.7rem;color:var(--text-secondary);opacity:.8}.nap-status{font-size:.75rem;padding:.2rem .5rem;border-radius:var(--radius-sm);margin-top:.25rem;display:inline-block}.nap-status-too_early{background:var(--surface-hover);color:var(--text-muted)}.nap-status-approaching{background:#eab30826;color:var(--tummy)}.nap-status-optimal{background:#16a34a26;color:var(--success)}.nap-status-overtired{background:#dc262626;color:var(--danger)}.wake-window-info{font-size:.7rem;color:var(--text-muted);margin-top:.2rem}.insight-card.sleeping{background:linear-gradient(135deg,var(--sleep-bg) 0%,var(--surface) 100%);border-color:var(--sleep)}.insights-trends{display:flex;flex-direction:column;gap:var(--space-sm)}.trend-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);border-left-width:3px;padding:var(--space-md)}.trend-card.trend-improving{border-left-color:var(--success)}.trend-card.trend-stable{border-left-color:var(--text-secondary)}.trend-card.trend-declining{border-left-color:var(--danger)}.trend-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.trend-card-label{font-size:.8rem;color:var(--text-muted);flex:1}.trend-card-value{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:var(--space-2xs)}.trend-card-desc{font-size:.85rem;color:var(--text-secondary);margin:0 0 var(--space-xs) 0;line-height:1.4}.trend-card-tip{display:none}.trend-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);border-left-width:3px}.trend-item.trend-improving{border-left-color:var(--success)}.trend-item.trend-stable{border-left-color:var(--text-secondary)}.trend-item.trend-declining{border-left-color:var(--danger)}.trend-icon{flex-shrink:0}.trend-icon.trend-up{color:var(--success)}.trend-icon.trend-stable{color:var(--text-secondary)}.trend-icon.trend-down{color:var(--danger)}.trend-content{display:flex;flex-direction:column;gap:.1rem;min-width:80px}.trend-label{font-size:.8rem;color:var(--text-muted)}.trend-value{font-weight:600;color:var(--text)}.trend-description{font-size:.85rem;color:var(--text-secondary);margin-left:auto}.insights-benchmarks{display:flex;flex-direction:column;gap:var(--space-md)}.benchmark-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--border)}.benchmark-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-weight:600;color:var(--text)}.benchmark-comparison{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-sm)}.benchmark-actual,.benchmark-expected{display:flex;flex-direction:column;align-items:center}.benchmark-number{font-size:1.5rem;font-weight:700;color:var(--text)}.benchmark-range{font-size:1rem;font-weight:600;color:var(--text-secondary)}.benchmark-label{font-size:.75rem;color:var(--text-muted)}.benchmark-status{margin-left:auto}.benchmark-status.good{color:var(--success)}.benchmark-status.low,.benchmark-status.high{color:var(--danger)}.benchmark-status.neutral{color:var(--text-muted)}.benchmark-progress{margin:var(--space-sm) 0}.benchmark-progress-track{position:relative;height:8px;background:var(--surface-hover);border-radius:var(--radius-full);overflow:visible}.benchmark-progress-range{position:absolute;top:0;height:100%;border-radius:var(--radius-full);opacity:.3}.benchmark-progress-marker{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--surface);box-shadow:var(--shadow-sm)}.benchmark-progress-marker.in-range{background:var(--success)}.benchmark-progress-marker.out-range{background:var(--danger)}.benchmark-progress-labels{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:.7rem;color:var(--text-muted)}.benchmark-progress-actual{font-weight:700;font-size:.8rem}.benchmark-card.benchmark-good{border-color:var(--success);border-left-width:3px}.benchmark-card.benchmark-low,.benchmark-card.benchmark-high{border-color:var(--danger);border-left-width:3px}.benchmark-note{font-size:.8rem;color:var(--text-muted);font-style:italic}.insights-comparison-list{display:flex;flex-direction:column;gap:var(--space-sm)}.comparison-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--border)}.comparison-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.comparison-card-label{font-weight:600;font-size:.9rem;color:var(--text);flex:1}.comparison-diff{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.comparison-diff.positive{color:var(--success);background:#16a34a1a}.comparison-diff.negative{color:var(--danger);background:#dc26261a}.comparison-bars{display:flex;flex-direction:column;gap:var(--space-xs)}.comparison-bar-row{display:flex;align-items:center;gap:var(--space-sm)}.comparison-bar-label{font-size:.7rem;color:var(--text-muted);width:36px;flex-shrink:0}.comparison-bar-track{flex:1;height:8px;background:var(--surface-hover);border-radius:var(--radius-full);overflow:hidden}.comparison-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.comparison-bar-val{font-size:.8rem;font-weight:600;color:var(--text);width:40px;text-align:right;flex-shrink:0}.insights-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.comparison-item{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--border);text-align:center}.comparison-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-xs)}.comparison-values{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.comparison-today{font-size:1.25rem;font-weight:700;color:var(--text)}.comparison-vs{font-size:.7rem;color:var(--text-muted)}.comparison-avg{font-size:.8rem;color:var(--text-secondary)}.premium-blur{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.premium-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--space-sm);background:var(--surface);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-secondary);font-size:.85rem;font-weight:500;z-index:var(--z-sticky)}.insights-empty,.insights-loading,.insights-error,.insights-collecting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;color:var(--text-muted);gap:var(--space-md)}.insights-collecting{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);padding:var(--space-xl)}.insights-collecting-icon{color:var(--primary)}.insights-collecting h3{color:var(--text);margin:0}.insights-collecting p{color:var(--text-secondary);max-width:300px;line-height:1.5}.insights-collecting-progress{font-size:.85rem;color:var(--text-muted)}.settings-section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.settings-section-icon{color:var(--text-muted)}@media (min-width: 768px){.insights-container{max-width:900px;margin:0 auto}.insights-cards{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.insight-card{padding:var(--space-lg)}.insights-benchmarks{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.comparison-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.comparison-item{padding:var(--space-lg)}.comparison-today{font-size:1.5rem}.patterns-list{display:grid;grid-template-columns:repeat(2,1fr)}.patterns-list .pattern-item{border-bottom:none;border-right:1px solid var(--border)}.patterns-list .pattern-item:nth-child(2n){border-right:none}.patterns-list .pattern-item:nth-child(n+3){border-top:1px solid var(--border)}}@media (min-width: 1024px){.insights-container{max-width:1100px}.insights-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}.insights-benchmarks{grid-template-columns:repeat(3,1fr)}}.theme-selector{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-xl)}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);min-width:100px}.theme-option:hover{border-color:var(--primary-light)}.theme-option.active{border-color:var(--primary);box-shadow:0 0 0 3px #d4849c33}.theme-preview{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xs)}.theme-name{font-weight:700;color:var(--text);font-size:.85rem}.theme-desc{font-size:.7rem;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-actions{margin-top:var(--space-lg)}.form-actions .btn-lg{width:100%}.gender-selector{display:flex;gap:var(--space-sm)}.gender-btn{flex:1;padding:var(--space-md);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:var(--transition)}.gender-btn:hover{border-color:var(--text-muted)}.gender-btn.active.boy{border-color:#60a5fa;background:#60a5fa1a;color:#60a5fa}.gender-btn.active.girl{border-color:#f472b6;background:#f472b61a;color:#f472b6}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:var(--space-xs)}.spin{animation:spin 1s linear infinite}.health-dashboard{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-lg)}.health-section{width:100%;box-sizing:border-box}.health-section-primary{width:100%}.health-cards-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.health-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:var(--space-md);box-shadow:var(--shadow-sm);transition:var(--transition)}.health-card:hover{box-shadow:var(--shadow)}.health-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.health-card-title{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:var(--space-xs);margin:0;color:var(--text)}.health-card-title svg{color:var(--primary)}.health-card-count{font-size:.8rem;color:var(--text-muted)}.health-card-action{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;color:var(--primary);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);transition:var(--transition)}.health-card-action:hover{background:var(--surface-hover)}.health-card-action .rotated{transform:rotate(90deg)}.health-card-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:var(--space-lg) 0}.health-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);background:#d4849c1f;border:1px dashed var(--primary);border-radius:var(--radius-md);color:var(--primary);font-size:.9rem;cursor:pointer;transition:var(--transition);margin-top:var(--space-md)}.health-add-btn:hover{background:#d4849c40}.growth-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md);width:100%;box-sizing:border-box}.growth-metric-box{background:var(--bg);border-radius:var(--radius-md);padding:var(--space-sm);text-align:center}.growth-metric-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.growth-metric-value{font-size:1.1rem;font-weight:600;color:var(--text);margin:var(--space-xs) 0}.growth-metric-percentile{font-size:.7rem;color:var(--text-secondary)}.percentile-bar{height:4px;background:var(--border);border-radius:2px;margin-top:var(--space-xs);overflow:hidden}.percentile-fill{height:100%;border-radius:2px;transition:width .3s ease}.percentile-fill.on-track{background:var(--success)}.percentile-fill.watch{background:#eab308}.percentile-fill.concern{background:var(--danger)}.percentile-fill.neutral{background:var(--text-muted)}.growth-quick-entry{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md);margin-top:var(--space-md)}.growth-input{flex:1;min-width:60px;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;color:var(--text)}.growth-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);background:#d4849c1f;border:1px dashed var(--primary);border-radius:var(--radius-md);color:var(--primary);font-size:.9rem;cursor:pointer;transition:var(--transition);margin-top:var(--space-md)}.growth-add-btn:hover{background:#d4849c40}.growth-chart-container{margin-top:var(--space-md);border-top:1px solid var(--border);padding-top:var(--space-md)}.teething-card .health-card-count{background:#d4849c1f;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);color:var(--primary);font-weight:500}.teeth-diagram{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) 0}.teeth-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.teeth-row{display:flex;gap:var(--space-2xs);justify-content:center}.teeth-divider{width:80%;height:1px;background:var(--border);margin:var(--space-xs) 0}.tooth-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:.9rem}.tooth-btn:hover{border-color:var(--primary);background:#d4849c1f}.tooth-btn.emerged{background:var(--primary);border-color:var(--primary)}.tooth-btn.emerging{border-color:var(--primary);background:#d4849c40}.tooth-btn.due-now{border-color:#eab308;background:#eab3081a;border-style:dashed}.tooth-btn.overdue{border-color:var(--danger);background:#ef44441a}.tooth-icon{font-size:.8rem}.teeth-legend{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm)}.legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:.7rem;color:var(--text-muted)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.emerged{background:var(--primary)}.legend-dot.emerging{background:#d4849c80;border:1px solid var(--primary)}.legend-dot.due-now{background:#eab308}.legend-dot.future{background:var(--border)}.tooth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-md)}.tooth-modal{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg);max-width:320px;width:100%;position:relative}.tooth-modal-close{position:absolute;top:var(--space-sm);right:var(--space-sm);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs)}.tooth-modal h4{margin:0 0 var(--space-xs);font-size:1.1rem}.tooth-modal-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-md)}.tooth-date-input{width:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:1rem;color:var(--text);margin-bottom:var(--space-md)}.tooth-modal-actions{display:flex;justify-content:flex-end}.tooth-emerged-date{color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--space-md)}.sick-days-list{display:flex;flex-direction:column;gap:var(--space-sm)}.sick-day-item{padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md)}.sick-day-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.sick-day-date{font-weight:600;font-size:.85rem}.sick-day-temp{font-size:.8rem;padding:2px 6px;border-radius:var(--radius-sm);margin-left:auto}.sick-day-temp.normal{background:#22c55e1a;color:var(--success)}.sick-day-temp.elevated{background:#eab3081a;color:#eab308}.sick-day-temp.fever{background:#f973161a;color:#f97316}.sick-day-temp.high-fever{background:#ef44441a;color:var(--danger)}.sick-day-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs)}.sick-day-delete:hover{color:var(--danger)}.sick-day-symptoms{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-xs)}.symptom-chip{font-size:.7rem;padding:2px 8px;background:#d4849c1f;color:var(--primary);border-radius:var(--radius-full)}.sick-day-notes{font-size:.8rem;color:var(--text-muted);margin:0}.sick-day-form{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md);margin-top:var(--space-md)}.sick-day-form-row{display:flex;gap:var(--space-sm)}.sick-day-date-input,.sick-day-temp-input{padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;color:var(--text)}.sick-day-date-input{flex:1}.sick-day-temp-input{width:100px}.symptom-chips-grid{display:flex;flex-wrap:wrap;gap:6px}.symptom-chip-btn{font-size:.75rem;padding:var(--space-xs) var(--space-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.symptom-chip-btn:hover{border-color:var(--primary)}.symptom-chip-btn.selected{background:#d4849c1f;border-color:var(--primary);color:var(--primary)}.sick-day-notes-input{width:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;color:var(--text);resize:none}.sick-day-form-actions{display:flex;gap:var(--space-sm)}.allergies-list{display:flex;flex-direction:column;gap:var(--space-sm)}.allergy-item{padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md);border-left:3px solid var(--border)}.allergy-item.severity-mild{border-left-color:var(--success)}.allergy-item.severity-moderate{border-left-color:#eab308}.allergy-item.severity-severe{border-left-color:var(--danger)}.allergy-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.allergy-name{font-weight:600;font-size:.95rem}.allergy-severity{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full);margin-left:auto;text-transform:capitalize}.allergy-severity.severity-mild{background:#22c55e1a;color:var(--success)}.allergy-severity.severity-moderate{background:#eab3081a;color:#854d0e}.allergy-severity.severity-severe{background:#ef44441a;color:var(--danger)}.allergy-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs)}.allergy-delete:hover{color:var(--danger)}.allergy-reaction,.allergy-date,.allergy-notes{font-size:.8rem;color:var(--text-secondary);margin:var(--space-2xs) 0}.allergy-form{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md);margin-top:var(--space-md)}.allergy-input,.allergy-reaction-input,.allergy-notes-input{width:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;color:var(--text)}.allergy-notes-input{resize:none}.severity-selector{display:flex;gap:var(--space-sm)}.severity-btn{flex:1;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.85rem;cursor:pointer;transition:var(--transition)}.severity-btn.selected.severity-mild{background:#22c55e1a;border-color:var(--success);color:var(--success)}.severity-btn.selected.severity-moderate{background:#eab3081a;border-color:#eab308;color:#854d0e}.severity-btn.selected.severity-severe{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.allergy-form-row{display:flex;align-items:center;gap:var(--space-sm)}.allergy-date-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.85rem;color:var(--text-secondary)}.allergy-date-input{padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;color:var(--text)}.allergy-form-actions{display:flex;gap:var(--space-sm)}.records-section{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.records-tabs{display:flex;border-bottom:1px solid var(--border)}.records-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-md);background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--text-secondary);transition:var(--transition)}.records-tab:hover{background:var(--surface-hover)}.records-tab.active{color:var(--primary);border-bottom:2px solid var(--primary);margin-bottom:-1px}.tab-count{font-size:.7rem;background:#d4849c1f;padding:2px 6px;border-radius:var(--radius-full);color:var(--primary)}.records-content{padding:var(--space-md)}.records-panel,.records-list{display:flex;flex-direction:column;gap:var(--space-sm)}.record-item{padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md)}.record-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.record-date{font-size:.8rem;color:var(--text-muted)}.record-type{font-size:.75rem;padding:2px 8px;background:#d4849c1f;color:var(--primary);border-radius:var(--radius-full);text-transform:capitalize}.record-edit{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs)}.record-edit:hover{color:var(--primary)}.record-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs)}.record-delete:hover{color:var(--danger)}.record-item-editing{border-color:var(--primary);background:var(--primary-alpha-5, rgba(var(--primary-rgb, 99, 102, 241), .05))}.record-form-edit-banner{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--primary-alpha-5, rgba(var(--primary-rgb, 99, 102, 241), .05));border-radius:var(--radius-sm);color:var(--primary);font-size:.8rem;font-weight:500}.record-doctor,.record-admin,.record-next-due,.record-notes{font-size:.8rem;color:var(--text-secondary);margin:var(--space-2xs) 0}.record-measurements{display:flex;gap:var(--space-sm);font-size:.85rem;color:var(--text)}.records-empty{text-align:center;color:var(--text-muted);padding:var(--space-lg) 0}.records-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm);background:#d4849c1f;border:1px dashed var(--primary);border-radius:var(--radius-md);color:var(--primary);font-size:.9rem;cursor:pointer;transition:var(--transition)}.records-add-btn:hover{background:#d4849c40}.record-form{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md)}.record-form-row{display:flex;gap:var(--space-sm)}.record-form-row.measurements{flex-wrap:wrap}.record-date-input,.record-select,.record-text-input,.record-number-input,.record-notes-input{padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;color:var(--text)}.record-text-input{flex:1}.record-number-input{flex:1;min-width:80px}.record-number-input.dose{max-width:70px}.record-notes-input{width:100%;resize:none}.record-date-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.8rem;color:var(--text-secondary);flex:1}.record-form-actions{display:flex;gap:var(--space-sm)}.records-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.records-summary-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);cursor:pointer;transition:var(--transition);text-align:left;width:100%;box-shadow:var(--shadow-sm)}.records-summary-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.records-summary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0}.records-summary-icon.visits{background:#3b82f61f;color:#3b82f6}.records-summary-icon.vaccinations{background:#16a34a1f;color:#16a34a}.records-summary-icon.medications{background:#a855f71f;color:#a855f7}.records-summary-info{display:flex;flex-direction:column;flex:1;min-width:0}.records-summary-count{font-size:1.25rem;font-weight:700;color:var(--text);line-height:1.2}.records-summary-label{font-size:.8rem;color:var(--text-muted)}.records-summary-hint{font-size:.7rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-summary-arrow{color:var(--text-muted);flex-shrink:0}.records-detail-modal{max-height:85vh}.records-detail-body{overflow-y:auto;max-height:calc(85vh - 60px);padding:var(--space-md)}.vaccination-schedule-card .vaccination-schedule{margin-top:0}.vaccination-reminders{background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-md)}.reminders-title{font-size:.8rem;color:#854d0e;margin:0 0 var(--space-xs)}.reminder-item{display:flex;justify-content:space-between;font-size:.85rem;padding:var(--space-xs) 0}.reminder-vaccine{color:var(--text)}.reminder-date{color:#854d0e;font-weight:500}.vaccine-name{font-weight:600;font-size:.9rem}.vaccine-dose{font-size:.75rem;color:var(--text-muted);margin-left:auto;margin-right:var(--space-sm)}.vaccination-schedule{display:flex;flex-direction:column;gap:var(--space-md)}.vax-progress{background:var(--bg);border-radius:var(--radius-md);padding:var(--space-md)}.vax-progress-header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);color:var(--text);font-weight:600;font-size:.9rem}.vax-progress-count{margin-left:auto;color:var(--primary);font-size:.85rem}.vax-progress-bar{height:8px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.vax-progress-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .4s ease}.vax-progress-percent{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-xs);text-align:right}.vax-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:.75rem}.vax-legend-item{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full)}.vax-legend-item.vaccine-done{color:#16a34a;background:#16a34a1a}.vax-legend-item.vaccine-overdue{color:#dc2626;background:#dc26261a}.vax-legend-item.vaccine-upcoming{color:#d97706;background:#d977061a}.vax-legend-item.vaccine-future{color:var(--text-muted);background:var(--bg)}.vax-groups{display:flex;flex-direction:column;gap:var(--space-xs)}.vax-group{background:var(--bg);border-radius:var(--radius-md);border-left:3px solid var(--border);overflow:hidden}.vax-group-done{border-left-color:#16a34a}.vax-group-overdue{border-left-color:#dc2626}.vax-group-current{border-left-color:#d97706;background:#d977060a}.vax-group-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;cursor:pointer;text-align:left;color:var(--text)}.vax-group-title{display:flex;flex-direction:column;min-width:70px}.vax-group-age{font-weight:600;font-size:.85rem}.vax-group-count{font-size:.7rem;color:var(--text-muted)}.vax-group-pills{display:flex;flex-wrap:wrap;gap:4px;flex:1}.vax-pill{font-size:.65rem;padding:2px 6px;border-radius:var(--radius-full);font-weight:500;white-space:nowrap;position:relative;cursor:help}.vax-pill-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:.75rem;color:var(--text);white-space:normal;width:220px;box-shadow:var(--shadow-lg);z-index:100;pointer-events:none;line-height:1.4}.vax-pill.vaccine-done{background:#16a34a26;color:#16a34a}.vax-pill.vaccine-overdue{background:#dc262626;color:#dc2626}.vax-pill.vaccine-upcoming{background:#d9770626;color:#d97706}.vax-pill.vaccine-future{background:var(--surface);color:var(--text-muted)}.vax-region-toggle{display:flex;gap:4px;background:var(--surface);border-radius:var(--radius-full);padding:2px;border:1px solid var(--border)}.vax-region-btn{font-size:.7rem;padding:4px 10px;border:none;background:none;border-radius:var(--radius-full);cursor:pointer;color:var(--text-secondary);font-weight:500;transition:var(--transition)}.vax-region-btn.active{background:var(--primary);color:#fff}.vax-detail-name-group{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.vax-detail-fullname{font-size:.7rem;color:var(--text-muted);font-weight:400}.vax-detail-description{display:flex;align-items:flex-start;gap:var(--space-xs);font-size:.72rem;color:var(--text-secondary);padding:6px 0 2px 28px;line-height:1.4}.vax-detail-description svg{flex-shrink:0;margin-top:1px;opacity:.5}.vax-group-details{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.vax-detail-item{padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--surface)}.vax-detail-header{display:flex;align-items:center;gap:var(--space-xs)}.vax-detail-name{font-weight:600;font-size:.85rem}.vax-status-badge{margin-left:auto;font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full);font-weight:500}.vax-status-badge.vaccine-done{background:#16a34a1f;color:#16a34a}.vax-status-badge.vaccine-overdue{background:#dc26261f;color:#dc2626}.vax-status-badge.vaccine-upcoming{background:#d977061f;color:#d97706}.vax-status-badge.vaccine-future{background:var(--bg);color:var(--text-muted)}.vax-detail-item.vaccine-done .vax-detail-header{color:#16a34a}.vax-detail-item.vaccine-overdue .vax-detail-header{color:#dc2626}.vax-detail-item.vaccine-upcoming .vax-detail-header{color:#d97706}.vax-detail-item.vaccine-future .vax-detail-header{color:var(--text-muted)}.vax-mark-btn{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-xs);padding:4px 12px;font-size:.75rem;background:#d4849c1f;border:1px solid rgba(212,132,156,.3);border-radius:var(--radius-full);color:var(--primary);cursor:pointer;transition:var(--transition)}.vax-mark-btn:hover{background:#d4849c40}.vax-mark-form{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap}.vax-mark-form .record-date-input{font-size:.8rem;padding:4px 8px}.medications-active,.medications-past{margin-bottom:var(--space-md)}.meds-section-title{font-size:.85rem;color:var(--text-muted);margin:0 0 var(--space-sm)}.medication-item{padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.medication-item.past{opacity:.6}.medication-header{display:flex;align-items:center;gap:var(--space-sm)}.medication-name{font-weight:600;font-size:.9rem}.medication-toggle{margin-left:auto;font-size:.75rem;padding:var(--space-xs) var(--space-sm);background:#d4849c1f;border:none;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer}.medication-toggle:hover{background:#d4849c40}.medication-dosage,.medication-dates,.medication-notes{font-size:.8rem;color:var(--text-secondary);margin:var(--space-2xs) 0}@media (max-width: 480px){.health-dashboard{padding:var(--space-sm);gap:var(--space-md)}.health-card{padding:var(--space-sm);width:100%;box-sizing:border-box}.health-card-title{font-size:.9rem}.growth-metrics{gap:var(--space-xs)}.growth-metric-box{padding:var(--space-xs)}.growth-metric-value{font-size:.95rem}.growth-metric-label{font-size:.65rem}.growth-metric-percentile{font-size:.6rem}.growth-quick-entry{flex-direction:column}.growth-input{width:100%}.tooth-btn{width:24px;height:24px;font-size:.75rem}.teeth-legend{flex-wrap:wrap;gap:var(--space-sm)}.legend-item{font-size:.65rem}.sick-day-form-row{flex-direction:column}.sick-day-temp-input{width:100%}.symptom-chips-grid{gap:4px}.symptom-chip-btn{font-size:.7rem;padding:4px 8px}.records-summary-grid{grid-template-columns:1fr;gap:var(--space-sm)}.records-summary-card{padding:var(--space-sm) var(--space-md)}.records-summary-icon{width:36px;height:36px}.records-summary-count{font-size:1.1rem}.record-form-row{flex-direction:column}.record-form-row.measurements{flex-direction:row;flex-wrap:wrap}.record-number-input{min-width:70px;flex:1}.severity-selector{gap:var(--space-xs)}.severity-btn{padding:var(--space-xs);font-size:.75rem}.allergy-form-row{flex-direction:column;align-items:stretch}}@media (min-width: 600px){.health-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.health-dashboard{padding:var(--space-lg);max-width:900px;margin:0 auto}.health-cards-grid{gap:var(--space-lg)}.health-card{padding:var(--space-lg)}.health-card-header{margin-bottom:var(--space-lg)}.growth-chart-container{padding-top:var(--space-lg)}.growth-metrics{gap:var(--space-md)}.growth-metric-box{padding:var(--space-md)}.growth-metric-value{font-size:1.25rem}.records-tab{padding:var(--space-md) var(--space-lg)}.records-content{padding:var(--space-lg)}.tooth-modal{max-width:400px}.tooth-btn{width:32px;height:32px;font-size:1rem}}@media (min-width: 1024px){.health-dashboard{max-width:1000px}.health-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}}.btn:focus-visible,.btn-icon:focus-visible,.type-btn:focus-visible,.time-picker-btn:focus-visible,.baby-selector:focus-visible,.settings-row:focus-visible,.toggle-switch:focus-visible,.bottom-nav-item:focus-visible,.widget:focus-visible,.health-add-btn:focus-visible,.records-add-btn:focus-visible,.records-summary-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--primary-rgb),.15)}.btn:focus:not(:focus-visible),.btn-icon:focus:not(:focus-visible),.type-btn:focus:not(:focus-visible),.time-picker-btn:focus:not(:focus-visible),.baby-selector:focus:not(:focus-visible),.settings-row:focus:not(:focus-visible),.toggle-switch:focus:not(:focus-visible),.bottom-nav-item:focus:not(:focus-visible),.widget:focus:not(:focus-visible),.health-add-btn:focus:not(:focus-visible),.records-add-btn:focus:not(:focus-visible),.records-summary-card:focus:not(:focus-visible){outline:none;box-shadow:none}.skeleton{background:var(--surface-hover);border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-widget{height:140px;border-radius:var(--radius-lg)}.skeleton-card{height:200px;border-radius:var(--radius-lg)}.skeleton-greeting{height:100px;border-radius:var(--radius-lg);margin-bottom:var(--space-md)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.settings-page-title{margin-bottom:var(--space-lg)}.pro-badge{font-size:11px;background:linear-gradient(135deg,gold,orange);color:#fff;padding:1px 6px;border-radius:8px;margin-left:6px;font-weight:600}a.settings-row{text-decoration:none;color:inherit}.error-fallback-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg);text-align:center;min-height:200px}.error-fallback-compact .error-fallback-icon{margin-bottom:var(--space-sm)}.error-fallback-compact .error-fallback-icon svg{width:32px;height:32px;color:var(--text-muted)}.error-fallback-compact .error-fallback-title{font-size:1rem;margin-bottom:var(--space-xs)}.error-fallback-compact .error-fallback-message{font-size:.85rem;margin-bottom:var(--space-md)}.error-fallback-widget{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);text-align:center;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);min-height:100px}.error-fallback-widget .error-fallback-title{font-size:.85rem;color:var(--text-muted);margin-bottom:var(--space-xs)}.offline-indicator-bar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-xs) var(--space-md);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:.85rem;font-weight:500;color:#fff;transition:all .3s ease}.offline-indicator-bar.offline{background:var(--text-muted)}.offline-indicator-bar.online{background:var(--success)}.offline-pending-text{opacity:.8}.offline-sync-btn{background:#fff3;border:none;border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-sm);color:#fff;cursor:pointer;font-size:.8rem}.language-select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 8px;color:var(--text);font-size:13px;cursor:pointer;max-width:160px}.upgrade-modal-content{max-width:420px;padding:var(--space-xl)}.upgrade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.upgrade-header-left{display:flex;align-items:center;gap:8px}.upgrade-header-left h2{margin:0}.icon-gold{color:var(--warning)}.icon-primary{color:var(--primary)}.upgrade-features{list-style:none;padding:0;margin:0 0 var(--space-lg)}.upgrade-feature-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.9rem}.icon-green{color:#22c55e;flex-shrink:0}.pricing-cards{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.pricing-card{flex:1;border-radius:var(--radius-lg);padding:var(--space-md);background:var(--surface);text-align:center;position:relative;border:none;cursor:pointer;color:inherit;font-family:inherit}.pricing-card:disabled{cursor:wait}.pricing-card-monthly{border:2px solid var(--border)}.pricing-card-yearly{border:2px solid var(--warning)}.promo-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.58rem;font-weight:800;padding:var(--space-2xs) 7px;border-radius:8px;white-space:nowrap;letter-spacing:.03em;box-shadow:0 2px 6px #ef444459}.best-value-badge{position:absolute;top:-10px;right:-6px;background:var(--warning);color:#fff;font-size:.58rem;font-weight:800;padding:var(--space-2xs) 7px;border-radius:8px}.price-original{font-size:.8rem;color:var(--text-muted);text-decoration:line-through;margin-top:4px}.price-main{font-weight:700;font-size:1.25rem}.price-period{font-size:.8rem;color:var(--text-muted)}.price-equivalent{font-size:.7rem;color:var(--text-muted);margin-top:var(--space-2xs)}.btn-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.upgrade-footer{text-align:center;margin-top:var(--space-md);font-size:.78rem;color:var(--text-muted)}.btn-text-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.78rem;text-decoration:underline;padding:0}.learn-articles-card{margin-top:var(--space-xl);padding:var(--space-lg)}.learn-articles-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.learn-articles-header h2{font-size:16px;margin:0;font-family:var(--font-family-heading)}.learn-articles-list{display:flex;flex-direction:column;gap:var(--space-sm)}.learn-article-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.learn-article-title{font-weight:500;font-size:14px}.learn-article-summary{font-size:12px;color:var(--text-secondary);margin-top:var(--space-2xs)}.learn-read-more{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--primary);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:14px}.offline-indicator{transition:all .3s ease}.insights-parent-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-color)}.insights-parent-header{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--text-primary)}.insights-parent-header svg{margin-top:2px;color:var(--danger);flex-shrink:0}.insights-parent-header h2{font-size:1.1rem;font-weight:600;margin:0;line-height:1.3}.insights-parent-header p{font-size:.85rem;color:var(--text-muted);margin:2px 0 0}.rest-planner-content{display:flex;flex-direction:column;gap:var(--space-md)}.rest-summary-card{display:flex;align-items:center;gap:var(--space-md);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);border-left:4px solid var(--sleep);padding:var(--space-md) var(--space-lg)}.rest-mode-badge{display:inline-flex;align-items:center;gap:4px;margin-left:var(--space-sm);padding:2px 8px;font-size:.75rem;font-weight:600;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:help}.rest-mode-day{color:var(--feeding)}.rest-mode-evening{color:var(--tummy)}.rest-mode-night{color:var(--sleep);border-color:var(--sleep)}.rest-effective-awake{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--surface);border-radius:var(--radius-md);border:1px dashed var(--border);font-size:.85rem;color:var(--text-muted);cursor:help}.rest-effective-awake strong{color:var(--text)}.rest-night-card{background:linear-gradient(135deg,var(--surface) 0%,color-mix(in srgb,var(--sleep) 8%,var(--surface)) 100%)}.rest-summary-icon{flex-shrink:0}.rest-summary-text{display:flex;flex-direction:column;gap:var(--space-2xs)}.rest-summary-message{font-size:1rem;font-weight:600;color:var(--text)}.rest-summary-detail{font-size:.8rem;color:var(--text-muted)}.rest-timeline{display:flex;flex-direction:column;gap:var(--space-xs)}.rest-timeline-bar{position:relative;height:16px;background:var(--border-light);border-radius:var(--radius-full);overflow:visible}.rest-timeline-block{position:absolute;top:0;height:100%;border-radius:var(--radius-full);opacity:.7;min-width:4px}.rest-timeline-now{position:absolute;top:-3px;width:3px;height:22px;background:var(--danger);border-radius:2px;z-index:1}.rest-timeline-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted)}.rest-carousel{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;gap:var(--space-xs)}.rest-carousel-viewport{grid-column:2;overflow:hidden}.rest-carousel-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:0}.rest-carousel-arrow:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.rest-carousel-arrow:disabled{opacity:.3;cursor:default}.rest-carousel-dots{grid-column:1 / -1;display:flex;justify-content:center;gap:6px;padding-top:var(--space-xs)}.rest-carousel-dot{width:6px;height:6px;border-radius:var(--radius-full);border:none;background:var(--border);padding:0;cursor:pointer;transition:var(--transition)}.rest-carousel-dot.active{background:var(--sleep);width:18px}.rest-window-card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);border-left:4px solid var(--sleep);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.rest-window-header{display:flex;justify-content:space-between;align-items:center}.rest-window-time{display:flex;align-items:center;gap:var(--space-xs);font-size:.9rem;font-weight:600;color:var(--text)}.rest-window-duration{font-size:.8rem;font-weight:500;color:var(--text-secondary);background:var(--border-light);padding:2px 8px;border-radius:var(--radius-full)}.rest-window-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.rest-badge{font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:var(--radius-full)}.rest-confidence-high{background:rgba(var(--primary-rgb),.12);color:var(--success)}.rest-confidence-medium{background:var(--border-light);color:var(--sleep)}.rest-confidence-low{background:var(--border-light);color:var(--text-muted)}.rest-quality-great{background:rgba(var(--primary-rgb),.12);color:var(--success)}.rest-quality-good{background:var(--sleep-bg);color:var(--sleep-text)}.rest-quality-fair{background:var(--tummy-bg);color:var(--tummy-text)}.rest-current{background:var(--sleep-bg);color:var(--sleep-text)}.rest-window-notes{display:flex;flex-direction:column;gap:var(--space-2xs)}.rest-window-note{font-size:.75rem;color:var(--text-muted)}.rest-patterns-meta{font-size:.75rem;color:var(--text-muted);text-align:center;padding-top:var(--space-xs);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:wrap}.rest-pressure-indicator{display:flex;align-items:center;gap:var(--space-sm);font-size:.75rem;color:var(--text-secondary)}.rest-pressure-bar{flex:1;height:4px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden;min-width:48px}.rest-pressure-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.rest-signals{display:flex;flex-wrap:wrap;gap:4px}.rest-signal-pill{font-size:.65rem;font-weight:500;padding:1px 6px;border-radius:var(--radius-full);background:var(--border-light);color:var(--text-muted)}.rest-science-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:500;color:var(--sleep-text);background:var(--sleep-bg);padding:2px 8px;border-radius:var(--radius-full)}.med-quick-log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a40444d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .2s ease;padding:1rem}.med-quick-log-sheet{background:var(--background);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:500px;animation:slideUp .3s ease;padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.med-quick-log-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border)}.med-quick-log-title{font-size:1.125rem;font-weight:600}.med-quick-log-body{padding:var(--space-md) var(--space-lg);max-height:50vh;overflow-y:auto}.med-quick-log-empty{text-align:center;color:var(--text-muted);padding:var(--space-lg) 0}.med-quick-log-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-light)}.med-quick-log-item:last-child{border-bottom:none}.med-quick-log-info{display:flex;flex-direction:column;gap:2px}.med-quick-log-name{font-weight:500;font-size:.95rem}.med-quick-log-dosage{font-size:.8rem;color:var(--text-muted)}.med-quick-log-btn{display:flex;align-items:center;gap:4px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition)}.med-quick-log-btn:hover{background:var(--surface-hover)}.med-quick-log-btn.done{background:var(--diaper-bg);color:var(--diaper-text);border-color:var(--diaper)}.med-quick-log-footer{padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--border)}.med-quick-log-done{width:100%;padding:var(--space-sm) var(--space-md);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition)}.med-quick-log-done:hover{background:var(--primary-dark)}@media (min-width: 768px){.med-quick-log-overlay{align-items:center}.med-quick-log-sheet{border-radius:var(--radius-xl)}}@supports (-webkit-touch-callout: none){input,select,textarea{font-size:16px!important}}.baby-profile-nav{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.baby-profile-back{background:none;border:none;color:var(--text);padding:var(--space-xs);cursor:pointer;display:flex;align-items:center;border-radius:var(--radius-sm)}.baby-profile-back:hover{background:var(--surface-hover)}.baby-profile-nav .settings-page-title{margin:0}.baby-profile-header{display:flex;flex-direction:column;align-items:center;padding:var(--space-lg) 0;gap:var(--space-xs)}.baby-profile-avatar-wrap{position:relative;display:inline-block}.baby-profile-camera-btn{position:absolute;bottom:0;right:0;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;border:2px solid var(--background);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.baby-profile-camera-btn:disabled{opacity:.5}.baby-profile-name{font-size:1.25rem;font-weight:600;color:var(--text)}.baby-profile-age{font-size:.875rem;color:var(--text-secondary)}.baby-profile-readonly{font-size:.75rem;color:var(--text-muted);background:var(--surface-hover);padding:2px 10px;border-radius:var(--radius-full);margin-top:var(--space-xs)}.baby-avatar-img{border-radius:50%;object-fit:cover;flex-shrink:0}.baby-profile-form .form-group{margin-bottom:var(--space-md)}.baby-profile-save{width:100%;margin-top:var(--space-md)}.spotlight-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;overflow:hidden}.spotlight-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;display:block}.tour-tooltip{position:fixed;background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:0 8px 32px #0000004d;border:1px solid var(--border-light, var(--border));text-align:center;z-index:10001;box-sizing:border-box}.tour-tooltip-icon{width:40px;height:40px;margin-bottom:var(--space-sm)}.tour-tooltip-title{font-family:var(--font-family-heading);font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:var(--space-xs)}.tour-tooltip-desc{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-md)}.tour-tooltip-footer{display:flex;align-items:center;justify-content:space-between}.tour-dots{display:flex;gap:5px}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s}.tour-dot.active{background:var(--primary)}.tour-actions{display:flex;gap:var(--space-sm);align-items:center}.tour-skip-btn{background:none;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:var(--space-xs) var(--space-sm)}.tour-next-btn{background:var(--primary);color:#fff;border:none;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.tour-next-btn:hover{opacity:.9}.delete-account-modal{text-align:center;max-width:360px;padding:var(--space-xl)}.delete-account-icon{width:56px;height:56px;border-radius:50%;background:#dc26261a;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);color:var(--danger)}.delete-account-title{font-family:var(--font-family-heading);font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:var(--space-sm)}.delete-account-desc{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:var(--space-xl)}.delete-account-actions{display:flex;gap:var(--space-sm)}.delete-account-actions .btn{flex:1}.delete-account-actions .btn-secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.theme-toggle-float{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;z-index:var(--z-nav, 100);width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.7;transition:var(--transition);-webkit-tap-highlight-color:transparent}.theme-toggle-float:hover{opacity:1;transform:scale(1.1)}.theme-toggle-float:active{transform:scale(.95)}.voice-fab{position:fixed;bottom:90px;right:20px;width:56px;height:56px;border-radius:50%;border:none;background:var(--color-primary, #d4849c);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 4px 12px #00000026;transition:background .2s}.voice-fab:hover{background:var(--color-primary-dark, #c06e88)}.voice-fab-listening{background:var(--color-danger, #e74c3c);animation:voice-pulse-ring 1.5s ease-in-out infinite}.voice-fab-error{background:var(--color-text-secondary, #888)}@keyframes voice-pulse-ring{0%,to{box-shadow:0 0 #e74c3c66}50%{box-shadow:0 0 0 12px #e74c3c00}}.voice-badge{position:fixed;bottom:155px;right:12px;max-width:280px;background:var(--color-surface, #fff);border-radius:12px;padding:10px 14px;z-index:999;box-shadow:0 4px 16px #0000001a;cursor:pointer}[data-theme=dark] .voice-badge{background:var(--color-surface-dark, #2a2a2a)}.voice-badge-text{font-size:14px;line-height:1.4;color:var(--color-text-primary, #333);display:flex;align-items:center;gap:6px}.voice-badge-dim{color:var(--color-text-secondary, #888)}.voice-badge-question{color:var(--color-primary, #d4849c);font-weight:500}.voice-badge-success{color:var(--color-success, #7ab89c);font-weight:500}.voice-badge-error{color:var(--color-danger, #e74c3c)}.voice-badge-spinner{animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 768px){.voice-fab{bottom:100px;right:24px}.voice-badge{bottom:165px;right:16px}}[data-ui=moonlight]{--ml-accent: #E89580;--ml-bg: #fdf7f1;--ml-surface: rgba(60, 40, 30, .04);--ml-surface-2: rgba(60, 40, 30, .06);--ml-line: rgba(60, 40, 30, .08);--ml-text: #2a1f1a;--ml-text-2: rgba(42, 31, 26, .78);--ml-text-3: rgba(42, 31, 26, .64);--ml-radius: 22px;--ml-bg-gradient: radial-gradient(1200px 600px at 15% -10%, rgba(232, 149, 128, .25), transparent 60%), radial-gradient(900px 500px at 110% 100%, rgba(139, 165, 196, .2), transparent 60%), var(--ml-bg);font-family:Geist Variable,Geist,-apple-system,system-ui,sans-serif;color:var(--ml-text);background:var(--ml-bg-gradient);transition:background .6s,color .3s;-webkit-font-smoothing:antialiased}[data-ui=moonlight][data-theme=dark]{--ml-bg: #050403;--ml-surface: rgba(255, 255, 255, .04);--ml-surface-2: rgba(255, 255, 255, .06);--ml-line: rgba(255, 255, 255, .08);--ml-text: #f5ece4;--ml-text-2: rgba(245, 236, 228, .75);--ml-text-3: rgba(245, 236, 228, .6);--ml-bg-gradient: radial-gradient(1200px 600px at 15% -10%, rgba(232, 149, 128, .08), transparent 60%), radial-gradient(900px 500px at 110% 100%, rgba(139, 165, 196, .06), transparent 60%), #050403}[data-ui=moonlight] body{background:var(--ml-bg-gradient);color:var(--ml-text)}[data-ui=moonlight] *,[data-ui=moonlight] *:before,[data-ui=moonlight] *:after{-webkit-font-smoothing:antialiased}[data-ui=moonlight] button{font-family:inherit}[data-ui=moonlight] .mono{font-family:Geist Mono Variable,Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--ml-text-3)}[data-ui=moonlight] .serif{font-family:"Instrument Serif",Georgia,serif}[data-ui=moonlight] .italic{font-style:italic}[data-ui=moonlight] .card{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:var(--ml-radius);padding:18px}[data-ui=moonlight] .card-accent{background:linear-gradient(180deg,color-mix(in srgb,var(--ml-accent) 12%,transparent),color-mix(in srgb,var(--ml-accent) 3%,transparent));border:.5px solid color-mix(in srgb,var(--ml-accent) 25%,transparent)}.ml-tabbar{position:fixed;bottom:0;left:0;right:0;padding:10px 0 max(12px,env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--ml-bg) 85%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-top:.5px solid var(--ml-line);display:flex;justify-content:space-around;align-items:center;z-index:30}.ml-tab{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;color:var(--ml-text-3);padding:6px 4px;position:relative;transition:color .2s;background:transparent;border:none;min-width:44px;min-height:44px}.ml-tab.is-active{color:var(--ml-accent)}.ml-tab.is-active:before{content:"";position:absolute;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--ml-accent)}.ml-tab-label{font-size:11px;font-weight:500;letter-spacing:.2px}.ml-tab:focus-visible{outline:2px solid var(--ml-accent);outline-offset:2px;border-radius:6px}[data-ui=moonlight] .ml-growth-wrap{--primary: var(--ml-accent);--growth-percentile: color-mix(in srgb, var(--ml-text) 35%, transparent);--growth-percentile-light: color-mix(in srgb, var(--ml-text) 15%, transparent);--growth-percentile-area: color-mix(in srgb, var(--ml-accent) 8%, transparent)}[data-ui=moonlight] .bub-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ml-text-3);margin:0 2px;animation:ml-bub-bounce 1.2s infinite ease-in-out both}[data-ui=moonlight] .bub-dot:nth-child(1){animation-delay:-.32s}[data-ui=moonlight] .bub-dot:nth-child(2){animation-delay:-.16s}@keyframes ml-bub-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){[data-ui=moonlight] .bub-dot{animation:none}[data-ui=moonlight] *{transition:none!important}}[data-ui=moonlight] .health-card{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:18px;box-shadow:none;padding:16px}[data-ui=moonlight] .health-card:hover{box-shadow:none}[data-ui=moonlight] .health-card-header{margin-bottom:12px}[data-ui=moonlight] .health-card-title{font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.2px;color:var(--ml-text)}[data-ui=moonlight] .health-card-title svg{color:var(--ml-accent)}[data-ui=moonlight] .health-card-count{font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ml-text-3)}[data-ui=moonlight] .health-card-action{color:var(--ml-accent);background:transparent;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.2px;padding:6px 10px}[data-ui=moonlight] .health-card-action:hover{background:color-mix(in srgb,var(--ml-accent) 10%,transparent)}[data-ui=moonlight] .health-card-empty{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:14px;color:var(--ml-text-3);padding:18px 0}[data-ui=moonlight] .records-summary-grid{gap:10px}[data-ui=moonlight] .records-summary-card{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:18px;box-shadow:none;padding:14px;transition:border-color .2s}[data-ui=moonlight] .records-summary-card:hover{box-shadow:none;transform:none;border-color:color-mix(in srgb,var(--ml-accent) 35%,var(--ml-line))}[data-ui=moonlight] .records-summary-icon{border-radius:14px}[data-ui=moonlight] .records-summary-icon.visits{background:color-mix(in srgb,#8BA5C4 18%,transparent);color:#8ba5c4}[data-ui=moonlight] .records-summary-icon.vaccinations{background:color-mix(in srgb,#9BC29E 18%,transparent);color:#9bc29e}[data-ui=moonlight] .records-summary-icon.medications{background:color-mix(in srgb,#B89BC4 18%,transparent);color:#b89bc4}[data-ui=moonlight] .records-summary-count{font-family:inherit;font-weight:500;font-size:22px;letter-spacing:-.3px;color:var(--ml-text)}[data-ui=moonlight] .records-summary-label{font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--ml-text-3)}[data-ui=moonlight] .records-summary-hint{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:12px;color:var(--ml-text-2)}[data-ui=moonlight] .records-summary-arrow{color:var(--ml-text-3)}[data-ui=moonlight] .health-card input[type=text],[data-ui=moonlight] .health-card input[type=date],[data-ui=moonlight] .health-card input[type=number],[data-ui=moonlight] .health-card select,[data-ui=moonlight] .health-card textarea,[data-ui=moonlight] .health-card .sick-day-date-input,[data-ui=moonlight] .health-card .sick-day-temp-input,[data-ui=moonlight] .health-card .sick-day-notes-input{background:transparent;border:.5px solid var(--ml-line);border-radius:10px;color:var(--ml-text);padding:8px 12px;font-family:inherit;font-size:14px}[data-ui=moonlight] .health-card input:focus,[data-ui=moonlight] .health-card select:focus,[data-ui=moonlight] .health-card textarea:focus,[data-ui=moonlight] .health-card .sick-day-date-input:focus,[data-ui=moonlight] .health-card .sick-day-temp-input:focus,[data-ui=moonlight] .health-card .sick-day-notes-input:focus{outline:none;border-color:var(--ml-accent)}[data-ui=moonlight] .health-card .btn-primary,[data-ui=moonlight] .health-card button[type=submit]{background:var(--ml-accent);color:#0a0706;border:none;border-radius:999px;padding:10px 18px;font-weight:600;font-family:inherit;box-shadow:none}[data-ui=moonlight] .health-card .btn-secondary{background:var(--ml-surface);color:var(--ml-text);border:.5px solid var(--ml-line);border-radius:999px;padding:10px 18px;font-weight:500;font-family:inherit}[data-ui=moonlight] .allergies-list,[data-ui=moonlight] .sick-days-list{display:flex;flex-direction:column;gap:6px}[data-ui=moonlight] .allergy-item,[data-ui=moonlight] .sick-day-item{background:color-mix(in srgb,var(--ml-text) 3%,transparent);border:.5px solid var(--ml-line);border-radius:12px;padding:10px 12px;box-shadow:none}[data-ui=moonlight] .allergy-item.severity-mild{border-left:3px solid #A6C49B}[data-ui=moonlight] .allergy-item.severity-moderate{border-left:3px solid #E8A564}[data-ui=moonlight] .allergy-item.severity-severe{border-left:3px solid #D98571}[data-ui=moonlight] .allergy-name{color:var(--ml-text);font-weight:500}[data-ui=moonlight] .allergy-severity,[data-ui=moonlight] .allergy-reaction,[data-ui=moonlight] .allergy-date,[data-ui=moonlight] .allergy-notes{color:var(--ml-text-2);font-size:12px}[data-ui=moonlight] .allergy-delete,[data-ui=moonlight] .sick-day-delete{color:var(--ml-text-3)}[data-ui=moonlight] .allergy-delete:hover,[data-ui=moonlight] .sick-day-delete:hover{color:#d98571}[data-ui=moonlight] .sick-day-date{color:var(--ml-text)}[data-ui=moonlight] .sick-day-temp.normal{color:#a6c49b}[data-ui=moonlight] .sick-day-temp.elevated{color:#e8a564}[data-ui=moonlight] .sick-day-temp.fever,[data-ui=moonlight] .sick-day-temp.high-fever{color:#d98571}[data-ui=moonlight] .sick-day-symptoms,[data-ui=moonlight] .sick-day-notes{color:var(--ml-text-2)}[data-ui=moonlight] .vax-region-toggle{border:.5px solid var(--ml-line);border-radius:999px;overflow:hidden}[data-ui=moonlight] .vax-region-btn{background:transparent;color:var(--ml-text-2);border:none;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer}[data-ui=moonlight] .vax-region-btn.active{background:var(--ml-accent);color:#0a0706}[data-ui=moonlight] .vax-progress-label{font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ml-text-3)}[data-ui=moonlight] .teeth-label{color:var(--ml-text-3);font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1px}[data-ui=moonlight] .insights-container{gap:20px}[data-ui=moonlight] .insights-time-range{background:var(--ml-surface);border:.5px solid var(--ml-line);padding:4px}[data-ui=moonlight] .time-range-btn{color:var(--ml-text-2);font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.8px;text-transform:uppercase;padding:6px 12px}[data-ui=moonlight] .time-range-btn.active{background:var(--ml-accent);color:#0a0706}[data-ui=moonlight] .time-range-btn:not(.active):hover{color:var(--ml-text);background:color-mix(in srgb,var(--ml-text) 5%,transparent)}[data-ui=moonlight] .insights-section-title{font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.2px;color:var(--ml-text)}[data-ui=moonlight] .insights-section-title svg{color:var(--ml-accent)}[data-ui=moonlight] .insights-section-title .premium-lock{color:var(--ml-text-3)}[data-ui=moonlight] .age-badge{background:color-mix(in srgb,var(--ml-accent) 12%,transparent);color:var(--ml-accent);border:.5px solid color-mix(in srgb,var(--ml-accent) 30%,transparent);font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.6px}[data-ui=moonlight] .insight-card{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:18px;box-shadow:none;padding:14px}[data-ui=moonlight] .insight-card-label{font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ml-text-3)}[data-ui=moonlight] .insight-card-value{font-family:inherit;font-size:18px;font-weight:500;letter-spacing:-.2px;color:var(--ml-text)}[data-ui=moonlight] .insight-card-alert{color:#d98571}[data-ui=moonlight] .insights-empty,[data-ui=moonlight] .insights-loading,[data-ui=moonlight] .insights-error,[data-ui=moonlight] .insights-collecting{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:18px;color:var(--ml-text-2);padding:32px 20px}[data-ui=moonlight] .insights-empty p,[data-ui=moonlight] .insights-error p,[data-ui=moonlight] .insights-collecting p{font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--ml-text-2)}[data-ui=moonlight] .insights-collecting h3{font-family:inherit;font-weight:400;color:var(--ml-text)}[data-ui=moonlight] .insights-collecting-icon{color:var(--ml-accent)}[data-ui=moonlight] .insights-collecting-progress{color:var(--ml-text-3);font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.6px}[data-ui=moonlight] .insights-patterns,[data-ui=moonlight] .insights-trends,[data-ui=moonlight] .insights-benchmarks{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:18px;box-shadow:none}[data-ui=moonlight] .insights-comparison-list,[data-ui=moonlight] .insights-comparison-grid{color:var(--ml-text)}[data-ui=moonlight] .settings-page{padding:0}[data-ui=moonlight] .settings-page-title{display:none}[data-ui=moonlight] .settings-group{background:var(--ml-surface);border:.5px solid var(--ml-line);border-radius:18px;margin-bottom:12px;box-shadow:none}[data-ui=moonlight] .settings-group-title{font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1.1px;color:var(--ml-text-3);padding:14px 16px 6px}[data-ui=moonlight] .settings-row{padding:14px 16px;border-bottom:.5px solid var(--ml-line);transition:background .2s}[data-ui=moonlight] .settings-row:last-child,[data-ui=moonlight] .settings-row:last-of-type{border-bottom:none}[data-ui=moonlight] .settings-row:hover{background:color-mix(in srgb,var(--ml-text) 4%,transparent)}[data-ui=moonlight] .settings-sub-row{padding:10px 16px 10px 60px;border-bottom:.5px solid var(--ml-line)}[data-ui=moonlight] .settings-icon-box{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--ml-text) 4%,transparent);color:var(--ml-text-2)}[data-ui=moonlight] .settings-icon-box.peach{background:color-mix(in srgb,#E89580 16%,transparent);color:#e89580}[data-ui=moonlight] .settings-icon-box.butter{background:color-mix(in srgb,#E8A564 16%,transparent);color:#e8a564}[data-ui=moonlight] .settings-icon-box.sky{background:color-mix(in srgb,#8BA5C4 16%,transparent);color:#8ba5c4}[data-ui=moonlight] .settings-icon-box.mint{background:color-mix(in srgb,#9BC29E 16%,transparent);color:#9bc29e}[data-ui=moonlight] .settings-icon-box.lavender{background:color-mix(in srgb,#B89BC4 16%,transparent);color:#b89bc4}[data-ui=moonlight] .settings-icon-box.blush{background:color-mix(in srgb,#D98571 16%,transparent);color:#d98571}[data-ui=moonlight] .settings-icon-box.cloud{background:color-mix(in srgb,#8BC4D9 16%,transparent);color:#8bc4d9}[data-ui=moonlight] .settings-icon-box.danger{background:color-mix(in srgb,#D98571 18%,transparent);color:#d98571}[data-ui=moonlight] .settings-row-label{font-family:inherit;font-weight:500;font-size:14px;color:var(--ml-text)}[data-ui=moonlight] .settings-row-desc{font-size:12px;color:var(--ml-text-2);font-family:inherit}[data-ui=moonlight] .settings-arrow{color:var(--ml-text-3)}[data-ui=moonlight] .settings-badge{font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.8px;text-transform:uppercase;padding:3px 8px}[data-ui=moonlight] .settings-badge.mint{background:color-mix(in srgb,#9BC29E 18%,transparent);color:#9bc29e}[data-ui=moonlight] .settings-badge.sky{background:color-mix(in srgb,#8BA5C4 18%,transparent);color:#8ba5c4}[data-ui=moonlight] .settings-badge.lavender{background:color-mix(in srgb,#B89BC4 18%,transparent);color:#b89bc4}[data-ui=moonlight] .settings-version{color:var(--ml-text-3);font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:1px;margin:20px 0 32px}[data-ui=moonlight] .settings-row-danger .settings-row-label{color:#d98571}[data-ui=moonlight] .settings-promo-row .form-input{background:transparent;border:.5px solid var(--ml-line);border-radius:10px;color:var(--ml-text);padding:10px 12px;font-family:inherit}[data-ui=moonlight] .settings-promo-row .form-input:focus{outline:none;border-color:var(--ml-accent)}[data-ui=moonlight] .settings-toggle[data-state=on],[data-ui=moonlight] .settings-toggle.active{background:var(--ml-accent)}[data-ui=moonlight] .app-container{padding-left:0;padding-right:0}@keyframes ml-orb-breathe{0%,to{transform:scale(1)}50%{transform:scale(calc(1 + var(--ml-orb-amp, .06)))}}[data-ui=moonlight] .ml-orb-breathe{animation:ml-orb-breathe var(--ml-orb-dur, 3s) ease-in-out infinite}[data-ui=moonlight] .ml-orb-breathe.is-held{animation-play-state:paused}@media (prefers-reduced-motion: reduce){[data-ui=moonlight] .ml-orb-breathe{animation:none}}
