:root{color-scheme:light;font-family:Inter,Aptos,Segoe UI,sans-serif;--font-heading: "DM Serif Display", Georgia, serif;--colour-bg: #f7f2e8;--colour-surface: #fcfaf6;--colour-primary: #5f8f8b;--colour-primary-deep: #3f6864;--colour-primary-soft: #e6edec;--colour-secondary: #9a8fb5;--colour-secondary-deep: #675c86;--colour-secondary-soft: #eeebf4;--colour-success: #a8b89a;--colour-success-deep: #5c6f4d;--colour-success-soft: #eef2e9;--colour-highlight: #cfa6a3;--colour-highlight-deep: #96534e;--colour-highlight-soft: #f7ebea;--colour-text: #2f3133;--colour-text-muted: #77736d;--colour-text-muted-accent: #898191;--colour-border: #d8d1c7;--chart-band-fill: rgba(120, 115, 109, .12);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-card: 0 6px 20px rgba(47, 49, 51, .09);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--text-page-title: 2rem;--text-h1: 1.7rem;--text-section: 1.35rem;--text-card-heading: 1.02rem;--text-title: .96rem;--text-body: .92rem;--text-small: .82rem;--text-micro: .72rem;--text-kpi: 1.65rem}[data-theme=dark]{color-scheme:dark;--colour-bg: #0f130d;--colour-surface: #232c21;--colour-primary: #82aaa4;--colour-primary-deep: #c9e2dd;--colour-primary-soft: #263734;--colour-secondary: #b7aacd;--colour-secondary-deep: #dcd4ea;--colour-secondary-soft: #302a3b;--colour-success: #9fb68e;--colour-success-deep: #d5e8c7;--colour-success-soft: #263222;--colour-highlight: #d49d98;--colour-highlight-deep: #f0cbc7;--colour-highlight-soft: #3a2725;--colour-text: #f3eee5;--colour-text-muted: #b9b1a5;--colour-text-muted-accent: #b8aeb9;--colour-border: #4f4838;--shadow-card: 0 10px 28px rgba(0, 0, 0, .34);--chart-band-fill: rgba(233, 226, 213, .05)}*{box-sizing:border-box}body{margin:0;color:var(--colour-text);font-size:var(--text-body);line-height:1.35;background:var(--colour-bg);transition:background .16s ease,color .16s ease}strong{font-variant-numeric:tabular-nums}button,input{font:inherit}button{cursor:pointer}.page{height:100vh;position:relative;padding:6px;overflow:hidden}.page-dashboard{height:100vh;overflow:hidden}.login-page{min-height:100vh;position:relative;padding:12px}.shell{position:relative;z-index:1;max-width:1480px;margin:0 auto;height:calc(100vh - 12px);padding:4px 14px 10px;border-radius:var(--radius-lg);background:transparent;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;overflow:hidden}.shell-dashboard{height:calc(100vh - 12px);grid-template-rows:auto minmax(0,1fr);overflow:hidden}.topbar,.hero-grid,.panel-grid,.metric-row,.nav-pills,.profile-chip,.brand,.section-heading{display:flex}.topbar,.section-heading,.section-heading.compact{justify-content:space-between;align-items:center}.section-heading,.section-heading.compact{min-height:28px}.topbar{gap:20px;flex-wrap:wrap;padding:0 2px 4px;border-bottom:1px solid var(--colour-border)}.brand{align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--colour-primary-soft);color:var(--colour-primary-deep);border:1px solid var(--colour-border)}.brand h1{margin:0;font-family:var(--font-heading);font-size:var(--text-h1);line-height:1.1;font-weight:400;color:var(--colour-text)}.eyebrow{display:block;color:var(--colour-secondary-deep);font-size:var(--text-micro);letter-spacing:.07em;text-transform:uppercase;font-weight:600}.nav-pills{gap:4px;flex:1 1 280px;justify-content:center;flex-wrap:wrap}.pill,.submit-button{border:0;border-radius:var(--radius-sm)}.pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:40px;background:transparent;color:var(--colour-text-muted);font-weight:500;text-decoration:none;transition:background .14s ease,color .14s ease}.pill:hover{background:var(--colour-primary-soft);color:var(--colour-primary-deep)}.pill.inactive{background:color-mix(in srgb,var(--colour-bg) 68%,transparent);color:color-mix(in srgb,var(--colour-text-muted) 68%,transparent);border:1px solid color-mix(in srgb,var(--colour-border) 74%,transparent)}.pill.inactive:hover{background:var(--colour-secondary-soft);color:var(--colour-secondary-deep);border-color:var(--colour-secondary)}.pill.active{background:var(--colour-primary);color:#fff;border-color:var(--colour-primary)}.pill.active:hover{background:var(--colour-primary);color:#fff}.profile-chip{align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--colour-surface);border:1px solid var(--colour-border)}.topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.topbar-icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-text-muted);box-shadow:none}.topbar-icon-button:hover{color:var(--colour-primary-deep);border-color:var(--colour-primary);background:var(--colour-primary-soft)}.account-menu{position:relative}.profile-trigger{border:0}.profile-chip strong,.metric-card strong{display:block;font-size:var(--text-title);line-height:1.2;font-weight:700;white-space:nowrap}.profile-chip span{color:var(--colour-text-muted);font-size:var(--text-small);line-height:1.35;white-space:nowrap}.section-heading h2,.section-heading.compact h2{margin:4px 0 0;font-family:var(--font-heading);font-size:var(--text-section);line-height:1.15;font-weight:400;color:var(--colour-text)}.section-heading.compact h2{font-family:inherit;font-size:var(--text-card-heading);font-weight:600;line-height:1.2}.avatar-bubble{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--colour-secondary-soft);color:var(--colour-secondary-deep);font-weight:700;font-size:var(--text-small)}.avatar-image{width:24px;height:24px;border-radius:999px;object-fit:cover;display:block}.account-caret{color:var(--colour-text-muted);transition:transform .14s ease}.account-caret.is-open{transform:rotate(180deg)}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;padding:6px;border-radius:var(--radius-md);background:var(--colour-surface);border:1px solid var(--colour-border);box-shadow:var(--shadow-card);z-index:20}.account-build-info{display:flex;flex-direction:column;gap:2px;padding:8px 12px 10px;margin-bottom:4px;border-bottom:1px solid var(--colour-border)}.account-build-label{color:var(--colour-text-muted);font-size:var(--text-micro);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.account-build-info strong{font-size:var(--text-small);line-height:1.25;color:var(--colour-text);white-space:nowrap}.account-dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--colour-text);font-size:var(--text-title);text-align:left}.account-dropdown-item:hover{background:var(--colour-primary-soft)}.hero-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(320px,1fr);align-items:start;gap:var(--space-md);min-height:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(320px,1fr);align-items:stretch;gap:var(--space-md);min-height:0;min-width:0;flex:1 1 auto}.dashboard-stage{position:relative;min-height:0;flex:1 1 auto;display:flex}.coming-soon{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0}.coming-soon-card{max-width:420px;align-items:center;text-align:center;gap:10px}.coming-soon-card h2{font-family:var(--font-heading);font-size:var(--text-section);font-weight:400;margin:0;color:var(--colour-text)}.coming-soon-card p{margin:0;color:var(--colour-text-muted);font-size:var(--text-body);line-height:1.5}.dashboard-grid-loading{filter:blur(2px);opacity:.62;pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .14s ease,opacity .14s ease}.dashboard-loading-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;border-radius:var(--radius-lg);background:#f7f2e847}.dashboard-loading-card{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--colour-border);background:#fcfaf6eb;box-shadow:var(--shadow-card);color:var(--colour-primary-deep);font-weight:700}.dashboard-loading-spinner{width:22px;height:22px;border:3px solid var(--colour-primary-soft);border-top-color:var(--colour-primary);border-radius:999px;animation:dashboard-spin .7s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-main-stack{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 6px;margin:-2px -6px}.hero-main{min-width:0;min-height:0;gap:4px;flex:0 0 auto}.glass-card.hero-main{padding-left:20px;padding-right:16px;padding-bottom:14px}.glass-card{display:flex;gap:var(--space-md);flex-direction:column;padding:14px 16px;border-radius:var(--radius-lg);background:var(--colour-surface);border:1px solid var(--colour-border);box-shadow:var(--shadow-card);min-height:0;overflow:hidden}.metric-row,.panel-grid{gap:var(--space-md)}.metric-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-content:start;margin-bottom:-2px}.date-nav{display:flex;align-items:center;gap:6px}.date-nav-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-text-muted)}.date-nav-button:hover:not(:disabled){color:var(--colour-primary-deep);border-color:var(--colour-primary)}.date-nav-button:disabled{opacity:.35;cursor:default}.date-nav-label{min-width:64px;text-align:center;color:var(--colour-text-muted);font-size:var(--text-small);font-weight:600;white-space:nowrap}.status-banner{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--radius-md);background:var(--colour-primary-soft);color:var(--colour-text);font-size:var(--text-small)}.status-banner strong{font-weight:700}.status-banner.tone-success{background:var(--colour-success-soft)}.status-banner.tone-highlight{background:var(--colour-highlight-soft)}.status-banner-icon{flex:0 0 auto;display:inline-flex}.status-banner.tone-success .status-banner-icon{color:var(--colour-success-deep)}.status-banner.tone-highlight .status-banner-icon{color:var(--colour-highlight-deep)}.status-banner.tone-primary .status-banner-icon{color:var(--colour-primary-deep)}.status-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:var(--text-micro);font-weight:600;white-space:nowrap}.status-chip.tone-primary{background:var(--colour-primary-soft);color:var(--colour-primary-deep)}.status-chip.tone-success{background:var(--colour-success-soft);color:var(--colour-success-deep)}.status-chip.tone-highlight{background:var(--colour-highlight-soft);color:var(--colour-highlight-deep)}.status-chip.tone-muted{background:var(--colour-bg);color:var(--colour-text-muted);border:1px solid var(--colour-border)}.takeaway-badge{gap:4px}.support-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--colour-text-muted)}.card-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(103,92,134,.14)}.support-card-header.card-section-header{margin-bottom:0;color:inherit}.card-section-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.card-section-title strong{font-size:var(--text-title);line-height:1.2;font-weight:700;color:var(--colour-text)}.card-section-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--colour-secondary-deep);flex:0 0 auto}.meal-slot-list{flex:0 0 auto;min-height:auto;display:grid;gap:4px;align-content:start;overflow-y:visible}.nutrition-total{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding:8px 12px;border-radius:var(--radius-md);background:var(--colour-primary-soft);border:1px solid var(--colour-primary)}.nutrition-total .meal-slot-main strong{color:var(--colour-primary-deep)}.meal-slot-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 12px;border-radius:var(--radius-sm);background:var(--colour-bg);border:1px solid var(--colour-border)}.meal-slot-main{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.meal-slot-icon{display:inline-flex;align-items:center;color:var(--colour-secondary-deep);flex:0 0 auto}.meal-slot-main strong{font-size:var(--text-title);line-height:1.15;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-slot-title-link{display:inline-flex;align-items:center;gap:4px;min-width:0;color:inherit;text-decoration:none}.meal-slot-title-link svg,.subtle-link-icon svg{opacity:.62;transition:opacity .14s ease,transform .14s ease}.meal-slot-title-link:hover,.subtle-link-icon:hover{color:var(--colour-primary-deep)}.meal-slot-title-link:hover svg,.subtle-link-icon:hover svg{opacity:1;transform:translate(1px,-1px)}.macro-chips{flex:0 0 auto;display:inline-grid;grid-template-columns:84px 84px;column-gap:6px;align-items:center}.macro{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:2px 8px;border-radius:999px;font-size:var(--text-micro);font-weight:600;white-space:nowrap;text-align:center}.macro-protein{background:var(--colour-bg);color:var(--colour-text-muted-accent);border:1px solid var(--colour-border)}.macro-carbs{background:var(--colour-bg);color:var(--colour-text-muted);border:1px solid var(--colour-border)}.meal-slot-kcal{flex:0 0 auto;min-width:68px;text-align:right;font-size:var(--text-title);font-weight:700;color:var(--colour-text);white-space:nowrap;font-variant-numeric:tabular-nums}.support-note-copy{color:var(--colour-text-muted);font-size:var(--text-body);line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.rich-note-copy p,.rich-note-copy ul,.rich-note-copy ol{margin:0 0 .6rem}.hero-side-stack{display:flex;flex-direction:column;gap:var(--space-md);min-height:0;min-width:0;overflow:hidden}.hero-side-stack .todo-card{flex:0 1 auto;min-height:0;max-height:44%}.hero-side-stack .todo-card .todo-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px;margin:-8px}.hero-side-stack .daily-tip-card,.hero-side-stack .notes-card{flex:1 1 0;min-height:0}.today-overview-meta{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;justify-content:flex-end}.today-overview-meta>*{flex:0 0 auto}.daily-status-chip{flex:0 1 auto;gap:4px;min-width:0}.daily-status-chip svg{flex:0 0 auto}.daily-status-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-card{align-self:stretch;min-width:0;min-height:0;gap:10px}.notes-card .support-note-copy{display:block;overflow:visible;-webkit-line-clamp:unset}.notes-card .notes-editor{min-height:140px}.notes-editor-actions{justify-content:flex-end;margin-bottom:10px}.notes-card-preview .support-note-copy{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-line-clamp:unset}.notes-actions{display:flex;align-items:center;gap:6px}.notes-edit-button,.notes-icon-button{border:0;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--colour-bg);color:var(--colour-text);font-size:var(--text-small)}.notes-icon-button{padding:7px}.notes-icon-button.confirm,.notes-edit-button{background:var(--colour-primary-soft);color:var(--colour-primary-deep)}.emoji-toolbar-slot{display:inline-flex}.emoji-popover{position:fixed;z-index:1000;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);box-shadow:var(--shadow-card);overflow:hidden}.emoji-popover .EmojiPickerReact{--epr-bg-color: var(--colour-surface);--epr-category-label-bg-color: var(--colour-surface);--epr-text-color: var(--colour-text);--epr-search-input-bg-color: var(--colour-bg);--epr-search-input-border-color: var(--colour-border);--epr-picker-border-color: transparent;--epr-highlight-color: var(--colour-primary-soft);--epr-hover-bg-color: var(--colour-primary-soft);--epr-focus-bg-color: var(--colour-primary-soft)}.emoji-loading{width:310px;height:120px;display:grid;place-items:center;color:var(--colour-text-muted);font-size:var(--text-small)}.notes-editor{min-height:100px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--colour-border);background:var(--colour-bg);color:var(--colour-text);font-size:var(--text-body);line-height:1.5;outline:none;overflow:visible}.empty-inline{color:var(--colour-text-muted);font-size:var(--text-small)}.daily-tip-card{background:var(--colour-secondary-soft);border-color:var(--colour-secondary)}.tip-section{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0}.daily-tip-content{flex:1 1 auto;min-height:0;overflow-y:auto}.tip-divider{height:1px;background:#675c8629;margin:2px 0}.tip-status-banner{display:block;color:var(--colour-text);font-size:var(--text-small);line-height:1.4}.tip-status-banner.tone-success span{color:var(--colour-success-deep)}.tip-status-banner.tone-highlight span{color:var(--colour-highlight-deep)}.tip-status-banner.tone-primary span{color:var(--colour-primary-deep)}.tip-status-banner.tone-muted span{color:var(--colour-text-muted)}.daily-tip-card .card-section-header{border-bottom:0;padding-bottom:0}.tip-slot-nav .date-nav-label{min-width:60px;font-size:var(--text-micro)}.tip-slot-nav .date-nav-button{width:22px;height:22px}.daily-tip-heading{font-family:var(--font-heading);font-size:1.1rem;font-weight:400;color:var(--colour-secondary-deep);display:block;margin:0}.daily-tip-body{margin:8px 0 0;color:var(--colour-text);font-size:var(--text-body);line-height:1.5}.daily-tip-empty{color:var(--colour-text-muted);font-size:var(--text-small)}.todo-card{gap:12px}.todo-form{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--colour-surface) 72%,transparent);border:1px solid var(--colour-border)}.todo-input{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--colour-border);background:var(--colour-surface);color:var(--colour-text)}.todo-input::placeholder,.login-card input::placeholder{color:var(--colour-text-muted)}.todo-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.todo-time-row label{display:grid;gap:6px;color:var(--colour-text-muted);font-size:var(--text-small)}.todo-weekdays{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none}.todo-weekdays::-webkit-scrollbar{display:none}.weekday-pill{border:1px solid var(--colour-border);border-radius:999px;background:var(--colour-surface);color:var(--colour-text-muted);min-width:34px;padding:6px 10px;font-size:var(--text-small);font-weight:700;white-space:nowrap}.weekday-pill.active{background:var(--colour-primary);border-color:var(--colour-primary);color:#fff}.todo-form-actions{display:flex;justify-content:flex-end}.todo-list{display:flex;flex-direction:column;gap:8px;min-height:0}.todo-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid rgba(103,92,134,.12)}.todo-row:first-child{border-top:0;padding-top:0}.todo-row.is-complete strong,.todo-row.is-complete p,.todo-row.is-complete .todo-meta{opacity:.6}.todo-row.is-overdue .todo-copy>strong{color:var(--colour-highlight-deep)}.todo-check.is-overdue{color:var(--colour-highlight-deep);border-radius:999px;animation:todo-overdue-pulse 1.7s ease-in-out infinite}.todo-overdue-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;background:var(--colour-highlight-deep);color:#fff;font-size:var(--text-micro);font-weight:700;line-height:1;letter-spacing:.02em;white-space:nowrap;animation:todo-overdue-pulse 1.7s ease-in-out infinite}.todo-overdue-chip svg{flex:0 0 auto;margin-top:-.5px}@keyframes todo-overdue-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--colour-highlight-deep) 55%,transparent)}60%{box-shadow:0 0 0 6px color-mix(in srgb,var(--colour-highlight-deep) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.todo-overdue-chip,.todo-check.is-overdue{animation:none}}.todo-check,.todo-delete{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;border-radius:0;background:transparent;color:var(--colour-text-muted);padding:0}.todo-check.is-complete{color:var(--colour-success-deep)}.todo-delete{color:var(--colour-highlight-deep)}.todo-row-actions .todo-delete:first-child{color:var(--colour-text-muted)}.todo-row-actions .todo-delete:first-child.is-active{color:var(--colour-primary-deep)}.todo-row-actions{display:inline-flex;align-items:center;gap:8px}.todo-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.todo-copy strong{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:var(--text-title);line-height:1.2;color:var(--colour-text)}.todo-copy p{margin:0;color:var(--colour-text-muted);font-size:var(--text-small);line-height:1.4}.todo-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--colour-text-muted);font-size:var(--text-micro)}.todo-meta span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.todo-empty{margin:0;color:var(--colour-text-muted);font-size:var(--text-small)}.metric-card{display:flex;flex-direction:column;gap:3px;min-width:0;padding:9px 12px;border-radius:var(--radius-md);background:var(--colour-surface);border:1px solid var(--colour-border)}.metric-progress-track{margin-top:auto;padding-top:6px;height:12px;overflow:hidden}.metric-progress-fill{display:block;height:6px;border-radius:999px;background:var(--colour-primary)}.metric-progress-fill.tone-success{background:var(--colour-success)}.metric-progress-fill.tone-highlight{background:var(--colour-highlight)}.metric-progress-fill.tone-muted{background:var(--colour-border)}.metric-label{display:flex;align-items:center;gap:8px;margin-bottom:2px;color:var(--colour-text-muted);font-size:var(--text-small);line-height:1.2;font-weight:500;white-space:nowrap}.subtle-link-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}.metric-link-icon{margin-left:auto;color:var(--colour-text-muted)}.metric-inline-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.metric-inline-icon svg{width:15px;height:15px}.metric-card strong{font-size:var(--text-kpi);line-height:1.1;letter-spacing:-.01em;font-weight:700;color:var(--colour-text)}.metric-card small{color:var(--colour-text-muted);font-size:var(--text-small);white-space:nowrap}.tone-primary.metric-card{background:var(--colour-primary-soft);border-color:transparent}.tone-primary .metric-inline-icon{color:var(--colour-primary-deep)}.tone-success.metric-card{background:var(--colour-success-soft);border-color:transparent}.tone-success .metric-inline-icon{color:var(--colour-success-deep)}.tone-highlight.metric-card{background:var(--colour-highlight-soft);border-color:transparent}.tone-highlight .metric-inline-icon{color:var(--colour-highlight-deep)}.tone-muted.metric-card{background:var(--colour-surface)}.tone-muted .metric-inline-icon{color:var(--colour-text-muted)}.section-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--colour-primary-deep);flex:0 0 auto}.secondary-stats{display:flex;gap:8px;margin-top:-6px}.secondary-stat{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 14px;border-radius:var(--radius-sm);background:var(--colour-bg);border:1px solid var(--colour-border);color:var(--colour-text-muted);font-size:var(--text-small)}.secondary-stat-head{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.secondary-stat span{white-space:nowrap}.secondary-stat strong{color:var(--colour-text);font-size:var(--text-title);font-weight:700}.nutrition-card{flex:0 0 auto;min-height:auto;display:flex;flex-direction:column;gap:8px;padding:8px 10px 4px;border-radius:var(--radius-md);background:var(--colour-bg);border:1px solid var(--colour-border);overflow:hidden}.nutrition-standalone-card{flex:0 0 auto;gap:8px;padding:12px 14px}.nutrition-standalone-card .nutrition-card{background:transparent;border:0;padding:0;gap:6px}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-sm);background:var(--colour-surface);border:1px solid var(--colour-border)}.segmented-option{border:0;padding:6px 14px;border-radius:6px;background:transparent;color:var(--colour-text-muted);font-size:var(--text-small);font-weight:600;white-space:nowrap;transition:background .14s ease,color .14s ease}.segmented-option:hover{color:var(--colour-primary-deep)}.segmented-option.active{background:var(--colour-primary);color:#fff}.segmented-field{display:grid;gap:4px;color:var(--colour-text-muted);font-size:var(--text-small)}.segmented-field>span{font-size:var(--text-micro);font-weight:700}.segmented-field .segmented{display:flex}.segmented-field .segmented-option{flex:1 1 0;text-align:center}.panel-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:0;gap:12px}.panel-grid>.glass-card{min-width:0}.body-card{gap:8px;padding-top:10px;padding-bottom:10px;min-height:190px;flex:1 1 auto}.body-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.body-headline{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px}.body-stat{display:flex;flex-direction:column;min-width:96px}.body-stat strong{font-size:1.35rem;letter-spacing:-.01em;line-height:1.1;color:var(--colour-text)}.body-stat span{color:var(--colour-text-muted);font-size:var(--text-small);white-space:nowrap}.body-toolbar{display:flex;align-items:center;gap:12px}.body-deltas{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.delta-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;font-size:var(--text-small);font-weight:700;white-space:nowrap}.delta-chip em{font-style:normal;font-weight:500;opacity:.75}.delta-chip.down{background:var(--colour-success-soft);color:var(--colour-success-deep)}.delta-chip.up{background:var(--colour-highlight-soft);color:var(--colour-highlight-deep)}.delta-chip.subtle{background:var(--colour-bg);border:1px solid var(--colour-border)}.delta-chip.subtle.down{color:var(--colour-success-deep)}.delta-chip.subtle.up{color:var(--colour-highlight-deep)}.delta-chip.up svg{transform:scaleY(-1)}.chart-frame.body-chart{flex:1 1 auto;min-height:0;height:auto}.chart-frame{height:92px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--colour-bg);border:1px solid var(--colour-border)}.recharts-area-area{fill:var(--chart-band-fill)!important;fill-opacity:1!important}.sparkline{width:100%;height:100%;display:block}.sparkline-point .sparkline-hit{fill:transparent}.sparkline-point .sparkline-dot{fill:var(--colour-primary-deep);stroke:var(--colour-surface);stroke-width:1.5px;opacity:0;transition:opacity .14s ease}.sparkline-point:hover .sparkline-dot{opacity:1}.info-tooltip{position:relative;display:inline-flex;align-items:center;color:var(--colour-text-muted);cursor:default}.info-tooltip-content{position:absolute;top:100%;z-index:20;margin-top:6px;min-width:150px;padding:7px 9px;border-radius:var(--radius-sm);border:1px solid var(--colour-border);background:var(--colour-surface);box-shadow:var(--shadow-card);font-size:var(--text-micro);font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.info-tooltip-content.align-left{left:0}.info-tooltip-content.align-right{right:0}.info-tooltip:hover .info-tooltip-content,.info-tooltip:focus-visible .info-tooltip-content,.info-tooltip:focus-within .info-tooltip-content{opacity:1;pointer-events:auto;transform:translateY(0)}.info-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--colour-text-muted)}.info-tooltip-row+.info-tooltip-row{margin-top:3px}.info-tooltip-row strong{color:var(--colour-text);font-size:var(--text-micro);font-weight:700}.info-tooltip-row strong.tone-up{color:var(--colour-highlight-deep)}.info-tooltip-row strong.tone-down{color:var(--colour-success-deep)}.trends-page{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;min-width:0;width:100%}.trends-toolbar-card{flex:0 0 auto;padding-top:10px;padding-bottom:10px}.trends-main-grid{flex:1.35 1 0;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.trend-card{gap:8px;padding-top:10px;padding-bottom:10px;min-width:0;min-height:0}.trend-chart-frame{flex:1 1 auto;min-height:0;height:auto;padding:8px 10px}.trends-bottom-row{flex:1 1 0;min-height:0;display:flex;gap:12px}.trends-measurements-card,.trends-rollup-card{flex:1 1 0;min-width:0;min-height:0}.measurement-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.measurement-card{display:flex;flex-direction:column;gap:4px;min-height:0;min-width:0}.measurement-card .body-stat span{display:inline-flex;align-items:center;gap:5px}.measurement-card .info-tooltip{transform:translateY(1px)}.measurement-chart-frame{flex:1 1 auto;min-height:0;height:auto}.rollup-table-wrap{flex:1 1 auto;min-height:0;overflow:auto}.rollup-table{width:100%;border-collapse:collapse;font-size:var(--text-small)}.rollup-table th,.rollup-table td{padding:6px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--colour-border)}.rollup-table th{color:var(--colour-text-muted);font-size:var(--text-micro);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.rollup-table td{color:var(--colour-text);font-variant-numeric:tabular-nums}.chart-empty{height:100%;display:grid;place-items:center;color:var(--colour-text-muted);font-size:var(--text-small)}.log-page{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0;min-width:0;width:100%}.date-nav{display:inline-flex;align-items:center;gap:6px}.date-nav-button{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-bg);color:var(--colour-text)}.date-nav-button:disabled{cursor:not-allowed;opacity:.45}.date-nav-label{min-width:138px;text-align:center;color:var(--colour-text);font-size:var(--text-small);font-weight:700}.calendar-card{flex:0 0 auto;gap:10px;padding:12px 14px}.month-calendar{display:flex;flex-direction:column;gap:8px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head strong{font-size:var(--text-small);font-weight:700;color:var(--colour-text)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-dow{text-align:center;color:var(--colour-text-muted);font-size:var(--text-micro);font-weight:700;padding-bottom:2px}.calendar-day{display:flex;flex-direction:column;align-items:center;gap:2px;aspect-ratio:1;min-height:30px;padding:2px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--colour-text);font-size:var(--text-small);font-variant-numeric:tabular-nums}.calendar-day:hover:not(:disabled){border-color:var(--colour-border);background:var(--colour-bg)}.calendar-day:disabled{color:var(--colour-text-muted);opacity:.35;cursor:not-allowed}.calendar-day.today{border-color:var(--colour-secondary)}.calendar-day.match{background:var(--colour-highlight-soft)}.calendar-day.active{background:var(--colour-primary);border-color:var(--colour-primary);color:#fff}.calendar-day.active.match{background:var(--colour-primary)}.calendar-day-dots{display:flex;gap:2px;min-height:5px}.calendar-day-dots .day-strip-dot{width:4px;height:4px}.calendar-filter{display:flex;flex-wrap:wrap;gap:6px}.calendar-filter-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--colour-border);border-radius:999px;background:var(--colour-bg);color:var(--colour-text-muted);font-size:var(--text-micro);font-weight:600}.calendar-filter-chip:hover{border-color:var(--colour-primary);color:var(--colour-primary-deep)}.calendar-filter-chip.active{background:var(--colour-primary-soft);border-color:var(--colour-primary);color:var(--colour-primary-deep)}.day-strip-dot{width:6px;height:6px;border-radius:999px;background:var(--colour-text-muted)}.day-strip-dot.takeaway{background:var(--colour-primary)}.day-strip-dot.period{background:var(--colour-highlight)}.day-strip-dot.wfh{background:var(--colour-secondary)}.log-main-grid{flex:1 1 0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:8px}.log-meals-column,.log-side-column{min-height:0;min-width:0}.log-side-column{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.log-side-column .notes-card{flex:0 0 auto}.log-meals-card,.day-details-card{min-height:0;gap:8px}.log-meals-card{height:100%;padding:8px 10px}.log-page .section-heading.compact{gap:8px;margin-bottom:0}.log-page .card-section-icon{width:26px;height:26px}.log-page .notes-edit-button,.log-page .notes-icon-button{gap:4px;padding:5px 7px;min-height:28px}.log-page .notes-icon-button{width:auto}.log-page .todo-form{gap:6px;padding:7px 8px;border-radius:var(--radius-sm)}.log-page .todo-input{padding:6px 8px}.log-page .todo-time-row{gap:6px}.log-page .todo-time-row label,.log-page .todo-form label{gap:4px;font-size:var(--text-micro)}.log-page .weekday-pill{min-width:0;padding:4px 8px}.log-page .body-headline{gap:5px 10px}.log-page .body-stat{min-width:76px}.log-page .body-stat strong{font-size:1.08rem}.log-slot-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0;overflow:auto;padding-right:2px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface)}.meal-entry-table-header,.meal-entry-row,.meal-entry-total-row{display:grid;grid-template-columns:minmax(220px,1fr) 58px 82px 74px 74px minmax(110px,.5fr) 62px;align-items:center;min-width:740px}.meal-entry-table-header{position:sticky;top:0;z-index:2;min-height:28px;padding:0 8px 0 22px;border-bottom:1px solid var(--colour-border);background:color-mix(in srgb,var(--colour-primary-soft) 82%,var(--colour-surface));color:var(--colour-primary-deep);font-size:var(--text-micro);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.meal-entry-table-header span,.meal-entry-row>span,.meal-entry-row>.meal-entry-copy{min-height:100%;display:flex;align-items:center;padding:0 8px;border-right:1px solid color-mix(in srgb,var(--colour-border) 72%,transparent)}.meal-entry-table-header span:first-child,.meal-entry-row>.meal-entry-copy{padding-left:0;justify-content:flex-start;text-align:left}.meal-entry-row>.meal-entry-copy{align-items:flex-start}.meal-entry-table-header span:nth-child(2),.meal-entry-table-header span:nth-child(3),.meal-entry-table-header span:nth-child(4),.meal-entry-table-header span:nth-child(5){justify-content:flex-end}.meal-entry-table-header span:last-child,.meal-entry-row>*:last-child{border-right:0}.log-slot-section{min-width:0;border-bottom:1px solid var(--colour-border)}.log-slot-section:last-child{border-bottom:0}.log-slot-header,.meal-add-selected{display:flex;align-items:center;justify-content:space-between;gap:10px}.log-slot-header>span{color:var(--colour-text);font-size:var(--text-small);font-weight:800}.log-slot-label{display:inline-flex;align-items:center;gap:6px}.log-slot-label svg{color:var(--colour-secondary-deep);flex:0 0 auto}.log-slot-header{min-height:26px;padding:2px 8px;background:var(--colour-bg);border-bottom:1px solid var(--colour-border);box-shadow:inset 3px 0 0 var(--colour-primary)}.meal-entry-row{gap:0;min-width:0;min-height:32px;padding:0 8px 0 22px;border-bottom:1px solid color-mix(in srgb,var(--colour-border) 72%,transparent);background:var(--colour-surface)}.log-slot-section:nth-child(2n) .meal-entry-row{background:color-mix(in srgb,var(--colour-bg) 36%,var(--colour-surface))}.meal-entry-row:last-child{border-bottom:0}.meal-entry-row:hover{background:var(--colour-bg)}.meal-entry-total-row{min-height:40px;padding:0 8px 0 22px;border-top:2px solid var(--colour-primary);background:var(--colour-bg);color:var(--colour-text);font-size:var(--text-small);font-variant-numeric:tabular-nums;font-weight:800}.meal-entry-total-row>span{min-height:100%;display:flex;align-items:center;padding:0 8px;border-right:1px solid color-mix(in srgb,var(--colour-border) 72%,transparent)}.meal-entry-total-row>span:first-child{padding-left:0}.meal-entry-total-row>span:last-child{border-right:0}.meal-entry-total-value{flex-direction:column;justify-content:center;align-items:flex-end!important;text-align:right;white-space:nowrap}.meal-entry-total-value small{color:var(--colour-text-muted);font-size:var(--text-micro);font-weight:600}.meal-entry-row-editing{display:block;padding:6px;overflow:hidden}.meal-entry-copy{display:flex;flex-direction:column;gap:1px;min-width:0;padding-right:8px;align-items:flex-start;justify-content:center;text-align:left}.meal-entry-copy strong{color:var(--colour-text);font-size:var(--text-small);font-weight:800;text-align:left}.meal-entry-copy span{color:var(--colour-text-muted);font-size:var(--text-micro);overflow-wrap:anywhere;text-align:left}.meal-entry-cell,.meal-entry-note{min-width:0;padding:0 8px;color:var(--colour-text);font-size:var(--text-micro);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.meal-entry-cell{justify-content:flex-end;text-align:right}.meal-entry-note{color:var(--colour-text-muted);font-weight:600;overflow:hidden}.meal-entry-note-text{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-entry-row .todo-row-actions{justify-content:flex-end;gap:6px}.meal-add-result-kcal{padding:2px 0;color:var(--colour-primary-deep);font-size:var(--text-micro);font-weight:800;white-space:nowrap}.meal-entry-form,.meal-add-form{border:0;border-radius:0;background:var(--colour-bg)}.meal-edit-current-food{display:flex;align-items:baseline;gap:8px;min-width:0}.meal-edit-current-food strong{color:var(--colour-text);font-size:var(--text-small)}.meal-edit-current-food span{color:var(--colour-text-muted);font-size:var(--text-micro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-add-results{display:grid;gap:5px;max-height:170px;overflow:auto}.meal-add-results.compact{max-height:120px}.meal-add-result{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:1px solid var(--colour-border);border-radius:0;background:var(--colour-surface);color:var(--colour-text);text-align:left}.meal-add-result:hover{border-color:var(--colour-primary)}.meal-add-quantity-label{max-width:160px}.day-details-card{padding:8px 10px}.day-flag-chips,.day-flag-toggle-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.day-flag-pill.active{background:var(--colour-primary);border-color:var(--colour-primary);color:#fff}.recipes-page{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;width:100%}.recipes-toolbar-card{flex:0 0 auto;padding:10px 12px}.recipes-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recipes-toolbar .card-section-title h2{margin:0;font-size:var(--text-card-heading);font-weight:600;line-height:1.2}.toolbar-search{display:inline-flex;align-items:center;gap:6px;flex:1 1 180px;max-width:320px;padding:6px 10px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-bg);color:var(--colour-text-muted)}.toolbar-search input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:var(--colour-text);outline:none}.toolbar-search:focus-within{border-color:var(--colour-primary)}.toolbar-select{padding:6px 8px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-bg);color:var(--colour-text);font:inherit}.hof-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--colour-border);border-radius:999px;background:var(--colour-bg);color:var(--colour-text-muted);font-size:var(--text-small);font-weight:600}.hof-filter-chip:hover{border-color:var(--colour-success-deep);color:var(--colour-success-deep)}.hof-filter-chip.active{background:var(--colour-success-soft);border-color:var(--colour-success-deep);color:var(--colour-success-deep)}.toolbar-add-button{margin-left:auto}.recipes-list-card{flex:1 1 auto;min-height:0;gap:0;padding:6px 14px 12px}.card-scroll-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:10px}.recipe-table thead th{position:sticky;top:0;z-index:1;background:var(--colour-surface)}.recipe-table th,.recipe-table td{white-space:normal}.recipe-name-col{width:40%}.recipe-expand-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--colour-text);font:inherit;text-align:left}.recipe-expand-button:hover span{color:var(--colour-primary-deep)}.recipe-expand-button svg{flex:0 0 auto;color:var(--colour-text-muted)}.recipe-row.expanded td{border-bottom:0}.recipe-detail-row td{padding:0 10px 10px 30px}.recipe-review-history{display:flex;flex-direction:column;border-left:2px solid var(--colour-primary-soft);padding-left:12px}.recipe-name-cell{display:flex;align-items:center;gap:8px;min-width:0}.hof-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--colour-border);border-radius:999px;background:transparent;color:var(--colour-text-muted);opacity:.55;transition:background .14s ease,color .14s ease,opacity .14s ease}.hof-toggle:hover{opacity:1;border-color:var(--colour-success-deep);color:var(--colour-success-deep)}.hof-toggle.active{opacity:1;background:var(--colour-success-soft);border-color:var(--colour-success-deep);color:var(--colour-success-deep)}.product-name-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.product-name-cell small{color:var(--colour-text-muted);font-size:var(--text-micro);font-style:italic}.card-section-subtitle{margin-top:-4px;color:var(--colour-text-muted);font-size:var(--text-small)}.hall-of-fame-badge{margin-left:6px;gap:4px}.review-list{display:flex;flex-direction:column;gap:6px}.review-list-heading{margin-top:4px;color:var(--colour-text-muted);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.review-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--colour-border)}.review-list-actions{display:flex;flex:0 0 auto;gap:6px}.review-list-item:last-child{border-bottom:none}.review-list-item-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.review-list-item-copy span{color:var(--colour-text-muted);font-size:var(--text-small)}.review-list-item-notes{font-style:italic}.review-form textarea.review-notes-input{min-height:44px;resize:vertical;font-family:inherit}.modal-overlay{position:fixed;inset:0;background:#2f31336b;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal-panel{width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-header strong{font-size:var(--text-title);font-weight:700;color:var(--colour-text)}.weekly-review-page{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;width:100%}.weekly-toolbar-card{flex:0 0 auto;padding:10px 12px}.weekly-in-progress-note{margin:-4px 2px 0}.weekly-summary-card{flex:0 0 auto;gap:10px;padding:14px 16px}.weekly-main-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weekly-highlights-card,.weekly-reflection-card{gap:10px;padding:14px 16px;min-height:0}.weekly-highlights-list{display:flex;flex-direction:column;gap:12px}.weekly-highlights-empty{display:grid;gap:4px;color:var(--colour-text-muted);font-size:var(--text-small);line-height:1.5}.weekly-highlights-empty p{margin:0;color:var(--colour-text);font-weight:600}.weekly-highlight-item{display:flex;align-items:flex-start;gap:10px}.weekly-highlight-item p{margin:2px 0 0;color:var(--colour-text)}.weekly-highlight-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:999px;background:var(--colour-primary-soft);color:var(--colour-primary-deep)}.weekly-reflection-body{display:flex;flex-direction:column;gap:12px}.weekly-reflection-field p{margin:4px 0 0;color:var(--colour-text)}.empty-state{padding:18px;border-radius:var(--radius-md);background:var(--colour-bg);color:var(--colour-text-muted)}.login-card{position:relative;z-index:1;max-width:420px;margin:8vh auto 0;padding:28px;border-radius:var(--radius-lg);background:var(--colour-surface);border:1px solid var(--colour-border);box-shadow:var(--shadow-card)}.login-brand{margin-bottom:14px}.login-copy{margin-bottom:18px;color:var(--colour-text-muted);line-height:1.55;font-size:var(--text-body)}.login-card label{display:grid;gap:8px;margin-bottom:14px;color:var(--colour-text-muted);font-size:var(--text-small)}.login-card input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--colour-border);background:var(--colour-bg);color:var(--colour-text)}.submit-button{width:100%;padding:13px 18px;background:var(--colour-primary);color:#fff;font-weight:700}.form-error{margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--colour-highlight-soft);color:var(--colour-highlight-deep);font-size:var(--text-small)}@media(max-width:980px){.page{height:auto;min-height:100vh;overflow:visible}.hero-grid,.dashboard-grid{display:flex;flex-direction:column}.shell{height:auto;padding:var(--space-md);display:block;overflow:visible}.shell>*+*{margin-top:var(--space-md)}.brand{order:1}.topbar-actions{order:2}.profile-name{display:none}.profile-chip{height:40px;padding:0 8px 0 6px;gap:4px}.panel-grid{grid-template-columns:1fr}.hero-side-stack{height:auto;overflow:visible}.notes-card{flex:0 0 auto}.dashboard-main-stack{overflow:visible;padding:0;margin:0}.hero-side-stack .daily-tip-card,.hero-side-stack .notes-card{flex:0 0 auto;min-height:0}.tip-section,.daily-tip-content,.notes-card-preview .support-note-copy{min-height:0;overflow:visible}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.secondary-stats{flex-wrap:wrap}.secondary-stat{flex:1 1 45%}.secondary-stat span{white-space:normal}.nav-pills{order:3;flex-basis:100%;width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.nav-pills::-webkit-scrollbar{display:none}.nav-pills .pill,.trends-page{flex:0 0 auto}.trends-main-grid{flex:0 0 auto;grid-template-columns:minmax(0,1fr);grid-template-rows:none}.trends-bottom-row{flex:0 0 auto;flex-direction:column}.log-page{flex:0 0 auto}.log-main-grid{flex:0 0 auto;grid-template-columns:minmax(0,1fr)}.log-side-column{overflow:visible}.weekly-main-grid{flex:0 0 auto;grid-template-columns:minmax(0,1fr)}.recipes-list-card{flex:0 0 auto;height:auto}.card-scroll-body{flex:0 0 auto;overflow:visible}.recipes-list-card .card-scroll-body{overflow-x:auto}.recipe-table th,.recipe-table td{white-space:nowrap}.recipe-detail-row td,.recipe-review-history{white-space:normal}.toolbar-search{flex-basis:100%;max-width:none}.toolbar-add-button{margin-left:0}.log-meals-card{height:auto}.log-slot-list{flex:0 0 auto;overflow:visible;padding-right:0}.trends-measurements-card,.trends-rollup-card{flex:0 0 auto}.measurement-grid{grid-template-columns:minmax(0,1fr)}.trend-chart-frame{flex:0 0 auto;height:160px}.measurement-chart-frame{flex:0 0 auto;height:100px}.rollup-table-wrap{flex:0 0 auto;overflow-x:auto;overflow-y:visible}}@media(max-width:640px){.page,.login-page{padding:14px}.topbar{gap:12px;padding:8px 0 12px}.nav-pills .pill{min-height:36px;padding:8px 16px;font-size:var(--text-small)}.glass-card,.login-card{padding:var(--space-md);border-radius:var(--radius-md)}.metric-card{border-radius:var(--radius-sm)}.todo-time-row{grid-template-columns:1fr}.section-heading{gap:10px;flex-wrap:wrap;align-items:flex-start}.card-section-title{flex-wrap:wrap}.date-nav{flex:0 0 auto}.date-nav-label{min-width:126px}.meal-add-result{align-items:flex-start;flex-direction:column}.meal-slot-row,.nutrition-total{align-items:flex-start}.meal-slot-kcal{font-size:var(--text-small);padding-top:2px}}
