.recipe-detail{display:flex;flex-direction:column}.recipe-detail>:not(.modal-overlay)+:not(.modal-overlay){margin-top:var(--space-4)}.recipe-detail__header{position:sticky;top:var(--recipe-detail-header-offset, 80px);display:flex;flex-direction:column;gap:var(--space-3);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:0 2px 4px #1a354714;z-index:500}.recipe-detail__heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.recipe-detail__meta-list{margin:0;padding:0;display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.recipe-detail__meta-item{display:flex;flex-direction:column;gap:4px}.recipe-detail__meta-item dt{font-weight:600;color:var(--text-muted)}.recipe-detail__meta-item dd{margin:0;color:var(--text)}.recipe-detail__meta-link{color:inherit;text-decoration:none}.recipe-detail__meta-link:hover,.recipe-detail__meta-link:focus{text-decoration:underline}.recipe-detail__heading h1{margin:0;font-size:1.8rem}.recipe-detail__variant-banner{margin:0;color:var(--text-muted);font-size:.95rem}.recipe-detail__migration-note{margin:0;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid #f2d6a3;background:#fff3db;color:var(--text);font-size:.95rem}.recipe-detail__migration-link{color:var(--brand-blue);font-weight:600;text-decoration:underline}.recipe-detail__migration-link:hover,.recipe-detail__migration-link:focus{text-decoration:none}.recipe-detail__variant-link{color:var(--brand-blue);font-weight:600;text-decoration:none}.recipe-detail__variant-link:hover,.recipe-detail__variant-link:focus{text-decoration:underline}.recipe-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:38px}.recipe-detail__action-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--brand-blue);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.recipe-detail__action-button:hover,.recipe-detail__action-button:focus{background:var(--brand-blue-600);color:#fff}.recipe-detail__action-button--secondary{background:#fff;color:var(--brand-blue);border-color:var(--brand-blue)}.recipe-detail__action-button--secondary:hover,.recipe-detail__action-button--secondary:focus{background:#428bca1f;color:var(--brand-blue)}.recipe-detail__action-button:disabled,.recipe-detail__action-button[disabled]{background:#f1f3f5;border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.recipe-detail__menu{position:relative;display:inline-flex;align-items:center}.recipe-detail__menu-button{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text)}.recipe-detail__menu-button:hover,.recipe-detail__menu-button:focus{background:#428bca1f}.recipe-detail__menu-button .material-symbols-outlined{font-size:20px;line-height:1}.recipe-detail__menu-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 16px #1a35471f;padding:6px;z-index:20}.recipe-detail__menu-item{display:block;width:100%;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-weight:600}.recipe-detail__menu-item:hover,.recipe-detail__menu-item:focus{background:#428bca1f;color:var(--text)}.recipe-detail__action-note{margin:0;color:var(--text-muted)}.recipe-detail__variant-pref{margin:0;color:var(--text-muted);font-size:.95rem}.recipe-detail__variant-label{font-weight:600}.recipe-detail__hero{width:100%;max-width:640px;margin:0 auto;display:flex;justify-content:center;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:#f8fafc}.recipe-detail__task-tree-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:var(--space-3)}.recipe-detail__task-tree-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.recipe-detail__task-tree-toggle{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.recipe-detail__hero img{display:block;width:100%;height:auto;object-fit:contain}.recipe-detail__hero--empty{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-3)}.recipe-detail__error{padding:var(--space-4);border:1px solid rgba(211,47,47,.4);border-radius:var(--radius-sm);background:#d32f2f1f;color:#d32f2f}.recipe-detail__schedule{margin-top:var(--space-2);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}.recipe-detail__schedule form{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__form-row{display:flex;flex-direction:column;gap:var(--space-1)}.recipe-detail__form-servings{display:flex;gap:var(--space-2)}.recipe-detail__form-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600}.recipe-detail__form-checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--color-primary)}.recipe-detail__form-hint{margin:0;color:var(--text-muted, #666);font-size:.9rem}.recipe-detail__form-error{color:#d32f2f;margin:0}.recipe-detail__form-actions{display:flex;gap:var(--space-2)}.recipe-detail__metadata,.recipe-detail__variants{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}.recipe-detail__variants-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__variants-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2);padding:8px 0;border-bottom:1px solid rgba(26,53,71,.08)}.recipe-detail__variants-item:last-child{border-bottom:none}.recipe-detail__variants-main{display:flex;flex-direction:column;gap:4px}.recipe-detail__variants-link{font-weight:600;color:var(--brand-blue);text-decoration:none}.recipe-detail__variants-link:hover,.recipe-detail__variants-link:focus{text-decoration:underline}.recipe-detail__variants-owner{color:var(--text-muted);font-size:.875rem}.recipe-detail__variants-actions{display:flex;align-items:center;gap:var(--space-2)}.recipe-detail__variants-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);background:#428bca1f;color:var(--brand-blue);font-weight:600;font-size:.85rem}.recipe-detail__variants-button{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--brand-blue);background:#fff;color:var(--brand-blue);font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.recipe-detail__variants-button:hover,.recipe-detail__variants-button:focus{background:#428bca1f}.recipe-detail__variants-button:disabled{border-color:var(--border);color:var(--text-muted);background:#f1f3f5;cursor:not-allowed}.recipe-detail__variants-history-link{color:var(--brand-blue);font-weight:600;text-decoration:none}.recipe-detail__variants-history-link:hover,.recipe-detail__variants-history-link:focus{text-decoration:underline}.recipe-detail__metadata-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.recipe-detail__metadata-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.recipe-detail__metadata-toggle{align-self:center}.recipe-detail__metadata-edit{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--brand-blue);background:#fff;color:var(--brand-blue);font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.recipe-detail__metadata-edit:hover,.recipe-detail__metadata-edit:focus{background:#428bca1f}.recipe-detail__metadata-edit:disabled,.recipe-detail__metadata-edit[disabled]{background:#f1f3f5;border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.recipe-detail__metadata-body{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__source-banner{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:#f8fafc}.recipe-detail__source-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.recipe-detail__source-label{font-weight:700;color:var(--text-muted)}.recipe-detail__source-content{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.recipe-detail__source-content a,.recipe-detail__source-url{color:var(--brand-blue)}.recipe-detail__source-details{display:grid;gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.recipe-detail__source-detail{display:grid;gap:var(--space-1)}.recipe-detail__source-detail dt{margin:0;font-weight:700;color:var(--text-muted)}.recipe-detail__source-detail dd{margin:0}.recipe-detail__metadata-body[hidden]{display:none}.recipe-detail__metadata-columns{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.recipe-detail__metadata-column{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__metadata-subheading{font-size:1rem;font-weight:600;margin:0}.recipe-detail__metadata-list{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__metadata-list--stacked{width:100%}.recipe-detail__metadata-empty{margin:0;color:var(--text-muted);font-style:italic}.recipe-detail__metadata-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.recipe-detail__metadata-form-row{display:flex;flex-direction:column;gap:var(--space-1)}.recipe-detail__metadata-form-row input,.recipe-detail__metadata-form-row select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.recipe-detail__metadata-form-row input:disabled,.recipe-detail__metadata-form-row select:disabled{background:#f1f3f5;color:var(--text-muted)}.recipe-detail__metadata-helptext,.recipe-detail__metadata-original{margin:0;color:var(--text-muted);font-size:.85rem}.recipe-detail__metadata-error{margin:0;color:#d32f2f;font-size:.9rem}.recipe-detail__metadata-modal{max-width:520px;width:100%;max-height:90vh;overflow-y:auto;overscroll-behavior:contain}.recipe-detail__metadata-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.recipe-detail__metadata-row{display:flex;flex-direction:column;gap:4px}.recipe-detail__metadata-row dt{margin:0;font-weight:600;color:var(--text-muted)}.recipe-detail__metadata-value{margin:0;word-break:break-word}.recipe-detail__metadata-value--override{border-left:3px solid var(--brand-blue);padding-left:var(--space-2)}.recipe-detail__metadata-original-note{color:var(--text-muted);font-size:.85rem}.recipe-detail__section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.recipe-detail__section-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.recipe-detail__upcoming{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__upcoming ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__upcoming li{border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.recipe-detail__upcoming li:last-child{border-bottom:none;padding-bottom:0}.recipe-detail__upcoming a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}.recipe-detail__planned-row{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between;flex-wrap:nowrap}.recipe-detail__planned-row>.recipe-detail__upcoming-link{flex:1;min-width:0}.recipe-detail__planned-actions{display:flex;gap:var(--space-2);flex-shrink:0}.recipe-detail__planned-actions>button{flex-shrink:0;white-space:nowrap}.recipe-detail__upcoming .recipe-detail__upcoming-link--condensed{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-3);flex-wrap:nowrap;min-width:0}.recipe-detail__upcoming .recipe-detail__upcoming-link--condensed span{white-space:nowrap}.recipe-detail__upcoming-status{color:var(--text-muted);font-weight:500}.recipe-detail__upcoming a:hover .recipe-detail__upcoming-time{text-decoration:underline}.recipe-detail__upcoming-time{font-weight:600;color:var(--text)}.recipe-detail__upcoming-servings{color:var(--text-muted)}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.recipe-detail__annotations h2{margin-top:0}.recipe-detail__annotations dl{margin:0}.recipe-detail__annotations dt{font-weight:600;color:var(--text)}.recipe-detail__annotations dd{margin-left:0;margin-bottom:var(--space-2)}.recipe-detail__history-groups{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__history-group{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}.recipe-detail__history-heading{margin:0 0 var(--space-2);font-size:1rem}.recipe-detail__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__history-row{display:grid;grid-template-columns:130px 90px 170px 1fr;gap:var(--space-2);align-items:center;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.recipe-detail__history-row:hover,.recipe-detail__history-row:focus-visible{border-color:var(--brand-blue);box-shadow:0 2px 6px #1a354714}.recipe-detail__history-date{font-weight:600}.recipe-detail__history-rating{font-weight:700;color:var(--brand-blue)}.recipe-detail__history-image{display:flex;align-items:center;justify-content:center;max-width:170px}.recipe-detail__history-image img{display:block;width:100%;height:auto;max-width:150px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff}.recipe-detail__history-image-placeholder{color:var(--text-muted);font-style:italic}.recipe-detail__history-comment{color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ai-assistant-shell{min-height:100vh}.ai-assistant-shell__main{min-width:0}.ai-assistant-shell--sidebar{display:flex;align-items:stretch;height:100vh;overflow:hidden}.ai-assistant-shell--sidebar .ai-assistant-shell__main{flex:1 1 auto;height:100vh;overflow-y:auto}.ai-assistant-shell--sidebar .navbar{right:var(--ai-assistant-sidebar-width, 560px)}.ai-assistant-shell__assistant[hidden],.ai-support-modal-overlay[hidden]{display:none}.ai-assistant-shell--sidebar .ai-assistant-shell__assistant{flex:0 0 auto}.ai-assistant-shell--sidebar>.ai-assistant-shell__main .modal-overlay,.ai-assistant-shell--sidebar>.ai-assistant-shell__main .recipe-authoring__task-modal-overlay{right:var(--ai-assistant-sidebar-width, 560px)}.modal-overlay.ai-support-modal-overlay--sidebar{position:sticky;inset:auto;top:0;flex:0 0 auto;align-self:flex-start;height:100vh;justify-content:flex-end;align-items:stretch;background:transparent;padding:0;overflow:visible;z-index:1200}.modal-content.ai-support-modal.ai-support-modal--sidebar{width:560px;max-width:90vw;max-height:100vh;height:100vh;border-radius:0;border-left:1px solid var(--border);box-shadow:none}.ai-support-modal__sidebar-resize-handle{width:10px;cursor:col-resize;background:transparent}.ai-support-modal__sidebar-resize-handle:hover{background:#ffffff29}.modal-content.ai-support-modal{width:min(920px,94vw);max-height:86vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.ai-support-modal__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:#fff}.ai-support-modal--overdraft .ai-support-modal__header{background:#fff3f0}.ai-support-modal--blocked .ai-support-modal__header{background:#ffeceb}.ai-support-modal__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ai-support-modal__title-row h2{margin:0}.ai-support-modal__title-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.ai-support-modal__history-button{padding:6px 10px;font-size:.82rem;line-height:1.2}.ai-support-modal__close{background:#fff;border:1px solid var(--border);color:var(--text);width:32px;height:32px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;cursor:pointer;line-height:1}.ai-support-modal__close:hover,.ai-support-modal__close:focus-visible{border-color:var(--brand-blue);color:var(--brand-blue)}.ai-support-modal__balance{margin:var(--space-2) 0 0;color:var(--text-muted)}.ai-support-modal__alert{margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:#fff0d9;border:1px solid #f2d6a3;color:var(--text)}.ai-support-modal__alert--blocked{background:#ffe7e5;border-color:#f0b4b0}.ai-support-modal__history{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);background:#fafafa}.ai-support-modal__message{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border-subtle)}.ai-support-modal__message--user{background:#eef5ff;border-color:#cfe0ff}.ai-support-modal__message--progress{background:#f7f3e6;border-color:#e7ddc4}.ai-support-modal__message--system{background:#fff1eb;border-color:#f2c3b4}.ai-support-modal__message--interrupted{background:#fff4f4;border-color:#efc0c0}.ai-support-modal__message-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;text-transform:none;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.ai-support-modal__status-pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:600;letter-spacing:0;text-transform:none}.ai-support-modal__status-pill--interrupted{border-color:#d79a9a;color:#8f1b1b;background:#fff3f3}.ai-support-modal__progress{font-size:.85rem;color:var(--text-muted)}.ai-support-modal__progress summary{cursor:pointer}.ai-support-modal__progress ul{margin:var(--space-2) 0 0;padding-left:18px;color:var(--text)}.ai-support-modal__message-content{white-space:pre-wrap;color:var(--text)}.ai-support-modal__message-content--rich{white-space:normal}.ai-support-modal__message-content--rich p{margin:0 0 var(--space-1)}.ai-support-modal__message-content--rich p:last-child{margin-bottom:0}.ai-support-modal__message-content--rich ul,.ai-support-modal__message-content--rich ol{margin:var(--space-1) 0;padding-left:20px}.ai-support-modal__message-content--rich li{margin:0 0 var(--space-1)}.ai-support-modal__message-content--rich li:last-child{margin-bottom:0}.ai-support-modal__message-content--rich li p{margin:0}.ai-support-modal__message-note{margin-top:var(--space-1);font-size:.75rem;color:var(--text-muted)}.ai-support-modal__retry-button{margin-top:var(--space-1);width:fit-content;border:1px solid #c78f8f;border-radius:var(--radius-sm);background:#fff;color:#8f1b1b;font-size:.78rem;font-weight:600;padding:4px 8px;cursor:pointer}.ai-support-modal__retry-button:disabled{opacity:.6;cursor:not-allowed}.ai-support-modal__message-attachments{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2)}.ai-support-modal__message-attachment{border:1px solid var(--border-subtle);background:#fff;border-radius:var(--radius-sm);padding:0;cursor:pointer;overflow:hidden}.ai-support-modal__message-attachment img{display:block;max-width:min(320px,62vw);width:100%;height:auto}.ai-support-modal__image-dialog{max-width:min(900px,95vw)}.ai-support-modal__image-dialog-body{padding:var(--space-3);display:flex;justify-content:center}.ai-support-modal__image-dialog-body img{max-width:min(860px,88vw);max-height:76vh;width:auto;height:auto}.ai-support-modal__floating-confirm{border-top:1px solid #f2c3b4;background:#fff1eb;padding:var(--space-2) var(--space-4)}.ai-support-modal__confirm-text{font-size:.9rem;margin-bottom:var(--space-1);color:var(--text)}.ai-support-modal__confirm-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ai-support-modal__confirm-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:8px 12px;font-weight:600;color:var(--text);cursor:pointer}.ai-support-modal__confirm-button--primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.ai-support-modal__confirm-button--secondary{border-color:var(--brand-blue);color:var(--brand-blue)}.ai-support-modal__confirm-button--danger{border-color:#e3a3a3;color:#b71c1c;background:#fff3f3}.ai-support-modal__confirm-button:disabled{opacity:.6;cursor:not-allowed}.ai-support-modal__message-content table{width:100%;border-collapse:collapse}.ai-support-modal__message-content th,.ai-support-modal__message-content td{border:1px solid var(--border-subtle);padding:6px 8px;text-align:left}.ai-support-modal__error{margin:0 var(--space-4)}.ai-support-modal__session-modal{max-width:560px}.ai-support-modal__history-overlay{z-index:2100}.ai-support-modal__thread-modal{max-width:620px;width:min(620px,94vw)}.ai-support-modal__history-dialog{padding:0;max-height:82vh;display:flex;flex-direction:column;overflow:hidden}.ai-support-modal__history-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.ai-support-modal__history-header h3{margin:0}.ai-support-modal__history-body{padding:var(--space-3) var(--space-4);overflow-y:auto}.ai-support-modal__session-list{list-style:none;padding:0;margin:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-2)}.ai-support-modal__session-list li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.ai-support-modal__session-when{font-weight:600}.ai-support-modal__session-servings{color:var(--gray-700)}.ai-support-modal__session-servings--interrupted{color:#8f1b1b}.ai-support-modal__session-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.ai-support-modal__thread-link{width:fit-content;max-width:100%;border:none;background:none;color:var(--brand-blue);cursor:pointer;font:inherit;font-weight:600;text-decoration:underline;text-align:left;padding:0}.ai-support-modal__thread-link:hover,.ai-support-modal__thread-link:focus-visible{color:var(--brand-blue-600)}.ai-support-modal__thread-link[aria-disabled=true]{color:var(--text-muted);cursor:default;pointer-events:none;text-decoration:none}.ai-support-modal__thread-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ai-support-modal__thread-flag-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid #d9b66a;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;color:#805b00;background:#fff7e0}.ai-support-modal__thread-status-pill{display:inline-flex;align-items:center;border:1px solid #d79a9a;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;color:#8f1b1b;background:#fff3f3}.ai-support-modal__thread-feedback-link{width:fit-content;border:0;background:transparent;color:var(--brand-blue);cursor:pointer;padding:0;font-size:.82rem;text-decoration:underline}.ai-support-modal__thread-feedback-link:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.ai-support-modal__thread-flag-editor{margin-top:6px;display:flex;flex-direction:column;gap:6px}.ai-support-modal__thread-flag-editor textarea{width:100%;resize:vertical;min-height:70px}.ai-support-modal__thread-flag-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ai-support-modal__thread-flag-clear{border-color:#d49b9b;color:#9f1d1d}.ai-support-modal__session-primary,.ai-support-modal__session-secondary{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}.ai-support-modal__session-primary{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.ai-support-modal__session-primary:disabled,.ai-support-modal__session-secondary:disabled{opacity:.7;cursor:not-allowed}.ai-support-modal__session-secondary{background:#fff;color:var(--gray-800);border-color:var(--gray-300)}.ai-support-modal__input{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:#fff}.ai-support-modal__input textarea{width:100%;resize:vertical;min-height:60px}.ai-support-modal__attachments{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.ai-support-modal__attachment-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#f7fafc;max-width:100%}.ai-support-modal__attachment-label{font-size:.8rem;font-weight:600;color:var(--text)}.ai-support-modal__attachment-status{font-size:.72rem;color:var(--text-muted)}.ai-support-modal__attachment-status--failed{color:#b71c1c}.ai-support-modal__attachment-status--uploading{color:var(--brand-blue)}.ai-support-modal__attachment-remove{border:0;background:transparent;color:var(--text-muted);cursor:pointer;line-height:1;font-size:1rem}.ai-support-modal__attachment-remove:disabled{cursor:not-allowed}.ai-support-modal__attachment-input{display:none}.ai-support-modal__input-actions{display:flex;flex-direction:column;gap:var(--space-2)}.ai-support-modal__config-summary{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.78rem;color:var(--text-muted)}.ai-support-modal__config-model{color:var(--text);font-weight:600}.ai-support-modal__config-list{display:flex;flex-wrap:wrap;gap:6px}.ai-support-modal__config-item{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:#f6fafc;color:var(--text-muted)}.ai-support-modal__config-key{font-weight:600;color:var(--text)}.ai-support-modal__model-picker{position:relative;display:flex;align-items:flex-start;justify-content:flex-end}.ai-support-modal__model-menu{position:absolute;right:44px;bottom:0;min-width:220px;max-width:280px;max-height:240px;overflow-y:auto;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;box-shadow:0 6px 18px #1a35472e;z-index:2}.ai-support-modal__options-menu{position:absolute;right:44px;bottom:0;min-width:240px;max-width:320px;max-height:320px;overflow:visible;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;box-shadow:0 6px 18px #1a35472e;z-index:2}.ai-support-modal__options-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.ai-support-modal__options-item{width:100%;border:1px solid var(--border);background:#fff;padding:8px 10px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);cursor:pointer;text-align:left;font-weight:600;color:var(--text)}.ai-support-modal__options-item:hover,.ai-support-modal__options-item:focus-visible{border-color:var(--brand-blue);background:#428bca14}.ai-support-modal__options-current{font-weight:500;color:var(--text-muted)}.ai-support-modal__options-submenu{position:absolute;right:0;bottom:calc(100% + 8px);width:100%;min-width:240px;max-width:320px;max-height:240px;overflow-y:auto;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;box-shadow:0 6px 18px #1a35472e;z-index:3}.ai-support-modal__options-section+.ai-support-modal__options-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.ai-support-modal__option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ai-support-modal__model-menu-title{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.ai-support-modal__model-menu-status{font-size:.85rem;color:var(--text-muted);padding:var(--space-1) 0}.ai-support-modal__model-option{width:100%;border:1px solid transparent;background:#fff;padding:6px 8px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);cursor:pointer;text-align:left}.ai-support-modal__model-option--compact{justify-content:center;text-transform:capitalize}.ai-support-modal__model-option+.ai-support-modal__model-option{margin-top:4px}.ai-support-modal__model-option:hover,.ai-support-modal__model-option:focus-visible{border-color:var(--brand-blue);background:#428bca14}.ai-support-modal__model-option--selected{border-color:var(--brand-blue);background:#428bca1f}.ai-support-modal__model-label{font-weight:600;color:var(--text)}.ai-support-modal__model-meta{font-size:.75rem;color:var(--text-muted)}.ai-support-modal__icon-button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;color:var(--text);font-size:1.05rem;font-weight:700}.ai-support-modal__icon-button--primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.ai-support-modal__icon-button--primary:not(:disabled):hover,.ai-support-modal__icon-button--primary:not(:disabled):focus-visible{background:var(--brand-blue-600);border-color:var(--brand-blue-600)}.ai-support-modal__icon-button--secondary{background:#fff;border-color:var(--brand-blue);color:var(--brand-blue)}.ai-support-modal__icon-button--secondary:not(:disabled):hover,.ai-support-modal__icon-button--secondary:not(:disabled):focus-visible{background:#428bca1f}.ai-support-modal__icon-button--stop{background:#fff3f3;border-color:#e3a3a3;color:#b71c1c}.ai-support-modal__icon-button--stop:not(:disabled):hover,.ai-support-modal__icon-button--stop:not(:disabled):focus-visible{background:#ffe1e1;border-color:#d98989}.ai-support-modal__icon-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 720px){.recipe-detail__header{top:var(--recipe-detail-header-offset, 72px)}.recipe-detail__heading,.recipe-detail__section-header{flex-direction:column;align-items:flex-start}.recipe-detail__section-actions{width:100%;justify-content:flex-start}.recipe-detail__metadata-header{flex-direction:column;align-items:flex-start}.recipe-detail__metadata-toggle{align-self:flex-start}.recipe-detail__form-servings{flex-direction:column}.recipe-detail__history-row{grid-template-columns:1fr;row-gap:6px}.recipe-detail__history-image{max-width:100%;justify-content:flex-start}.recipe-detail__hero{max-width:100%}}.recipe-search{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-search__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.recipe-search__actions{display:flex;gap:var(--space-2)}.recipe-search__primary{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:var(--radius-sm);background:var(--brand-blue);color:#fff;text-decoration:none;font-weight:600;transition:background .2s ease}.recipe-search__primary:hover,.recipe-search__primary:focus{background:var(--brand-blue-600);color:#fff}.recipe-search__eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--space-1) 0;font-size:12px}.recipe-search__lede{color:var(--text-muted);margin:var(--space-1) 0 0 0;max-width:720px}.recipe-search__ghost{background:transparent;border:1px solid var(--border);color:var(--text);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:6px}.recipe-search__ghost:hover,.recipe-search__ghost:focus{border-color:var(--brand-blue);color:var(--brand-blue)}.recipe-search__bar{position:relative}.recipe-search__bar input{width:100%;font-size:18px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:0 1px 2px #0000000d}.recipe-search__bar.is-searching input{padding-right:46px}.recipe-search__spinner{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--border);border-top-color:var(--brand-blue);border-radius:50%;animation:recipe-search-spin .8s linear infinite}@keyframes recipe-search-spin{to{transform:rotate(360deg)}}.recipe-search__filters{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:0 1px 2px #0000000a}.recipe-search__accordion{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);background:transparent;color:var(--text);border:none;font-weight:600}.recipe-search__accordion:hover,.recipe-search__accordion:focus{color:var(--brand-blue)}.recipe-search__accordion-title{font-size:16px}.recipe-search__accordion-sub{color:var(--text-muted);font-weight:400;margin-top:2px}.recipe-search__panel{padding:0 var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.recipe-search__filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.recipe-search__filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-search__filter-label{font-weight:600}.recipe-search__pill-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-search__pill-group{display:inline-flex;align-items:center;gap:var(--space-2)}.recipe-search__pill-group-title{font-weight:700;white-space:nowrap}.recipe-search__pill-group-box{display:inline-flex;flex-wrap:nowrap;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc}.recipe-search__pill{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:6px 12px;cursor:pointer}.recipe-search__pill.is-active{border-color:var(--brand-blue);background:#e8f2ff;color:var(--brand-blue)}.recipe-search__pill--clear{background:transparent;border-color:var(--border-strong);color:var(--text-muted);padding:6px 10px}.recipe-search__hint{margin:0;color:var(--text-muted);font-size:14px}.recipe-search__filter-row--stacked{grid-template-columns:1fr}.recipe-search__filter-group--wide{grid-column:1 / -1}.recipe-search__typeahead{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.recipe-search__typeahead input{flex:1;min-width:260px}.recipe-search__typeahead-results{list-style:none;margin:var(--space-2) 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);max-height:220px;overflow:auto;background:#fff;box-shadow:0 1px 3px #0000000f}.recipe-search__typeahead-option{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;background:transparent}.recipe-search__typeahead-option:hover,.recipe-search__typeahead-option:focus{background:#f5f7fb}.recipe-search__typeahead-title{font-weight:600;color:var(--text)}.recipe-search__typeahead-subtitle{color:var(--text-muted);font-size:14px}.recipe-search__filter-actions{display:flex;justify-content:space-between;align-items:center}.recipe-search__source-panel{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);background:#fff;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-search__source-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.recipe-search__source-title{font-weight:700}.recipe-search__source-title a{color:inherit;text-decoration:none}.recipe-search__source-title a:hover,.recipe-search__source-title a:focus{color:var(--brand-blue)}.recipe-search__source-url a{color:var(--brand-blue)}.recipe-search__source-body dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0}.recipe-search__source-body dt{color:var(--text-muted);font-weight:600}.recipe-search__source-actions{display:flex;align-items:center;gap:var(--space-2)}.recipe-search__results{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-search__table-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.recipe-search__table{width:100%;border-collapse:collapse}.recipe-search__table thead{position:sticky;top:0;background:#fff;box-shadow:0 1px 0 var(--border);z-index:1}.recipe-search__source-link{color:var(--text)}.recipe-search__source-link:hover,.recipe-search__source-link:focus{color:var(--brand-blue)}.recipe-search__table th,.recipe-search__table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.recipe-search__table tbody tr:hover{background:#fafbfd}.recipe-search__sort{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:inherit;cursor:pointer;padding:0;font-weight:600}.recipe-search__sort.is-active{color:var(--brand-blue)}.recipe-search__rating{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:700}.recipe-search__muted{color:var(--text-muted)}.recipe-search__recipe-link{color:var(--brand-blue);text-decoration:none;font-weight:600}.recipe-search__recipe-link:hover,.recipe-search__recipe-link:focus{text-decoration:underline}.recipe-search__skeleton-row td{padding:var(--space-3)}.recipe-search__skeleton{height:12px;background:linear-gradient(90deg,#f4f6f8,#eef2f5,#f4f6f8);background-size:200% 100%;border-radius:var(--radius-sm);margin-bottom:10px;animation:recipe-search-shimmer 1.4s ease-in-out infinite}.recipe-search__error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:#fff6f6;color:#7f1d1d;border:1px solid #f9caca;border-radius:var(--radius-md);padding:var(--space-3)}.recipe-search__error button{background:#7f1d1d;color:#fff;border:none;padding:8px 12px;border-radius:var(--radius-sm)}@keyframes recipe-search-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recipe-search__empty{text-align:center;padding:var(--space-4)}.recipe-search__empty-actions{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.recipe-search__pagination{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2);align-items:center}.recipe-search__pager{display:flex;gap:var(--space-2);align-items:center}.recipe-search__page-size select{margin-left:var(--space-2);padding:var(--space-1) var(--space-2)}.recipe-search__count{text-align:right;color:var(--text-muted)}@media (max-width: 720px){.recipe-search__header{flex-direction:column}.recipe-search__actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.recipe-search__table-wrapper{overflow-x:auto}}:root{--rct-color-tree-bg: #f6f8fa;--rct-color-tree-focus-outline: #0366d6;--rct-color-focustree-item-selected-bg: #e8eaed;--rct-color-focustree-item-selected-text: inherit;--rct-color-focustree-item-focused-border: #0366d6;--rct-color-focustree-item-draggingover-bg: #ebf0f4;--rct-color-focustree-item-draggingover-color: inherit;--rct-color-nonfocustree-item-selected-bg: #e8eaed;--rct-color-nonfocustree-item-selected-text: inherit;--rct-color-nonfocustree-item-focused-border: #dbdbdb;--rct-color-search-highlight-bg: #a2aed2;--rct-color-drag-between-line-bg: #0366d6;--rct-color-arrow: #373a3f;--rct-item-height: 22px;--rct-color-renaming-input-submitbutton-bg: inherit;--rct-color-renaming-input-submitbutton-bg-hover: #0366d6;--rct-color-renaming-input-submitbutton-bg-active: #095fc1;--rct-color-renaming-input-submitbutton-text: inherit;--rct-color-renaming-input-submitbutton-text-hover: #ffffff;--rct-color-renaming-input-submitbutton-text-active: #ffffff}.rct-tree-root{font-family:sans-serif;background-color:var(--rct-color-tree-bg);padding:4px 0}.rct-tree-root-focus{outline:1px solid var(--rct-color-tree-focus-outline)}.rct-tree-item-li{font-size:.8rem;list-style-type:none;padding:0;margin:0}.rct-tree-item-title-container{display:flex;align-items:center;border-top:1px solid transparent;border-bottom:1px solid transparent;padding-left:var(--depthOffset, 0px)}.rct-tree-item-button{flex-grow:1;display:flex;align-items:center;box-sizing:border-box;background-color:transparent;font-family:inherit;font-size:inherit;border:none;width:100%;height:var(--rct-item-height);text-align:left;color:inherit;outline:none}.rct-tree-item-arrow{width:10px}.rct-tree-item-arrow svg{width:10px}.rct-tree-item-arrow-path{fill:var(--rct-color-arrow)}.rct-tree-items-container{margin:0;padding:0}.rct-tree-root:not(.rct-tree-root-focus) .rct-tree-item-title-container-selected{background-color:var(--rct-color-nonfocustree-item-selected-bg);color:var(--rct-color-nonfocustree-item-selected-text)}.rct-tree-root.rct-tree-root-focus .rct-tree-item-title-container-selected{background-color:var(--rct-color-focustree-item-selected-bg);color:var(--rct-color-focustree-item-selected-text)}.rct-tree-root.rct-tree-root-focus .rct-tree-item-title-container-focused{outline:none;border-color:var(--rct-color-focustree-item-focused-border)}.rct-tree-root:not(.rct-tree-root-focus) .rct-tree-item-title-container-focused{outline:none;border-color:var(--rct-color-nonfocustree-item-focused-border)}.rct-tree-item-title-container-dragging-over{background-color:var(--rct-color-focustree-item-draggingover-bg);color:var(--rct-color-focustree-item-draggingover-color)}.rct-tree-item-button-search-match{font-style:italic}.rct-tree-item-search-highlight{background-color:var(--rct-color-search-highlight-bg)}.rct-tree-drag-between-line{position:absolute;right:0;top:-2px;height:4px;background-color:var(--rct-color-drag-between-line-bg)}.rct-tree-drag-between-line-top{top:0}.rct-tree-drag-between-line-bottom{top:-4px}.rct-tree-search-input-container{position:absolute;top:0;right:0;width:120px}.rct-tree-search-input{position:fixed;width:120px}.rct-tree-item-renaming-form{flex-grow:1;display:flex}.rct-tree-item-renaming-input{flex-grow:1;background-color:inherit;border:none;color:inherit;outline:none}.rct-tree-item-renaming-submit-button{border:none;background-color:var(--rct-color-renaming-input-submitbutton-bg);border-radius:999px;color:var(--rct-color-renaming-input-submitbutton-text);cursor:pointer}.rct-tree-item-renaming-submit-button:hover{background-color:var(--rct-color-renaming-input-submitbutton-bg-hover);color:var(--rct-color-renaming-input-submitbutton-text-hover)}.rct-tree-item-renaming-submit-button:active{background-color:var(--rct-color-renaming-input-submitbutton-bg-active);color:var(--rct-color-renaming-input-submitbutton-text-active)}:root{--rct-color-tree-bg: transparent;--rct-item-height: 28px;--rct-color-search-highlight-bg: #acccf1;--rct-color-tree-focus-outline: transparent;--rct-item-margin: 1px;--rct-item-padding: 8px;--rct-radius: 4px;--rct-bar-offset: 6px;--rct-bar-width: 4px;--rct-bar-color: #0366d6;--rct-focus-outline: #000000;--rct-color-focustree-item-selected-bg: #f0f2f5;--rct-color-focustree-item-hover-bg: #f0f2f5;--rct-color-focustree-item-hover-text: inherit;--rct-color-focustree-item-active-bg: #e4e6eb;--rct-color-focustree-item-active-text: #4f4f4f;--rct-arrow-size: 10px;--rct-arrow-container-size: 16px;--rct-arrow-padding: 6px;--rct-cursor: pointer;--rct-search-width: 120px;--rct-search-height: 16px;--rct-search-padding: 8px;--rct-search-border: #b4b7bd;--rct-search-border-bottom: #0366d6;--rct-search-bg: #f8f9fa;--rct-search-text: #000000;--rct-search-text-offset: calc(var(--rct-search-padding) * 2 + 16px);--rct-search-container-width: calc(var(--rct-search-width) + var(--rct-search-text-offset) + var(--rct-search-padding) + 2px)}.rct-dark{--rct-color-search-highlight-bg: #2f5381;--rct-bar-color: #1d7be5;--rct-focus-outline: #ffffff;--rct-color-focustree-item-selected-text: #ffffff;--rct-color-focustree-item-selected-bg: #373737;--rct-color-focustree-item-hover-bg: #373737;--rct-color-focustree-item-hover-text: #ffffff;--rct-color-focustree-item-active-bg: #313131;--rct-color-focustree-item-active-text: #ffffff;--rct-color-focustree-item-draggingover-bg: #313131;--rct-color-focustree-item-draggingover-color: #ffffff;--rct-color-arrow: #ffffff;--rct-search-border: #4f4f4f;--rct-search-border-bottom: #1d7be5;--rct-search-bg: #373737;--rct-search-text: #ffffff;--rct-search-text-offset: calc(var(--rct-search-padding) * 2 + 16px)}.rct-tree-item-button{padding:0 var(--rct-item-padding) 0 calc(var(--rct-item-padding) + var(--rct-arrow-container-size) + var(--rct-arrow-padding));margin-left:calc(-1 * var(--rct-arrow-size));cursor:var(--rct-cursor);transition:color .1s ease-out,background-color .1s ease-out}.rct-tree-item-button:focus-visible{outline:2px solid var(--rct-focus-outline)}.rct-tree-item-button:hover{background-color:var(--rct-color-focustree-item-hover-bg);color:var(--rct-color-focustree-item-hover-text)}.rct-tree-item-button:active{background-color:var(--rct-color-focustree-item-active-bg);color:var(--rct-color-focustree-item-active-text)}.rct-tree-item-title-container-selected .rct-tree-item-button{background-color:var(--rct-color-focustree-item-selected-bg);color:var(--rct-color-focustree-item-selected-text)}.rct-tree-item-title-container-selected .rct-tree-item-button:before{content:" ";position:absolute;top:calc(var(--rct-bar-offset) + var(--rct-item-margin));left:calc(-.5 * var(--rct-bar-width));height:calc(var(--rct-item-height) - 2 * var(--rct-bar-offset));width:var(--rct-bar-width);background-color:var(--rct-bar-color);border-radius:99px}.rct-tree-item-button{margin-top:var(--rct-item-margin);margin-bottom:var(--rct-item-margin);position:relative;border-radius:var(--rct-radius)}.rct-tree-item-title-container-dragging-over .rct-tree-item-button{background-color:var(--rct-color-focustree-item-draggingover-bg);color:var(--rct-color-focustree-item-draggingover-color)}.rct-tree-item-title-container{border:none;background-color:unset!important}.rct-tree-item-arrow{z-index:1;margin-right:calc(-1 * var(--rct-arrow-container-size) + var(--rct-arrow-padding));width:var(--rct-arrow-container-size);height:var(--rct-arrow-container-size);display:flex;justify-content:center;align-content:center;border-radius:var(--rct-radius);cursor:var(--rct-cursor)}.rct-tree-item-arrow.rct-tree-item-arrow-isFolder:hover{background-color:var(--rct-color-focustree-item-hover-bg);color:var(--rct-color-focustree-item-hover-text)}.rct-tree-item-arrow svg{width:var(--rct-arrow-size)}.rct-tree-item-renaming-submit-button{border-radius:var(--rct-radius);visibility:hidden}.rct-tree-drag-between-line{border-radius:99px;height:3px}.rct-tree-search-input-container{width:var(--rct-search-container-width)}.rct-tree-search-input{width:var(--rct-search-width);height:var(--rct-search-height);padding:var(--rct-search-padding);padding-left:var(--rct-search-text-offset);margin:0;border:1px solid var(--rct-search-border);border-bottom:2px solid var(--rct-search-border-bottom);border-radius:var(--rct-radius);background-color:var(--rct-search-bg);color:var(--rct-search-text)}.rct-tree-search-input:focus{outline:none}.rct-tree-input-icon{content:url(data:image/svg+xml,%3Csvg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%2016%2016%22%20height%3D%221em%22%20width%3D%221em%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.742%2010.344a6.5%206.5%200%201%200-1.397%201.398h-.001c.03.04.062.078.098.115l3.85%203.85a1%201%200%200%200%201.415-1.414l-3.85-3.85a1.007%201.007%200%200%200-.115-.1zM12%206.5a5.5%205.5%200%201%201-11%200%205.5%205.5%200%200%201%2011%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E);position:fixed;transform:translateY(var(--rct-search-padding)) translate(var(--rct-search-padding));z-index:1}.rct-dark .rct-tree-input-icon{content:url(data:image/svg+xml,%3Csvg%20stroke%3D%22%23ffffff%22%20fill%3D%22%23ffffff%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%2016%2016%22%20height%3D%221em%22%20width%3D%221em%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.742%2010.344a6.5%206.5%200%201%200-1.397%201.398h-.001c.03.04.062.078.098.115l3.85%203.85a1%201%200%200%200%201.415-1.414l-3.85-3.85a1.007%201.007%200%200%200-.115-.1zM12%206.5a5.5%205.5%200%201%201-11%200%205.5%205.5%200%200%201%2011%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E)}.rct-rtl .rct-tree-item-title-container{flex-direction:row-reverse}.rct-rtl .rct-tree-item-button{text-align:right;justify-content:flex-end}.rct-rtl .rct-tree-item-title-container{padding-right:var(--depthOffset, 0px);padding-left:0}.rct-rtl .rct-tree-item-title-container-selected .rct-tree-item-button:before{left:unset;right:calc(-.5 * var(--rct-bar-width))}.rct-rtl .rct-tree-item-arrow{margin-left:4px}.rct-rtl .rct-tree-item-arrow:not(.rct-tree-item-arrow-expanded){transform:rotate(180deg)}.rct-tree-item-title-container{height:auto!important;align-items:flex-start}.rct-tree-item-button{white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:20px}.rct-tree-items-container{margin:0;padding-left:0}.task-tree__title{display:inline;width:auto;white-space:normal;word-break:break-word}.task-tree__confidence{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-right:6px;border-radius:50%;font-size:.75rem;font-weight:700;line-height:1;border:1px solid transparent}.task-tree__confidence--low{background:#dc262626;border-color:#dc262666;color:#b91c1c}.task-tree__title>span{display:inline;min-width:0}.task-tree__title>span:not(:last-child):after{content:" "}.task-tree__checkbox-container{display:flex;align-items:flex-start;padding:0}.task-tree__checkbox{margin:2px;padding:0}.task-tree__label{display:inline-flex;flex:1 1 auto;min-width:0;align-items:center}.task-tree__notes-button{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 4px;border:none;background:transparent;cursor:pointer;color:#9ca3af;position:relative}.task-tree__notes-button:disabled{cursor:default;opacity:.6}.task-tree__notes-button--disabled{cursor:default;opacity:.6}.task-tree__notes-button--active{color:#111827}.task-tree__notes-button--alert{color:#dc2626}.task-tree__timer-button{color:#6b7280;margin-left:2px;margin-right:6px;padding:2px;flex:0 0 auto;white-space:nowrap}.task-tree__timer-button--leading{margin:2px;padding:0}.task-tree__timer-button--running{color:#2563eb}.task-tree__timer-button--alarm{color:#dc2626}.task-tree__timer-button--countdown-display{color:#111827;font-weight:700}.task-tree__timer-button--elapsed-display{color:#b91c1c;font-weight:700}.task-tree__timer-readout{display:inline-block;white-space:nowrap;overflow-wrap:normal;word-break:normal;line-height:1;font-variant-numeric:tabular-nums}.task-tree__notes-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background-color:#111827;color:#fff;font-size:.65rem;font-weight:700}.task-tree__notes-count--active{background-color:#111827}.task-tree__notes-count--alert{background-color:#dc2626}.task-tree__primary,.task-tree__primary--draft{color:var(--task-text-color-draft);font-weight:var(--task-text-weight-draft)}.task-tree__primary--active{color:var(--task-text-color-active);font-weight:var(--task-text-weight-active)}.task-tree__primary--complete{color:var(--task-text-color-complete);font-weight:var(--task-text-weight-complete)}.task-tree__primary--component{color:#1e3a8a;font-weight:700;background:#bfdbfebf;padding:2px 6px;border-radius:6px}.task-tree__primary--component.task-tree__primary--complete{color:#7a8fd8;background:#bfdbfe66}.task-tree__description,.task-tree__description--draft{color:var(--task-description-color-draft);font-weight:var(--task-description-weight-draft)}.task-tree__description--active{color:var(--task-description-color-active);font-weight:var(--task-description-weight-active)}.task-tree__description--complete{color:var(--task-description-color-complete);font-weight:var(--task-description-weight-complete)}.task-tree__inline-note,.task-tree__inline-note--draft{color:#4b5563;font-size:.92em;font-style:italic}.task-tree__inline-note--active{color:#374151}.task-tree__inline-note--complete{color:#6b7280}.task-tree__ingredients,.task-tree__ingredients--draft,.task-tree__ingredient,.task-tree__ingredient--draft{font-style:var(--ingredient-text-font-style);color:var(--ingredient-text-color-draft);font-weight:var(--ingredient-text-weight-draft)}.task-tree__ingredients--active,.task-tree__ingredient--active{color:var(--ingredient-text-color-active);font-weight:var(--ingredient-text-weight-active)}.task-tree__ingredients--complete,.task-tree__ingredient--complete{color:var(--ingredient-text-color-complete);font-weight:var(--ingredient-text-weight-complete)}.task-tree__primary--pending-draft,.task-tree__description--pending-draft,.task-tree__inline-note--pending-draft,.task-tree__ingredients--pending-draft,.task-tree__ingredient--pending-draft{opacity:.85}.task-tree__primary--pending-active,.task-tree__description--pending-active,.task-tree__inline-note--pending-active,.task-tree__ingredients--pending-active,.task-tree__ingredient--pending-active{color:color-mix(in srgb,var(--task-text-color-active) 60%,var(--task-text-color-draft) 40%)}.task-tree__primary--pending-complete,.task-tree__description--pending-complete,.task-tree__inline-note--pending-complete,.task-tree__ingredients--pending-complete,.task-tree__ingredient--pending-complete{color:color-mix(in srgb,var(--task-text-color-complete) 65%,var(--task-text-color-draft) 35%)}.task-tree{--task-tree-checkbox-gap: 2px}.task-tree .rct-tree-item-title-container{display:flex;gap:var(--task-tree-checkbox-gap)}.task-tree .rct-tree-item-li{height:auto!important;min-height:calc(var(--rct-item-height) - 2 * var(--rct-item-margin))}.task-tree .rct-tree-item-title-container-selected .rct-tree-item-button:before{height:calc(100% - 2 * var(--rct-bar-offset))}.task-tree .rct-tree-item-arrow{margin-right:0;padding:4px;flex:0 0 var(--rct-arrow-container-size)}.task-tree .task-tree__checkbox-container{flex:0 0 auto;padding:0;margin:0;position:relative;z-index:1}.task-tree .task-tree__checkbox{margin:2px;padding:0;cursor:pointer}.task-tree .task-tree__timer-button--leading{margin:2px;padding:0}.task-tree .rct-tree-item-button{display:flex;align-items:flex-start;justify-content:flex-start;flex:1 1 auto;flex-wrap:wrap;height:auto!important;min-height:calc(var(--rct-item-height) - 2 * var(--rct-item-margin));padding-left:var(--rct-item-padding);margin-left:0}.task-tree__authoring-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px}.task-tree__authoring-button--active{outline:2px solid var(--task-tree-active-outline, #2563eb);outline-offset:2px}.task-tree__authoring-controls{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding-left:8px}.task-tree__authoring-action,.task-tree__drag-handle,.task-tree__hierarchy-button{background:none;border:none;color:inherit;font:inherit}.task-tree__drag-handle{display:inline-flex;align-items:center;justify-content:center;padding:2px;cursor:grab}.task-tree__hierarchy-controls{display:inline-flex;align-items:center;gap:2px;margin-left:-4px;margin-right:4px}.task-tree__hierarchy-button{display:inline-flex;align-items:center;justify-content:center;padding:2px;cursor:pointer}.task-tree__hierarchy-button:disabled{cursor:default;opacity:.45}.task-tree__authoring-action{padding:2px 4px;cursor:pointer}.task-tree__authoring-action--icon{padding:2px;display:inline-flex;align-items:center;justify-content:center}.task-tree__drag-handle:active{cursor:grabbing}.task-tree__authoring-action:hover,.task-tree__authoring-action:focus-visible,.task-tree__drag-handle:hover,.task-tree__drag-handle:focus-visible,.task-tree__hierarchy-button:hover:not(:disabled),.task-tree__hierarchy-button:focus-visible:not(:disabled){text-decoration:underline}.task-tree__authoring-action:focus-visible,.task-tree__drag-handle:focus-visible,.task-tree__hierarchy-button:focus-visible{outline:2px solid var(--task-tree-active-outline, #2563eb);outline-offset:2px}.task-tree__icon{width:16px;height:16px;display:block}.task-tree__dirty-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:6px;background-color:var(--task-tree-dirty-color, #d97706)}.task-tree__dirty-indicator--new{background-color:var(--task-tree-new-color, #059669)}.task-tree__drag-handle .task-tree__icon,.task-tree__hierarchy-button .task-tree__icon{pointer-events:none}.task-tree[data-task-tree-debug-overlay=height]{position:relative;padding-left:calc(var(--task-tree-debug-overlay-width, 14ch) + 16px)}.task-tree[data-task-tree-debug-overlay=height] .rct-tree-items-container,.task-tree[data-task-tree-debug-overlay=height] .rct-tree-item-li{overflow:visible}.task-tree__debug-overlay-active{position:relative}.task-tree__debug-overlay{position:absolute;left:calc(-1 * var(--task-tree-debug-overlay-width, 14ch));top:4px;width:var(--task-tree-debug-overlay-width, 14ch);padding:2px 4px;border-radius:4px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;line-height:1.2;text-align:right;color:#1e3a8a;background:#bfdbfed9;pointer-events:none;white-space:pre;z-index:4;box-shadow:0 0 0 1px #3b82f659}.recipe-detail__datepicker{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafafa}.recipe-detail__datepicker-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.recipe-detail__datepicker-month{font-weight:600}.recipe-detail__datepicker-controls{display:flex;gap:var(--space-2)}.recipe-detail__datepicker-control{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer}.recipe-detail__datepicker-control:disabled{opacity:.5;cursor:not-allowed}.recipe-detail__datepicker-control:hover,.recipe-detail__datepicker-control:focus{background:#fff;border-color:var(--brand-blue-400);color:var(--brand-blue-600)}.recipe-detail__datepicker-weekdays,.recipe-detail__datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.recipe-detail__datepicker-weekday{font-size:.8rem;font-weight:600;color:var(--text-muted)}.recipe-detail__datepicker-day{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid transparent;padding:6px 0;background:#fff;color:var(--text);cursor:pointer}.recipe-detail__datepicker-day:hover,.recipe-detail__datepicker-day:focus{background:#fff;border-color:var(--brand-blue-400)}.recipe-detail__datepicker-day.is-selected{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.recipe-detail__datepicker-day.is-today{border-color:var(--brand-blue-400);font-weight:600}.recipe-detail__datepicker-day.is-highlighted{box-shadow:inset 0 -3px #7a9a34}.recipe-detail__datepicker-day.is-disabled{opacity:.45;cursor:not-allowed}.recipe-detail__datepicker-day--empty{background:transparent;border:none;cursor:default}.recipe-detail__datepicker-actions{display:flex;justify-content:space-between;gap:var(--space-2)}.recipe-detail__datepicker-action{background:none;border:none;color:var(--brand-blue);padding:0;font:inherit;cursor:pointer}.recipe-detail__datepicker-action:disabled{opacity:.5;cursor:not-allowed}.recipe-detail__datepicker-action:hover,.recipe-detail__datepicker-action:focus{background:none;color:var(--brand-blue-600);text-decoration:underline}.task-notes__modal{width:min(820px,100%);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-3)}.task-notes__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.task-notes__header h2{margin:0}.task-notes__subtitle{margin:4px 0 0;color:var(--muted)}.task-notes__close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text)}.task-notes__composer{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.task-notes__composer textarea{width:100%;resize:vertical;border-radius:var(--radius-sm);border:1px solid var(--border);padding:var(--space-2);font-family:inherit}.task-notes__composer-actions{display:flex;justify-content:flex-end}.task-notes__error{color:#dc2626;margin:0}.task-notes__section{border-top:1px solid var(--border);padding-top:var(--space-3)}.task-notes__section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.task-notes__toggle{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.task-notes__list{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.task-notes__note{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);display:flex;justify-content:space-between;gap:var(--space-2);background:#fafafa}.task-notes__note-body{display:flex;flex-direction:column;gap:6px;flex:1}.task-notes__note-text{white-space:pre-wrap}.task-notes__note-meta{display:flex;gap:var(--space-2);font-size:.85rem;color:var(--muted)}.task-notes__note-type{font-weight:600;text-transform:capitalize}.task-notes__note-actions{display:flex;flex-direction:column;gap:6px}.task-notes__link-button{background:none;border:none;color:var(--brand-blue);cursor:pointer;font:inherit;text-align:left;padding:0}.task-notes__checkbox{display:flex;align-items:center;gap:6px;font-size:.9rem}@media (max-width: 720px){.task-notes__note{flex-direction:column}.task-notes__note-actions{flex-direction:row;gap:var(--space-2)}}.recipe-session{display:flex;flex-direction:column;position:relative}.recipe-session__header{position:sticky;top:var(--recipe-session-header-offset, 80px);display:flex;flex-direction:column;gap:var(--space-3);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);border-bottom-left-radius:0;border-bottom-right-radius:0;padding:var(--space-4);box-shadow:0 2px 4px #1a354714;z-index:500}.recipe-session__heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.recipe-session__title-group{display:flex;flex-direction:column;gap:4px}.recipe-session__scale-note{margin:0;color:var(--text-muted, #666);font-size:.95rem}.recipe-session__heading h1{margin:0;font-size:1.8rem}.recipe-session__back{color:var(--brand-blue);text-decoration:none;font-weight:600}.recipe-session__back:hover{text-decoration:underline}.recipe-session__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.recipe-session__zoom-controls{display:inline-flex;align-items:center;gap:var(--space-2)}.recipe-session__zoom-button{border:1px solid var(--border);background:#fff;color:var(--text);padding:6px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.recipe-session__zoom-button:hover,.recipe-session__zoom-button:focus-visible{border-color:var(--brand-blue);color:var(--brand-blue)}.recipe-session__zoom-button:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}.recipe-session__zoom-button:disabled{opacity:.5;cursor:default}.recipe-session__zoom-icon{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.recipe-session__rate-button{background:var(--brand-blue);color:#fff;border:none;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.recipe-session__rate-button:hover,.recipe-session__rate-button:focus-visible{background:#184d75}.recipe-session__meta-list{margin:0;padding:0;display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.recipe-session__meta-item{display:flex;flex-direction:column;gap:4px}.recipe-session__meta-item dt{font-weight:600;color:var(--text-muted)}.recipe-session__meta-item dd{margin:0;color:var(--text)}.recipe-session__shopping-warnings{border:1px solid #fecdca;border-radius:var(--radius-sm);background:#fffbfa;color:#b42318;padding:var(--space-2) var(--space-3)}.recipe-session__shopping-warnings ul{margin:4px 0 0;padding-left:1.25rem}.recipe-session__shopping-warnings li+li{margin-top:2px}.recipe-session__content{background:#fff;border:1px solid var(--border);border-top:none;border-radius:var(--radius-sm);margin-top:0;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-top-left-radius:0;border-top-right-radius:0;position:relative}.recipe-session__error{margin:0;color:#d32f2f}.recipe-session__ingredients{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f9fbfd;font-size:calc(1rem * var(--recipe-session-task-zoom, 1.5))}.recipe-session__ingredients-toggle{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);font-size:1em;font-weight:600;color:var(--text);cursor:pointer}.recipe-session__ingredients-toggle:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}.recipe-session__ingredients-toggle-icon{font-size:1em}.recipe-session__ingredients-list{padding:0 var(--space-4) var(--space-4)}.recipe-session__ingredients-list ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.recipe-session__ingredient{display:flex;align-items:flex-start;gap:var(--space-2);font-size:1em;color:var(--text)}.recipe-session__ingredient-title{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35em;flex:1;min-width:0}.recipe-session__ingredient-shopping-pill{display:inline-flex;align-items:center;border:1px solid #b7791f;border-radius:var(--radius-sm);background:#fffbeb;color:#92400e;font-size:.55em;font-weight:700;line-height:1.2;padding:.12em .4em;text-decoration:none;white-space:nowrap}.recipe-session__ingredient-group{display:flex;align-items:flex-start;gap:var(--space-2);font-size:1em}.recipe-session__ingredient-checkbox-placeholder{width:16px;height:16px;flex:0 0 16px;margin-top:2px}.recipe-session__ingredient input{margin-top:2px}.recipe-session__ingredient--complete{color:var(--text-muted);text-decoration:line-through}.recipe-session__ingredient--pending-active{color:color-mix(in srgb,var(--task-text-color-active) 55%,var(--text-muted) 45%)}.recipe-session__ingredient--pending-complete{color:color-mix(in srgb,var(--ingredient-text-color-complete) 55%,var(--text-muted) 45%)}.recipe-session__ingredient--pending-draft{opacity:.85}.recipe-session__ingredients-empty{margin:0;color:var(--text-muted)}.recipe-session__task-tree{font-size:calc(1rem * var(--recipe-session-task-zoom, 1.5))}.recipe-session__task-tree-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.recipe-session__task-tree-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:calc(1rem / var(--recipe-session-task-zoom, 1.5));font-weight:500}.recipe-session__task-tree .rct-tree-item-li{font-size:1em}.recipe-session__task-tree .rct-tree-item-button{line-height:1.35}@media (max-width: 720px){.recipe-session__header{top:var(--recipe-session-header-offset, 72px)}.recipe-session__heading{flex-direction:column;align-items:flex-start}.recipe-session__actions{width:100%;justify-content:flex-start}.recipe-session__heading h1{font-size:1.5rem}}.recipe-session__timer-modal{display:flex;flex-direction:column;gap:var(--space-3);width:min(420px,calc(100vw - 32px))}.recipe-session__timer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.recipe-session__timer-header h2{margin:0}.recipe-session__timer-close{border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text);padding:0}.recipe-session__timer-task-name{margin:0;font-weight:600}.recipe-session__timer-status{margin:0}.recipe-session__timer-status--countdown{color:#111827;font-weight:700}.recipe-session__timer-status--elapsed{color:#b91c1c;font-weight:700}.recipe-session__timer-field{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.recipe-session__timer-duration-fields{display:flex;gap:var(--space-3)}.recipe-session__timer-duration-fields .recipe-session__timer-field{flex:0 0 auto}.recipe-session__timer-field input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 1.4em 8px 6px;width:5.7ch;text-align:center}.recipe-session__timer-quickfill{align-self:flex-start}.recipe-session__timer-quickfill-row{display:flex;align-items:center;gap:var(--space-2)}.recipe-session__timer-quickfill-label,.recipe-session__timer-quickfill-separator{color:var(--text);font-weight:600}.recipe-session__timer-actions{display:flex;gap:var(--space-2)}.recipe-session__recipe-timers{display:flex;flex-direction:column;gap:var(--space-2);background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-top:var(--space-1)}.recipe-session__recipe-timers-toggle{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-2);width:100%;font-weight:600;background:transparent;border:none;padding:0;color:#111827;text-align:left}.recipe-session__recipe-timers-toggle:hover,.recipe-session__recipe-timers-toggle:focus-visible{background:transparent;color:#111827}.recipe-session__recipe-timers-toggle:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}.recipe-session__recipe-timers-label{color:#111827;font-weight:700}.recipe-session__recipe-timers-summary{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);font-variant-numeric:tabular-nums;font-weight:700;color:#111827}.recipe-session__recipe-timers-summary-item{color:#111827;font-weight:700;white-space:nowrap}.recipe-session__recipe-timers-summary-item--elapsed{color:#b91c1c}.recipe-session__recipe-timers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.recipe-session__recipe-timers-item{display:flex;align-items:center;gap:var(--space-2)}.recipe-session__recipe-timer-clock{min-width:64px;font-variant-numeric:tabular-nums;font-weight:700;color:#111827}.recipe-session__recipe-timer-clock--elapsed{color:#b91c1c}.recipe-session__recipe-timer-task{flex:1}.recipe-history{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-history__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.recipe-history__title{margin:0}.recipe-history__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.recipe-history__link{color:var(--brand-blue);text-decoration:none;font-weight:600}.recipe-history__link:hover,.recipe-history__link:focus{text-decoration:underline}.recipe-history__unchanged-label{font-style:italic}.recipe-history__card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}.recipe-history__table-wrapper{overflow-x:auto}.recipe-history__table{width:100%;border-collapse:collapse;min-width:720px}.recipe-history__table th,.recipe-history__table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:.95rem}.recipe-history__table th{color:var(--text-muted);font-weight:600;background:#1a35470a}.recipe-history__table tr:last-child td{border-bottom:none}.recipe-history__row--current td{background:#2f6ca814}.recipe-history__muted{color:var(--text-muted)}.recipe-history__error{color:#d32f2f}.recipe-history__badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem}.recipe-history__badge--visible{background:#4caf501f;color:#2e7d32}.recipe-history__badge--hidden{background:#9e9e9e1f;color:#616161}.recipe-history__checkbox{width:18px;height:18px;accent-color:var(--brand-blue);cursor:pointer}.recipe-history__checkbox:disabled{cursor:not-allowed;opacity:.6}.session-rating{max-width:960px;margin:0 auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.session-rating__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.session-rating__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;font-size:.85rem}.session-rating__subhead{margin:8px 0 0;color:var(--text-muted)}.session-rating__header-actions{display:flex;gap:var(--space-2)}.session-rating__back,.session-rating__action-button{border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius-sm);background:#fff;color:inherit;text-decoration:none;font:inherit;cursor:pointer}.session-rating__summary{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.session-rating__summary div{display:grid;gap:4px}.session-rating__summary dt{font-weight:600}.session-rating__scheduled-input{display:flex;flex-direction:column;gap:var(--space-2)}.session-rating__scheduled-input input{max-width:200px}.session-rating__form{display:flex;flex-direction:column;gap:var(--space-4)}.session-rating__section{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:#fbfbfb}.session-rating__section-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.session-rating__section-header--stacked{align-items:flex-start}.session-rating__image-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.session-rating__upload input[type=file]{border:1px solid #cfd8dc;padding:.35rem;border-radius:6px;background:#fff}.session-rating__upload input[type=file]:disabled{opacity:.6;cursor:not-allowed}.session-rating__image-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:1rem;align-items:flex-start}.session-rating__image-preview{border:1px dashed #cfd8dc;border-radius:8px;min-height:220px;display:flex;align-items:center;justify-content:center;background:#fafafa}.session-rating__image-preview img{max-width:100%;max-height:260px;border-radius:8px}.session-rating__image-meta{display:flex;flex-direction:column;gap:.5rem}.session-rating__image-option{display:flex;gap:.5rem;align-items:center;font-weight:600}.session-rating__thumbs{display:flex;flex-wrap:wrap;gap:.75rem}.session-rating__thumbs figure{margin:0;text-align:center}.session-rating__thumbs img{width:120px;height:auto;border-radius:6px;border:1px solid #cfd8dc;box-shadow:0 1px 4px #00000014}.session-rating__visibility{display:flex;gap:var(--space-2)}.session-rating__visibility label{display:flex;gap:6px;align-items:center}.session-rating textarea{width:100%;min-height:90px;resize:vertical;border-radius:var(--radius-sm);border:1px solid var(--border);padding:10px;font-size:1rem}.session-rating__hint{color:var(--text-muted);margin:6px 0 0;font-size:.95rem}.session-rating__add{align-self:flex-start;border:1px dashed var(--brand-blue);padding:8px 12px;border-radius:var(--radius-sm);background:#f8faff;cursor:pointer;color:var(--brand-blue);font-weight:600}.session-rating__add:hover,.session-rating__add:focus-visible{color:var(--brand-blue-600);border-color:var(--brand-blue-600);background:#eaf3ff}.session-rating__raters{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.session-rating__rater{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.session-rating__rater-toggle{border:none;background:transparent;display:flex;justify-content:space-between;width:100%;padding:12px;cursor:pointer;text-align:left;color:var(--text-muted)}.session-rating__rater-title{font-weight:600;color:var(--text-muted)}.session-rating__rater-toggle:hover,.session-rating__rater-toggle:focus-visible{color:var(--text)}.session-rating__rater-toggle[aria-expanded=true]{color:var(--text);background:#f3f7fb;border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.session-rating__rater-toggle[aria-expanded=true] .session-rating__rater-title{color:var(--text)}.session-rating__rater-fields{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px}.session-rating__field{display:flex;flex-direction:column;gap:4px}.session-rating__field input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;font-size:1rem}.session-rating__remove{align-self:flex-start;border:none;background:transparent;color:#c62828;cursor:pointer}.session-rating__guidance{margin:8px 0 0;padding-left:18px;color:var(--text-muted);display:grid;gap:6px}.session-rating__error{margin:0;color:#c62828}.session-rating__actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.session-rating__action-button{display:inline-flex;align-items:center;justify-content:center}.session-rating__action-button--primary{background:var(--brand-blue);color:#fff;border-color:transparent}.session-rating__action-button--primary:hover,.session-rating__action-button--primary:focus-visible{background:var(--brand-blue-600)}.session-rating__action-button--secondary:hover,.session-rating__action-button--secondary:focus-visible{background:#f7f9fc}.session-rating__action-button--danger{background:#fdeaea;border-color:#efc1c1;color:#9f1f1f}.session-rating__action-button--danger:hover,.session-rating__action-button--danger:focus-visible{background:#f7d6d6}.session-rating__action-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 640px){.session-rating__section-header{flex-direction:column;align-items:flex-start}.session-rating__header{flex-direction:column}}.ingredient-typeahead{position:relative;display:flex;flex-direction:column;gap:6px}.ingredient-typeahead__input{width:100%}.ingredient-typeahead__status{font-size:.875rem;color:var(--text-muted)}.ingredient-typeahead__error{font-size:.875rem;color:#d32f2f}.ingredient-typeahead__list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1500;list-style:none;margin:0;padding:4px 0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001f;max-height:220px;overflow-y:auto}.ingredient-typeahead__option{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;cursor:pointer;font-size:.95rem}.ingredient-typeahead__option:hover,.ingredient-typeahead__option--highlighted{background:#428bca1f}.ingredient-typeahead__option-name{flex:1}.ingredient-typeahead__badge{margin-left:12px;padding:2px 6px;border-radius:999px;background:#428bca2e;color:var(--brand-blue);font-size:.75rem;font-weight:600}.ingredient-typeahead__badge--validated{background:#4caf5026;color:#2e7d32}.ingredient-typeahead__create{margin-top:4px;align-self:flex-start;background:transparent;border:none;color:var(--brand-blue);font-weight:600;cursor:pointer;padding:0}.ingredient-typeahead__create:hover,.ingredient-typeahead__create:focus{text-decoration:underline}.ingredient-modal{width:min(480px,90vw);display:flex;flex-direction:column;gap:var(--space-3)}.ingredient-modal__intro{margin:0;color:var(--text-muted)}.ingredient-modal__error{background:#d32f2f1f;border:1px solid rgba(211,47,47,.4);color:#d32f2f;padding:var(--space-2);border-radius:var(--radius-sm)}.ingredient-modal__form{display:flex;flex-direction:column;gap:var(--space-2)}.ingredient-modal__field-error{margin:0;color:#d32f2f;font-size:.85rem}.ingredient-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.method-import-modal{width:min(720px,92vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.method-import-modal__header h2{margin:0}.method-import-modal__intro{margin:0;color:var(--text-muted);font-size:.95rem}.method-import-modal__error{background:#fdecea;color:#b42318;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);border:1px solid rgba(180,35,24,.3)}.method-import-modal__warning{background:#fff5e5;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);border:1px solid rgba(227,160,8,.3)}.method-import-modal__warning ul{margin:var(--space-1) 0 0 1.2rem;padding:0}.method-import-modal__label{font-weight:600}.method-import-modal__textarea{min-height:160px;width:100%;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);font-family:inherit;resize:vertical}.method-import-modal__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.method-import-modal__actions button{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#f7f8fa;color:var(--text);cursor:pointer;font-weight:600;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.method-import-modal__actions button[disabled]{cursor:not-allowed;opacity:.6}.method-import-modal__actions button:not([disabled]):hover,.method-import-modal__actions button:not([disabled]):focus-visible{border-color:#428bcacc;color:#428bca;outline:none}.method-import-modal__button--primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;box-shadow:0 2px 6px #428bca40}.method-import-modal__button--primary:not([disabled]):hover,.method-import-modal__button--primary:not([disabled]):focus-visible{background:var(--brand-blue-600);border-color:var(--brand-blue-600);color:#fff}.method-import-modal__secondary{background:transparent;color:var(--text);border-color:var(--border)}.method-import-modal__parent{display:flex;flex-direction:column;gap:var(--space-1)}.method-import-modal__parent select{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border)}.method-import-modal__preview{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);background:#fff}.method-import-modal__preview-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);align-items:center}.method-import-modal__confidence-summary{list-style:none;display:flex;gap:var(--space-2);margin:0;padding:0}.method-import-modal__confidence{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 8px;border-radius:999px;font-size:.85rem;font-weight:600}.method-import-modal__confidence strong{font-size:.9rem}.method-import-modal__confidence--high{background:#e6f4ea;color:#1a7f37}.method-import-modal__confidence--medium{background:#fdf4e7;color:#b46a07}.method-import-modal__confidence--low{background:#fdecea;color:#b42318}.method-import-modal__confidence--unknown{background:var(--border);color:var(--text)}.method-import-modal__placeholder{margin:0;color:var(--text-muted);font-style:italic}.method-import-modal__preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.method-import-modal__preview-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);background:#f9fafb}.method-import-modal__preview-item-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.method-import-modal__step-label{font-weight:600;color:var(--text-muted)}.method-import-modal__parsed-text{margin:0;font-weight:600}.method-import-modal__description{margin:0;color:var(--text-muted)}.method-import-modal__original{margin:0;font-size:.85rem}.method-import-modal__original code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#0000000d;padding:2px 4px;border-radius:var(--radius-xs)}.method-import-modal__issues{margin:0 0 0 1.2rem;padding:0;color:#b42318;font-size:.85rem}@media (max-width: 640px){.method-import-modal{width:96vw}.method-import-modal__actions{justify-content:center}}.ingredient-import-modal{width:min(720px,92vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.ingredient-import-modal__header h2{margin:0}.ingredient-import-modal__intro{margin:0;color:var(--text-muted);font-size:.95rem}.ingredient-import-modal__error{background:#fdecea;color:#b42318;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);border:1px solid rgba(180,35,24,.3)}.ingredient-import-modal__warning{background:#fff5e5;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);border:1px solid rgba(227,160,8,.3)}.ingredient-import-modal__warning ul{margin:var(--space-1) 0 0 1.2rem;padding:0}.ingredient-import-modal__label{font-weight:600}.ingredient-import-modal__textarea{min-height:160px;width:100%;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);font-family:inherit;resize:vertical}.ingredient-import-modal__mode{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);align-items:center;background:#fff}.ingredient-import-modal__mode h3{margin:0;font-size:1rem}.ingredient-import-modal__mode p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.9rem}.ingredient-import-modal__checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600}.ingredient-import-modal__checkbox input{width:1rem;height:1rem}.ingredient-import-modal__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.ingredient-import-modal__actions button{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#f7f8fa;color:var(--text);cursor:pointer;font-weight:600;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.ingredient-import-modal__actions button[disabled]{cursor:not-allowed;opacity:.6}.ingredient-import-modal__actions button:not([disabled]):hover,.ingredient-import-modal__actions button:not([disabled]):focus-visible{border-color:#428bcacc;color:#428bca;outline:none}.ingredient-import-modal__button--primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;box-shadow:0 2px 6px #428bca40}.ingredient-import-modal__button--primary:not([disabled]):hover,.ingredient-import-modal__button--primary:not([disabled]):focus-visible{background:var(--brand-blue-600);border-color:var(--brand-blue-600);color:#fff}.ingredient-import-modal__secondary{background:transparent;color:var(--text);border-color:var(--border)}.ingredient-import-modal__preview{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);background:#fff}.ingredient-import-modal__preview-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);align-items:center}.ingredient-import-modal__confidence-summary{list-style:none;display:flex;gap:var(--space-2);margin:0;padding:0}.ingredient-import-modal__confidence{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 8px;border-radius:999px;font-size:.85rem;font-weight:600}.ingredient-import-modal__confidence strong{font-size:.9rem}.ingredient-import-modal__confidence--high{background:#e6f4ea;color:#1a7f37}.ingredient-import-modal__confidence--medium{background:#fdf4e7;color:#b46a07}.ingredient-import-modal__confidence--low{background:#fdecea;color:#b42318}.ingredient-import-modal__confidence--unknown{background:var(--border);color:var(--text)}.ingredient-import-modal__placeholder{margin:0;color:var(--text-muted);font-style:italic}.ingredient-import-modal__preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.ingredient-import-modal__preview-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);background:#f9fafb}.ingredient-import-modal__preview-item-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.ingredient-import-modal__item-label{font-weight:600;color:var(--text-muted)}.ingredient-import-modal__parsed-text{margin:0;font-weight:600}.ingredient-import-modal__quantity,.ingredient-import-modal__description,.ingredient-import-modal__note{margin:0}.ingredient-import-modal__match{margin:0;font-size:.85rem;color:#1a7f37}.ingredient-import-modal__match--missing{color:#b46a07}.ingredient-import-modal__original{margin:0;font-size:.85rem}.ingredient-import-modal__original code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#0000000d;padding:2px 4px;border-radius:var(--radius-xs)}.ingredient-import-modal__issues{margin:0 0 0 1.2rem;padding:0;color:#b42318;font-size:.85rem}.ingredient-import-modal__hint{margin:0;font-size:.85rem;color:var(--text-muted)}@media (max-width: 640px){.ingredient-import-modal{width:96vw}.ingredient-import-modal__actions{justify-content:center}}.recipe-authoring{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-authoring__header,.recipe-authoring__section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px var(--space-4)}.recipe-authoring__header{display:flex;flex-direction:column;gap:var(--space-3);position:sticky;top:var(--recipe-authoring-header-offset, 92px);z-index:20;padding-top:var(--space-2);padding-bottom:var(--space-2);box-shadow:0 10px 24px #0f172a1f}.recipe-authoring__header-row{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.recipe-authoring__header-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;min-width:0}.recipe-authoring__title{margin:0;display:block;font-size:1.1rem;line-height:1.3;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-authoring__identity-fields{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}.recipe-authoring__header-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:0 1 auto;min-width:0}.recipe-authoring__header-button{min-height:36px;padding:var(--space-1) var(--space-3);line-height:1.1}.recipe-authoring__history-control{display:inline-flex;align-items:stretch}.recipe-authoring__history-toggle{min-width:104px}.recipe-authoring__history-menu{position:fixed;left:24px;right:24px;width:auto;box-sizing:border-box;z-index:30;display:flex;flex-direction:column;gap:4px;max-width:none;max-height:320px;overflow:auto;padding:12px;background:#eee7fb;border:1px solid #c9bae9;border-radius:var(--radius-sm);box-shadow:0 18px 32px #5f48962e}.recipe-authoring__history-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:#ffffffb8;color:var(--text);text-align:left;cursor:pointer}.recipe-authoring__history-entry.is-ai{background:#e8f4ffe6;border-color:#2e7dc138}.recipe-authoring__history-entry:hover,.recipe-authoring__history-entry:focus-visible{background:#fffffff2;border-color:#5f48963d;outline:none}.recipe-authoring__history-entry.is-active{background:#fffffff2;border-color:#5f489659}.recipe-authoring__history-entry.is-future{background:#f1ebffd1}.recipe-authoring__history-entry:disabled{cursor:default;opacity:1}.recipe-authoring__history-entry-summary{font-weight:600;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-authoring__history-entry-summary-row{display:flex;align-items:center;gap:8px;width:100%}.recipe-authoring__history-entry-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#2e7dc124;color:#155a8a;font-size:.72rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.recipe-authoring__history-entry-meta{color:#6e6391;font-size:.85rem}@media (max-width: 640px){.recipe-authoring__history-menu{left:12px;right:12px;width:auto;max-height:min(60vh,420px);padding:10px}}.recipe-authoring__header-button--placeholder:disabled{background:#f8fafc;color:#428bca99;border-color:var(--border)}.recipe-authoring__status{margin:0;color:var(--text-muted)}.recipe-authoring__confidence-warning{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:#d977061f;border-left:4px solid #d97706;border-radius:var(--radius-sm);color:#92400e;display:flex;flex-direction:column;gap:4px}.recipe-authoring__confidence-warning strong{font-weight:700}.recipe-authoring__confidence-warning-items{font-size:.9rem}.recipe-authoring__group-note{margin:0;color:var(--text-muted)}.recipe-authoring__group-metadata-value{margin:0;color:var(--text-muted);font-size:.85rem}.recipe-authoring__group-note,.recipe-authoring__variant-note,.recipe-authoring__confidence-warning{grid-column:1 / -1}@media (max-width: 900px){.recipe-authoring__header-row{align-items:stretch}.recipe-authoring__header-info{display:flex;flex-direction:column;align-items:stretch}.recipe-authoring__header-actions{flex-wrap:wrap;justify-content:flex-start}}.recipe-authoring__variant-note{margin:0;color:var(--text);background:#428bca14;padding:var(--space-2);border-radius:var(--radius-sm)}.recipe-authoring__section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);padding:4px 0}.recipe-authoring__section-header.is-collapsed{margin-bottom:0}.recipe-authoring__section-heading{display:flex;flex-direction:column;gap:4px}.recipe-authoring__section-heading h2{margin:0}.recipe-authoring__refresh{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#f7f8fa;color:var(--text);font-weight:500;cursor:pointer;transition:background .2s ease}.recipe-authoring__refresh:hover,.recipe-authoring__refresh:focus{background:#428bca1f}.recipe-authoring__metadata-panel{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-authoring__collapsible{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:#fff}.recipe-authoring__collapsible+.recipe-authoring__collapsible{margin-top:var(--space-2)}.recipe-authoring__collapsible-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:#f7f8fa;border:none;padding:10px 12px;font-weight:700;cursor:pointer;color:var(--text)}.recipe-authoring__section-toggle{width:auto;padding:6px 10px;background:#fff;border:1px solid var(--border)}.recipe-authoring__section-toggle:hover,.recipe-authoring__section-toggle:focus-visible{background:#428bca14}.recipe-authoring__collapsible-toggle:focus-visible{outline:2px solid rgba(66,139,202,.35);outline-offset:2px}.recipe-authoring__collapsible-icon{font-size:1.1rem}.recipe-authoring__collapsible-body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.recipe-authoring__form{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-authoring__form-grid{display:grid;gap:var(--space-3)}@media (min-width: 640px){.recipe-authoring__form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.recipe-authoring__field{display:flex;flex-direction:column;gap:4px}.recipe-authoring__field label{font-weight:600;color:var(--text)}.recipe-authoring__input,.recipe-authoring__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;color:var(--text);background:#fff}.recipe-authoring__input:focus,.recipe-authoring__select:focus{outline:2px solid rgba(66,139,202,.35);outline-offset:1px}.recipe-authoring__field-error{margin:0;color:#d32f2f;font-size:.875rem}.recipe-authoring__field-hint{margin:0;color:var(--text-muted);font-size:.875rem}.recipe-authoring__field-hint-inline{margin-left:6px;color:var(--text-muted);font-size:.875rem;font-weight:400}.recipe-authoring__form-error,.recipe-authoring__form-success{padding:var(--space-2);border-radius:var(--radius-sm);font-weight:500}.recipe-authoring__form-error{background:#d32f2f1f;border:1px solid rgba(211,47,47,.4);color:#d32f2f}.recipe-authoring__form-error--inline{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.recipe-authoring__form-success{background:#2e7d321f;border:1px solid rgba(46,125,50,.4);color:#2e7d32}.recipe-authoring__form-note{margin:0;color:var(--text-muted);font-size:.95rem}.recipe-authoring__save{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--brand-blue);color:#fff;font-weight:600;cursor:pointer;transition:background .2s ease}.recipe-authoring__save--secondary{background:#fff;border:1px solid var(--border);color:var(--brand-blue)}.recipe-authoring__save:disabled{cursor:not-allowed;background:#428bca59}.recipe-authoring__save--secondary:disabled{background:#f4f6f8;color:#428bca99;border-color:var(--border)}.recipe-authoring__save:not(:disabled):hover,.recipe-authoring__save:not(:disabled):focus{background:#428bcad9}.recipe-authoring__save--secondary:not(:disabled):hover,.recipe-authoring__save--secondary:not(:disabled):focus{background:#428bca14}.recipe-authoring__history-toggle.is-open,.recipe-authoring__history-toggle.is-open:not(:disabled):hover,.recipe-authoring__history-toggle.is-open:not(:disabled):focus{background:#eee7fb;border-color:#c9bae9;color:#5f4896}.recipe-authoring__retry{align-self:flex-start;border:none;padding:6px 10px;border-radius:var(--radius-sm);background:#fff;color:var(--brand-blue);font-weight:600;cursor:pointer}.recipe-authoring__retry:hover,.recipe-authoring__retry:focus{text-decoration:underline}.recipe-authoring__placeholder{margin:0;color:var(--text-muted)}.recipe-authoring__task-layout{display:grid;gap:var(--space-4);margin-top:var(--space-3)}@media (min-width: 960px){.recipe-authoring__task-layout{grid-template-columns:minmax(0,1fr)}}.recipe-authoring__task-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.recipe-authoring__task-tree-panel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:#fff;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-authoring__task-tree-toolbar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.recipe-authoring__task-toolbar-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f7f8fa;color:var(--text);font-weight:500;padding:6px 12px;cursor:pointer}.recipe-authoring__task-toolbar-button:hover,.recipe-authoring__task-toolbar-button:focus-visible{border-color:#428bcacc;color:#428bca;outline:none}.recipe-authoring__task-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f9fafb;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);width:min(720px,100%);max-height:min(88vh,900px);overflow-y:auto;box-shadow:0 24px 60px #0f172a59}.recipe-authoring__task-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.recipe-authoring__original-text{margin:var(--space-3) 0;padding:var(--space-3);background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);color:var(--text)}.recipe-authoring__original-text-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:600}.recipe-authoring__original-text-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:var(--text-muted)}.recipe-authoring__original-text-value{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace);font-size:.9rem}.recipe-authoring__confidence-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.recipe-authoring__confidence-badge--low{background:#dc262626;color:#b91c1c}.recipe-authoring__confidence-badge--medium{background:#f9731633;color:#c2410c}.recipe-authoring__confidence-badge--high{background:#16a34a2e;color:#047857}.recipe-authoring__confidence-note{margin:0 0 var(--space-3);font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.recipe-authoring__confidence-note .recipe-authoring__confidence-badge{margin-right:4px}.recipe-authoring__task-panel-close{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;width:32px;height:32px;font-size:1.1rem;line-height:1;cursor:pointer}.recipe-authoring__task-type-label{font-weight:600}.recipe-authoring__task-type-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-authoring__task-type-button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:6px 12px;font-weight:600;cursor:pointer}.recipe-authoring__task-type-button.is-active{background:#428bca1f;border-color:#428bcacc;color:var(--brand-blue)}.recipe-authoring__task-panel-header h3{margin:0;font-size:1.1rem}.recipe-authoring__task-panel-meta{margin:0;color:var(--text-muted);font-size:.85rem}.recipe-authoring__task-form{display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto}.recipe-authoring__task-field{display:flex;flex-direction:column;gap:6px}.recipe-authoring__task-field label{font-weight:600}.recipe-authoring__notes-field{gap:var(--space-2)}.recipe-authoring__notes-composer{border:none;border-radius:0;padding:0;gap:var(--space-2)}.recipe-authoring__notes-composer textarea{min-height:80px;width:100%;box-sizing:border-box}.recipe-authoring__notes-list{margin-top:0}.recipe-authoring__notes-system{margin-top:var(--space-2)}.recipe-authoring__task-grid{display:grid;gap:var(--space-3)}@media (min-width: 600px){.recipe-authoring__task-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.recipe-authoring__textarea{min-height:80px;resize:vertical;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;color:var(--text)}.recipe-authoring__textarea:focus{outline:2px solid rgba(66,139,202,.35);outline-offset:1px}.recipe-authoring__task-panel-note{margin:0;font-size:.85rem;color:var(--text-muted);background:#428bca14;border-radius:var(--radius-sm);padding:var(--space-2)}.recipe-authoring__task-panel-actions{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.recipe-authoring__task-panel-actions button{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:none}.recipe-authoring__task-panel-actions button:first-child{background:var(--brand-blue);color:#fff}.recipe-authoring__task-panel-actions button:first-child:disabled{background:#428bca59;cursor:not-allowed}.recipe-authoring__task-panel-actions .recipe-authoring__task-reset{background:transparent;border:1px solid var(--border);color:var(--text)}.recipe-authoring__task-panel-actions .recipe-authoring__task-reset:disabled{color:var(--text-muted);border-color:#00000014;cursor:not-allowed}.recipe-authoring__task-delete{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:1px solid rgba(211,47,47,.5);background:#d32f2f14;color:#c62828;cursor:pointer}.recipe-authoring__task-delete:hover,.recipe-authoring__task-delete:focus-visible{background:#d32f2f29;outline:none}.recipe-authoring__task-delete:disabled{border-color:#00000014;background:#d32f2f0a;color:#0006;cursor:not-allowed}.recipe-authoring__task-panel--empty{display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#fbfdff;min-height:280px;color:var(--text-muted);text-align:center;padding:var(--space-3)}.recipe-authoring__summary{margin:0 0 var(--space-2) 0;font-weight:500}.recipe-authoring__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-authoring__action{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--brand-blue);background:#fff;color:var(--brand-blue);text-decoration:none;font-weight:600;cursor:pointer;transition:background .2s ease}.recipe-authoring__action:hover,.recipe-authoring__action:focus{background:#428bca1f}.recipe-authoring__session-modal{max-width:560px}.recipe-authoring__variant-name-modal{max-width:520px}.recipe-authoring__draft-recovery-modal,.recipe-authoring__duplicate-modal{max-width:640px}.recipe-authoring__duplicate-list{list-style:none;padding:0;margin:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-authoring__duplicate-list li{padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:#f9fbff}.recipe-authoring__draft-recovery-actions,.recipe-authoring__duplicate-actions,.recipe-authoring__variant-name-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.recipe-authoring__draft-recovery-primary,.recipe-authoring__draft-recovery-secondary,.recipe-authoring__draft-recovery-tertiary,.recipe-authoring__duplicate-primary,.recipe-authoring__duplicate-secondary,.recipe-authoring__duplicate-tertiary,.recipe-authoring__variant-name-primary{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}.recipe-authoring__draft-recovery-primary,.recipe-authoring__duplicate-primary,.recipe-authoring__variant-name-primary{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.recipe-authoring__draft-recovery-secondary,.recipe-authoring__duplicate-secondary{background:#fff;color:var(--brand-blue);border-color:var(--brand-blue)}.recipe-authoring__draft-recovery-tertiary,.recipe-authoring__duplicate-tertiary{background:transparent;color:var(--gray-700);border-color:var(--gray-300)}.recipe-authoring__draft-recovery-primary:disabled,.recipe-authoring__draft-recovery-secondary:disabled,.recipe-authoring__draft-recovery-tertiary:disabled,.recipe-authoring__variant-name-primary:disabled{opacity:.65;cursor:wait}.recipe-authoring__session-list{list-style:none;padding:0;margin:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-authoring__session-list li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.recipe-authoring__session-when{font-weight:600}.recipe-authoring__session-servings{color:var(--gray-700)}.recipe-authoring__session-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.recipe-authoring__session-primary,.recipe-authoring__session-secondary{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}.recipe-authoring__session-primary{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.recipe-authoring__session-primary:disabled,.recipe-authoring__session-secondary:disabled{opacity:.7;cursor:not-allowed}.recipe-authoring__session-secondary{background:#fff;color:var(--gray-800);border-color:var(--gray-300)}.recipe-authoring__typeahead{position:relative}.recipe-authoring__typeahead-options{position:absolute;z-index:2;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;margin:0;padding:0;list-style:none;border:1px solid var(--border);background:#fff;border-radius:var(--radius-sm);box-shadow:0 8px 16px #00000014}.recipe-authoring__typeahead-option{padding:10px 12px;display:flex;flex-direction:column;gap:2px;cursor:pointer}.recipe-authoring__typeahead-option:hover,.recipe-authoring__typeahead-option.is-highlighted{background:#428bca14}.recipe-authoring__typeahead-title{font-weight:600}.recipe-authoring__typeahead-subtitle{font-size:.9rem;color:var(--text-muted)}.recipe-authoring__typeahead-status{margin-top:6px;font-size:.9rem;color:var(--text-muted)}.recipe-authoring__error{padding:var(--space-4);background:#d32f2f1f;border:1px solid rgba(211,47,47,.4);border-radius:var(--radius-sm);color:#d32f2f}.recipe-authoring__checkbox-field{margin-top:.5rem}.recipe-authoring__checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-weight:500}.bug-container{padding:24px;display:flex;flex-direction:column;gap:16px}.bug-content{display:grid;grid-template-columns:2fr 1fr;gap:16px}.bug-list,.bug-form{border:1px solid var(--border-subtle, #e5e7eb);border-radius:8px;padding:16px;background:var(--bg-surface, #fff)}.bug-list-header{display:flex;justify-content:space-between;align-items:center}.bug-list-items{margin-top:8px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.bug-list-item{border:1px solid var(--border-subtle, #e5e7eb);border-radius:6px;padding:12px;background:var(--bg-muted, #fafafa)}.bug-item-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.bug-issue-number{font-weight:600}.bug-item-title{font-size:14px;margin-bottom:4px}.bug-labels{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.bug-label{background:#eef2ff;color:#4338ca;padding:2px 6px;border-radius:4px;font-size:12px}.bug-status{padding:2px 6px;border-radius:4px;font-size:12px}.bug-status-open{background:#ecfdf3;color:#16a34a}.bug-status-closed{background:#fef2f2;color:#b91c1c}.bug-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.bug-field input,.bug-field textarea{width:100%;padding:8px;border-radius:4px;border:1px solid var(--border-subtle, #e5e7eb)}.bug-checkbox{display:flex;align-items:center;gap:8px;margin-bottom:12px}.bug-form button{padding:10px 12px}.bug-error{color:#b91c1c;margin-bottom:8px}.bug-muted{color:var(--text-muted, #6b7280);font-size:12px}.bug-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center}.bug-modal-content{background:#fff;padding:20px;border-radius:8px;max-width:360px;width:100%;box-shadow:0 10px 30px #00000026}@media (max-width: 900px){.bug-content{grid-template-columns:1fr}}.bug-filter-group{display:inline-flex;align-items:center;gap:8px;margin-left:auto;margin-right:8px}.bug-filter-group select{padding:4px 6px}.bug-item-link{color:inherit}.bug-detail-card{border:1px solid var(--border-subtle, #e5e7eb);border-radius:8px;background:var(--bg-surface, #fff);padding:16px}.bug-pre-wrap{white-space:pre-wrap;word-break:break-word;margin:0}.bug-comments{display:flex;flex-direction:column;gap:8px}.bug-comment{border:1px solid var(--border-subtle, #e5e7eb);border-radius:6px;padding:12px;background:var(--bg-muted, #fafafa)}.bug-comment-meta{margin-bottom:8px}.admin-ingredient-grid{grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr)}.admin-filter-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.admin-filter{display:inline-flex;align-items:center;gap:var(--space-1)}.admin-results{margin-top:var(--space-3);max-height:420px;overflow-y:auto}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.admin-list-inline{flex-direction:column;gap:var(--space-1)}.admin-list-item{width:100%;text-align:left;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid transparent;background:var(--surface-muted, #f7f7f7);color:var(--text);cursor:pointer}.admin-list-item.selected,.admin-list-item:hover,.admin-list-item:focus{border-color:var(--brand-blue);background:#f0f6ff}.alias-panel{border-top:1px solid var(--border);padding-top:var(--space-2);margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.alias-synonyms{display:grid;gap:var(--space-2)}.pill-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0;margin:0}.pill-list li{background:#f0f6ff;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.85rem}.admin-actions{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3)}.admin-actions .secondary,.admin-actions .primary{min-width:140px}.admin-detail-meta{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2)}.admin-secondary{background:#f2f4f8;color:var(--text);border:1px solid var(--border)}.admin-secondary:hover,.admin-secondary:focus{background:#e9edf3}.admin-secondary:disabled,.admin-secondary[disabled]{background:#f1f3f5;color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.muted.small{font-size:.85rem}:root{--brand-blue: #428bca;--brand-blue-600: #2d6ca2;--surface: #f8faff;--border: #dae2ea;--group-title: #687074;--text: #222;--text-muted: #7c9eb2;--danger: #b00020;--task-text-color-draft: var(--text);--task-text-color-active: var(--text);--task-text-color-complete: #b5b8c0;--task-text-weight-draft: 400;--task-text-weight-active: 700;--task-text-weight-complete: 400;--task-description-color-draft: #3d4a54;--task-description-color-active: #1f2a33;--task-description-color-complete: #b5b8c0;--task-description-weight-draft: 400;--task-description-weight-active: 500;--task-description-weight-complete: 400;--ingredient-text-color-draft: var(--text);--ingredient-text-color-active: var(--text);--ingredient-text-color-complete: #b5b8c0;--ingredient-text-weight-draft: 400;--ingredient-text-weight-active: 500;--ingredient-text-weight-complete: 400;--ingredient-text-font-style: italic;--radius-sm: 4px;--radius-md: 6px;--focus: #2aabd2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;color:var(--text)}.navbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:#fff;border-bottom:1px solid var(--border);z-index:1000}.navbar .brand{display:flex;align-items:center;gap:var(--space-2);color:var(--brand-blue);font-weight:700;text-decoration:none}.navbar .nav-right .nav-link{margin-left:var(--space-4);color:var(--text);text-decoration:none;background:none;border:none;padding:0;font:inherit;cursor:pointer}.navbar .nav-right{display:flex;align-items:center}.navbar .nav-right .nav-link:hover{color:var(--brand-blue)}.navbar .nav-right .user-menu{margin-left:var(--space-4)}.navbar .help-menu{position:relative}.navbar .help-menu .dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--border);box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;z-index:1000}.navbar .help-menu .dropdown a{margin:var(--space-1) 0;text-align:left;background:none;border:none;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--text);text-decoration:none}.navbar .help-menu .help-placeholder{margin:var(--space-1) 0;padding:var(--space-2) var(--space-3);color:var(--text-muted)}.navbar .help-menu .dropdown a:hover{background:var(--border)}.navbar .nav-placeholder{color:var(--text-muted);cursor:default}.navbar .nav-placeholder:hover{color:var(--text-muted)}.navbar .nav-right .nav-link.nav-action{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-blue);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-weight:600;line-height:1.1}.navbar .nav-right .nav-link.nav-action:hover{background:var(--brand-blue-600);color:#fff}.navbar .nav-right .nav-link.nav-action:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.navbar .admin-menu{position:relative;margin-left:var(--space-4)}.navbar .admin-toggle{display:flex;align-items:center;gap:var(--space-2);background:transparent;color:var(--text);border:1px solid var(--border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.navbar .admin-toggle:hover{border-color:var(--brand-blue-400);color:var(--brand-blue-600)}.navbar .admin-badge{background:#d32f2f;color:#fff;padding:2px 6px;border-radius:var(--radius-sm);font-weight:700;font-size:12px}.navbar .admin-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);min-width:240px;box-shadow:0 6px 24px #00000014;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);z-index:1200}.navbar .admin-menu-header{font-size:14px;color:var(--text-muted)}.navbar .admin-role-list{display:flex;flex-direction:column;gap:var(--space-2)}.navbar .admin-role{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border:1px solid var(--border);background:#fff;color:var(--text);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer}.navbar .admin-role:hover{border-color:var(--brand-blue-400)}.navbar .admin-role.active,.navbar .admin-role:disabled{background:#f3f4f6;border-color:var(--border);cursor:default}.navbar .admin-role-name{font-weight:600}.navbar .admin-role-code{font-size:12px;color:var(--text-muted)}.navbar .admin-exit{align-self:flex-start;background:#b71c1c;color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer}.navbar .admin-exit:hover{background:#8a0f0f}.navbar .user-menu>button{background:transparent;color:var(--text);border:none;padding:0;cursor:pointer;font:inherit}.navbar .user-menu>button:hover{color:var(--brand-blue);background:transparent}.navbar .nav-right.compact{gap:var(--space-2)}.navbar .nav-right.compact .nav-link,.navbar .nav-right.compact .admin-menu,.navbar .nav-right.compact .user-menu{margin-left:0}.navbar .icon-only-control{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem}.navbar .icon-only-control .material-symbols-outlined{font-size:1.25rem;line-height:1}.navbar .dropdown-summary{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-weight:600;color:var(--text-muted)}@media (max-width: 900px){.navbar{padding:var(--space-2)}.navbar .nav-right{gap:var(--space-1)}.navbar .nav-right .nav-link,.navbar .nav-right .user-menu,.navbar .nav-right .admin-menu{margin-left:0}.navbar .nav-right .nav-link.nav-action,.navbar .admin-toggle,.navbar .user-menu>button,.navbar .help-toggle{padding:var(--space-1) var(--space-2)}}.container{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4);padding-top:80px}.container--dashboard{max-width:1680px;padding-top:72px;padding-right:var(--space-3);padding-bottom:0;padding-left:var(--space-3)}.container--shopping{box-sizing:border-box;max-width:1680px;height:100vh;height:100dvh;padding-top:72px;padding-right:var(--space-3);padding-bottom:var(--space-3);padding-left:var(--space-3);overflow:hidden}.container--dashboard+.footer{margin-top:var(--space-3)}.footer{border-top:1px solid var(--border);padding:var(--space-4);text-align:center;color:var(--text-muted);margin-top:var(--space-6)}.footer-links{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2)}.footer-link-button{background:none;border:none;color:var(--brand-blue);text-decoration:underline;font:inherit;padding:0;border-radius:0}.footer-link-button:hover{background:none;color:var(--brand-blue-600)}.footer-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1300}.footer-modal__dialog{width:min(420px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 30px #0003;padding:var(--space-4)}.footer-modal__dialog h2{margin-top:0}.footer-modal__actions{display:flex;justify-content:flex-end}button{background:var(--brand-blue);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer}button:hover{background:var(--brand-blue-600)}button.danger{background:#d32f2f}button.danger:hover{background:#b71c1c}input{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm)}input:focus{outline:2px solid var(--focus)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-row{margin-bottom:var(--space-3)}.group-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.group-table{width:100%;border-collapse:collapse;margin-top:var(--space-3)}.group-table th,.group-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.group-table th:nth-child(1),.group-table td:nth-child(1){width:60%}.group-table th.balance-cell,.group-table td.balance-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.linklike{background:none;border:none;padding:0;margin:0;color:var(--brand-blue);cursor:pointer;text-decoration:underline;font:inherit}.linklike:hover{color:var(--brand-blue-600)}.auth-form{margin-top:var(--space-3)}.auth-terms{margin-bottom:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:#fff;display:flex;flex-direction:column;gap:var(--space-2)}.auth-terms h3,.auth-terms p{margin:0}.group-details-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);margin:0 0 var(--space-4)}.group-details-fieldset legend{font-weight:700;padding:0 var(--space-1)}.group-details-grid{display:grid;gap:var(--space-3)}.group-details-grid--ai,.group-details-grid--group-info{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.group-details-field{margin-bottom:0}.group-details-field label{display:block;margin-bottom:var(--space-1)}.group-details-field input,.group-details-field textarea{width:100%;box-sizing:border-box}.group-details-field textarea{resize:vertical}.group-details-field--compact textarea{min-height:4.75rem;max-height:6rem;overflow-y:auto}.group-details-field--large{grid-column:span 1}.group-details-field--large textarea{min-height:11rem;max-height:16rem;overflow-y:auto}.auth-switch button{margin-right:var(--space-2)}.user-menu{position:relative}.user-menu .dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--border);box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;z-index:1000}.user-menu .dropdown a,.user-menu .dropdown button{margin:var(--space-1) 0;text-align:left;background:none;border:none;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--text)}.user-menu .dropdown a:hover,.user-menu .dropdown button:hover{background:var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;z-index:2000;padding:var(--space-4);overflow-y:auto}.modal-content{background:#fff;padding:var(--space-4);border-radius:var(--radius-sm);box-shadow:0 2px 10px #0003}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.task-ingredient{color:var(--brand-blue)}.logged-out-home{display:flex;flex-direction:column;gap:var(--space-4)}.logged-out-home__header,.logged-out-home__overview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:var(--space-4)}.logged-out-home__header h1{margin-top:0}.logged-out-home__cta{display:inline-block;margin-top:var(--space-3);font-weight:600}.logged-out-home__overview>:first-child{margin-top:0}.logged-out-home__overview>:last-child{margin-bottom:0}.home-dashboard{display:flex;flex-direction:column;gap:var(--space-3)}.home-dashboard__panel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);min-height:220px;background:#fff}.home-dashboard__panel h2{margin-top:0}.home-dashboard__panel--scroll{overflow:hidden}.home-dashboard__panel--scroll .home-dashboard__list,.home-dashboard__panel--scroll .home-dashboard__meal-days{max-height:320px;overflow-y:auto;overflow-x:hidden;padding-right:var(--space-1)}.home-dashboard__panel--clip .home-dashboard__new-recipes{max-height:320px;overflow:hidden}.home-dashboard__panel--whats-new{display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden}.home-dashboard__whats-new-content{flex:1 1 auto;max-height:320px;overflow-y:auto;overflow-x:hidden;padding-right:var(--space-1)}.home-dashboard__whats-new-content>:first-child{margin-top:0}.home-dashboard__whats-new-content>:last-child{margin-bottom:0}.home-dashboard__whats-new-content h1,.home-dashboard__whats-new-content h2,.home-dashboard__whats-new-content h3{scroll-margin-top:72px}.home-dashboard__whats-new-content h1,.home-dashboard__whats-new-content h2,.home-dashboard__whats-new-content h3,.home-dashboard__whats-new-content h4,.home-dashboard__whats-new-content h5,.home-dashboard__whats-new-content h6{font-size:1rem;line-height:1.5}.home-dashboard__whats-new-content table{border-collapse:collapse;width:100%}.home-dashboard__whats-new-content th,.home-dashboard__whats-new-content td{border:1px solid var(--border);padding:var(--space-2);text-align:left}.home-dashboard__whats-new-link{margin:0;font-size:.95rem}.home-dashboard__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.home-dashboard__card{padding:var(--space-2) var(--space-1)}.home-dashboard__card-line1{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-2);align-items:baseline}.home-dashboard__card-name-link{display:inline-block;color:var(--text);text-decoration:none;font-size:.95rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-dashboard__card-name-link:hover,.home-dashboard__card-name-link:focus-visible{color:var(--brand-blue-600)}.home-dashboard__card-time{margin:0;font-size:.95rem;white-space:nowrap;font-variant-numeric:tabular-nums}.home-dashboard__card-meta{margin:4px 0 0;font-size:.95rem;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:var(--text-muted)}.home-dashboard__shopping-warning{margin:4px 0 0;color:#b42318;font-weight:600;font-size:.95rem;overflow-wrap:anywhere}.home-dashboard__shopping-needs{margin:4px 0 0;color:#92400e;font-weight:600;font-size:.95rem;overflow-wrap:anywhere}.home-dashboard__meal-days{list-style:none;margin:0;padding:0}.home-dashboard__meal-day{display:grid;grid-template-columns:6ch minmax(0,1fr);column-gap:var(--space-3);align-items:baseline;padding:var(--space-2) 0;border-bottom:1px dotted var(--border)}.home-dashboard__meal-day:last-child{border-bottom:none}.home-dashboard__meal-day-label{font-weight:600;margin:0;white-space:nowrap}.home-dashboard__meal-day-content{min-width:0;overflow-wrap:anywhere}.home-dashboard__meal-session+.home-dashboard__meal-session{margin-top:var(--space-1)}.home-dashboard__meal-day-content a{display:inline}.home-dashboard__meal-overdue,.home-dashboard__meal-servings{color:var(--text-muted);white-space:nowrap}.home-dashboard__meal-empty{color:var(--text-muted);margin:0}.home-dashboard__new-recipes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.home-dashboard__new-recipe-item{display:flex;justify-content:space-between;gap:var(--space-2)}.home-dashboard__new-recipe-item span{color:var(--text-muted);white-space:nowrap}.home-dashboard__new-recipes-subheading{margin:var(--space-2) 0 0;padding-top:var(--space-1);border-top:1px dotted var(--border);font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.home-dashboard__panel--shopping{overflow:hidden}.home-dashboard__panel--shopping .shopping-panel{height:100%}.shopping-page{display:flex;flex-direction:column;gap:var(--space-3);height:100%;min-height:0}.shopping-page__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);flex:1 1 auto;min-height:0}.shopping-page__pane{display:none;box-sizing:border-box;min-width:0;min-height:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:var(--space-3);overflow:hidden}.shopping-page__pane.is-active{display:flex;flex-direction:column}.shopping-page__selector{display:inline-flex;flex:0 0 auto;align-self:flex-start;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:#fff}.shopping-page__selector button{border:0;border-radius:0;background:#fff;color:var(--text);min-height:40px;padding:0 var(--space-3);line-height:1.2}.shopping-page__selector button+button{border-left:1px solid var(--border)}.shopping-page__selector button.is-active{background:var(--accent, #5d86c9);color:#fff}.shopping-page__header h1{margin:0}.shopping-page__header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3);flex:0 0 auto}.shopping-page__header p{margin:0;color:var(--text-muted)}.shopping-panel{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.shopping-panel--page{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:var(--space-3)}.shopping-panel--pane,.shopping-panel--list,.shopping-panel--execution,.shopping-panel--placeholder{flex:1 1 auto;height:100%;min-height:0}.shopping-panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.shopping-panel__header--stacked{align-items:center}.shopping-panel__header h2,.shopping-panel__header p{margin:0}.shopping-panel__header p{color:var(--text-muted);font-size:.95rem}.shopping-panel__entry{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:var(--space-2);background:#fff}.shopping-panel__entry input{min-width:0}.shopping-panel__entry button{display:inline-flex;align-items:center;justify-content:center;min-width:42px}.shopping-saving-indicator{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;color:var(--brand-blue)}.shopping-saving-indicator__spinner{width:.85rem;height:.85rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:shopping-saving-spin .75s linear infinite}.shopping-write-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem}.shopping-write-status--failed{color:var(--danger, #a12b2b)}.shopping-write-status button{min-height:1.75rem;padding:.15rem .45rem;font:inherit}@keyframes shopping-saving-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.shopping-saving-indicator__spinner{animation-duration:1.5s}}.shopping-panel__list,.shopping-panel__rows{list-style:none;margin:0;padding:0}.shopping-panel__list{flex:1 1 auto;max-height:300px;overflow-y:auto;overflow-x:hidden}.shopping-panel__rows{flex:1 1 auto;overflow-y:auto;overflow-x:hidden}.shopping-panel__item,.shopping-panel__row{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px dotted var(--border)}.shopping-panel__item span,.shopping-panel__row span{min-width:0;overflow-wrap:anywhere;font-weight:600}.shopping-panel__item time,.shopping-panel__row small{color:var(--text-muted);white-space:nowrap}.shopping-panel__item--overflow{display:block;min-width:0;color:var(--text-muted)}.shopping-panel__item--overflow em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-panel__empty,.shopping-panel__error{margin:0}.shopping-panel__error{color:var(--danger, #b42318)}.shopping-panel__requirements{display:flex;flex-direction:column;gap:var(--space-2)}.shopping-panel__requirements h3{margin:var(--space-2) 0 0;font-size:1rem}.shopping-panel__row{align-items:center}.shopping-panel__row>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.shopping-panel__row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1)}.shopping-panel__row-actions button{min-height:32px;white-space:nowrap}.shopping-panel__filter-button{display:inline-flex;align-items:center;gap:var(--space-1);min-height:34px;padding:0 var(--space-2);white-space:nowrap}.shopping-panel__filter-button strong{font-weight:600}.shopping-needs{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:var(--space-2);overflow-y:auto;overflow-x:hidden;padding-right:var(--space-1)}.shopping-needs .shopping-panel__entry{position:static;z-index:auto}.shopping-needs-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.shopping-needs-section__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:42px;box-sizing:border-box;cursor:pointer;padding:var(--space-2);font-weight:700;list-style:none}.shopping-needs-section__summary::-webkit-details-marker{display:none}.shopping-needs-section__summary:after{content:"expand_less";flex:0 0 auto;color:var(--text-muted);font-family:Material Symbols Outlined;font-size:1.35rem;line-height:1}.shopping-needs-section:not([open]) .shopping-needs-section__summary:after{content:"expand_more"}.shopping-needs-section__summary span{display:inline-flex;flex:1 1 auto;min-width:0;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.shopping-needs-section__include{display:inline-flex;align-items:center;margin-left:auto;padding-right:var(--space-6)}.shopping-needs-section__include input{width:1.4rem;height:1.4rem;accent-color:var(--color-primary)}.shopping-needs-section__summary small,.shopping-needs-section__detail{color:var(--text-muted);font-weight:400}.shopping-needs-section__detail{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0 var(--space-2) var(--space-2)}.shopping-needs-section__warning{color:#b3261e;font-weight:700}.shopping-need-lines{list-style:none;margin:0;padding:0 var(--space-2) var(--space-2)}.shopping-need-line{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-top:1px dotted var(--border)}.shopping-need-line--got{color:#8a94a3}.shopping-need-line--check{color:#7a5200}.shopping-need-line__select{display:inline-flex;align-items:center;justify-content:center}.shopping-need-line__select input{width:1.1rem;height:1.1rem;accent-color:var(--color-primary)}.shopping-need-line__body{display:flex;min-width:0;flex-direction:column;gap:2px}.shopping-need-line__body span{min-width:0;overflow-wrap:anywhere;font-weight:600}.shopping-need-line__body small{color:var(--text-muted)}.shopping-need-line__state{border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;color:var(--text);font-size:.85rem;white-space:nowrap}.shopping-need-line__state--got{color:#8a94a3;border-color:#c7ced8}.shopping-need-line__state--check{border-color:#c58b00;color:#7a5200}.shopping-page__placeholder{margin:0;color:var(--text-muted)}.shopping-run-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex:0 0 auto}.shopping-run-date-filter{position:relative;min-width:min(100%,260px)}.shopping-run-date-filter summary{cursor:pointer;color:var(--brand-blue)}.shopping-run-date-filter[open] .recipe-detail__datepicker{position:absolute;z-index:5;width:min(320px,calc(100vw - 48px));margin-top:var(--space-1);box-shadow:0 8px 20px #0f172a24}.shopping-run-detail-toggle{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.shopping-filter-menu{position:relative}.shopping-filter-menu summary{cursor:pointer;list-style:none}.shopping-filter-menu summary::-webkit-details-marker{display:none}.shopping-filter-menu__panel{position:absolute;top:calc(100% + var(--space-1));left:0;z-index:10;display:flex;min-width:220px;max-width:min(340px,calc(100vw - 48px));max-height:min(72vh,680px);overflow-y:auto;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:0 8px 20px #0f172a24}.shopping-filter-menu--wide .shopping-filter-menu__panel{display:grid;width:min(600px,calc(100vw - 48px));max-width:min(600px,calc(100vw - 48px));grid-template-columns:minmax(150px,max-content) minmax(300px,1fr);column-gap:var(--space-2)}.shopping-filter-menu__status-column,.shopping-filter-menu__controls-column{display:flex;min-width:0;flex-direction:column;gap:var(--space-2)}.shopping-filter-menu__group{display:flex;min-width:0;flex-direction:column;gap:var(--space-1);margin:0;padding:0;border:0}.shopping-filter-menu__group legend,.shopping-filter-menu__group>span{color:var(--text-muted);font-weight:600}.shopping-filter-menu__group label{display:inline-flex;align-items:center;gap:var(--space-1)}@media (max-width: 680px){.shopping-filter-menu--wide .shopping-filter-menu__panel{grid-template-columns:1fr;width:min(360px,calc(100vw - 48px));max-width:min(360px,calc(100vw - 48px))}}.shopping-run-bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:#f7f9fc}.shopping-run-bulkbar span{font-weight:600}.shopping-run-bulkbar button{min-height:32px;padding:0 var(--space-2)}.shopping-run-bulkbar__selected-actions{display:contents}.shopping-selection-tray{display:none}.shopping-bulk-action-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow-y:auto}.shopping-bulk-action-dialog h3{margin-top:0}.shopping-bulk-action-dialog__choices{display:flex;flex-direction:column;gap:var(--space-2)}.shopping-bulk-action-dialog__choices button{min-height:44px;padding:var(--space-2) var(--space-3);text-align:left}.shopping-run-bulkbar__destination{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.shopping-run-bulkbar__destination label{color:var(--text-muted)}.shopping-run-bulkbar__destination select{min-height:32px;max-width:220px}.shopping-runs{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:var(--space-2);overflow-y:auto;overflow-x:hidden;padding-right:var(--space-1)}.shopping-run-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.shopping-run-section__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:42px;box-sizing:border-box;cursor:pointer;padding:var(--space-2);font-weight:700;list-style:none}.shopping-run-section__summary::-webkit-details-marker{display:none}.shopping-run-section__summary:after{content:"expand_less";flex:0 0 auto;color:var(--text-muted);font-family:Material Symbols Outlined;font-size:1.35rem;line-height:1}.shopping-run-section:not([open]) .shopping-run-section__summary:after{content:"expand_more"}.shopping-run-section__summary span{min-width:0;overflow-wrap:anywhere}.shopping-run-section__summary small{margin-left:auto;color:var(--text-muted);font-weight:400;white-space:nowrap}.shopping-run-section__destination,.shopping-run-section__status,.shopping-run-date-menu{display:inline-flex;flex:0 1 auto;align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:.95rem;font-weight:500}.shopping-run-section__destination{min-width:180px;max-width:min(360px,42vw);flex:1 1 260px}.shopping-run-section__destination select{width:100%;min-height:32px;min-width:0;font-size:1rem;font-weight:700}.shopping-run-section__status{flex:0 0 auto;white-space:nowrap}.shopping-run-section__status select{min-height:30px;max-width:130px;font-weight:500}.shopping-run-date-menu{position:relative;flex:0 0 auto}.shopping-run-date-menu__summary{display:inline-flex;align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);cursor:pointer;font:inherit;font-weight:500;white-space:nowrap}.shopping-run-date-menu__summary .material-symbols-outlined{color:var(--text-muted);font-size:1.25rem}.shopping-run-date-menu__panel{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:20;width:min(360px,calc(100vw - 48px));padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:0 8px 20px #0f172a24}.shopping-run-section__warning{margin:0 var(--space-2) var(--space-1);padding:var(--space-1) var(--space-2);border-left:3px solid #b42318;background:#fff7f5;color:#8a1f14;font-size:.95rem}.shopping-run-section__warning p{margin:0}.shopping-run-modal{width:min(520px,calc(100vw - 48px))}.shopping-run-modal label{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.shopping-run-modal ul{margin:var(--space-2) 0 0;padding-left:var(--space-3)}.shopping-run-modal li{margin-bottom:var(--space-1)}.shopping-run-modal li span,.shopping-run-modal li small{display:block}.shopping-run-lines{list-style:none;margin:0;padding:0 var(--space-2) var(--space-2)}.shopping-run-line{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-top:1px dotted var(--border)}.shopping-run-line__select{display:inline-flex;align-items:center;justify-content:center}.shopping-run-line__select input{width:1.1rem;height:1.1rem;accent-color:var(--color-primary)}.shopping-run-line__body{display:flex;min-width:0;flex-direction:column;gap:2px}.shopping-run-line__body span{min-width:0;overflow-wrap:anywhere;font-weight:600}.shopping-run-line__body small{color:var(--text-muted);overflow-wrap:anywhere}.shopping-run-line__status{border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;color:var(--text-muted);font-size:.85rem;white-space:nowrap}.shopping-run-line__status-button{background:var(--surface);cursor:pointer}.shopping-run-line__status-button:hover{background:var(--surface-muted)}.shopping-line-modal__fieldset{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;border:0}.shopping-line-modal__fieldset legend{color:var(--text-muted);font-weight:700}.shopping-line-modal__fieldset label{display:flex;flex-direction:row;align-items:center;gap:var(--space-1)}.shopping-run-modal .shopping-line-modal__checkbox{display:inline-flex;flex-direction:row;align-items:center;align-self:flex-start;gap:var(--space-1)}.shopping-run-line__status--needed{color:var(--brand-blue-600);border-color:var(--brand-blue-300, var(--border))}.shopping-run-line__status--purchased{color:#2f7d32;border-color:#2f7d32}.shopping-run-line__status--unavailable{color:#b3261e;border-color:#b3261e}.shopping-run-line__status--substituted,.shopping-run-line__status--partially_purchased{color:#7a5200;border-color:#c58b00}.shopping-run-line__status--substituted.shopping-run-line__status--accepted_substitution{color:#2f7d32;border-color:#2f7d32}@media (min-width: 1024px){.home-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(260px,1fr));gap:var(--space-3);height:calc(100vh - 240px);min-height:560px}.home-dashboard__panel{min-height:0}.home-dashboard__panel--scroll .home-dashboard__list,.home-dashboard__panel--scroll .home-dashboard__meal-days,.home-dashboard__panel--clip .home-dashboard__new-recipes{max-height:none;height:calc(100% - 2.25rem)}.home-dashboard__whats-new-content,.home-dashboard__panel--shopping .shopping-panel__list{max-height:none}.shopping-page__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.shopping-page__selector{display:none}.shopping-page__pane{display:flex;flex-direction:column;min-height:0}.shopping-page__pane .shopping-panel__list,.shopping-page__pane .shopping-panel__rows{max-height:none;overflow-y:auto}.shopping-page__pane-title{display:block}}@media (max-width: 1023px){html.html--shopping-route,body.body--shopping-route{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.ai-assistant-shell--shopping-route,.ai-assistant-shell--shopping-route .ai-assistant-shell__main{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.container--shopping{height:auto;min-height:100vh;min-height:100dvh;padding:56px var(--space-2) var(--space-3);overflow:visible}.shopping-page{height:auto;gap:var(--space-2)}.shopping-page__header{gap:var(--space-1) var(--space-2)}.shopping-page__header h1{font-size:1.75rem;line-height:1.15}.shopping-page__header p{font-size:.95rem}.shopping-page__selector{min-height:36px}.shopping-page__selector button{min-height:34px;padding:0 var(--space-3)}.shopping-page__grid{flex:0 0 auto;gap:var(--space-2)}.shopping-page__pane,.shopping-page__pane.is-active{min-height:auto;padding:var(--space-2);overflow:visible}.shopping-page__pane .shopping-panel,.shopping-page__pane .shopping-panel--pane,.shopping-page__pane .shopping-panel--list,.shopping-page__pane .shopping-panel--execution,.shopping-page__pane .shopping-panel--placeholder{height:auto;min-height:auto}.shopping-page__pane .shopping-panel{gap:var(--space-2)}.shopping-page__pane .shopping-panel--has-selection{padding-bottom:calc(52px + var(--space-3) + env(safe-area-inset-bottom,0px))}.shopping-run-bulkbar__selected-actions{display:none}.shopping-selection-tray{position:fixed;right:var(--space-2);bottom:0;left:var(--space-2);z-index:1100;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:var(--space-2);padding:var(--space-2);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#fff;box-shadow:0 -4px 16px #0f172a29}.shopping-selection-tray button{min-height:40px}.shopping-bulk-action-overlay{align-items:flex-end;padding:var(--space-2);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}.shopping-bulk-action-dialog{width:100%;max-height:calc(100dvh - 64px);border-radius:var(--radius-md) var(--radius-md) 0 0}.shopping-run-section__summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"destination destination toggle" "date status toggle";gap:var(--space-1) var(--space-2);align-items:center}.shopping-run-section__summary:after{grid-area:toggle;align-self:center}.shopping-run-section__destination{grid-area:destination;width:100%;min-width:0;max-width:none}.shopping-run-section__destination select{min-height:40px}.shopping-run-date-menu{grid-area:date;min-width:0;justify-self:start}.shopping-run-section__status{grid-area:status;min-width:0;justify-self:end}.shopping-run-section__status select{min-height:40px;max-width:min(130px,38vw)}.shopping-run-date-menu__summary{min-height:40px}.shopping-run-date-menu__panel{right:auto;left:0;width:min(360px,calc(100vw - 32px));box-sizing:border-box}.shopping-run-line,.shopping-need-line{grid-template-columns:24px minmax(0,1fr) auto;align-items:start}.shopping-run-line__select,.shopping-need-line__select{min-height:40px}.shopping-run-line__body,.shopping-need-line__body{grid-column:2}.shopping-run-line__status,.shopping-need-line__state{grid-column:3;justify-self:end;white-space:nowrap}.shopping-run-line__status-button{min-height:36px}.shopping-page__pane .shopping-panel__list,.shopping-page__pane .shopping-panel__rows,.shopping-page__pane .shopping-runs{max-height:none;overflow:visible;padding-right:0}.shopping-page__pane-title{display:none}}@media (min-width: 1024px){html.html--shopping-route,body.body--shopping-route{height:100%;overflow:hidden}.ai-assistant-shell--shopping-route,.ai-assistant-shell--shopping-route .ai-assistant-shell__main{height:100vh;height:100dvh;overflow:hidden}}.admin-panel{display:flex;flex-direction:column;gap:var(--space-3)}.admin-credits-modal{width:min(520px,100%)}.admin-toggle-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.admin-panel-header{display:flex;justify-content:space-between;align-items:center}.admin-role-summary{color:var(--text-muted)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-3)}.admin-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:0 2px 6px #0000000d}.admin-form .form-row{display:flex;flex-direction:column;gap:var(--space-1)}.credits-page{display:flex;flex-direction:column;gap:var(--space-3)}.credits-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.credits-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.credits-balance{font-size:1.5rem;font-weight:700;color:var(--brand-blue-600)}.credits-select{min-width:240px}.credits-access-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2);margin-top:var(--space-2)}.credits-access-item{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);background:#fff}.credits-access-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.credits-transactions-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.credits-filters{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.credits-filters label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.9rem}.credits-filters .credits-filter-toggle{flex-direction:row;align-items:center;gap:var(--space-1)}.credits-table th.amount,.credits-table td.amount{text-align:right;font-variant-numeric:tabular-nums}.credits-table td.amount.negative{color:var(--danger);font-weight:600}.credits-modal{width:min(420px,100%)}.user-menu .dropdown .dropdown-balance{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);font-weight:600}.user-menu .dropdown .dropdown-balance.negative{color:var(--danger);font-weight:700}.user-menu .dropdown .dropdown-balance.loading{color:var(--text-muted);font-style:italic}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer}.chip input{margin:0}.chip-selected{border-color:var(--brand-blue);background:#f0f6ff}.chip-locked{opacity:.65;cursor:not-allowed}.chip small{display:block;color:var(--text-muted)}.table-responsive{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:var(--space-2);border-bottom:1px solid var(--border);text-align:left}.admin-table th{background:#fafafa;font-weight:600}.admin-table tr.selected{background:#f0f6ff}.admin-table button.danger{background:#fff0f0;color:#b00020;border:1px solid #ffcdd2}.admin-table button.danger:hover:not(:disabled){background:#ffebee}.audit-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.audit-row{display:flex;align-items:flex-start;gap:var(--space-2)}.audit-meta{min-width:180px}.audit-details-block{flex:1;min-width:240px}.audit-time{white-space:nowrap}.audit-details{background:#f7f7f7;padding:var(--space-2);border-radius:var(--radius-sm);overflow-x:auto}.help-center{display:flex;flex-direction:column;gap:var(--space-4)}.help-center__header h1{margin-bottom:var(--space-2)}.help-center__header p{margin-top:0;color:var(--text-muted)}.help-center__layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:var(--space-4);align-items:start}.help-center__nav{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);background:#fff}.help-center__nav h2{margin-top:0;margin-bottom:var(--space-3);font-size:16px}.help-center__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.help-center__nav button{width:100%;border:1px solid var(--border);background:#fff;border-radius:var(--radius-sm);padding:var(--space-2);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.help-center__nav button.active{border-color:var(--brand-blue-400);background:#eff6ff}.help-center__nav button span{color:var(--text);font-weight:600}.help-center__nav button small{color:var(--text-muted)}.help-center__article{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:#fff}.help-center__article h1,.help-center__article h2,.help-center__article h3{scroll-margin-top:72px}.help-center__article table{border-collapse:collapse;width:100%;margin-bottom:var(--space-3)}.help-center__article th,.help-center__article td{border:1px solid var(--border);padding:var(--space-2);text-align:left}.help-center__article img{max-width:100%;height:auto}.help-center__diagram{width:100%;margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc;overflow-x:auto}.help-center__diagram svg{display:block;max-width:100%;height:auto;margin:0 auto}.help-center__diagram--error{color:#b42318;background:#fff7f7}.help-center__back-link{margin-top:var(--space-4)}.whats-changed-page .help-center__article{min-height:280px}@media (max-width: 900px){.help-center__layout{grid-template-columns:1fr}}.terms-message-popup{position:fixed;top:90px;right:16px;width:min(420px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000026;padding:var(--space-4);z-index:1300}.terms-message-popup h2{margin-top:0}.terms-message-popup__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.terms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1400;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.terms-overlay__dialog{background:#fff;border-radius:var(--radius-md);width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:var(--space-4)}.terms-overlay__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.terms-acceptance-control{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.terms-acceptance-control__checkbox{display:flex;align-items:flex-start;gap:var(--space-2)}.terms-acceptance-control__checkbox input{margin-top:2px}.terms-markdown{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:#fff}.terms-page__header{margin-bottom:var(--space-3)}
