@font-face{font-family:DM Sans;src:url(/assets/DMSans-variable-OkNhvBry.ttf)format("truetype");font-style:normal;font-weight:400 700;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-numeric:var(--font-ui);--green-50:#f2f9f4;--green-100:#e5f3e9;--green-200:#cce6d4;--green-300:#a8d3b6;--green-400:#76b993;--green-500:#4a9876;--green-600:#3c755f;--green-700:#205c4f;--green-800:#174b41;--green-900:#123b34;--neutral-0:#fff;--neutral-50:#f6faf7;--neutral-100:#eef4f0;--neutral-200:#d9e4dc;--neutral-300:#bdcfc3;--neutral-500:#49645b;--neutral-700:#314b42;--neutral-900:#1d342e;--blue-50:#edf6fa;--blue-200:#c7e2ec;--blue-700:#286482;--amber-50:#fff7ea;--amber-700:#9c5a18;--red-50:#fff0ed;--red-700:#a8513b;--purple-700:#69558a;--color-canvas:var(--neutral-50);--color-surface:var(--neutral-0);--color-surface-tint:var(--green-50);--color-surface-raised:var(--neutral-0);--color-text:var(--neutral-900);--color-text-secondary:var(--neutral-500);--color-text-on-brand:var(--neutral-0);--color-border:var(--neutral-200);--color-border-strong:var(--neutral-300);--color-action:var(--green-700);--color-action-hover:var(--green-800);--color-action-pressed:var(--green-900);--color-action-soft:var(--green-100);--color-focus:var(--blue-700);--color-info:var(--blue-700);--color-info-soft:var(--blue-50);--color-success:var(--green-700);--color-success-soft:var(--green-100);--color-warning:var(--amber-700);--color-warning-soft:var(--amber-50);--color-danger:var(--red-700);--color-danger-soft:var(--red-50);--color-disabled-bg:var(--neutral-100);--color-disabled-text:var(--neutral-500);--color-overlay:#152b228a;--chart-weight:var(--green-700);--chart-activity:var(--blue-700);--chart-food:var(--amber-700);--chart-medication:var(--purple-700);--chart-grid:var(--neutral-200);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-sm:0 1px 3px #1436270f;--shadow-md:0 8px 28px #14362717;--shadow-lg:0 20px 56px #14362721;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--content-max:1200px;--article-max:720px;--control-height:48px;--touch-target-min:44px}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-ui)}body{background:var(--color-canvas);color:var(--color-text);margin:0}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.25}.app-loading{text-align:center;min-height:100vh;color:var(--color-text-secondary);place-items:center;padding:24px;display:grid}.app-loading.error{color:var(--color-danger)}.app-shell{min-height:100vh}.side-nav{display:none}.main-column{min-width:0}.app-footer{color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:12px 20px 88px;font-size:12px;display:flex}.app-footer a{color:var(--color-action);font-weight:700}.topbar{height:calc(66px + env(safe-area-inset-top));background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:env(safe-area-inset-top) 16px 0;justify-content:space-between;align-items:center;gap:14px;display:flex}.mobile-brand,.brand{letter-spacing:-.035em;align-items:center;gap:9px;font-weight:700;display:flex}.mobile-brand{font-size:20px}.mobile-brand img{width:34px;height:34px}.topbar-copy{display:none}.topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.drive-topbar{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-height:40px;color:var(--color-action);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.support-topbar{border-radius:var(--radius-pill);background:var(--green-50);min-height:40px;color:var(--color-action);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.support-topbar:hover,.support-topbar.active{background:var(--green-100)}.drive-topbar.synced{border-color:var(--green-200);background:var(--green-50)}.drive-topbar.pending,.drive-topbar.syncing{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700)}.drive-topbar.conflict,.drive-topbar.error{border-color:var(--color-warning);color:var(--color-warning)}.drive-topbar:disabled{opacity:.6;cursor:not-allowed}.sync-banner{background:var(--color-warning-soft);color:var(--color-warning);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.sync-banner a{flex:none;font-weight:700}.settings-link{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-secondary);place-items:center;text-decoration:none;display:grid}.settings-link:hover{background:var(--color-action-soft);color:var(--color-action)}.main-content{max-width:1240px;padding:28px 16px calc(124px + env(safe-area-inset-bottom));margin:0 auto}.bottom-nav{z-index:30;background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px 4px calc(17px + max(20px, env(safe-area-inset-bottom)));grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #1436270d}.bottom-link{min-height:54px;color:var(--color-text-secondary);text-align:center;border-radius:var(--radius-sm);align-content:center;justify-items:center;gap:2px;font-size:10px;font-weight:700;line-height:1.1;text-decoration:none;display:grid}.bottom-link.active{color:var(--color-action);background:var(--color-action-soft)}.page-header{flex-direction:column;gap:12px;margin-bottom:26px;display:flex}.eyebrow{color:var(--color-action);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;display:block}.page-header h1{margin:8px 0 7px;font-size:clamp(30px,7vw,38px)}.page-header p{color:var(--color-text-secondary);max-width:620px;margin:0;font-size:16px}.page-action{display:none}.button{border-radius:var(--radius-sm);white-space:nowrap;min-height:48px;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button.primary{color:var(--color-text-on-brand);background:var(--color-action)}.button.primary:hover:not(:disabled){background:var(--color-action-hover)}.button.secondary{background:var(--color-surface);color:var(--color-action);border-color:var(--color-border-strong)}.button.secondary:hover:not(:disabled){background:var(--color-action-soft)}.button.compact{min-height:40px}.button:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-border);cursor:not-allowed}.dashboard-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:28px;display:grid}.dashboard-shortcut{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:50px;color:var(--color-action);justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.dashboard-shortcut:first-child{background:var(--color-action-soft);border-color:var(--green-200)}.dashboard-shortcut:hover{background:var(--color-action-soft)}.section-block{margin-bottom:30px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading h2{margin:0;font-size:20px}.section-heading>span,.section-heading>svg{color:var(--color-text-secondary);font-size:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);min-width:0;min-height:142px;box-shadow:var(--shadow-sm);padding:16px;text-decoration:none;display:block}.metric-card:hover{border-color:var(--green-300)}.metric-top{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:flex-start;gap:5px;font-size:11px;font-weight:700;display:flex}.metric-top svg{color:var(--color-action);flex:none}.metric-card strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:18px;font-size:clamp(24px,5vw,30px);line-height:1.1;display:block}.metric-card strong small{letter-spacing:normal;font-size:13px}.metric-card p{color:var(--color-text-secondary);margin:4px 0 0;font-size:11px}.hydration-metric{background:var(--green-50);grid-column:1/-1}.panel.hydration-hero{background:var(--green-50)}.quick-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.quick-actions .button{flex:95px;min-height:44px}.activity-picks{flex-wrap:wrap;gap:7px;display:flex}.activity-pick{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:44px;color:var(--color-text-secondary);border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.activity-pick.active{border-color:var(--color-action);background:var(--color-action-soft);color:var(--color-action)}.estimate-reset{min-height:44px;color:var(--color-action);background:0 0;border:0;justify-self:start;padding:0 4px;font-size:12px;font-weight:700}.info-disclosure{width:100%}.info-disclosure-trigger{border-radius:var(--radius-sm);min-height:44px;color:var(--color-action);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.info-disclosure-trigger:hover{background:var(--color-action-soft)}.info-disclosure-content{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);padding:12px;font-size:12px;line-height:1.55}.info-disclosure-content p{margin:0 0 8px}.info-disclosure-content p:last-child{margin-bottom:0}.info-disclosure-content a{color:var(--color-action);font-weight:700}.info-disclosure-content ul{margin:8px 0;padding-left:18px}.bmi-category{color:var(--color-text);font-weight:700}.bmi-category small{color:var(--color-text-secondary);margin-top:3px;font-size:12px;font-weight:400;display:block}.reminder-icon{color:var(--color-action);margin-bottom:12px}.reminder-form{align-items:end;gap:8px;margin:18px 0;display:flex}.reminder-form .field{flex:1}.reminder-form>select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;height:48px;color:var(--color-text);flex:1;padding:0 10px}.reminder-times{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.reminder-times li{border-radius:var(--radius-pill);background:var(--color-action-soft);color:var(--color-action);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:4px 5px 4px 13px;font-weight:700;display:flex}.reminder-times button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.reminder-times button:hover{background:var(--green-200)}.push-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.push-install-guide{border-radius:var(--radius-md);background:var(--color-action-soft);margin-top:12px;padding:14px}.push-install-guide p{margin:0 0 12px}.push-setup-hint{border-radius:var(--radius-md);background:var(--color-action-soft);margin:12px 0;padding:14px}.push-setup-hint a{color:var(--color-action);font-weight:700}.push-message{color:var(--color-action);margin:0 0 12px;font-size:13px}.push-control>small{color:var(--color-text-secondary);font-size:12px}.more-links{gap:12px;max-width:680px;display:grid}.more-link{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.more-link>span:nth-child(2){flex:1}.more-link strong,.more-link small{display:block}.more-link small{color:var(--color-text-secondary);margin-top:3px;font-size:12px}.more-link>svg{color:var(--color-action)}.dashboard-lower,.page-grid,.settings-grid{gap:16px;display:grid}.dashboard-progress{margin-bottom:18px}.weight-figure,.week-figure{margin:12px 0 21px}.weight-figure svg{width:100%;height:auto;max-height:210px;display:block}.chart-gridline{stroke:var(--chart-grid);stroke-width:1px}.chart-label{fill:var(--color-text-secondary);font:11px var(--font-ui)}.weight-line{fill:none;stroke:var(--chart-weight);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.weight-dot{fill:var(--color-surface);stroke:var(--chart-weight);stroke-width:2.5px}.weight-figure figcaption,.week-figure figcaption{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.week-bars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:9px;height:126px;margin:0 0 12px;display:grid}.week-day{grid-template-rows:18px 82px 18px;place-items:end center;min-width:0;display:grid}.week-day strong{color:var(--color-text-secondary);font-size:10px;font-weight:600}.week-day small{color:var(--color-text-secondary);font-size:10px}.bar-track{background:var(--color-canvas);border-radius:7px 7px 0 0;width:min(100%,42px);height:82px;position:relative;overflow:hidden}.bar-track span{background:var(--chart-activity);border-radius:7px 7px 0 0;position:absolute;bottom:0;left:0;right:0}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);padding:21px}.panel h2{margin-bottom:8px;font-size:20px}.panel>.muted{margin-bottom:20px}.muted{color:var(--color-text-secondary)}.small{font-size:13px}.recent-list,.entry-list,.medication-list{margin:0;padding:0;list-style:none}.recent-list li,.entry-list li,.medication-list li{border-top:1px solid var(--color-border)}.recent-list li:first-child,.entry-list li:first-child,.medication-list li:first-child{border-top:0}.recent-list a{align-items:center;gap:12px;padding:11px 0;font-weight:600;text-decoration:none;display:flex}.recent-list a>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.recent-list small{color:var(--color-text-secondary);white-space:nowrap;margin-left:auto;font-size:11px}.list-icon{background:var(--color-action-soft);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--color-action);flex:none;place-items:center;display:grid}.data-card>.list-icon{margin-bottom:15px}.data-card p{color:var(--color-text-secondary)}.mini-stat{border-top:1px solid var(--color-border);padding-top:14px;font-size:12px}.text-link{color:var(--color-action);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.form-grid{gap:16px;display:grid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meal-photo-box{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-action-soft);margin:18px 0 22px;padding:18px}.meal-photo-heading,.meal-photo-actions,.meal-photo-preview,.gemini-key-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meal-photo-heading p{margin:3px 0 0}.meal-photo-actions{margin:16px 0}.meal-photo-actions .button{cursor:pointer}.meal-photo-actions .button:has(+input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.meal-photo-preview{margin:12px 0}.meal-photo-preview img{object-fit:cover;border-radius:var(--radius-sm);width:86px;height:86px;display:block}.meal-foods{gap:12px;display:grid}.meal-foods-title{flex-direction:column;gap:2px;display:flex}.meal-foods-title span{color:var(--color-text-secondary);font-size:12px}.meal-food-row{grid-template-columns:1.3fr 1fr .65fr auto;align-items:end;gap:8px;display:grid}.meal-food-row .entry-action{margin-bottom:2px}.gemini-key-actions{grid-column:1/-1}.gemini-tutorial{margin:18px 0}.gemini-tutorial summary{cursor:pointer;color:var(--color-action);font-weight:700}.gemini-tutorial li{margin:8px 0}.gemini-tutorial a,.meal-photo-box a{color:var(--color-action);font-weight:700}@media (width<=650px){.meal-photo-actions .button{flex:100%;justify-content:center}.meal-food-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.meal-food-row .field:first-child{grid-column:1/-1}.meal-food-row .field:nth-child(2){grid-column:1}.meal-food-row .field:nth-child(3){grid-column:2}}.field{align-content:start;gap:7px;min-width:0;display:grid}.field label{font-size:13px;font-weight:700}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.date-time-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.date-time-controls>.field{min-width:0}.date-time-controls input,.date-time-controls select{max-width:100%;display:block}.field-label-row button{border-radius:var(--radius-sm);min-height:44px;color:var(--color-action);background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:700}.field-label-row button:hover{background:var(--color-action-soft)}.field input,.field select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;height:48px;color:var(--color-text);outline:none;padding:0 13px}.field input:focus,.field select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--blue-200)}.field input::placeholder{color:var(--color-text-secondary);opacity:.8}.field small{color:var(--color-text-secondary);font-size:12px}.optional{color:var(--color-text-secondary);font-weight:400}.form-error{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:13px}.form-grid>.button{justify-self:start}.entry-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:10px 0;display:flex}.entry-list li>div:first-child{flex:150px;min-width:0}.entry-list strong,.entry-list small{display:block}.entry-actions,.medication-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.entry-action{border-radius:var(--radius-sm);min-height:44px;color:var(--color-action);background:0 0;border:0;padding:0 9px;font-size:12px;font-weight:700}.entry-action:hover{background:var(--color-action-soft)}.entry-action.danger{color:var(--color-danger)}.entry-action.danger:hover{background:var(--color-danger-soft)}.template-note{border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info);padding:10px 12px;font-size:13px}.entry-list small{color:var(--color-text-secondary);overflow-wrap:anywhere;margin-top:4px;font-size:12px}.empty-state{text-align:center;padding:32px 16px}.empty-icon{background:var(--color-action-soft);width:50px;height:50px;color:var(--color-action);border-radius:16px;place-items:center;margin:0 auto 14px;display:grid}.empty-state h3{margin-bottom:5px;font-size:17px}.empty-state p{color:var(--color-text-secondary);max-width:360px;margin:0 auto}.side-stack,.main-stack{align-content:start;gap:16px;display:grid}.highlight{background:var(--green-50)}.large-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:13px 0 5px;font-size:36px;line-height:1.1;display:block}.large-value small{letter-spacing:normal;font-size:15px}.medium-value{margin:12px 0;font-size:28px;display:block}.trend-copy{border-top:1px solid var(--color-border);margin:0;padding-top:13px;font-size:13px}.notice{border-radius:var(--radius-md);padding:14px 16px;font-size:13px}.notice.info{color:var(--color-info);background:var(--color-info-soft)}.notice.success{color:var(--color-success);background:var(--color-success-soft)}.notice.warning{color:var(--color-warning);background:var(--color-warning-soft)}.notice.danger{color:var(--color-danger);background:var(--color-danger-soft)}.panel .notice{margin-top:14px}.medication-list li{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:14px 0;display:flex}.medication-info{flex:1;min-width:135px}.medication-info strong,.medication-info small{display:block}.medication-info small{color:var(--color-text-secondary);margin-top:3px}.medication-actions{flex:1 0 100%;padding-left:48px}.reminder-card>svg{color:var(--color-info);margin-bottom:12px}.reminder-card p{color:var(--color-text-secondary)}.pill-label{border-radius:var(--radius-pill);background:var(--color-info-soft);color:var(--color-info);padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.card-title{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.card-title h2{margin:0 0 4px}.card-title p{color:var(--color-text-secondary);margin:0;font-size:13px}.backup-actions{flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:16px;display:flex}.drive-backup>.button{justify-content:center;width:100%}.drive-account{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.drive-account>div{gap:4px;min-width:0;display:grid}.drive-account span{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:13px}.drive-status,.drive-error{border-radius:var(--radius-sm);margin:14px 0;padding:11px 13px;font-size:13px}.drive-pending{border-left:3px solid var(--color-action);color:var(--color-text-secondary);padding-left:11px;font-size:13px}.drive-guest-copy{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);gap:12px;margin:16px 0;padding:16px;display:grid}.drive-guest-copy p{color:var(--color-text-secondary);margin:0;font-size:13px}.drive-guest-copy .button{justify-self:start}.drive-exit-choices{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-canvas);gap:10px;margin:16px 0;padding:16px;display:grid}.drive-exit-choices p{color:var(--color-text-secondary);margin:0;font-size:13px}.drive-exit-choices .button,.drive-exit-choices .entry-action{white-space:normal;justify-content:center;width:100%}.drive-status{background:var(--green-50);color:var(--color-text)}.drive-error{background:var(--color-danger-soft);color:var(--color-danger)}.drive-conflict{border:1px solid var(--green-200);border-radius:var(--radius-md);background:var(--green-50);margin:16px 0;padding:16px}.drive-conflict p,.drive-conflict small{color:var(--color-text-secondary);font-size:13px}.drive-conflict .backup-actions{margin-top:14px;margin-bottom:10px}.drive-conflict .button{flex:180px;justify-content:center}.upload-button{cursor:pointer}#backup-file{opacity:0;width:1px;height:1px;position:absolute}#backup-file:focus-visible+.upload-button{outline:3px solid var(--color-focus)}.import-preview{border:1px solid var(--green-200);background:var(--green-50);border-radius:var(--radius-md);margin:16px 0;padding:15px}.import-preview p{color:var(--color-text-secondary);margin:5px 0 12px;font-size:13px}.backup-preview-list{color:var(--color-text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin:0 0 16px;padding-left:18px;font-size:12px;display:grid}.floating-feedback{z-index:40;left:16px;right:16px;bottom:calc(94px + max(20px, env(safe-area-inset-bottom)));border-radius:var(--radius-sm);background:var(--neutral-900);color:#fff;box-shadow:var(--shadow-lg);padding:13px 16px;font-size:13px;position:fixed}.undo-banner{z-index:45;left:12px;right:12px;bottom:calc(89px + max(20px, env(safe-area-inset-bottom)));border-radius:var(--radius-sm);background:var(--neutral-900);color:#fff;box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex;position:fixed}.undo-banner span{flex:1}.undo-banner button{color:#fff;background:0 0;border:0;min-height:44px;font-weight:700}.undo-banner .undo-button{color:var(--green-100)}.undo-dismiss{place-items:center;width:44px;display:grid}.support-heart{background:var(--green-100);width:48px;height:48px;color:var(--color-action);border-radius:15px;place-items:center;margin-bottom:18px;display:grid}.install-prompt{z-index:38;left:12px;right:12px;bottom:calc(90px + max(20px, env(safe-area-inset-bottom)));border:1px solid var(--green-200);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);align-items:flex-start;gap:11px;padding:13px;display:flex;position:fixed}.install-prompt-copy{flex:1;gap:2px;min-width:0;font-size:12px;display:grid}.install-prompt-copy strong{font-size:14px}.install-prompt-copy span{color:var(--color-text-secondary)}.install-prompt-copy a{color:var(--color-action);margin-top:5px;font-weight:700}.install-dismiss{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-secondary);background:0 0;border:0;flex:none;place-items:center;display:grid}.install-dismiss:hover{background:var(--color-action-soft)}.install-layout{gap:16px;max-width:980px;display:grid}.install-guide>.list-icon{margin-bottom:18px}.install-guide .button{margin-top:16px}.install-platforms{gap:8px;margin-top:20px;display:flex}.install-platforms button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-height:44px;color:var(--color-text-secondary);font:inherit;padding:0 18px;font-size:13px;font-weight:700}.install-platforms button[aria-pressed=true]{border-color:var(--color-action);background:var(--color-action-soft);color:var(--color-action)}.install-steps{margin:20px 0 0;padding-left:25px}.install-steps li{padding-left:5px}.install-steps li+li{margin-top:18px}.install-steps li::marker{color:var(--color-action);font-weight:700}.install-steps strong{color:var(--color-text);display:block}.install-steps p{color:var(--color-text-secondary);margin:5px 0 0;font-size:13px;line-height:1.5}.install-steps a,.install-sources a{color:var(--color-action);font-weight:700}.install-note{border-radius:var(--radius-md);background:var(--color-action-soft);width:100%;color:var(--color-text-secondary);align-items:flex-start;gap:8px;margin:22px 0 0;padding:14px;font-size:13px;line-height:1.5;display:inline-flex}.install-note svg{color:var(--color-action);flex:none;margin-top:1px}.install-next .reminder-icon{margin-bottom:12px}.install-sources{flex-wrap:wrap;gap:8px 18px;padding:0 4px;font-size:12px;display:flex}.install-sources a{align-items:center;gap:4px;display:inline-flex}@media (width>=900px){.install-layout{grid-template-columns:1.12fr .88fr;align-items:start}.install-sources{grid-column:1/-1}}.support-layout{align-items:start;gap:16px;max-width:1050px;display:grid}.support-intro{background:var(--green-50)}.support-intro h2{max-width:530px;font-size:clamp(24px,6vw,32px)}.support-intro>p{color:var(--color-text-secondary)}.support-note{border-top:1px solid var(--green-200);margin-top:27px;padding-top:20px}.support-note p{margin:5px 0 0;font-size:13px}.pix-card .card-title{margin-bottom:20px}.pix-qr-frame{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);place-items:center;padding:16px;display:grid}.pix-qr-frame img{aspect-ratio:1;width:min(100%,260px);height:auto;display:block}.pix-recipient{gap:1px;margin:16px 0 19px;display:grid}.pix-recipient span,.pix-recipient small{color:var(--color-text-secondary);font-size:12px}.pix-recipient strong{font-size:14px}.pix-code-label{margin-bottom:7px;font-size:13px;font-weight:700;display:block}.pix-code{resize:none;overflow-wrap:anywhere;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-canvas);width:100%;color:var(--color-text-secondary);padding:12px;font-size:11px;line-height:1.4}.pix-copy-button{width:100%;margin-top:10px}.pix-copy-status,.pix-key,.pix-check{font-size:12px}.pix-copy-status{color:var(--color-action);margin:9px 0 0}.pix-key{color:var(--color-text-secondary);margin:20px 0 6px}.pix-key span{overflow-wrap:anywhere;color:var(--color-text);font-weight:700}.pix-check{margin-bottom:0}@media (width<=420px){.topbar{padding:env(safe-area-inset-top) 10px 0;gap:5px}.mobile-brand{gap:5px;font-size:17px}.mobile-brand img{width:28px;height:28px}.settings-link{display:none}.support-topbar,.drive-topbar{padding:0 8px}}@media (width>=600px){.main-content{padding-left:24px;padding-right:24px}.dashboard-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{gap:16px}.medication-actions{padding-left:0}}@media (width>=900px){.support-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:22px}.app-shell{grid-template-columns:242px minmax(0,1fr);display:grid}.side-nav{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;height:100vh;padding:29px 16px 18px;display:flex;position:sticky;top:0}.brand{margin:0 8px 34px;font-size:19px}.brand img{width:38px;height:38px}.brand small{color:var(--color-text-secondary);letter-spacing:0;font-size:10px;font-weight:500;display:block}.side-links{gap:3px;display:grid}.nav-link{border-radius:var(--radius-sm);min-height:44px;color:var(--color-text-secondary);align-items:center;gap:11px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{background:var(--color-action-soft);color:var(--color-action)}.side-bottom{margin-top:auto}.storage-note{border-top:1px solid var(--color-border);color:var(--color-text-secondary);align-items:center;gap:8px;margin-top:15px;padding:20px 11px 0;font-size:11px;display:flex}.topbar{height:calc(74px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 32px 0}.mobile-brand{display:none}.topbar-copy{color:var(--color-text-secondary);align-items:center;gap:9px;font-size:13px;display:flex}.topbar-copy svg{color:var(--color-action)}.bottom-nav{display:none}.main-content{padding:36px 32px 70px}.app-footer{padding:0 32px 24px}.page-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:30px}.page-action{display:block}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hydration-metric{grid-column:auto}.dashboard-lower{grid-template-columns:1.4fr 1fr;gap:20px}.page-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);gap:20px}.settings-grid{gap:20px}.floating-feedback{max-width:400px;bottom:24px;left:auto;right:24px}.undo-banner{width:min(480px,100vw - 48px);bottom:24px;left:auto;right:24px}}.plan-layout{gap:16px;max-width:1060px;display:grid}.plan-offer{background:var(--green-50)}.plan-offer>p{color:var(--color-text-secondary)}.plan-layout .panel>.notice+.button{margin-top:12px}.plan-price{letter-spacing:-.04em;margin:20px 0;font-size:clamp(30px,8vw,42px);display:block}.plan-price small{letter-spacing:0;font-size:15px;font-weight:500}.plan-benefits{gap:11px;margin:0 0 22px;padding:0;list-style:none;display:grid}.plan-benefits li{align-items:start;gap:9px;font-size:14px;display:flex}.plan-benefits svg{color:var(--color-action);flex:none}.plan-checkout{gap:12px;margin-top:16px;display:grid}.plan-checkout .button{justify-self:start}.plan-facts{gap:0;margin:20px 0;display:grid}.plan-facts>div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:14px;padding:11px 0;font-size:13px;display:flex}.plan-facts dt{color:var(--color-text-secondary)}.plan-facts dd{text-align:right;margin:0;font-weight:700}.plan-alternative svg{color:var(--color-action)}@media (width>=900px){.plan-layout{grid-template-columns:1.1fr .9fr;align-items:start}.plan-alternative{grid-column:1/-1}}.meal-ai-modes{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.meal-ai-modes button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-height:44px;color:var(--color-text-secondary);font:inherit;padding:0 14px;font-size:13px;font-weight:700}.meal-ai-modes button[aria-pressed=true]{border-color:var(--color-action);background:var(--color-action-soft);color:var(--color-action)}
