:root{--font-mono:"Source Sans 3", monospace;--font-size-body:13px;--font-size-small:11px;--font-size-heading:17px;--color-text:#000;--color-muted:#666;--color-border:#ccc;--color-surface:#fff;--color-surface-muted:#f7f7f7;--color-danger:#a61d24;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--control-height:42px;--control-radius:4px}*{font-family:var(--font-mono)!important}*,:before,:after{font-size:var(--font-size-body)!important}h1,h2,h3,h4,h5,h6,summary{font-size:var(--font-size-heading)!important}small,time,.text-small,.muted,[aria-live]{font-size:var(--font-size-small)!important}.logo-container{justify-content:center;width:100%;display:flex}.app-logo{width:400px;max-width:100%;height:auto;display:block}.back-button{width:100%;margin-top:20px;padding:12px 24px}html,body,#root{box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:0}*,:before,:after{box-sizing:border-box}html,body{width:100%;min-width:0;max-width:100%;overflow-x:hidden}body{color:var(--color-text);background:#fff}button,input,select,textarea{max-width:100%;font:inherit}button{min-height:var(--control-height);color:#000;border-radius:var(--control-radius);cursor:pointer;background:#fff;border:2px solid #000;padding:8px 12px}button:hover{color:#fff;background:#000}button:disabled{cursor:default;opacity:.5}input,select,textarea{width:100%;min-width:0;min-height:var(--control-height);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--control-radius);background:#fff;padding:9px 12px}textarea{resize:vertical}img,svg,video,canvas{max-width:100%}button,input,select,textarea{line-height:1.35}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #777}.app-container,.page-container,.content-container{width:100%;min-width:0;max-width:100%}.app-shell{width:100%;min-width:0;max-width:400px;margin:0 auto;padding:20px}.app-shell-wide{max-width:1240px}.app-text-input{width:100%;margin-bottom:20px}.main-menu-plus-button{border-width:3px;width:64px;min-height:64px;margin:8px auto 0;padding:0;font-weight:900;line-height:1;display:block;font-size:var(--font-size-heading)!important}.stack,.form-stack{gap:var(--space-3);min-width:0;display:grid}.row-wrap{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.text-muted{color:var(--color-muted)}.surface{background:var(--color-surface);border-radius:var(--control-radius);border:1px solid #d9d9d9;min-width:0}.list-editor-container{box-sizing:border-box;width:100%;max-width:100%}@media (width<=480px){.app-logo{width:280px}.back-button{margin-top:12px;padding:10px 16px}:root{--space-3:10px;--space-4:14px}}:root{--calendar-max-width:760px;--calendar-gap:14px;--calendar-mobile-padding:12px;--calendar-label-width:180px;--calendar-time-label-width:72px;--calendar-card-padding:16px;--calendar-cell-gap:4px;--calendar-event-radius:6px;--calendar-header-height:44px}.calendar-page{width:100%;max-width:var(--calendar-max-width);gap:var(--calendar-gap);min-width:0;margin:0 auto;padding:20px 0;display:grid}.calendar-page>*,.calendar-page section,.calendar-page header{min-width:0}.calendar-toolbar{grid-template-columns:1fr;gap:14px;display:grid}.calendar-toolbar>*{min-width:0}.calendar-toolbar-actions{grid-template-columns:auto minmax(96px,1fr) auto minmax(72px,1fr);align-items:center;gap:10px;width:100%;display:grid}.calendar-toolbar-top-actions{grid-template-columns:1fr;gap:10px;width:100%;display:grid}.calendar-toolbar-top-actions button{width:100%;margin:0}.calendar-menu-wrap{width:100%;position:relative}.calendar-menu{z-index:20;background:#fff;border:1px solid #d9d9d9;border-radius:4px;gap:4px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.calendar-menu-item{text-align:left;width:100%}.calendar-add-button{width:100%;height:var(--control-height);min-height:var(--control-height);border-width:2px;padding:0;font-weight:900;line-height:1;font-size:var(--font-size-body)!important}.calendar-date-card,.calendar-timeline-card{background:#fff;border:1px solid #d9d9d9;border-radius:4px;width:100%;min-width:0}.calendar-date-card{padding:18px}.calendar-date-card h3{font-size:var(--font-size-heading);overflow-wrap:anywhere;margin:0}.calendar-heading-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.calendar-view-switcher{flex-wrap:wrap;gap:4px;display:flex}.calendar-view-switcher button{min-height:var(--calendar-header-height);padding:8px 14px}.calendar-view-switcher button.is-active{color:#fff;background:#000}.calendar-timeline-card{padding:var(--calendar-card-padding);overflow:hidden}.calendar-timeline,.calendar-events{min-width:0}.calendar-hour-row{grid-template-columns:var(--calendar-time-label-width) minmax(0, 1fr);align-items:start;display:grid}.calendar-hour-label{color:var(--color-muted);font-size:var(--font-size-small)}.calendar-hour-line{border-top:1px solid #d9d9d9;height:64px}.calendar-events{inset:0 0 0 var(--calendar-time-label-width);position:absolute}.calendar-event-card{text-align:left;overflow-wrap:anywhere;min-width:0;overflow:hidden}.calendar-overview-card{background:#fff;border:1px solid #d9d9d9;border-radius:4px;width:100%;min-width:0;overflow:hidden}.calendar-week-grid{gap:var(--calendar-cell-gap);padding:var(--calendar-cell-gap);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week-day{background:#f7f7f7;border:1px solid #e2e2e2;min-width:0;min-height:260px;padding:8px}.calendar-week-day.is-selected,.calendar-month-cell.is-selected{border-color:#000}.calendar-overview-day-button,.calendar-month-date{color:#000;text-align:left;background:0 0;border:0;width:100%;min-height:40px;padding:6px}.calendar-overview-day-button:hover,.calendar-month-date:hover{color:#000;background:#e9e9e9}.calendar-overview-day-button span{color:var(--color-muted);display:block}.calendar-summary-entries,.calendar-month-entries{gap:4px;min-width:0;display:grid}.calendar-summary-entry{border-radius:var(--calendar-event-radius);color:#000;text-align:left;background:#fff;border:1px solid #d0d0d0;grid-template-columns:12px 86px minmax(0,1fr);align-items:center;gap:3px;width:100%;min-height:34px;padding:5px;display:grid}.calendar-summary-entry:hover{color:#000;background:#eee}.calendar-summary-entry-time,.calendar-more-label,.calendar-empty-label{color:var(--color-muted);font-size:var(--font-size-small)}.calendar-summary-entry-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-month-weekdays,.calendar-month-grid{gap:var(--calendar-cell-gap);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-month-weekdays{color:var(--color-muted);text-align:center;padding:10px 8px 6px;font-weight:700}.calendar-month-grid{padding:0 var(--calendar-cell-gap) var(--calendar-cell-gap)}.calendar-month-cell{background:#f7f7f7;border:1px solid #e2e2e2;min-width:0;min-height:112px;padding:4px}.calendar-month-cell.is-outside-month{color:#999;background:#fff}.calendar-month-cell.is-today .calendar-month-date{font-weight:900;text-decoration:underline}.calendar-month-cell .calendar-summary-entry{grid-template-columns:10px minmax(0,1fr);min-height:28px}.calendar-month-cell .calendar-summary-entry-time,.calendar-month-cell .calendar-entry-marker{display:none}.recipe-form{gap:18px;min-width:0;display:grid}.recipe-modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.recipe-modal-panel{background:#fff;border:1px solid #d9d9d9;width:min(960px,100%);max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 6px 20px #0000001f}.recipe-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.recipe-modal-close{background:0 0;border:0;min-height:0;padding:0 4px;line-height:1;font-size:var(--font-size-heading)!important}.recipe-modal-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.recipe-modal-primary-action,.recipe-modal-secondary-action{font-weight:600}.recipe-modal-primary-action{color:#fff;background:#111;border-color:#111}.recipe-modal-section{margin-bottom:16px}.recipe-modal-section-content{padding:12px 14px 16px}.recipe-section{background:#f7f7f7;border:2px solid #ccc;min-width:0}.recipe-section summary{cursor:pointer;font-size:var(--font-size-body);padding:10px 14px;font-weight:700}.recipe-section-content{gap:6px;min-width:0;padding:10px 14px 14px;display:grid}.recipe-field-row{grid-template-columns:var(--calendar-label-width) minmax(0, 1fr);align-items:center;gap:12px;min-width:0;display:grid}.recipe-field-row>*{min-width:0}.recipe-filter-row{grid-template-columns:var(--calendar-label-width) minmax(0, 1fr);min-width:0}.recipe-filter-row>*{min-width:0}.recipe-field-options,.recipe-flags{flex-wrap:wrap;gap:8px;display:flex}.recipe-field-options button.is-active{color:#fff;background:#222}.ingredient-search{background:#fff;border:2px solid #ccc;margin-bottom:16px;padding:14px}.ingredient-search>div:first-child{margin-bottom:8px;font-weight:600}.recipe-section-content,.ingredient-table,.ingredient-search{width:100%}.ingredient-table{background:#fff;border:2px solid #ccc;min-width:0}.ingredient-header,.ingredient-row{grid-template-columns:minmax(105px,1fr) 120px 140px 40px;gap:8px;min-width:0;display:grid}.ingredient-header{background:#f7f7f7;padding:10px 14px;font-weight:600}.ingredient-row{border-top:1px solid #ddd;align-items:center;padding:6px 14px}.ingredient-row>*{min-width:0}.ingredient-row input[type=number]{text-align:right;width:100%;min-width:0}.ingredient-remove{color:#000;width:40px;min-height:40px;font-size:var(--font-size-heading);background:0 0;border:0;padding:0}.ingredient-remove:hover{color:#000;background:#eee}@media (width<=768px){.calendar-page{padding:16px var(--calendar-mobile-padding)}.calendar-toolbar{gap:10px;display:grid}.calendar-toolbar-top-actions,.calendar-toolbar-actions{gap:8px}.calendar-heading-row{flex-direction:column;align-items:stretch}.calendar-view-switcher{width:100%}.calendar-view-switcher button{flex:1 1 0;padding-inline:8px}.calendar-week-grid{grid-template-columns:1fr;display:grid}.calendar-week-day{min-height:0}.calendar-month-cell{min-height:88px}.calendar-month-cell .calendar-summary-entry-title{font-size:var(--font-size-small)}.recipe-field-row,.recipe-filter-row{grid-template-columns:minmax(0,1fr);gap:6px}.recipe-choice-row{align-items:start}.recipe-field-row>label:not(.group-label){clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ingredient-header{display:none}.ingredient-row{grid-template-columns:minmax(96px,1fr) minmax(112px,1fr) 40px;gap:6px;padding:10px}.ingredient-row>input:first-child{grid-column:1/-1}}@media (width<=360px){.calendar-page{padding-inline:8px}.ingredient-row{grid-template-columns:minmax(92px,1fr) minmax(96px,1fr) 36px;gap:4px;padding-inline:6px}.ingredient-row select{font-size:var(--font-size-small);padding-inline:6px}}.list-items{text-align:left;margin-top:0}.list-item{font-size:var(--font-size-body);cursor:grab;touch-action:none;background:#fff;border:1px solid #fff;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:1px;padding:2px;display:flex}.list-header{font-size:var(--font-size-heading);color:#444;justify-content:space-between;align-items:center;margin-top:5px;margin-bottom:2px;padding:0 4px;font-weight:700;display:flex}.list-item-child{padding-left:18px!important}.list-item-content{flex-grow:1;align-items:center;gap:5px;display:flex}.list-item-content input[type=checkbox]{transform:scale(1.2)}.list-item-actions{gap:3px;display:flex}.list-actions{align-items:stretch;gap:4px;width:100%;margin-top:6px;margin-bottom:0;display:flex}.list-action-wrapper{flex:none;min-width:0;position:relative}.list-action-button{box-sizing:border-box;white-space:nowrap}.list-add-dropdown{z-index:1000;background:#fff;border:1px solid #ccc;border-radius:6px;width:240px;position:absolute;top:0;left:calc(100% + 8px);right:auto;overflow:hidden;box-shadow:0 4px 12px #00000026}.list-add-dropdown button{box-sizing:border-box;cursor:pointer;display:block;color:#333!important;width:100%!important;height:auto!important;font-size:var(--font-size-body)!important;text-align:left!important;white-space:nowrap!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;font-weight:400!important;line-height:1.4!important}.list-item-action{cursor:pointer;color:#888;font-size:var(--font-size-body);font-weight:400;line-height:1}.list-item-action:hover{color:#444}.list-item-actions{align-items:center;gap:16px;display:flex}.list-checkbox.checked{background:0 0;border-color:#777}.saved-lists{margin:0;padding:0;list-style:none}.saved-list-item{border:1px solid #ccc;border-radius:0;margin-bottom:4px;overflow:hidden}.saved-list-row{box-sizing:border-box;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.saved-list-row:hover{background-color:#f5f5f5}.saved-list-name{font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.saved-list-menu-button{font-size:var(--font-size-body);text-align:center;flex-shrink:0;width:40px;padding:0}.saved-list-details{border-top:1px solid #eee;padding:0 20px 20px}.list-action-button{margin-top:10px;margin-right:10px;padding:6px 12px}.known-emails{margin-top:10px}.known-emails-title{font-size:var(--font-size-small);margin-bottom:6px}.known-emails-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.known-email{cursor:pointer;font-size:var(--font-size-small);white-space:nowrap;border:2px solid #000;padding:6px 10px}.list-meta{font-size:var(--font-size-small);color:#555;margin-top:10px}.shared-emails{margin:8px 0 0;padding-left:20px}.shared-emails li{align-items:center;gap:8px;display:flex}.unshare-button{color:#d32f2f;cursor:pointer;background-color:#0000;border:1px solid #d32f2f;border-radius:4px;padding:2px 6px}.list-action-button{font-size:var(--font-size-body);margin-top:10px;margin-right:10px;padding:6px 12px;font-weight:500}.list-header{font-size:var(--font-size-heading);background-color:#dbeafe;border-left:none;border-radius:4px;padding:12px 4px 0 0;font-weight:700;color:#1e3a8a!important}.list-item-actions span{cursor:pointer;font-size:var(--font-size-body);font-weight:700;line-height:1;color:#3b82f6!important}.list-item-actions span:hover{color:#1d4ed8!important}.list-checkbox{box-sizing:border-box;cursor:pointer;color:#000;width:19px;min-width:19px;height:19px;font-size:var(--font-size-body);background:0 0;border:1.5px solid #000;border-radius:3px;justify-content:center;align-items:center;font-weight:900;display:flex}.list-checkbox.checked{color:#000;background:0 0;border-color:#000}.list-add-dropdown button{color:#1e40af!important;background:#eff6ff!important}.list-add-dropdown button:hover{background:#dbeafe!important}.list-edit-input{box-sizing:border-box;width:100%;min-width:0;font-size:var(--font-size-body);color:#333;background:#fff;border:1px solid #60a5fa;border-radius:3px;flex:1;padding:2px 4px;font-family:inherit;line-height:1.2}.comment-text{white-space:nowrap;text-overflow:ellipsis;max-width:240px;display:block;overflow:hidden}.comment-text:hover{white-space:pre-line;max-width:240px;font-size:var(--font-size-body);overflow-wrap:anywhere;overflow:visible}
