@import "https://fonts.googleapis.com/css2?family=Aleo:wght@400;500;600;700&family=Onest:wght@400;500;600&display=swap";:root{--font-display:"Aleo", serif;--font-body:"Onest", sans-serif;--text-page-heading:24px;--text-section-heading:18px;--text-body:16px;--text-label:14px;--text-small:12px;--weight-regular:400;--weight-medium:500;--weight-emphasis:600;--leading-tight:1.2;--leading-normal:1.5;--color-primary-100:#f4f9ff;--color-primary-300:#deefff;--color-primary-500:#0936c8;--color-primary-700:color-mix(in srgb, var(--color-primary-500) 80%, black);--color-secondary-bg:#fef5f3;--color-secondary-bg-dark:#ffc0a0;--color-secondary-cta:#fa5109;--color-secondary-cta-dark:#d24303;--color-accent-sun:#f5db6f;--color-accent-orange:#ffbe6f;--color-accent-clem:#ffbe6f;--color-accent-sky:#afe0fd;--color-person-1:var(--color-accent-sky);--color-person-2:var(--color-accent-clem);--color-text-primary:#201515;--color-text-secondary:#6f6765;--color-text-disabled:#88827e;--color-border-default:#d8dcd3;--color-bg-default:#fdf8f0;--color-bg-surface:#fff;--color-bg-card-surface:#fefdfb;--color-bg-inset:#f2eee8;--color-bg-dark:#f1e7d8;--color-avatar-bg:var(--color-accent-sky);--color-brand-primary:#436036;--color-error:#c25b4a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-card:0 2px 8px #2b2e2a0f;--shadow-modal:0 8px 24px #2b2e2a29;--screen-padding:24px;--card-padding:16px;--button-padding:10px 20px;--input-padding:10px 14px}*{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--color-bg-dark);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-normal);background-image:radial-gradient(circle,#2b2e2a24 1.5px,#0000 1.5px),radial-gradient(circle,#fffffe80 1.5px,#0000 1.5px);background-position:0 0,14px 14px;background-size:28px 28px;margin:0}.app{max-width:1400px;padding:0 var(--screen-padding) var(--space-8);margin:0 auto}.top-nav{width:calc(100% - var(--screen-padding) * 2);max-width:1400px;height:56px;margin:0 auto var(--space-4);background:var(--color-bg-default);border-radius:var(--radius-sm);padding:0 var(--space-5);justify-content:space-between;align-items:center;display:flex;box-shadow:0 1px 3px #00000014,0 4px 12px #00000014}.top-nav-logo{width:auto;height:28px;display:block}.top-nav-avatar-wrap{flex-shrink:0;position:relative}.top-nav-avatar{border-radius:var(--radius-sm);background:var(--color-avatar-bg);width:32px;height:32px;font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-text-primary);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.top-nav-avatar-dropdown{top:calc(100% + var(--space-2));z-index:11;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-modal);padding:var(--space-2);position:absolute;right:0}.top-nav-avatar-dropdown-item{align-items:center;gap:var(--space-2);text-align:left;width:100%;font-family:var(--font-body);font-size:var(--text-label);color:var(--color-text-primary);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;display:flex}.top-nav-avatar-dropdown-item:hover{background:var(--color-bg-inset)}.app-header{align-items:center;gap:var(--space-5);width:100%;padding:var(--space-5) var(--space-5) 0;background:var(--color-bg-default);margin-bottom:var(--space-5);flex-direction:column;display:flex}.app-header .top-nav{background:var(--color-bg-dark);width:100%;margin:0}.app-header-inner{width:100%;max-width:1400px;padding:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);border-radius:var(--radius-lg);display:flex}.page-heading{font-family:var(--font-display);font-size:var(--text-page-heading);font-weight:var(--weight-emphasis);line-height:var(--leading-tight);color:var(--color-text-primary);margin:0}.section-heading{font-family:var(--font-display);font-size:20px;font-weight:var(--weight-medium);color:var(--color-text-primary);margin:0}.week-nav{align-items:center;gap:var(--space-5);display:flex}.week-nav-heading{font-family:var(--font-display);font-size:var(--text-page-heading);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-text-primary);white-space:nowrap;margin:0}.week-nav-date-selector{align-items:center;gap:var(--space-4);font-family:var(--font-body);font-size:var(--text-section-heading);font-weight:var(--weight-medium);letter-spacing:.02em;color:var(--color-text-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-bg-surface);border:1px solid var(--color-border-default);cursor:pointer;white-space:nowrap;display:flex}.week-nav-date-selector:hover{background:var(--color-bg-inset)}.week-nav-jump-wrap{position:relative}.week-jump-backdrop{z-index:10;position:fixed;inset:0}.week-jump-dropdown{top:calc(100% + var(--space-1));z-index:11;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);width:220px;max-height:320px;box-shadow:var(--shadow-modal);padding:var(--space-2);position:absolute;left:0;overflow-y:auto}.week-jump-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.week-jump-option{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;width:100%;font-family:var(--font-body);font-size:var(--text-label);color:var(--color-text-primary);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;display:flex}.week-jump-option:hover{background:var(--color-bg-inset)}.week-jump-option-selected{background:var(--color-primary-500);color:var(--color-bg-surface);font-weight:var(--weight-medium)}.week-jump-today-note{font-size:var(--text-small);color:var(--color-text-secondary);flex-shrink:0}.week-jump-option-selected .week-jump-today-note{color:var(--color-bg-surface)}.people-editor{align-items:center;gap:var(--space-4);height:100%;padding:0 var(--space-4);border-left:1px solid var(--color-border-default);flex-shrink:0;display:flex}.people-editor-caption{font-family:var(--font-body);font-size:var(--text-small);color:var(--color-text-secondary);white-space:nowrap;margin:0}.people-editor-container{align-items:center;gap:var(--space-5);flex-shrink:0;display:flex}.people-editor-item{align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);display:flex}.people-editor-item-btn{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000}.people-editor-item-btn:hover{background:var(--color-bg-inset);color:var(--color-text-primary)}.people-editor-dot{border-radius:2px;flex-shrink:0;width:18px;height:18px}.people-editor-input{font-family:var(--font-body);font-size:var(--text-label);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:3px var(--space-2);background:var(--color-bg-inset);color:var(--color-text-primary);width:96px}.people-editor-input:focus{outline:2px solid var(--color-primary-300);outline-offset:1px}.calendar-row{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}.calendar-row .card{height:100%}.calendar-strip-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.calendar-add-btn:hover{color:var(--color-primary-700);background:var(--color-bg-inset)}.calendar-grid-wrap{background:var(--color-bg-card-surface);border-radius:var(--radius-sm);overflow:hidden}.calendar-grid-header{border-bottom:1px solid var(--color-border-default);grid-template-columns:56px repeat(7,1fr);display:grid}.calendar-hour-col-spacer{border-right:1px solid var(--color-border-default);justify-content:center;align-items:center;display:flex}.calendar-grid-day-header{padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border-default)}.calendar-grid-day-header:last-child{border-right:none}.calendar-grid-day-header-today{background:var(--color-primary-300)}.calendar-day-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.calendar-grid-day-header-today .calendar-day-label{color:var(--color-primary-700)}.calendar-day-date{font-size:var(--text-small);color:var(--color-text-secondary)}.calendar-grid-body{grid-template-columns:56px repeat(7,1fr);display:grid;position:relative}.calendar-hour-col{border-right:1px solid var(--color-border-default)}.calendar-hour-label{font-size:var(--text-small);color:var(--color-text-secondary);padding:0 var(--space-2);justify-content:flex-end;align-items:flex-start;display:flex;transform:translateY(-50%)}.calendar-grid-day-col{border-right:1px solid var(--color-border-default);position:relative}.calendar-grid-day-col:last-child{border-right:none}.calendar-grid-day-col-today{background:var(--color-primary-100)}.calendar-hour-line{border-bottom:1px solid var(--color-border-default)}.calendar-event-block{left:var(--space-1);right:var(--space-1);background:var(--color-primary-500);color:var(--color-text-secondary);border-radius:var(--radius-sm);padding:1px var(--space-2);white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow-card);cursor:pointer;align-items:center;gap:4px;font-size:11px;line-height:1.3;display:flex;position:absolute;overflow:hidden}.calendar-event-block:hover{filter:brightness(.93)}.calendar-event-block-icon{flex-shrink:0}.calendar-event-block-time{font-weight:var(--weight-medium);flex-shrink:0}.calendar-event-block-title{text-overflow:ellipsis;overflow:hidden}.dashboard-grid{gap:var(--space-5);grid-template-columns:240px minmax(0,1fr) 300px;align-items:start;display:grid}.dashboard-col{gap:var(--space-5);flex-direction:column;display:flex}.card{background:var(--color-bg-default);border-radius:var(--radius-sm);padding:var(--card-padding)}.card-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.card-header-icon{color:var(--color-primary-700)}.empty-state{font-size:var(--text-label);color:var(--color-text-secondary);margin:0 0 var(--space-3)}.empty-state-tight{margin:0 0 var(--space-2)}.btn{font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-medium);border-radius:var(--radius-md);padding:var(--button-padding);cursor:pointer;align-items:center;gap:var(--space-1);border:1px solid #0000;transition:background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--color-primary-500);color:var(--color-bg-surface)}.btn-primary:hover{background:var(--color-primary-700)}.btn-ghost{color:var(--color-text-secondary);border-color:var(--color-border-default);background:0 0}.btn-ghost:hover{background:var(--color-bg-inset)}.btn-danger{color:var(--color-error)}.btn-add{color:var(--color-secondary-cta);border:1px dashed var(--color-secondary-cta);background:0 0;justify-content:center;width:100%}.btn-add:hover{background:color-mix(in srgb, var(--color-secondary-cta) 12%, transparent)}.btn-sm{font-size:var(--text-small);padding:var(--space-1) var(--space-3)}.icon-btn{color:var(--color-text-disabled);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--color-error);background:var(--color-bg-inset)}.input{font-family:var(--font-body);font-size:var(--text-label);padding:var(--input-padding);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-inset);color:var(--color-text-primary)}.input:focus{outline:2px solid var(--color-primary-300);outline-offset:1px}.input-grow{flex:1;min-width:0}.textarea{resize:vertical;min-height:80px;line-height:var(--leading-normal)}.event-list{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.event-row{align-items:center;gap:var(--space-2);font-size:var(--text-label);display:flex}.event-row-clickable{cursor:pointer;border-radius:var(--radius-sm);margin:0 calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2)}.event-row-clickable:hover{background:var(--color-bg-inset)}.event-day-badge{background:var(--color-primary-300);color:var(--color-primary-700);font-weight:var(--weight-medium);font-size:var(--text-small);border-radius:var(--radius-sm);padding:2px var(--space-2);flex-shrink:0}.event-time{color:var(--color-text-secondary);font-size:var(--text-small);flex-shrink:0}.event-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.event-person-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.event-annual-badge{background:var(--color-bg-inset);color:var(--color-text-secondary);font-size:var(--text-small);border-radius:var(--radius-sm);padding:2px var(--space-2);flex-shrink:0}.todo-board{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr 1fr;align-items:start;display:grid}.todo-column{background:var(--color-bg-default);border-radius:var(--radius-sm);padding:var(--card-padding)}.todo-column-partner{min-height:220px;transition:background .15s,border-color .15s}.todo-bank-section{border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-3);min-height:64px;transition:background .15s}.todo-bank-section-backlog{background:var(--color-bg-inset)}.todo-bank-section-label{align-items:center;gap:var(--space-1);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2);display:flex}.todo-dropzone-over{background:var(--color-primary-300)!important}.todo-card-list{margin:0 0 var(--space-3);gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.todo-card{background:var(--color-bg-card-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-2);cursor:grab;justify-content:space-between;align-items:center;display:flex}.todo-card:active{cursor:grabbing}.todo-card-over{box-shadow:0 -2px 0 0 var(--color-primary-500)}.todo-card-done .todo-name{color:var(--color-text-disabled);text-decoration:line-through}.todo-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;min-width:0;display:flex}.todo-checkbox input{accent-color:var(--color-secondary-cta);flex-shrink:0;width:16px;height:16px}.todo-name{font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.todo-form{gap:var(--space-2);display:flex}.meal-grid-card{overflow:hidden}.meal-grid{gap:var(--space-2);grid-template-columns:90px repeat(7,minmax(0,1fr));display:grid}.meal-grid-corner{grid-column:1}.meal-grid-day-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-align:center;padding-bottom:var(--space-2)}.meal-grid-row{display:contents}.meal-grid-meal-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);padding-right:var(--space-2);align-items:center;display:flex}.meal-cell{background:var(--color-bg-inset);border:1px dashed var(--color-border-default);border-radius:var(--radius-sm);width:100%;min-height:56px;color:var(--color-text-disabled);font-family:var(--font-body);font-size:var(--text-small);text-align:center;padding:var(--space-2);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex;position:relative}.meal-cell:hover{border-color:var(--color-primary-500)}.meal-cell-placeholder{pointer-events:none}.meal-cell-filled{background:var(--color-primary-300);border:1px solid var(--color-primary-500);color:var(--color-text-primary);font-weight:var(--weight-medium);cursor:grab}.meal-cell-filled:active{cursor:grabbing}.meal-cell-label{background:var(--color-bg-surface);border:1px solid var(--color-secondary-cta);color:var(--color-text-primary);font-weight:var(--weight-regular);cursor:pointer;font-style:italic}.meal-cell-input{background:var(--color-bg-surface);border:1px solid var(--color-primary-500);color:var(--color-text-primary);text-align:center;outline:none}.meal-cell-input::placeholder{color:var(--color-text-disabled);font-style:normal}.meal-cell-name{text-overflow:ellipsis;white-space:nowrap;padding-right:14px;overflow:hidden}.meal-cell-clear{width:16px;height:16px;color:var(--color-primary-700);background:var(--color-bg-surface);box-shadow:var(--shadow-card);position:absolute;top:2px;right:2px}.meal-cell-clear:hover{color:var(--color-bg-surface);background:var(--color-error)}.recipes-panel{overflow:visible}.recipe-card-list{margin:0 0 var(--space-3);gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.recipe-card{justify-content:space-between;align-items:center;gap:var(--space-2);background:var(--color-bg-card-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-2);cursor:grab;display:flex}.recipe-card:active{cursor:grabbing}.recipe-card-name{font-size:var(--text-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-card-actions{flex-shrink:0;gap:2px;display:flex}.grocery-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.grocery-row{padding:var(--space-1) 0;justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.grocery-row-checked .grocery-name{color:var(--color-text-disabled);text-decoration:line-through}.grocery-name{font-size:var(--text-body)}.grocery-qty{font-size:var(--text-small);color:var(--color-text-secondary);flex-shrink:0}.grocery-row-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.grocery-form{margin-top:var(--space-3)}.grocery-qty-input{flex-shrink:0;width:4.5rem}.modal-backdrop{z-index:20;padding:var(--space-5);background:#2b2e2a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--card-padding);gap:var(--space-3);flex-direction:column;display:flex}.field-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);gap:var(--space-1);flex-direction:column;display:flex}.field-error{font-size:var(--text-small);color:var(--color-error);margin:calc(-1 * var(--space-2)) 0 0}.todo-detail-done-check{align-items:center;gap:var(--space-2);font-size:var(--text-label);color:var(--color-text-primary);cursor:pointer;display:flex}.checklist-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.checklist-row-checked .checklist-item-text{color:var(--color-text-disabled);text-decoration:line-through}.checklist-item-text{font-size:var(--text-body);font-weight:var(--weight-regular)}.todo-detail-done-check input{accent-color:var(--color-secondary-cta);width:16px;height:16px}.ingredient-rows{gap:var(--space-2);flex-direction:column;display:flex}.ingredient-row{gap:var(--space-2);align-items:center;display:flex}.ingredient-qty{flex-shrink:0;width:90px}.modal-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-default);justify-content:space-between;align-items:center;display:flex}.modal-footer-right{gap:var(--space-2);margin-left:auto;display:flex}.person-toggle{gap:var(--space-2);display:flex}.person-toggle-btn{justify-content:center;align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-regular);color:var(--color-text-primary);background:var(--color-bg-inset);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;flex:1;display:flex}.person-toggle-btn-active{background:var(--color-primary-300);border-color:var(--color-primary-500);font-weight:var(--weight-medium)}.person-toggle-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.type-segmented{gap:var(--space-2);display:flex}.type-segmented-btn{font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-regular);color:var(--color-text-primary);background:var(--color-bg-inset);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;flex:1}.type-segmented-btn-active{background:var(--color-primary-300);border-color:var(--color-primary-500);font-weight:var(--weight-medium)}.day-checkbox-row{gap:var(--space-1);flex-wrap:wrap;display:flex}.day-checkbox-chip{width:32px;height:32px;font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:var(--color-bg-inset);border:1px solid var(--color-border-default);border-radius:var(--radius-full);cursor:pointer}.day-checkbox-chip-active{background:var(--color-primary-300);border-color:var(--color-primary-500)}.dashboard-preview-wrap{transition:filter .4s}.dashboard-preview-blurred{filter:blur(6px);-webkit-user-select:none;user-select:none}.dashboard-preview-readonly{pointer-events:none}.modal-backdrop-locked{background:#2b2e2a8c}.signup-modal-intro{font-size:var(--text-label);color:var(--color-text-secondary);margin:0}.onboarding-cta-bar{left:50%;bottom:var(--space-6);z-index:15;align-items:center;gap:var(--space-4);max-width:calc(100% - var(--space-6) * 2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--shadow-modal);display:flex;position:fixed;transform:translate(-50%)}.onboarding-cta-text{font-size:var(--text-label);color:var(--color-text-primary);margin:0}.onboarding-cta-btn{font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-5);justify-content:center}@media (width<=767px){.onboarding-cta-bar{text-align:center;width:calc(100% - var(--space-6) * 2);flex-direction:column;align-items:stretch}}@media (width<=1100px){.dashboard-grid,.calendar-row,.todo-board{grid-template-columns:1fr}}.mobile-home{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.mobile-home .card{gap:var(--space-4);flex-direction:column;display:flex}.mobile-screen{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.quick-capture-input{background:var(--color-bg-inset);width:100%;height:48px}.quick-capture-cta-row{gap:var(--space-4);width:100%;display:flex}.quick-capture-btn{font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-secondary-cta);border:1px solid var(--color-secondary-cta);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);cursor:pointer;background:0 0;flex:1}.quick-capture-btn:hover{background:var(--color-secondary-bg)}.quick-capture-confirmation{font-size:var(--text-small);color:var(--color-primary-500);margin:0}.mobile-list{gap:var(--space-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.mobile-list-row{align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-3);background:var(--color-bg-card-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;display:flex}.mobile-list-row .todo-checkbox{flex:1;min-width:0}.mobile-list-row-title{min-width:0;font-size:var(--text-label);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mobile-list-row-time{font-size:var(--text-small);color:var(--color-text-secondary);flex-shrink:0}.mobile-day-badge{background:var(--color-primary-300);color:var(--color-primary-500);font-size:10px;font-weight:var(--weight-medium);text-transform:uppercase;border-radius:var(--radius-sm);padding:2px var(--space-2);flex-shrink:0}.name-slicer-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.name-slicer{align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;background:0 0;display:flex}.name-slicer-active{background:var(--color-primary-100);border-color:var(--color-primary-500);color:var(--color-text-primary)}.mobile-bottom-nav{z-index:15;background:var(--color-bg-inset);padding-bottom:env(safe-area-inset-bottom,0px);justify-content:center;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}.mobile-nav-item{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-family:var(--font-body);font-size:10px;font-weight:var(--weight-medium);padding:var(--space-2) 0;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;display:flex}.mobile-nav-item-active{color:var(--color-primary-500)}@media (width<=767px){.app-header{padding:var(--space-4) var(--space-4) var(--space-5);gap:var(--space-4)}.app-header .top-nav{padding:0 var(--space-3)}.app-header-inner{padding:var(--space-3) 0 0}.week-nav{align-items:flex-start;gap:var(--space-2);flex-direction:column;width:100%}.week-nav-heading{font-size:var(--text-section-heading)}.week-nav-jump-wrap{width:100%}.app{padding:0 var(--space-4) var(--space-8)}.app-mobile{padding-bottom:calc(84px + var(--space-4))}.onboarding-cta-bar{bottom:calc(84px + var(--space-4))}.calendar-strip .calendar-grid-wrap{overflow-x:auto}.calendar-grid-header,.calendar-grid-body{min-width:620px}.meal-grid-card{overflow-x:auto}.meal-grid{min-width:620px}}.landing{--landing-padding-x:120px;background-color:var(--color-bg-default);padding-bottom:var(--space-8)}.landing-top-bar{background:var(--color-accent-clem);width:100%;height:48px}.landing-nav-wrap{width:100%;padding-top:var(--space-4)}.landing-nav-wrap .top-nav{width:calc(100% - var(--landing-padding-x) * 2)}.landing-hero-inner{max-width:780px;padding:var(--space-8) var(--landing-padding-x) 0;text-align:center;align-items:center;gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.landing-headline{font-family:var(--font-body);font-size:56px;font-weight:var(--weight-regular);line-height:var(--leading-tight);color:var(--color-text-primary);margin:0}.landing-subhead{font-family:var(--font-body);font-size:20px;font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text-secondary);margin:0}.landing-cta{padding:var(--space-3) var(--space-6)}.btn.landing-nav-cta{font-size:var(--text-label);padding:var(--space-2) var(--space-4);flex-shrink:0}.btn-pill{border-radius:var(--radius-full);font-size:20px}.landing-value-props{max-width:1400px;padding:0 var(--landing-padding-x);gap:var(--space-6);grid-template-columns:repeat(3,1fr);margin:64px auto 0;display:grid}.landing-value-prop{align-items:flex-start;gap:var(--space-3);display:flex}.landing-value-prop-icon{border-radius:var(--radius-full);background:var(--color-bg-surface);width:48px;height:48px;box-shadow:var(--shadow-card);color:var(--color-primary-700);flex-shrink:0;justify-content:center;align-items:center;display:flex}.landing-value-prop-title{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-emphasis);color:var(--color-text-primary);margin:0 0 var(--space-1)}.landing-value-prop-desc{font-family:var(--font-body);font-size:20px;font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text-secondary);margin:0}.landing-screenshot-placeholder{max-width:1400px;margin:var(--space-7) auto 0;padding:0 var(--landing-padding-x)}.landing-screenshot-placeholder:before{content:"";aspect-ratio:16/9;background:var(--color-bg-surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);display:block}@media (width<=900px){.landing{--landing-padding-x:var(--screen-padding)}.landing-value-props{gap:var(--space-5);grid-template-columns:1fr}}@media (width<=767px){.landing-headline{font-size:40px}.landing-nav-wrap .top-nav{padding:0 var(--space-3);gap:var(--space-2)}.landing-nav-wrap .top-nav-logo{height:22px}}
