*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #e8735a;--primary-dark: #d4563d;--primary-light: #f09080;--secondary: #7a6b60;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--danger-muted: #f87171;--background: #FFF8F0;--surface: #ffffff;--text-primary: #3d2c22;--text-secondary: #7a6b60;--text-muted: #a89890;--border: #e8ddd4;--border-light: #fdf3eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-full: 9999px}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000;padding:.75rem 1.5rem;background:var(--primary);color:#fff;font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.skip-to-content:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;overflow:visible}.app-container{max-width:480px;margin:0 auto;min-height:100vh;background:var(--surface)}.header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:6px 20px;text-align:center}.header h1{font-size:1.1rem;font-weight:700;line-height:1.2;margin-bottom:0;text-align:left}.main-content{padding:20px}.slim-toolbar{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:12px;flex-wrap:wrap}.toolbar-pill{display:flex;align-items:center;gap:6px;background:var(--border-light);border:1px solid var(--border);border-radius:999px;padding:6px 14px;cursor:pointer;color:var(--text-secondary);font-size:.85rem;font-family:inherit;font-weight:500;transition:color .2s,border-color .2s,background-color .2s;white-space:nowrap}.toolbar-pill:hover{color:var(--primary);border-color:var(--primary);background-color:var(--surface)}.toolbar-pill:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.toolbar-pill-icon{font-size:.9rem;line-height:1}.toolbar-pill-label{white-space:nowrap}.preferences-modal{max-height:85vh;overflow-y:auto}.prefs-field{margin-bottom:16px}.prefs-field label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.prefs-field input:not([type=checkbox]),.prefs-field select{width:100%;padding:10px 12px;font-size:.9375rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.prefs-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a6b60' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.prefs-field input:not([type=checkbox]):focus,.prefs-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.prefs-field small{display:block;margin-top:4px;font-size:.75rem;color:var(--text-muted)}.prefs-field label.prefs-toggle{display:flex;align-items:center;gap:10px;margin-bottom:0}.prefs-toggle .toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0}.prefs-toggle .toggle-switch input{opacity:0;width:0;height:0;position:absolute}.prefs-toggle .toggle-track{position:absolute;inset:0;background:var(--border);border-radius:12px;cursor:pointer;transition:background .2s}.prefs-toggle .toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.prefs-toggle .toggle-switch input:checked+.toggle-track{background:var(--primary)}.prefs-toggle .toggle-switch input:checked+.toggle-track:after{transform:translate(20px)}.prefs-toggle .toggle-switch input:focus-visible+.toggle-track{box-shadow:0 0 0 3px #e8735a26}.prefs-toggle .toggle-label{font-size:.875rem;font-weight:600;color:var(--text-primary);cursor:pointer}.preferences-modal .btn-full{margin-top:8px}.recipe-input-area.collapsed .input-tabs,.recipe-input-area.collapsed .tab-content{display:none}.btn-action.disabled-estimate{opacity:.5;cursor:not-allowed;filter:saturate(.3)}.btn-action-wrapper{position:relative;width:100%}.btn-action-wrapper .btn-action{width:100%}.estimate-disabled-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:.8rem;color:var(--text-secondary);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;z-index:10}.estimate-disabled-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border)}.btn-action-wrapper:hover .estimate-disabled-tooltip,.btn-action-wrapper:focus-within .estimate-disabled-tooltip{display:block}.input-tabs{display:flex;gap:8px;margin-bottom:20px;background:var(--border-light);padding:4px;border-radius:var(--radius)}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn svg{width:24px;height:24px}.tab-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.tab-btn:not(.active):active{background:#ffffff80}.tab-panel{display:none}.tab-panel.active{display:block}.camera-section{display:flex;flex-direction:column;gap:16px}.camera-preview{position:relative;width:100%;aspect-ratio:4/3;background:var(--border-light);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}.camera-preview img{width:100%;height:100%;object-fit:contain}.camera-preview.has-images{flex-direction:column;align-items:stretch}.image-preview-grid{display:grid;gap:4px;width:100%;padding:0;flex:1;min-height:0}.image-preview-grid[data-count="1"]{grid-template-columns:1fr}.image-preview-grid[data-count="2"]{grid-template-columns:1fr 1fr}.image-preview-grid[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.image-preview-item{position:relative;border-radius:var(--radius);overflow:hidden}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-preview-item .remove-image-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;padding:0;box-shadow:0 1px 3px #0000004d}.image-preview-item .remove-image-btn:hover{background:#dc2626e6}.image-count-label{grid-column:1 / -1;font-size:.75rem;color:var(--text-muted);text-align:center;padding:4px 0}.camera-preview .placeholder{text-align:center;color:var(--text-muted);padding:20px}.camera-preview .placeholder svg{width:64px;height:64px;margin-bottom:12px;opacity:.5}.camera-preview .placeholder p{font-size:.875rem}.camera-preview .drag-overlay{position:absolute;inset:0;background:#22c55ee6;display:none;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-lg);border:3px dashed #166534;z-index:10}.camera-preview .drag-overlay svg{width:96px;height:96px;color:#fff;margin-bottom:16px}.camera-preview .drag-overlay p{font-size:1.25rem;font-weight:600;color:#fff}.camera-preview.drag-over .drag-overlay{display:flex}.camera-preview.drag-over .placeholder{opacity:0}.camera-buttons{display:flex;gap:12px}.camera-buttons .btn{flex:1}.dish-clarification-banner{margin-top:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.clarification-prompt{font-weight:600;margin-bottom:12px;color:var(--text-primary)}.clarification-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.clarification-btn{padding:8px 16px;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s,transform .1s}.clarification-btn:hover{opacity:.9;transform:translateY(-1px)}.clarification-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.clarification-btn--secondary{background:transparent;color:var(--text-secondary);border-color:var(--border)}.text-section{display:flex;flex-direction:column;gap:12px}.text-section label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.text-section textarea{width:100%;min-height:280px;padding:16px;font-size:1rem;font-family:inherit;border:2px solid var(--border);border-radius:var(--radius);resize:vertical;transition:border-color .2s,box-shadow .2s}.text-section textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.text-section textarea::placeholder{color:var(--text-muted)}.textarea-wrapper{position:relative}.textarea-wrapper textarea{padding-right:56px}.voice-btn{position:absolute;bottom:12px;right:12px;width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:var(--shadow-sm);z-index:1}.voice-btn:hover{background:var(--border-light)}.voice-btn:active{transform:scale(.95)}.voice-btn.recording{background:var(--danger);color:#fff;animation:pulse-ring 1.5s ease-in-out infinite}@keyframes pulse-ring{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.voice-hint{font-size:.8125rem;color:var(--text-muted);margin:0;padding:4px 0}.url-section{display:flex;flex-direction:column;gap:12px}.url-section label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.url-section input{width:100%;padding:14px 16px;font-size:1rem;border:2px solid var(--border);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}.url-section input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.url-section small{font-size:.75rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:.9375rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s}.btn svg{width:20px;height:20px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primary-dark);transform:scale(.98)}.btn-secondary{background:var(--border-light);color:var(--text-primary)}.btn-secondary:hover{background:var(--border)}.btn-secondary:active{background:#d6ccc4;transform:scale(.98)}.btn-action{width:100%;background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;font-size:1rem;padding:16px;margin-top:8px}.btn-action:active{transform:scale(.98);opacity:.9}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-full{width:100%}.loading-overlay{display:none;position:fixed;inset:0;background:#fffffff2;z-index:1000;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loading-overlay.active{display:flex}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.loading-overlay p{font-size:.9375rem;color:var(--text-secondary);text-align:center;padding:0 20px}.results-section{margin-top:24px;padding-top:24px;border-top:2px solid var(--border-light)}.results-header{text-align:center;margin-bottom:24px}.results-header h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);cursor:text;padding:4px 8px;margin:-4px -8px 4px;border-radius:var(--radius-sm);border:1px solid transparent;transition:border-color .2s ease,background-color .2s ease;outline:none;display:inline-block}.results-header h2:after{content:"\270f";font-size:.6em;margin-left:6px;opacity:0;transition:opacity .2s ease;vertical-align:middle}.results-header h2:hover{border-color:var(--border);background-color:var(--border-light)}.results-header h2:hover:after{opacity:.4}.results-header h2:focus{border-color:var(--primary);background-color:var(--surface)}.results-header h2:focus:after{opacity:0}.servings-control{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.servings-label{font-size:.875rem;color:var(--text-secondary)}.servings-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:1.25rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s}.servings-btn:hover{background-color:var(--border-light);border-color:var(--primary)}.servings-btn:active{background-color:var(--primary);color:#fff}.servings-btn:disabled{opacity:.5;cursor:not-allowed}.servings-control input{width:48px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:.875rem;font-weight:600;text-align:center;padding:0}.servings-control input:focus{outline:none;border-color:var(--primary)}.cost-section{background:var(--border-light);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.section-header{display:flex;align-items:center;padding:14px 16px}.section-header h3{flex:1;font-size:.9375rem;font-weight:600}.section-header .subtotal{font-size:.9375rem;font-weight:700;color:var(--primary)}.section-content{padding:0 16px 16px}.ingredient-item,.packaging-item{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border)}.ingredient-item:last-child,.packaging-item:last-child{border-bottom:none}.item-remove-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--primary);opacity:.3;transition:opacity .15s,color .15s;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}.item-remove-btn:hover{opacity:1;color:var(--danger)}.item-details{flex:1}.item-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.item-info{font-size:.75rem;color:var(--text-muted);margin-top:2px}.item-cost{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;margin-left:12px}.swipe-container{position:relative;overflow:hidden}.swipe-actions{position:absolute;inset:0;display:flex;pointer-events:none}.swipe-action-left,.swipe-action-right{display:flex;align-items:center;justify-content:center;width:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:0;transition:opacity .1s ease}.swipe-action-left{position:absolute;right:0;top:0;bottom:0;background:linear-gradient(90deg,transparent,var(--danger));color:#fff}.swipe-action-right{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(270deg,transparent,var(--primary));color:#fff}.swipeable-item{position:relative;background:var(--surface);z-index:1;touch-action:pan-y;will-change:transform}.swipeable-item.swipe-active{cursor:grabbing}.labor-item{display:flex;justify-content:space-between;padding:8px 0;font-size:.875rem}.labor-item .label{color:var(--text-secondary)}.labor-item .value{font-weight:500}.labor-item.total{border-top:1px solid var(--border);margin-top:8px;padding-top:12px;font-weight:600}.major-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}.major-section-header{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;user-select:none;background:linear-gradient(to right,var(--border-light),transparent);transition:background .2s}.major-section-header:hover{background:var(--border-light)}.major-section-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--primary);border-radius:var(--radius);flex-shrink:0}.major-section-icon svg{width:20px;height:20px;stroke:#fff}.major-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);flex:1}.major-section-subtotal{font-size:1.125rem;font-weight:700;color:var(--primary)}.major-chevron{width:20px;height:20px;stroke:var(--text-muted);transition:transform .3s;flex-shrink:0}.major-section.expanded .major-chevron{transform:rotate(180deg)}.major-section-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.major-section.expanded .major-section-content{max-height:2000px;transition:max-height .5s ease-in}.major-section .cost-section{background:transparent;border:none;border-radius:0;border-top:1px solid var(--border-light)}.major-section .cost-section:first-child{border-top:none}#businessSection .major-section-icon{background:var(--success)}.totals-section{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.total-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0;font-size:.9375rem}.total-row span:first-child{color:var(--text-secondary)}.total-row span:nth-child(2),.total-row span:nth-child(3){font-weight:600;text-align:right;min-width:70px}.total-row.total-header{padding-bottom:4px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.total-col-header{font-size:.75rem;font-weight:500!important;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);opacity:.7}.total-row.total-markup{grid-template-columns:1fr 1fr;background:var(--border-light);margin:4px -16px;padding:10px 16px}.total-row.total-final{border-top:2px solid var(--border);margin-top:4px;padding-top:12px}.total-row.total-final span{font-weight:700;font-size:1.0625rem;color:var(--text-primary)}.markup-control{display:flex;align-items:center;justify-content:center;gap:8px}.markup-control #suggestedMarkup{font-weight:600;color:var(--success);min-width:36px;text-align:center}.notes-section{background:#fef3c7;border-radius:var(--radius);padding:16px;margin-bottom:20px}.notes-section h4{font-size:.875rem;font-weight:600;color:#92400e;margin-bottom:8px}.notes-section p{font-size:.8125rem;color:#78350f;line-height:1.5}.instructions-section{background:#eff6ff;border-radius:var(--radius);padding:16px;margin-bottom:20px}.instructions-header{all:unset;display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;box-sizing:border-box}.instructions-header:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--radius-sm)}.instructions-section h4{font-size:.875rem;font-weight:600;color:#1e40af;margin:0}.instructions-chevron{width:20px;height:20px;color:#1e40af;transition:transform .2s;flex-shrink:0}.instructions-section.expanded .instructions-chevron{transform:rotate(180deg)}.instructions-content{display:none;padding-top:8px}.instructions-section.expanded .instructions-content{display:block}.instructions-list{font-size:.8125rem;color:#1e3a5f;line-height:1.6;padding-left:0;margin:0;list-style:none;counter-reset:instruction-counter}.instructions-list li.instruction-step{display:flex;align-items:flex-start;gap:6px;margin-bottom:6px;padding:4px 4px 4px 0;border-radius:var(--radius-sm, 4px);counter-increment:instruction-counter;position:relative}.instructions-list li.instruction-step:last-child{margin-bottom:0}.instructions-list li.instruction-step:hover .instruction-delete,.instructions-list li.instruction-step:focus-within .instruction-delete{opacity:1}.instruction-drag-handle{cursor:grab;color:#94a3b8;font-size:.875rem;line-height:1.6;user-select:none;flex-shrink:0;opacity:.4;transition:opacity .15s;padding:0 2px}.instruction-step:hover .instruction-drag-handle{opacity:1}.instruction-drag-handle:active{cursor:grabbing}.instruction-display{flex:1;min-width:0;cursor:text;padding:0 2px;border-radius:var(--radius-sm, 4px);min-height:1.6em}.instruction-display:before{content:counter(instruction-counter) ". ";font-weight:600;color:#3b82f6}.instruction-display:hover{background:#3b82f60f}.instruction-edit{flex:1;min-width:0;font-family:inherit;font-size:inherit;line-height:1.6;color:inherit;background:#fffc;border:1px solid #93c5fd;border-radius:var(--radius-sm, 4px);padding:2px 6px;resize:none;overflow:hidden;outline:none;box-sizing:border-box}.instruction-edit:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.instruction-delete{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1rem;line-height:1.6;padding:0 4px;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.instruction-delete:hover{color:#ef4444}.instruction-add-step{display:block;width:100%;margin-top:8px;padding:6px 12px;background:none;border:1px dashed #93c5fd;border-radius:var(--radius-sm, 4px);color:#3b82f6;font-size:.8125rem;cursor:pointer;transition:background .15s,border-color .15s}.instruction-add-step:hover{background:#3b82f60f;border-color:#3b82f6}.instruction-sublist{list-style:disc;padding-left:1.25em;margin:2px 0}.instruction-sublist li{margin-bottom:1px}.auto-save-status{font-size:.75rem;color:#94a3b8;text-align:center;min-height:1.25rem;margin-top:20px}.auto-save-status.saved{color:#22c55e}.auto-save-status.error{color:#ef4444}.instruction-step.sortable-ghost{opacity:.3}.instruction-step.sortable-chosen{background:#3b82f614}.results-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.results-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px}.btn-icon{width:18px;height:18px;flex-shrink:0}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);padding:16px;margin-bottom:16px;color:#dc2626;font-size:.875rem;text-align:center}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.header-top h1{margin-bottom:0}.auth-container{display:flex;align-items:center;gap:8px}.auth-dev-mode{padding:4px 10px;font-size:.7rem;font-weight:600;color:var(--warning);background:#f59e0b33;border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-full)}.header-actions{display:flex;align-items:center;gap:12px}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;padding:8px;background:#ffffff26;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,transform .1s}.hamburger-btn:hover{background:#ffffff40}.hamburger-btn:active{transform:scale(.95)}.hamburger-line{width:18px;height:2px;background:#fff;border-radius:1px;transition:transform .2s,opacity .2s}.menu-overlay{position:fixed;inset:0;background:#00000080;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:998}.menu-overlay.active{opacity:1;visibility:visible}.slide-menu{position:fixed;top:0;right:-280px;width:280px;height:100%;background:var(--surface);box-shadow:var(--shadow-lg);transition:right .3s ease-out;z-index:999;display:flex;flex-direction:column}.slide-menu.active{right:0}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.menu-title{font-size:1.125rem;font-weight:600}.menu-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#ffffff26;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.menu-close-btn:hover{background:#ffffff40}.menu-close-btn svg{width:18px;height:18px;stroke:#fff}.menu-items{list-style:none;padding:12px 0;margin:0;flex:1;overflow-y:auto}.menu-item a{display:flex;align-items:center;gap:12px;padding:14px 20px;color:var(--text-primary);text-decoration:none;font-size:.9375rem;font-weight:500;transition:background .2s,color .2s}.menu-item a:hover{background:var(--border-light);color:var(--primary)}.menu-item a:active{background:var(--border)}.menu-item svg{width:20px;height:20px;stroke:var(--text-secondary);flex-shrink:0}.menu-item a:hover svg{stroke:var(--primary)}.menu-footer{flex-shrink:0;border-top:1px solid var(--border);padding:16px 20px}.menu-footer-plan{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:.8125rem}.menu-footer-plan-text{color:var(--text-secondary)}.menu-footer-user{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;cursor:pointer;border-radius:8px;padding:6px;margin:0 -6px 12px;transition:background .15s}.menu-footer-user:hover{background:var(--surface-hover, rgba(0, 0, 0, .05))}.menu-footer-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;overflow:hidden}.menu-footer-avatar img{width:100%;height:100%;object-fit:cover}.menu-footer-avatar .initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:#fff;font-weight:600;font-size:.875rem}.menu-footer-identity{display:flex;flex-direction:column;min-width:0}.menu-footer-name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-footer-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-footer-logout{display:flex;align-items:center;gap:8px;padding:10px 0 0;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s}.menu-footer-logout:hover{color:var(--danger)}.menu-footer-logout svg{width:18px;height:18px;stroke:currentColor;fill:none}.coming-soon-notification{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);padding:12px 24px;background:var(--text-primary);color:#fff;font-size:.875rem;font-weight:500;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);opacity:0;transition:transform .3s ease-out,opacity .3s;z-index:1000}.coming-soon-notification.active{transform:translate(-50%) translateY(0);opacity:1}@media(min-width:481px){.app-container{margin:20px auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:calc(100vh - 40px)}}@media(min-width:640px){.app-container{max-width:640px}.header{padding:14px 24px}.header h1{font-size:1.25rem}.main-content{padding:24px 28px}.my-recipes-screen{padding:0 28px 24px}.tab-btn{flex-direction:row;gap:8px}.camera-preview{max-height:380px}.text-section textarea{min-height:320px}.results-actions{flex-direction:row}.results-actions .btn{flex:1}.recipe-card{display:flex;align-items:center;gap:16px}.recipe-card-content{flex:1;min-width:0}.recipe-card-header{margin-bottom:4px}.recipe-card-meta{margin-bottom:0}.recipe-card-actions{flex-shrink:0;margin-left:auto;border-top:none;padding-top:0;border-left:1px solid var(--border-light);padding-left:16px}.app-footer{max-width:640px;margin:0 auto}}@media(min-width:960px){.app-container{max-width:780px;margin:32px auto}.header{padding:16px 28px}.header h1{font-size:1.375rem}.main-content{padding:28px 32px}.my-recipes-screen{padding:0 32px 28px}.camera-preview{max-height:420px}.text-section textarea{min-height:360px}.results-section{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}.results-header,.totals-section,.notes-section,.results-actions{grid-column:1 / -1}.app-footer{max-width:780px;margin:0 auto}}html[data-theme=dark]{--background: #1a1210;--surface: #2a201b;--text-primary: #f5ede6;--text-secondary: #a89890;--text-muted: #7a6b60;--border: #3d322b;--border-light: #3a2e27}html[data-theme=dark] .btn-secondary{background:#3a2e27;border:1px solid #4d3f36}html[data-theme=dark] .btn-secondary:hover{background:#4d3f36}html[data-theme=dark] .btn-secondary:active{background:#5a4d44}html[data-theme=dark] .tab-btn:not(.active):active{background:#ffffff1a}html[data-theme=dark] .modal-content{border:1px solid #4d3f36}html[data-theme=dark] .header{background:linear-gradient(135deg,var(--primary-dark) 0%,#8b3a28 100%)}html[data-theme=dark] .loading-overlay{background:#1a1210f2}html[data-theme=dark] .notes-section{background:#422006}html[data-theme=dark] .notes-section h4,html[data-theme=dark] .notes-section p{color:#fcd34d}html[data-theme=dark] .instructions-section{background:#1e293b}html[data-theme=dark] .instructions-section h4,html[data-theme=dark] .instructions-chevron{color:#93c5fd}html[data-theme=dark] .instructions-list{color:#cbd5e1}html[data-theme=dark] .instruction-drag-handle{color:#64748b}html[data-theme=dark] .instruction-display:before{color:#60a5fa}html[data-theme=dark] .instruction-display:hover{background:#60a5fa14}html[data-theme=dark] .instruction-edit{background:#1e293bcc;border-color:#475569;color:#cbd5e1}html[data-theme=dark] .instruction-edit:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}html[data-theme=dark] .instruction-delete{color:#64748b}html[data-theme=dark] .instruction-delete:hover{color:#f87171}html[data-theme=dark] .instruction-add-step{border-color:#475569;color:#60a5fa}html[data-theme=dark] .instruction-add-step:hover{background:#60a5fa14;border-color:#60a5fa}html[data-theme=dark] .instruction-step.sortable-chosen{background:#60a5fa1a}@media(hover:none){.btn:active{opacity:.8}.instruction-drag-handle,.instruction-delete{opacity:.7}}@supports (padding-top: env(safe-area-inset-top)){.header{padding-top:calc(24px + env(safe-area-inset-top))}.main-content,.my-recipes-screen{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.my-recipes-screen{padding:0 16px 20px}.my-recipes-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:8px}.my-recipes-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.back-btn,.add-recipe-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--border-light);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.back-btn:hover,.add-recipe-btn:hover{background:var(--border)}.back-btn svg,.add-recipe-btn svg{width:20px;height:20px;stroke:var(--text-primary)}.recipes-toolbar{display:flex;gap:12px;margin-bottom:16px}.search-box{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.search-box svg{width:18px;height:18px;stroke:var(--text-muted);flex-shrink:0}.search-box input{flex:1;border:none;background:transparent;font-size:.9375rem;color:var(--text-primary);outline:none}.search-box input::placeholder{color:var(--text-muted)}.group-select{display:flex;align-items:center;gap:6px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.group-select label{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.group-select select{padding:10px 0;background:transparent;border:none;font-size:.875rem;color:var(--text-primary);cursor:pointer}.recipes-list{display:flex;flex-direction:column;gap:12px}.recipe-group{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.recipe-group-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:8px 0;border-bottom:1px solid var(--border-light);margin-bottom:8px}.recipe-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:16px;transition:box-shadow .2s,border-color .2s}.recipe-card:hover{border-color:var(--border);box-shadow:var(--shadow)}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.recipe-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 12px 0 0;flex:1}.recipe-card-cost{font-size:1.125rem;font-weight:700;color:var(--primary);white-space:nowrap}.recipe-card-cost-sep{color:var(--text-secondary);font-weight:400;margin:0 2px}.recipe-card-cost-total{color:var(--text-secondary);font-weight:500;font-size:.9375rem}.recipe-card-cost-legend{display:block;font-size:.6875rem;font-weight:400;color:var(--text-secondary);text-align:right}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.recipe-card-category{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;color:var(--text-secondary);font-size:.6875rem;font-weight:500;border:1px solid var(--border);border-radius:9999px;letter-spacing:.01em}.recipe-card-tag{display:inline-flex;padding:2px 8px;background:transparent;color:var(--text-muted);font-size:.6875rem;border:1px solid var(--border-light);border-radius:9999px}.recipe-card-date{font-size:.75rem;color:var(--text-muted)}.recipe-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-light)}.recipe-card-actions button{flex:1;padding:8px;font-size:.8125rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.pkg-lib-card{display:flex;align-items:center;gap:12px}.pkg-lib-thumb{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.pkg-lib-thumb-placeholder{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.pkg-lib-thumb-sm{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.recipe-action-view{background:var(--primary);color:#fff}.recipe-action-view:hover{background:var(--primary-dark)}.recipe-action-clone{background:var(--border-light);color:var(--text-primary)}.recipe-action-clone:hover{background:var(--border)}.recipe-action-update,.recipe-action-share,.recipe-action-scale{background:var(--border-light);color:var(--text-primary)}.recipe-action-update:hover,.recipe-action-share:hover,.recipe-action-scale:hover{background:var(--border)}.recipe-action-share.shared{border:1px solid var(--primary);color:var(--primary)}.recipe-action-delete{background:transparent;color:var(--danger);flex:0 0 auto;padding:8px 12px}.recipe-action-delete:hover{background:#ef44441a}.recipes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.recipes-empty svg{width:64px;height:64px;stroke:var(--text-muted);margin-bottom:16px}.recipes-empty h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.recipes-empty p{font-size:.875rem;color:var(--text-secondary);margin:0 0 24px}.recipes-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.recipes-loading p{margin-top:16px;font-size:.9375rem;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-width:360px;width:100%;box-shadow:var(--shadow-lg)}.modal-content h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.modal-content p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 24px;line-height:1.5}.zero-credits-banner{background:var(--warning-light, #fff3cd);border:1px solid var(--warning-border, #ffc107);border-radius:var(--radius);padding:16px;margin-bottom:16px;text-align:center}.zero-credits-banner p{margin:0 0 12px;color:var(--text-primary);font-size:.9375rem}.name-modal-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;background:var(--surface);color:var(--text-primary)}.name-modal-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #c56e4e33}.geo-prompt-actions{display:flex;gap:12px}.geo-prompt-actions .btn{flex:1}.modal-actions{display:flex;gap:12px}.modal-actions .btn{flex:1}.btn-danger{background:var(--danger-muted);color:#fff}.btn-danger:hover{background:var(--danger)}.btn-danger:active{background:#dc2626;transform:scale(.98)}.modal-actions-vertical{flex-direction:column;gap:8px}.modal-actions-vertical .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px}.modal-actions-vertical .btn svg{flex-shrink:0}.btn-ghost{background:transparent;color:var(--text-secondary);border:none}.btn-ghost:hover{color:var(--text-primary);background:var(--border-light)}.ingredient-edit-container{margin-bottom:16px;min-height:36px;text-align:center}.ingredient-modal-name{display:inline-block;font-size:.9375rem;font-weight:500;color:var(--text-primary);text-align:center;padding:4px 8px;margin:-4px -8px 0;border-radius:var(--radius-sm);border:1px solid transparent;cursor:text;outline:none;transition:border-color .2s ease,background-color .2s ease}.ingredient-modal-name:after{content:"\270f";font-size:.6em;margin-left:6px;opacity:0;transition:opacity .2s ease;vertical-align:middle}.ingredient-modal-name:hover{border-color:var(--border);background-color:var(--border-light)}.ingredient-modal-name:hover:after{opacity:.4}.ingredient-modal-name:focus{border-color:var(--primary);background-color:var(--surface)}.ingredient-modal-name:focus:after{opacity:0}.ingredient-edit-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.875rem}.ingredient-edit-error{color:var(--error, #dc3545);font-size:.8125rem;text-align:center;margin:0}.modal-content-lg{max-width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-header h3{margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--border-light);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.modal-close:hover{background:var(--border)}.modal-close svg{width:24px;height:24px;stroke:var(--text-secondary)}.email-verification-modal{max-width:400px}.verification-actions{display:flex;gap:12px}.verification-actions .btn{flex:1}.verification-status-msg{font-size:.875rem;padding:8px 12px;border-radius:var(--radius-sm);margin:0 0 16px}.verification-status-msg.success{color:var(--success);background:#10b9811a}.verification-status-msg.error{color:var(--danger);background:#ef44441a}.substitution-original{font-size:.875rem;color:var(--text-secondary);margin-bottom:16px}.substitution-original strong{color:var(--text-primary)}.substitution-loading{display:flex;flex-direction:column;align-items:center;padding:24px 0;gap:12px}.substitution-loading .loading-spinner{width:32px;height:32px}.substitution-loading p{font-size:.875rem;color:var(--text-secondary);margin:0}.substitution-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.substitution-option{display:flex;align-items:flex-start;padding:12px;background:var(--border-light);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background .2s}.substitution-option:hover{border-color:var(--primary);background:var(--surface)}.substitution-option-details{flex:1}.substitution-option-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.substitution-option-info{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.substitution-option-reason{font-size:.75rem;color:var(--text-secondary);font-style:italic}.substitution-option-cost{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:12px}.substitution-cost-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.substitution-cost-diff{display:flex;align-items:center;gap:2px;font-size:.75rem;font-weight:500}.substitution-cost-diff.cheaper{color:var(--success)}.substitution-cost-diff.expensive{color:var(--danger)}.substitution-cost-diff.same{color:var(--text-muted)}.substitution-cost-diff svg{width:12px;height:12px}.custom-substitution{border-top:1px solid var(--border);padding-top:16px}.custom-substitution label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.custom-substitution-row{display:flex;gap:8px}.custom-substitution-row input{flex:1;padding:10px 12px;font-size:.875rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s}.custom-substitution-row input:focus{outline:none;border-color:var(--primary)}.btn-sm{padding:10px 16px;font-size:.8125rem}.substitution-error{text-align:center;padding:16px 0}.substitution-error p{font-size:.875rem;color:var(--danger);margin-bottom:12px}.cascade-check-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:12px 0;padding:12px 20px;background:linear-gradient(135deg,var(--primary-light, #e8f0fe) 0%,#f0e6ff 100%);border:1px solid var(--primary, #4a90d9);border-radius:var(--radius, 8px);color:var(--text-primary, #333);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .1s;animation:cascadeSlideIn .3s ease-out}.cascade-check-btn:hover{background:linear-gradient(135deg,#d5e3f7,#e4d8f7);border-color:color-mix(in srgb,var(--primary) 80%,#000)}.cascade-check-btn:active{transform:scale(.98)}.cascade-check-time{font-size:.75rem;font-weight:400;color:var(--text-secondary)}@media(prefers-color-scheme:dark){.cascade-check-btn{background:linear-gradient(135deg,#4a90d926,#8b5cf626);border-color:#4a90d966;color:var(--text-primary)}.cascade-check-btn:hover{background:linear-gradient(135deg,#4a90d940,#8b5cf640)}}.cascade-loading{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 16px;padding:12px 20px;background:linear-gradient(135deg,var(--primary-light, #e8f0fe) 0%,#f0e6ff 100%);border:1px solid var(--primary, #4a90d9);border-radius:var(--radius, 8px);animation:cascadeSlideIn .3s ease-out}@media(prefers-color-scheme:dark){.cascade-loading{background:linear-gradient(135deg,#4a90d926,#8b5cf626);border-color:#4a90d966}}.cascade-loading-spinner{flex-shrink:0;color:var(--primary, #4a90d9);animation:cascadeSpin 1s linear infinite}.cascade-loading-text{font-size:.875rem;font-weight:500;color:var(--text-primary, #333);transition:opacity .3s ease}@keyframes cascadeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cascadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cascade-sheet-overlay{position:fixed;inset:0;z-index:1002;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;transition:background .3s ease-out}.cascade-sheet-overlay.cascade-expanded{background:#0000004d;pointer-events:auto}.cascade-sheet{pointer-events:auto;width:100%;max-width:480px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:var(--surface);border-top-left-radius:var(--radius-lg, 12px);border-top-right-radius:var(--radius-lg, 12px);box-shadow:0 -4px 20px #00000026;transform:translateY(0);transition:transform .3s ease-out}.cascade-sheet-handle{flex:0 0 auto;width:40px;height:4px;background:var(--border-color, #ccc);border-radius:2px;margin:8px auto 0}.cascade-sheet-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;user-select:none}.cascade-sheet-title{font-size:.875rem;color:var(--text-primary);font-weight:500}.cascade-sheet-close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;line-height:1;border-radius:var(--radius, 8px)}.cascade-sheet-close:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.cascade-sheet-body{flex:1 1 auto;overflow-y:auto;padding:0 16px 16px;-webkit-overflow-scrolling:touch}.cascade-intent{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin-bottom:12px;padding:8px 12px;background:var(--bg-subtle, rgba(0, 0, 0, .03));border-radius:var(--radius, 8px)}.cascade-impact-list{display:flex;flex-direction:column;gap:10px}.cascade-toggle-hint{font-size:.75rem;color:var(--text-secondary);text-align:right;padding-right:4px}.cascade-impact-item{position:relative;background:var(--surface);border:1px solid var(--border-light, #e5e5e5);border-radius:var(--radius, 8px);padding:12px 56px 12px 12px;transition:border-color .2s,background .2s}.cascade-impact-item.cascade-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.cascade-impact-toggle{position:absolute;top:12px;right:12px;cursor:pointer;z-index:1}.cascade-toggle-input{position:absolute;opacity:0;width:0;height:0}.cascade-toggle-track{display:block;width:36px;height:20px;background:var(--border-color, #ccc);border-radius:10px;position:relative;transition:background .2s}.cascade-toggle-track:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s}.cascade-toggle-input:checked+.cascade-toggle-track{background:var(--primary)}.cascade-toggle-input:checked+.cascade-toggle-track:after{transform:translate(16px)}.cascade-toggle-input:focus-visible+.cascade-toggle-track{outline:2px solid var(--primary);outline-offset:2px}.cascade-impact-item[data-importance=high]{border-left:3px solid var(--danger, #e53e3e)}.cascade-impact-item[data-importance=medium]{border-left:3px solid var(--warning, #dd6b20)}.cascade-impact-item[data-importance=low]{border-left:3px solid var(--text-secondary, #999)}.cascade-impact-swap{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.cascade-impact-current{font-weight:600;font-size:.875rem;color:var(--text-primary)}.cascade-impact-arrow{color:var(--text-secondary);font-size:.875rem}.cascade-impact-suggested{font-weight:600;font-size:.875rem;color:var(--primary, #4a7c59)}.cascade-impact-cost{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.8rem}.cascade-impact-cost-value{color:var(--text-primary);font-weight:500}.cascade-impact-cost-diff{display:inline-flex;align-items:center;gap:2px;font-size:.75rem;padding:1px 6px;border-radius:4px}.cascade-impact-cost-diff.cheaper{color:var(--success, #38a169);background:#38a1691a}.cascade-impact-cost-diff.expensive{color:var(--danger, #e53e3e);background:#e53e3e1a}.cascade-impact-cost-diff.same{color:var(--text-secondary);background:#0000000d}.cascade-impact-cost-diff svg{width:12px;height:12px}.cascade-impact-reason{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px;line-height:1.4}.cascade-detailed-explanation{display:none;font-size:.8rem;color:var(--text-secondary);line-height:1.5;padding:8px;margin-top:4px;background:var(--bg-subtle, rgba(0, 0, 0, .03));border-radius:var(--radius, 8px)}.cascade-detailed-explanation.expanded{display:block}.cascade-impact-actions{display:flex;gap:8px;margin-top:8px}.cascade-action-btn{font-size:.8rem;font-weight:500;padding:6px 12px;border-radius:var(--radius, 8px);cursor:pointer;border:1px solid var(--border, #ddd);background:var(--surface, #fff);color:var(--text-primary, #333);transition:background .15s,border-color .15s}.cascade-action-btn:hover{background:var(--bg-subtle, #f5f5f5);border-color:var(--text-secondary, #999)}.cascade-instruction-notes{margin-top:12px;padding:10px 12px;font-size:.8rem;color:var(--text-secondary);background:var(--bg-subtle, rgba(0, 0, 0, .03));border-radius:var(--radius, 8px);border-left:3px solid var(--primary, #4a7c59);line-height:1.4}.cascade-instruction-notes strong{display:block;margin-bottom:4px;color:var(--text-primary);font-size:.8rem}.cascade-batch-actions{flex:0 0 auto;padding:12px 16px 16px;background:var(--surface);border-top:1px solid var(--border-color, #e5e7eb)}.cascade-batch-apply-btn{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius, 8px);font-weight:600;font-size:.95rem;cursor:pointer;transition:opacity .2s}.cascade-batch-apply-btn:disabled{opacity:.4;cursor:not-allowed}.cascade-batch-apply-btn:not(:disabled):hover{opacity:.9}.cascade-reeval-toggle{display:flex;align-items:center;gap:10px;padding:12px 0;margin-top:8px;border-top:1px solid var(--border-color, #e5e7eb);cursor:pointer;flex-shrink:0}.cascade-reeval-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.instruction-diff-summary{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin-bottom:12px;padding:8px 12px;background:#00000008;border-radius:var(--radius, 8px)}.instruction-diff-list{padding-left:1.5em}.instruction-diff-list li{margin-bottom:8px;line-height:1.5}.instruction-diff-unchanged{color:var(--text-secondary)}.instruction-diff-added{background:color-mix(in srgb,#22c55e 10%,transparent);border-left:3px solid #22c55e;padding-left:8px}.instruction-diff-removed{text-decoration:line-through;color:var(--text-muted, #9ca3af);opacity:.6}.instruction-diff-modified .instruction-diff-old{text-decoration:line-through;color:var(--text-muted, #9ca3af);font-size:.85em}.instruction-diff-modified .instruction-diff-new{color:var(--text-primary);font-weight:500;border-left:3px solid var(--primary);padding-left:8px;margin-top:4px}.instruction-diff-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color, #e5e7eb)}.instruction-diff-accept{flex:1;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius, 8px);font-weight:600;cursor:pointer}.instruction-diff-accept:hover{opacity:.9}.instruction-diff-reject{flex:1;padding:10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius, 8px);font-weight:500;cursor:pointer}.instruction-diff-reject:hover{background:#00000008}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.instruction-reeval-loading{color:var(--text-secondary);font-style:italic;list-style:none;animation:pulse 1.5s ease-in-out infinite}.add-item-btn-container{padding:12px 16px;border-top:1px solid var(--border-light)}.add-item-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;font-size:.875rem;font-weight:500;color:var(--primary);background:transparent;border:1px dashed var(--primary);border-radius:var(--radius);cursor:pointer;transition:background .2s,border-color .2s}.add-item-btn:hover{background:#e8735a14;border-style:solid}.add-item-btn:active{transform:scale(.98)}.add-item-btn svg{width:16px;height:16px;flex-shrink:0;stroke:var(--primary)}.add-ingredient-input{display:flex;flex-direction:column;gap:12px}.add-ingredient-input label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.add-ingredient-input input{padding:14px 16px;font-size:1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,box-shadow .2s}.add-ingredient-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.add-ingredient-input small{font-size:.75rem;color:var(--text-muted)}.add-ingredient-input .btn{margin-top:8px}.add-ingredient-loading{display:flex;flex-direction:column;align-items:center;padding:32px 0;gap:12px}.add-ingredient-loading .loading-spinner{width:32px;height:32px}.add-ingredient-loading p{font-size:.875rem;color:var(--text-secondary);margin:0}.add-ingredient-error{text-align:center;padding:16px 0}.add-ingredient-error p{font-size:.875rem;color:var(--danger);margin-bottom:12px}.price-override-current{background:var(--border-light);border-radius:var(--radius);padding:12px;margin-bottom:16px}.price-override-ingredient{font-size:.9375rem;color:var(--text-primary);margin-bottom:4px}.price-override-detail{font-size:.8125rem;color:var(--text-secondary);margin:2px 0}.price-override-input{display:flex;flex-direction:column;gap:12px}.price-override-input label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.price-override-input input{padding:14px 16px;font-size:1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,box-shadow .2s}.price-override-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.price-override-input small{font-size:.75rem;color:var(--text-muted)}.price-override-input .btn{margin-top:8px}.price-override-loading{display:flex;flex-direction:column;align-items:center;padding:32px 0;gap:12px}.price-override-loading .loading-spinner{width:32px;height:32px}.price-override-loading p{font-size:.875rem;color:var(--text-secondary);margin:0}.price-override-error{text-align:center;padding:16px 0}.price-override-error p{font-size:.875rem;color:var(--danger);margin-bottom:12px}.item-info.has-override{color:var(--warning)}.item-info .override-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:#f59e0b26;color:var(--warning);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:3px;margin-left:4px}.item-info .override-badge.estimated-badge{background:#9ca3af26;color:var(--text-secondary);border:1px dashed var(--text-secondary)}.item-info .ing-library-badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:1px 5px;border-radius:var(--radius-sm);margin-left:6px;vertical-align:middle}.price-lookup-btn-container{padding:8px 16px 4px}.price-lookup-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-radius:var(--radius);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.price-lookup-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 15%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.price-lookup-btn:disabled{opacity:.6;cursor:not-allowed}.price-lookup-age{font-size:.7rem;font-weight:400;opacity:.7;margin-left:4px}.item-info .price-lookup-badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--success, #16a34a);background:color-mix(in srgb,var(--success, #16a34a) 12%,transparent);padding:1px 5px;border-radius:var(--radius-sm);margin-left:6px;vertical-align:middle}a.price-lookup-badge{text-decoration:none;color:inherit;cursor:pointer}.original-price{text-decoration:line-through;opacity:.5;font-size:.85em;margin-left:4px}.store-selection-modal .modal-content{max-width:380px}.store-selection-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.store-selection-modal .modal-header h3{margin:0;font-size:1rem}.store-selection-modal .modal-body{padding:16px}.store-selection-modal .modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}.store-zip-input-group{margin-bottom:12px}.store-zip-input-group label,.store-custom-url-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.custom-url-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;background:var(--surface);color:var(--text-primary)}.custom-url-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.store-list-container{max-height:300px;overflow-y:auto}.store-radio-item{display:flex;align-items:center;gap:8px;padding:8px 4px;cursor:pointer;border-bottom:1px solid var(--border);font-size:.85rem}.store-radio-item:last-child{border-bottom:none}.store-radio-name{flex:1}.store-radio-distance{font-size:.75rem;color:var(--text-secondary)}.store-custom-url-option{border-bottom:none;margin-bottom:4px}.store-custom-url-group .custom-url-input{margin-left:22px;width:calc(100% - 22px)}.store-custom-url-group .custom-url-input:disabled{opacity:.5}.store-tier-header{position:relative;display:flex;align-items:center;gap:6px;padding:8px 4px 4px;margin-top:4px}.store-tier-header-secondary{margin-top:8px;border-top:1px solid var(--border, #e5e7eb);padding-top:10px}.store-tier-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.store-tier-info-btn{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--text-secondary);padding:0 2px;opacity:.7;transition:opacity .15s}.store-tier-info-btn:hover,.store-tier-info-btn:focus-visible{opacity:1}.store-info-popover{position:absolute;top:100%;left:0;z-index:10;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:var(--radius, 8px);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0,0,0,.15));padding:12px 14px;width:max-content;max-width:280px;font-size:.8rem;line-height:1.45;color:var(--text-primary);opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s}.store-info-popover.active{opacity:1;transform:translateY(0)}.store-info-popover p{margin:0 0 8px}.store-info-popover p:last-child{margin-bottom:0}.price-searching{color:var(--text-secondary);font-size:.85rem;letter-spacing:2px}.searching-dot{animation:dot-pulse 1.2s ease-in-out infinite;opacity:.2}@keyframes dot-pulse{0%,to{opacity:.2}50%{opacity:1}}.price-delta{display:inline-block;font-size:.65rem;font-weight:600;margin-left:4px;opacity:0;animation:fade-in .3s ease-in forwards}.price-down{color:#16a34a}.price-up{color:#dc2626}@keyframes fade-in{to{opacity:1}}.price-error-details{margin-top:2px}.price-error-label{font-size:.7rem;color:var(--text-secondary);cursor:pointer;user-select:none;opacity:.7}.price-error-label:hover{color:var(--text-primary);opacity:1}.price-error-reason{font-size:.65rem;color:var(--text-secondary);margin:2px 0 0;line-height:1.4}.loading-spinner-inline{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:.85rem;color:var(--text-secondary)}.loading-spinner-inline .spinner{width:18px;height:18px;flex-shrink:0}.labor-edit-modal{max-width:320px;overflow:hidden}.labor-edit-content{padding:16px}.labor-edit-field{margin-bottom:16px}.labor-edit-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.labor-edit-input-group{display:flex;align-items:center;gap:8px}.labor-edit-input-group input{flex:1;min-width:0;padding:12px;font-size:1.25rem;font-weight:600;text-align:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary)}.labor-edit-input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.labor-edit-unit{font-size:.875rem;color:var(--text-secondary);min-width:40px}.add-labor-modal{max-width:360px}.add-labor-content{padding:16px}.add-labor-field{margin-bottom:16px}.add-labor-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.add-labor-field input{width:100%;padding:12px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary)}.add-labor-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.add-labor-field input::placeholder{color:var(--text-secondary)}.labor-item.editable{cursor:pointer;transition:background .2s}.labor-item.editable:hover{background:#e8735a14}.labor-item.editable:active{background:#e8735a26}.labor-item .edit-indicator{font-size:.75rem;color:var(--primary);margin-left:4px}.custom-labor-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.custom-labor-item:last-child{border-bottom:none}.custom-labor-details{flex:1}.custom-labor-name{font-size:.875rem;color:var(--text-primary)}.custom-labor-time{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.custom-labor-cost{font-weight:500;color:var(--text-primary)}.custom-labor-remove{padding:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;margin-left:8px;border-radius:4px;transition:all .2s}.custom-labor-remove:hover{background:#ef44441a;color:var(--danger)}.custom-labor-remove svg{width:16px;height:16px}.custom-labor-divider{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.custom-labor-divider:before,.custom-labor-divider:after{content:"";flex:1;height:1px;background:var(--border)}.packaging-edit-modal{max-width:360px}.packaging-edit-content{padding:16px}.packaging-edit-field{margin-bottom:16px}.packaging-edit-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.packaging-edit-field input{width:100%;padding:12px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary)}.packaging-edit-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.packaging-edit-cost{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--surface);border-radius:8px;margin-bottom:16px}.packaging-edit-cost .label{font-size:.875rem;color:var(--text-secondary)}.packaging-edit-cost .value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.add-packaging-modal{max-width:360px}.add-packaging-content{padding:16px}.add-packaging-field{margin-bottom:16px}.add-packaging-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.add-packaging-field input{width:100%;padding:12px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary)}.add-packaging-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.add-packaging-field input::placeholder{color:var(--text-secondary)}.packaging-action-buttons{display:flex;gap:8px}.packaging-action-buttons .add-item-btn{flex:1}.packaging-photo-btn,.packaging-library-btn{background:var(--surface)!important;border:1px solid var(--primary)!important;color:var(--primary)!important}.packaging-photo-modal{max-width:420px}.packaging-photo-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0 0 16px}.packaging-photo-items{max-height:300px;overflow-y:auto;margin-bottom:16px}.packaging-photo-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background .15s}.packaging-photo-item:hover{background:var(--surface-hover, rgba(0,0,0,.03))}.packaging-photo-item input[type=checkbox]{margin-top:2px;flex-shrink:0;width:18px;height:18px;accent-color:var(--primary)}.packaging-photo-item-details{flex:1;min-width:0}.packaging-photo-item-name{font-weight:500;font-size:.9375rem;color:var(--text-primary)}.packaging-photo-item-info{font-size:.8125rem;color:var(--text-secondary);margin-top:2px}.packaging-photo-item-cost{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap}.packaging-photo-actions{display:flex;gap:12px}.packaging-photo-actions .btn{flex:1}.packaging-photo-loading{text-align:center;padding:24px;color:var(--text-secondary)}.packaging-photo-loading .spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.packaging-photo-retry{text-align:center;padding:16px 0}.packaging-photo-retry-icon{color:var(--text-secondary);margin-bottom:12px}.packaging-photo-retry-title{font-weight:600;font-size:1rem;color:var(--text-primary);margin:0 0 4px}.packaging-photo-retry-desc{font-size:.875rem;color:var(--text-secondary);margin:0 0 12px}.packaging-photo-retry-tips{text-align:left;font-size:.8125rem;color:var(--text-secondary);margin:0 0 20px;padding-left:20px;line-height:1.7}.packaging-photo-retry-actions{display:flex;gap:12px}.packaging-photo-retry-actions .btn{flex:1}.packaging-photo-retry-label{cursor:pointer}.confidence-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:.6875rem;font-weight:700;border-radius:50%;margin-left:6px;vertical-align:middle}.confidence-medium{background:#f5a62326;color:#b07d1a}.confidence-low{background:#d0021b1a;color:#b4261a}.packaging-photo-item-low{opacity:.65}.packaging-item.editable{cursor:pointer;transition:background .2s;padding:12px;margin:-12px;border-radius:8px}.packaging-item.editable:hover{background:#e8735a14}.packaging-item.editable:active{background:#e8735a26}.item-spu-controls{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:.7rem}.spu-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:.8rem;cursor:pointer;padding:0;line-height:1;transition:background .15s}.spu-btn:hover{background:var(--border-light)}.spu-btn:active{background:#e8735a26}.spu-value{font-weight:600;min-width:16px;text-align:center;color:var(--text-primary)}.spu-label{color:var(--text-muted);margin-right:4px}.pkg-library-badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:1px 5px;border-radius:var(--radius-sm);margin-left:6px;vertical-align:middle}.spu-lock-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;padding:0;color:var(--primary);opacity:.4;transition:opacity .15s}.spu-lock-btn:hover{opacity:.7}.spu-lock-btn.locked{opacity:.9;color:var(--primary)}html[data-theme=dark] .recipe-card{border-color:#4d3f36}html[data-theme=dark] .recipe-card-category{background:transparent;color:var(--text-secondary);border-color:var(--border)}html[data-theme=dark] .recipe-card-tag{background:transparent;color:var(--text-muted);border-color:var(--border-light)}html[data-theme=dark] .recipe-action-delete:hover{background:#ef444433}.usage-counter{display:flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 8px;background:var(--border-light);border-radius:var(--radius-sm);flex-shrink:0}.usage-plan-badge{font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;background:var(--secondary);color:#fff}.usage-plan-badge.plan-free{background:var(--secondary)}.usage-plan-badge.plan-starter{background:var(--primary)}.usage-plan-badge.plan-pro{background:#7c3aed}.usage-plan-badge.plan-payg{background:var(--success)}.usage-text{color:var(--text-secondary);white-space:nowrap}.usage-counter.usage-warning .usage-text{color:var(--warning);font-weight:500}.usage-counter.usage-depleted .usage-text{color:var(--danger);font-weight:600}button.usage-counter-clickable{border:none;cursor:pointer;transition:background .2s,box-shadow .2s;font-family:inherit}button.usage-counter-clickable:hover{background:var(--primary-light, rgba(76, 175, 80, .15));box-shadow:0 0 0 1px var(--primary)}button.usage-counter-clickable:active{transform:scale(.97)}.menu-item-upgrade a{color:var(--primary)!important;font-weight:600!important}.menu-item-upgrade svg{stroke:var(--primary)}.feature-gated{opacity:.5;position:relative}.feature-gated:after{content:"";position:absolute;inset:0;cursor:not-allowed}.upgrade-prompt{margin:16px;padding:20px;background:var(--surface);border:2px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-md)}.upgrade-prompt h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:8px}.upgrade-detail{font-size:.9rem;color:var(--text-secondary);margin-bottom:4px}.upgrade-message{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px}.upgrade-actions{display:flex;gap:8px}.branding-footer{text-align:center;padding:12px 16px;margin-top:16px;font-size:.8rem;color:var(--text-muted);border-top:1px solid var(--border)}.branding-footer strong{color:var(--text-secondary)}.success-message{padding:12px 16px;margin:16px;background:#d1fae5;color:#065f46;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500}.pricing-modal{--warm-accent: #e8735a;--warm-accent-dark: #d4563d;--warm-accent-light: #fef0ec;--warm-brown: #5c3d2e;max-width:900px;width:95%;max-height:90vh;overflow-y:auto}.pricing-modal .landing-pricing-grid{grid-template-columns:repeat(3,1fr);gap:16px;max-width:none;margin:0}.pricing-modal .landing-pricing-card.current{background:var(--border-light)}.current-plan-badge{display:inline-block;font-size:.75rem;font-weight:600;color:var(--success);padding:4px 8px;background:#d1fae5;border-radius:var(--radius-sm)}.pricing-credit-packs-col{display:flex;flex-direction:column;gap:8px}@media(max-width:600px){.pricing-modal .landing-pricing-grid{grid-template-columns:1fr}.pricing-modal{max-width:100%}}.training-modal{max-width:420px;width:100%;max-height:90vh;overflow-y:auto}.training-intro{color:var(--text-secondary);font-size:.9rem;margin:0 0 16px;line-height:1.5}.training-features{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.training-feature{display:flex;gap:12px;align-items:flex-start}.training-feature-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius);background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}.training-feature-text{display:flex;flex-direction:column;gap:2px}.training-feature-text strong{font-size:.95rem;color:var(--text-primary)}.training-feature-text span{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.training-claim-section{text-align:center}.training-timer{margin-top:8px;font-size:.8rem;color:var(--text-tertiary);transition:color .3s}.training-timer-ready{color:var(--success);font-weight:500}.training-card-completed{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--text-secondary);font-size:.9rem}.upgrade-training-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--primary-light);border-radius:var(--radius);margin-bottom:12px}.upgrade-training-text{display:flex;flex-direction:column;gap:2px}.upgrade-training-text strong{font-size:.9rem;color:var(--text-primary)}.upgrade-training-text span{font-size:.8rem;color:var(--text-secondary)}.upgrade-divider{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:var(--text-tertiary);font-size:.8rem}.upgrade-divider:before,.upgrade-divider:after{content:"";flex:1;height:1px;background:var(--border)}html[data-theme=dark] .usage-counter{background:#ffffff1a}html[data-theme=dark] .upgrade-prompt{background:var(--surface);border-color:var(--primary-light)}html[data-theme=dark] .training-feature-icon{background:#6366f126}html[data-theme=dark] .upgrade-training-banner{background:#6366f11a}html[data-theme=dark] .success-message{background:#10b98126;color:#6ee7b7}html[data-theme=dark] .branding-footer{border-top-color:#ffffff1a}html[data-theme=dark] .menu-footer{border-top-color:var(--border)}html[data-theme=dark] .menu-footer-avatar .initials{background:var(--primary-dark)}html[data-theme=dark] .pricing-card{border-color:#ffffff1a;background:var(--surface)}html[data-theme=dark] .pricing-card.current{background:#ffffff0d}html[data-theme=dark] .current-plan-badge{background:#10b98126}.landing-page{--landing-max: 1120px;--warm-bg: #fdf8f4;--warm-accent: #e8735a;--warm-accent-dark: #d4563d;--warm-accent-light: #fef0ec;--warm-brown: #5c3d2e;--warm-cream: #FFF8F0;background:var(--warm-cream)}.landing-nav{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:0 20px}.landing-nav-inner{max-width:var(--landing-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.landing-logo{font-size:1.125rem;font-weight:700;color:var(--text-primary);text-decoration:none}.landing-nav-actions{display:flex;align-items:center;gap:12px}.landing-nav-link{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;padding:8px 12px;border-radius:var(--radius-sm);transition:color .2s}.landing-nav-link:hover{color:var(--text-primary)}.landing-nav-cta{font-size:.875rem;font-weight:600;color:#fff;background:var(--warm-accent);text-decoration:none;padding:8px 20px;border-radius:var(--radius-full);transition:background .2s,transform .1s}.landing-nav-cta:hover{background:var(--warm-accent-dark)}.landing-nav-cta:active{transform:scale(.97)}.landing-hero{max-width:var(--landing-max);margin:0 auto;padding:60px 20px 40px;display:grid;grid-template-columns:1fr;gap:40px;align-items:center}.landing-hero-content h1{font-family:Playfair Display,serif;font-size:2.25rem;font-weight:800;line-height:1.15;color:var(--warm-brown);margin-bottom:20px}.hero-accent{color:inherit}.hero-subtitle{font-size:1.125rem;line-height:1.6;color:var(--text-secondary);margin-bottom:32px;max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.btn-landing-primary{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-size:1rem;font-weight:600;color:#fff;background:var(--warm-accent);border:none;border-radius:var(--radius-full);text-decoration:none;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 2px 8px #e8735a4d}.btn-landing-primary:hover{background:var(--warm-accent-dark);box-shadow:0 4px 16px #e8735a66}.btn-landing-primary:active{transform:scale(.97)}.btn-landing-lg{padding:18px 40px;font-size:1.125rem}.btn-landing-secondary{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;font-size:1rem;font-weight:500;color:var(--text-primary);background:transparent;border:2px solid var(--border);border-radius:var(--radius-full);text-decoration:none;cursor:pointer;transition:border-color .2s,background .2s}.btn-landing-secondary:hover{border-color:var(--warm-accent);background:var(--warm-accent-light)}.hero-note{font-size:.8125rem;color:var(--text-muted)}.landing-hero-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.landing-hero-image img{width:100%;height:auto;display:block}.hero-frosted-overlay{position:absolute;bottom:20px;right:20px;background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:20px 24px;max-width:260px;box-shadow:0 4px 24px #5c3d2e1f;border:1px solid rgba(255,255,255,.6)}.hero-overlay-title{font-family:Playfair Display,serif;font-size:.9375rem;font-weight:700;color:var(--warm-brown);margin-bottom:6px}.hero-overlay-cost{font-size:.8125rem;color:var(--text-secondary);margin-bottom:10px}.hero-overlay-cost strong{color:var(--warm-accent);font-size:1rem}.hero-overlay-items{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.75rem;color:var(--text-secondary);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.08)}.hero-overlay-time{font-size:.75rem;color:var(--text-secondary)}.hero-overlay-time strong{color:var(--warm-accent)}.landing-section-inner{max-width:var(--landing-max);margin:0 auto;padding:0 20px}.landing-section-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;text-align:center;color:var(--warm-brown);margin-bottom:12px}.landing-section-subtitle{font-size:1.0625rem;text-align:center;color:var(--text-secondary);margin-bottom:48px;max-width:560px;margin-left:auto;margin-right:auto}.landing-features{padding:80px 0;background:var(--warm-bg)}.features-grid{display:grid;grid-template-columns:1fr;gap:24px}.feature-card{background:var(--surface);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--warm-accent-light);border-radius:var(--radius);margin-bottom:16px}.feature-icon svg{width:24px;height:24px;stroke:var(--warm-accent)}.feature-card h3{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.feature-card p{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.landing-how-it-works{padding:80px 0;background:var(--warm-bg)}.steps-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:960px;margin:40px auto 0;align-items:center}.step-card{background:var(--surface);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;box-shadow:0 2px 12px #5c3d2e14;position:relative}.step-label{display:block;font-size:.8125rem;font-weight:600;color:var(--warm-accent);margin-bottom:20px}.step-icon-group{width:80px;height:80px;margin:0 auto 20px;color:var(--warm-accent)}.step-icon-group svg{width:100%;height:100%}.step-connector{display:none;color:var(--warm-accent);justify-content:center;align-items:center}.step-connector svg{width:48px;height:24px}.step-card h3{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--warm-brown);margin-bottom:8px}.step-card p{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.landing-philosophy{padding:80px 0;background:var(--warm-cream)}.philosophy-card{max-width:720px;margin:0 auto;background:var(--surface);border-radius:var(--radius-lg);padding:48px 40px;border-left:4px solid var(--warm-accent);box-shadow:0 2px 12px #5c3d2e14}.philosophy-card .landing-section-title{text-align:left;margin-bottom:20px}.philosophy-body p{font-size:1.0625rem;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.philosophy-body p:last-child{margin-bottom:0}.philosophy-tagline{font-family:Playfair Display,serif;font-weight:600;font-style:italic;color:var(--warm-accent)!important;margin-top:24px}.landing-pricing{padding:80px 0;background:var(--warm-bg)}.landing-pricing-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:1100px;margin:0 auto 32px}.landing-pricing-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;position:relative;transition:border-color .2s,box-shadow .2s}.landing-pricing-card.featured{border-color:var(--warm-accent);box-shadow:0 0 0 1px var(--warm-accent),var(--shadow-md)}.landing-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--warm-accent);color:#fff;font-size:.75rem;font-weight:600;padding:4px 16px;border-radius:var(--radius-full);white-space:nowrap}.landing-pricing-card h3{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--warm-brown);margin-bottom:8px}.landing-pricing-price{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:800;color:var(--warm-brown);margin-bottom:8px}.landing-pricing-price span{font-size:1rem;font-weight:400;color:var(--text-secondary)}.landing-pricing-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:24px}.landing-pricing-features{list-style:none;text-align:left;margin-bottom:28px}.landing-pricing-features li{padding:6px 0;font-size:.9375rem;color:var(--text-primary)}.landing-pricing-features li:before{content:"\2713  ";color:var(--success);font-weight:700}.landing-pricing-features li.disabled{color:var(--text-muted);text-decoration:line-through}.landing-pricing-features li.disabled:before{content:"\2014  ";color:var(--text-muted)}.btn-landing-plan{display:block;width:100%;padding:12px 24px;font-size:.9375rem;font-weight:600;color:var(--warm-accent);background:transparent;border:2px solid var(--warm-accent);border-radius:var(--radius-full);text-decoration:none;text-align:center;transition:background .2s,color .2s}.btn-landing-plan:hover{background:var(--warm-accent-light)}.btn-landing-plan-featured{background:var(--warm-accent);color:#fff}.btn-landing-plan-featured:hover{background:var(--warm-accent-dark)}.landing-payg{max-width:600px;margin:0 auto;text-align:center;padding:24px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.landing-payg p{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.landing-payg strong{color:var(--text-primary)}.landing-testimonials{padding:80px 0}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:24px}.testimonial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px}.testimonial-text{font-size:1rem;line-height:1.6;color:var(--text-primary);font-style:italic;margin-bottom:20px}.testimonial-text:before{content:"\201c";display:none}.testimonial-author{display:flex;flex-direction:column;gap:2px}.testimonial-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.testimonial-role{font-size:.8125rem;color:var(--text-muted)}.landing-cta{padding:80px 0;background:linear-gradient(135deg,var(--warm-accent) 0%,var(--warm-accent-dark) 100%);text-align:center}.landing-cta h2{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#fff;margin-bottom:12px}.landing-cta p{font-size:1.0625rem;color:#ffffffd9;margin-bottom:32px}.landing-cta .btn-landing-primary{background:#fff;color:var(--warm-accent);box-shadow:0 2px 8px #00000026}.landing-cta .btn-landing-primary:hover{background:#f8f8f8;box-shadow:0 4px 16px #0003}.landing-cta .hero-note{color:#ffffffb3;margin-top:16px}.landing-footer{background:var(--surface);border-top:1px solid var(--border);padding:40px 20px}.landing-footer-inner{max-width:var(--landing-max);margin:0 auto;text-align:center}.landing-footer-brand{margin-bottom:20px}.landing-footer-brand .landing-logo{display:block;margin-bottom:8px}.landing-footer-brand p{font-size:.875rem;color:var(--text-muted)}.landing-footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:20px}.landing-footer-links a{font-size:.875rem;color:var(--text-secondary);text-decoration:none;transition:color .2s}.landing-footer-links a:hover{color:var(--text-primary)}.landing-footer-copy{font-size:.75rem;color:var(--text-muted)}.landing-footer-inner .theme-toggle{margin:12px 0 8px}.app-footer{padding:16px 20px;border-top:1px solid var(--border);text-align:center}.app-footer-links{display:flex;justify-content:center;gap:20px}.app-footer-links a{font-size:.75rem;color:var(--text-muted);text-decoration:none;transition:color .2s}.app-footer-links a:hover{color:var(--text-secondary)}.app-footer .theme-toggle{margin-top:10px}.landing-hamburger{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px;flex-shrink:0}.landing-mobile-menu{display:none}@media(max-width:639px){.landing-nav{padding:0 12px}.landing-nav-inner{height:auto;min-height:52px;flex-wrap:wrap}.landing-hamburger{display:flex;align-items:center}.landing-logo{font-size:.9375rem;white-space:nowrap;flex:1}.landing-nav-actions .landing-nav-link{display:none}.landing-nav-cta{font-size:.8125rem;padding:6px 12px;white-space:nowrap}.landing-mobile-menu{display:none;width:100%;padding:4px 0 12px;border-top:1px solid var(--border)}.landing-mobile-menu.open{display:flex;flex-direction:column}.landing-mobile-link{display:block;padding:10px 8px;font-size:.9375rem;font-weight:500;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:color .2s,background .2s}.landing-mobile-link:hover{color:var(--text-primary);background:var(--border-light)}}@media(min-width:640px){.landing-hero{padding:80px 20px 60px}.landing-hero-content h1{font-size:2.75rem}.features-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:1fr auto 1fr auto 1fr}.step-connector{display:flex}.testimonials-grid,.landing-pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.landing-pricing-grid{grid-template-columns:repeat(3,1fr)}.landing-hero{grid-template-columns:1fr 1fr;padding:100px 20px 80px}.landing-hero-content h1{font-size:3rem}.features-grid,.testimonials-grid{grid-template-columns:repeat(3,1fr)}}html[data-theme=dark] .landing-page{--warm-bg: #231a16;--warm-cream: #1a1210;--warm-accent-light: rgba(232, 115, 90, .15)}html[data-theme=dark] .landing-nav{background:#2a201bf2;border-bottom-color:var(--border)}html[data-theme=dark] .landing-cta{background:linear-gradient(135deg,#c9513a,#a83d2a)}html[data-theme=dark] .landing-footer{background:var(--surface);border-top-color:var(--border)}html[data-theme=dark] .feature-card{background:var(--surface);box-shadow:none;border:1px solid var(--border)}html[data-theme=dark] .testimonial-card{border-color:var(--border)}html[data-theme=dark] .landing-pricing-card{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .landing-pricing-card.featured{border-color:var(--warm-accent)}html[data-theme=dark] .landing-payg{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .landing-page .landing-section-title,html[data-theme=dark] .landing-page .landing-pricing-card h3,html[data-theme=dark] .landing-page .landing-pricing-price{color:var(--text-primary)}html[data-theme=dark] .landing-page .landing-hero-content h1{color:var(--warm-accent)}html[data-theme=dark] .landing-page .btn-landing-secondary{color:var(--warm-accent);border-color:var(--warm-accent)}html[data-theme=dark] .landing-page .step-card{background:var(--surface);box-shadow:none;border:1px solid var(--border)}html[data-theme=dark] .landing-page .step-card h3{color:var(--text-primary)}html[data-theme=dark] .landing-page .step-label,html[data-theme=dark] .landing-page .step-connector{color:var(--warm-accent)}html[data-theme=dark] .hero-frosted-overlay{background:#1e293bd9;border-color:#ffffff1a}html[data-theme=dark] .hero-overlay-title{color:var(--text-primary)}html[data-theme=dark] .hero-overlay-items{border-bottom-color:#ffffff1a}html[data-theme=dark] .auth-page{--warm-bg: #231a16;--warm-cream: #1a1210;--warm-accent-light: rgba(232, 115, 90, .15)}html[data-theme=dark] .auth-card{background:var(--surface);box-shadow:0 4px 24px #0000004d}html[data-theme=dark] .auth-field input{background:var(--background);border-color:var(--border);color:var(--text-primary)}html[data-theme=dark] .auth-title,html[data-theme=dark] .auth-logo{color:var(--text-primary)}html[data-theme=dark] .pricing-page{--warm-bg: #231a16;--warm-cream: #1a1210;--warm-accent-light: rgba(232, 115, 90, .15)}html[data-theme=dark] .comparison-table thead th{color:var(--text-primary)}html[data-theme=dark] .comparison-table .featured-col{background:#e8735a1a}html[data-theme=dark] .faq-item{background:var(--surface);box-shadow:none;border:1px solid var(--border)}html[data-theme=dark] .faq-item h3{color:var(--text-primary)}.share-modal{max-width:520px}.share-recipe-name{font-weight:600;color:var(--text-secondary);text-align:center;margin-bottom:1rem}.share-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.share-mode-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .75rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all .15s;text-align:center}.share-mode-card:hover{border-color:var(--text-secondary)}.share-mode-card.active{border-color:var(--primary);background:#e8735a0f;box-shadow:0 0 0 1px var(--primary)}.share-mode-icon{font-size:1.5rem;line-height:1}.share-mode-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.share-mode-desc{font-size:.7rem;color:var(--text-secondary)}.share-note-field{margin-bottom:1.25rem;position:relative}.share-note-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.35rem}.share-note-input{width:100%;padding:.75rem;background:var(--surface-darker);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-family:inherit;resize:vertical;min-height:60px}.share-note-input:focus{outline:none;border-color:var(--primary)}.share-note-counter{position:absolute;right:.5rem;bottom:-1.25rem;font-size:.7rem;color:var(--text-secondary)}.share-existing{margin-bottom:1.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.share-existing-header{font-size:.75rem;font-weight:600;color:var(--text-secondary);padding:.5rem .75rem;background:var(--surface-darker);border-bottom:1px solid var(--border)}.share-existing-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:.8rem}.share-existing-row:last-child{border-bottom:none}.share-existing-mode{flex-shrink:0;font-size:1rem}.share-existing-note{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-existing-copy,.share-existing-remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-secondary);transition:all .15s}.share-existing-copy:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.share-existing-remove:hover{background:#dc3545;color:#fff;border-color:#dc3545}.share-url-container{display:flex;gap:.5rem;margin-bottom:1.5rem}.share-url-input{flex:1;padding:.75rem;background:var(--surface-darker);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-family:monospace}.share-url-input:focus{outline:none;border-color:var(--primary)}.share-copy-btn{display:flex;align-items:center;justify-content:center;padding:0 .75rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.share-copy-btn:hover:not(:disabled){background:var(--primary-dark)}.share-copy-btn:disabled{opacity:.7;cursor:not-allowed}.share-actions{display:flex;gap:.75rem;justify-content:center}.share-close-btn{padding:.75rem 1.25rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .2s}.share-close-btn:hover{background:var(--surface-darker);color:var(--text-primary)}.share-create-btn{padding:.75rem 1.25rem}.recipe-action-share.gated,.recipe-action-clone.gated,.recipe-action-update.gated{opacity:.5;cursor:pointer}.upgrade-tooltip{position:absolute;z-index:1000;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);padding:.75rem 1rem;box-shadow:var(--shadow-md);font-size:.8125rem;line-height:1.4;text-align:center;min-width:180px;max-width:240px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:auto}.upgrade-tooltip.active{opacity:1;transform:translateY(0)}.upgrade-tooltip p{margin:0 0 .5rem}.upgrade-tooltip-btn{background:var(--warm-accent, #e8735a);color:#fff;border:none;border-radius:var(--radius-sm, 6px);padding:.375rem 1rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s}.upgrade-tooltip-btn:hover{background:var(--warm-accent-hover, #d4654d)}.upgrade-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--border)}.upgrade-tooltip.below:after{bottom:auto;top:-6px;border-top:none;border-bottom:6px solid var(--border)}@media(max-width:480px){.share-mode-picker{grid-template-columns:1fr}.share-copy-btn{padding:.75rem}.share-actions{flex-direction:column-reverse}.share-close-btn,.share-create-btn{width:100%}}.auth-page{--warm-bg: #fdf8f4;--warm-accent: #e8735a;--warm-accent-dark: #d4563d;--warm-accent-light: #fef0ec;--warm-brown: #5c3d2e;--warm-cream: #FFF8F0;min-height:100vh;display:flex;flex-direction:column;background:var(--warm-cream)}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:100%;max-width:440px;background:var(--surface);border-radius:var(--radius-lg);padding:40px 32px;box-shadow:0 4px 24px #5c3d2e1a;text-align:center}.auth-logo{display:flex;justify-content:center;margin-bottom:24px;color:var(--warm-brown)}.auth-logo svg{width:56px;height:56px}.auth-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--warm-brown);margin-bottom:8px}.auth-subtitle{font-size:.9375rem;color:var(--text-secondary);margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:16px;text-align:left}.auth-field label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.auth-field input{width:100%;padding:12px 16px;font-size:.9375rem;font-family:Inter,sans-serif;color:var(--text-primary);background:var(--background);border:1.5px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .2s,box-shadow .2s}.auth-field input::placeholder{color:var(--text-muted)}.auth-field input:focus{border-color:var(--warm-accent);box-shadow:0 0 0 3px #e8735a1f}.auth-button{width:100%;padding:14px 24px;margin-top:8px;font-size:1rem;font-weight:600;font-family:Inter,sans-serif;color:#fff;background:var(--warm-accent);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 2px 8px #e8735a4d}.auth-button:hover{background:var(--warm-accent-dark);box-shadow:0 4px 16px #e8735a66}.auth-button:active{transform:scale(.97)}.auth-link{font-size:.875rem;color:var(--text-secondary);margin-top:20px}.auth-link a{color:var(--warm-accent);font-weight:500;text-decoration:none;transition:color .2s}.auth-link a:hover{color:var(--warm-accent-dark)}.auth-forgot{margin-top:12px}.pricing-hero{padding:60px 0 40px;text-align:center}.pricing-comparison{padding:60px 0}.comparison-table-wrapper{overflow-x:auto;margin-top:40px}.comparison-table{width:100%;max-width:800px;margin:0 auto;border-collapse:collapse;font-size:.9375rem}.comparison-table th,.comparison-table td{padding:14px 20px;text-align:center;border-bottom:1px solid var(--border)}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;font-weight:500}.comparison-table thead th{font-family:Playfair Display,serif;font-weight:700;font-size:1rem;color:var(--warm-brown);padding-bottom:16px;border-bottom:2px solid var(--border)}.comparison-table .featured-col{background:var(--warm-accent-light)}.comparison-table thead .featured-col{color:var(--warm-accent)}.comparison-table .check{color:var(--success);font-weight:700}.comparison-table td{color:var(--text-secondary)}.pricing-faq{padding:80px 0;background:var(--warm-bg)}.faq-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:40px;max-width:800px;margin-left:auto;margin-right:auto}.faq-item{background:var(--surface);border-radius:var(--radius-lg);padding:24px 28px;box-shadow:0 2px 8px #5c3d2e0f}.faq-item h3{font-size:1rem;font-weight:600;color:var(--warm-brown);margin-bottom:8px}.faq-item p{font-size:.9375rem;color:var(--text-secondary);line-height:1.6}@media(min-width:640px){.faq-grid{grid-template-columns:repeat(2,1fr)}}.theme-toggle{display:inline-flex;background:#0000000f;border-radius:999px;padding:3px;gap:2px}.theme-toggle-btn{background:none;border:none;padding:6px 14px;font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b);border-radius:999px;cursor:pointer;transition:background .2s,color .2s;font-family:inherit;line-height:1}.theme-toggle-btn:hover{color:var(--text-primary, #3d2c22)}.theme-toggle-btn.active{background:var(--surface, #ffffff);color:var(--text-primary, #3d2c22);box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .theme-toggle{background:#ffffff1a}html[data-theme=dark] .theme-toggle-btn.active{background:#ffffff26;color:#f5ede6}.estimate-disclaimer{font-size:.8125rem;color:var(--text-muted);text-align:center;margin-top:1rem;padding:0 1rem;line-height:1.5}.feedback-bar{margin-top:1rem;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.feedback-bar-prompt{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.feedback-bar-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.feedback-bar-thumbs{display:flex;gap:.5rem}.feedback-thumb{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.feedback-thumb:hover{border-color:var(--primary);color:var(--primary);background:#e8735a0f}.feedback-thumb[aria-pressed=true]{border-color:var(--primary);color:var(--primary);background:#e8735a1a}.feedback-thumb:disabled{opacity:.5;cursor:not-allowed}.feedback-bar-comment{margin-top:.75rem;text-align:left}.feedback-textarea{width:100%;padding:.625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;color:var(--text-primary);background:var(--surface);resize:vertical;min-height:70px;box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.feedback-comment-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.feedback-char-count{font-size:.75rem;color:var(--text-muted)}.feedback-comment-actions{display:flex;gap:.5rem}.feedback-bar-thanks{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--success);font-weight:500;padding:.25rem 0}.account-screen{padding-bottom:40px}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.account-card-header{margin-bottom:12px}.account-card-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.account-card-description{color:var(--text-secondary);font-size:.875rem;margin:0 0 16px;line-height:1.5}.referral-link-box{display:flex;gap:8px;margin-bottom:12px}.referral-link-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-primary);font-size:.8125rem;font-family:monospace;min-width:0}.referral-copy-btn{white-space:nowrap;display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:.8125rem}.referral-code-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:.8125rem}.referral-code-label{color:var(--text-secondary)}.referral-code-value{background:var(--background);padding:2px 8px;border-radius:4px;font-size:.8125rem;color:var(--text-primary)}.referral-change-code{color:var(--primary);font-size:.75rem;cursor:pointer;background:none;border:none;padding:0;text-decoration:underline}.referral-stats{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--border)}.referral-stat{display:flex;flex-direction:column;align-items:center;flex:1}.referral-stat-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.referral-stat-label{font-size:.75rem;color:var(--text-secondary)}.menu-footer-referral{display:flex;align-items:center;gap:8px;padding:8px 0 0;color:var(--primary);text-decoration:none;font-size:.8125rem;font-weight:500;transition:color .2s;cursor:pointer}.menu-footer-referral:hover{color:var(--primary-hover, var(--primary));opacity:.85}.menu-footer-referral svg{width:16px;height:16px;stroke:currentColor;fill:none}.account-feedback-form{display:flex;flex-direction:column;gap:.75rem}.feedback-form-field{display:flex;flex-direction:column;gap:.375rem}.feedback-form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.feedback-select{width:100%;padding:.5rem 2rem .5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;color:var(--text-primary);background:var(--surface);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a6b60' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center}.feedback-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8735a26}.feedback-email-fallback{margin-top:.75rem;font-size:.8125rem;color:var(--text-muted);text-align:center}.feedback-email-fallback a{color:var(--primary);text-decoration:none}.feedback-email-fallback a:hover{text-decoration:underline}.account-feedback-status{font-size:.8125rem;padding:.5rem;border-radius:var(--radius-sm);text-align:center}.account-feedback-status.success{color:var(--success);background:#10b98114}.account-feedback-status.error{color:var(--danger);background:#ef444414}.account-profile-info{display:flex;gap:16px;align-items:center;margin-bottom:16px}.account-avatar{flex-shrink:0}.account-avatar-img{width:56px;height:56px;border-radius:var(--radius-full);object-fit:cover}.account-avatar-initials{width:56px;height:56px;border-radius:var(--radius-full);background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.account-profile-details{min-width:0}.account-profile-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.account-profile-email{font-size:.875rem;color:var(--text-secondary);word-break:break-all;margin-bottom:6px}.account-email-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.account-badge-success{background:#d1fae5;color:#065f46}.account-badge-warning{background:#fef3c7;color:#92400e}.account-profile-actions{display:flex;align-items:center;gap:12px}.account-social-label{font-size:.8rem;color:var(--text-muted);font-style:italic}.account-plan-status{margin-bottom:4px}.account-plan-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.account-billing-interval{font-size:.8rem;color:var(--text-secondary)}.account-plan-period{font-size:.8rem;color:var(--text-muted)}.account-plan-divider{height:1px;background:var(--border-light);margin:16px 0}.account-usage-section{display:flex;flex-direction:column;gap:8px}.account-usage-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:6px}.account-usage-bar{height:8px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden}.account-usage-bar-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .3s ease}.account-usage-bar-fill.warning{background:var(--warning)}.account-usage-bar-fill.depleted{background:var(--danger)}.account-usage-text{font-size:.875rem;color:var(--text-secondary)}.account-credits,.account-photo-usage{font-size:.8rem;color:var(--text-muted)}.account-plan-actions{display:flex;flex-direction:column;gap:12px}.account-promo-section{display:flex;flex-direction:column;gap:6px}.account-promo-input-group{display:flex;gap:8px}.account-promo-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--surface);color:var(--text-primary)}.account-promo-input:focus{outline:none;border-color:var(--primary)}.account-promo-message{font-size:.8rem;min-height:0}.account-promo-message.success{color:var(--success)}.account-promo-message.error{color:var(--danger)}.tx-list{display:flex;flex-direction:column}.tx-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.875rem}.tx-row:last-child{border-bottom:none}.tx-date{color:var(--text-secondary);font-size:.8rem;min-width:80px}.tx-desc{flex:1;color:var(--text-primary);min-width:120px}.tx-details{display:flex;align-items:baseline;gap:8px;margin-left:auto}.tx-credits-positive{color:var(--success);font-weight:600}.tx-credits-negative{color:var(--text-secondary);font-weight:600}.tx-amount{color:var(--text-secondary);font-size:.8rem}.tx-receipt-link{color:var(--primary);font-size:.8rem;text-decoration:none}.tx-receipt-link:hover{text-decoration:underline}.tx-show-more{margin-top:12px}.account-card-danger{border-color:var(--danger-muted)}.account-card-danger .account-card-header h3{color:var(--danger)}.delete-account-warning{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:20px;padding:16px;background:#fef2f2;border-radius:var(--radius)}.delete-account-warning svg{color:var(--danger)}.delete-account-warning p{margin:0;font-size:.9rem;color:var(--text-primary);font-weight:500}.delete-account-warning ul{text-align:left;margin:8px 0 0;padding-left:20px;font-size:.85rem;color:var(--text-secondary)}.delete-account-warning li{margin-bottom:4px}.delete-account-confirm label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.delete-account-confirm input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:16px;background:var(--surface);color:var(--text-primary);box-sizing:border-box}.delete-account-confirm input:focus{outline:none;border-color:var(--danger)}.account-export-pending{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary);padding:12px 0}.loading-spinner-sm{width:16px;height:16px;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}.account-export-ready{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--success);padding:12px 0}.account-export-error{font-size:.875rem;color:var(--danger);padding:12px 0}.account-deleted-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;gap:16px;color:var(--text-secondary)}.account-deleted-message svg{color:var(--success)}.account-deleted-message h2{margin:0;color:var(--text-primary)}.account-deleted-message p{margin:0}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-full{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.btn-link{background:none;border:none;color:var(--primary);font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline}.btn-link:hover{color:var(--primary-dark)}.account-loading{font-size:.875rem;color:var(--text-muted);padding:12px 0}html[data-theme=dark] .account-card{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .account-badge-success{background:#064e3b;color:#6ee7b7}html[data-theme=dark] .account-badge-warning{background:#78350f;color:#fcd34d}html[data-theme=dark] .delete-account-warning{background:#450a0a}html[data-theme=dark] .delete-account-warning p{color:var(--text-primary)}html[data-theme=dark] .delete-account-warning ul{color:var(--text-secondary)}html[data-theme=dark] .account-promo-input,html[data-theme=dark] .delete-account-confirm input{background:var(--background);border-color:var(--border);color:var(--text-primary)}.legal-content{max-width:800px;margin:0 auto;padding:0 20px}.legal-content h2{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:var(--warm-brown);margin-bottom:8px}.legal-content .effective-date{font-size:.875rem;color:var(--text-secondary);margin-bottom:32px}.legal-content h3{font-size:1.25rem;font-weight:600;margin-top:32px;margin-bottom:12px;color:var(--warm-brown)}.legal-content p{margin-bottom:16px;color:var(--text-primary);line-height:1.7}.legal-content ul{margin-left:24px;margin-bottom:16px}.legal-content li{margin-bottom:8px;color:var(--text-primary);line-height:1.6}.legal-content a{color:var(--warm-accent);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content .section{margin-bottom:32px}.legal-content .contact-info{background:var(--warm-bg, #fdf8f4);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-top:32px}.legal-content .contact-info h3{margin-top:0}.legal-hero{padding:60px 0 40px;text-align:center}.production-planner-screen{max-width:480px;margin:0 auto}.planner-step{margin-bottom:24px}.planner-recipe-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.planner-recipe-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.planner-recipe-meta{display:flex;gap:16px;font-size:.85rem;color:var(--text-muted)}.planner-picker-label{font-size:.9375rem;color:var(--text-secondary);margin-bottom:12px}.planner-recipe-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.planner-recipe-option{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background .2s}.planner-recipe-option:hover{border-color:var(--primary);background:var(--primary-bg, rgba(var(--primary-rgb, 99, 102, 241), .05))}.planner-recipe-option-name{font-weight:500;color:var(--text-primary)}.planner-recipe-option-meta{font-size:.8rem;color:var(--text-muted)}.planner-picker-empty{text-align:center;padding:32px 16px;color:var(--text-muted)}.scale-config-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.config-field{margin-bottom:20px}.config-field label{display:block;font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:8px}.config-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;color:var(--text-primary);background:var(--background);box-sizing:border-box}.config-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 99, 102, 241),.1)}.config-hint{font-size:.8rem;color:var(--text-muted);margin-top:6px;line-height:1.4}.batch-toggle{display:flex;gap:16px;margin-bottom:10px}.batch-toggle-option{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.batch-toggle-option input[type=radio]{accent-color:var(--primary)}.batch-multiplier-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:6px}.batch-summary{background:var(--primary-bg, rgba(var(--primary-rgb, 99, 102, 241), .05));border:1px solid var(--primary-light, rgba(var(--primary-rgb, 99, 102, 241), .2));border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:.9375rem;color:var(--text-primary);text-align:center}.batch-roundup-btn{display:block;margin:8px auto 0;padding:6px 16px;border:1px solid var(--primary);border-radius:var(--radius);background:transparent;color:var(--primary);font-size:.8125rem;cursor:pointer;transition:background .15s}.batch-roundup-btn:hover{background:var(--primary-bg, rgba(var(--primary-rgb, 99, 102, 241), .1))}.missing-servings-msg{font-size:.9375rem;color:var(--text-secondary);margin-bottom:12px}.scale-instructions-note{font-size:.8125rem;color:var(--text-secondary);margin-bottom:8px;font-style:italic}.scale-instructions-list{padding-left:20px;font-size:.875rem;color:var(--text-primary)}.scale-instructions-list li{margin-bottom:6px;line-height:1.4}.scale-results{margin-top:20px}.scale-results-title{font-size:1rem;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:16px}.scale-section{margin-bottom:20px}.scale-section h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.scale-ingredient-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border-light, var(--border));font-size:.9375rem}.scale-ingredient-row:last-child{border-bottom:none}.scale-ingredient-name{flex:1;color:var(--text-primary)}.scale-ingredient-qty{color:var(--text-secondary);margin-right:12px;min-width:80px;text-align:right}.scale-ingredient-cost{font-weight:500;color:var(--text-primary);min-width:60px;text-align:right}.scale-ingredient-row.unparseable .scale-ingredient-qty:before{content:"\26a0";margin-right:4px;color:var(--warning, #f59e0b)}.scale-packaging-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border-light, var(--border));font-size:.9375rem}.scale-packaging-row:last-child{border-bottom:none}.scale-labor-summary{font-size:.9375rem;color:var(--text-primary);padding:8px 0}.scale-totals{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:16px}.scale-total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.9375rem;color:var(--text-secondary)}.scale-total-row.grand-total{font-size:1.1rem;font-weight:600;color:var(--text-primary);padding-top:8px;margin-top:8px;border-top:1px solid var(--border)}.pro-scale-section{text-align:center;padding:20px 0}.pro-scale-btn{background:linear-gradient(135deg,var(--primary),#7c3aed)}.pro-scale-btn:hover{opacity:.9}.pro-scale-hint{font-size:.8rem;color:var(--text-muted);margin-top:8px}.pro-scale-credits{font-size:.8rem;color:var(--text-muted);margin-top:4px}.info-tooltip-trigger{display:inline-flex;align-items:center;cursor:pointer;opacity:.5;transition:opacity .2s;vertical-align:middle;margin-left:2px}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus{opacity:1}.info-tooltip-trigger svg{stroke:var(--text-muted)}.recipe-family{margin-bottom:8px}.recipe-family-child{margin-left:16px;border-left:3px solid var(--primary);opacity:.92}.recipe-family-badge{display:inline-block;background:var(--primary);color:#fff;font-size:.7rem;padding:1px 8px;border-radius:10px;margin-left:6px}.recipe-scale-label{display:inline-block;background:#6366f11a;color:var(--primary);font-size:.7rem;padding:1px 8px;border-radius:10px;margin-left:6px}.pro-scale-row{flex-wrap:wrap;gap:2px}.pro-scale-row.adjusted{background:#6366f10a;border-left:3px solid var(--primary);padding-left:9px}.pro-scale-diff{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.diff-basic{color:var(--text-muted);text-decoration:line-through}.diff-arrow{color:var(--text-muted);font-size:.75rem}.diff-pro{font-weight:600}.diff-unchanged{color:var(--text-secondary)}.diff-reason{width:100%;font-size:.75rem;color:var(--text-muted);font-style:italic;padding:2px 0 4px}.confidence-high{color:var(--success, #10b981)}.confidence-medium{color:var(--warning, #f59e0b)}.confidence-low{color:var(--error, #ef4444)}.scale-warning{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:6px 8px;margin-top:4px;border-radius:var(--radius, 6px);font-size:.8rem;cursor:pointer}.scale-warning .warning-icon{flex-shrink:0}.scale-warning .warning-msg{flex:1;min-width:0}.warning-info{background:#3b82f614;color:#3b82f6}.warning-caution{background:#f59e0b14;color:#f59e0b}.warning-warning{background:#ef444414;color:#ef4444}.scale-warning-expand{display:none;width:100%;margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,0,0,.06);font-size:.78rem;color:var(--text-secondary)}.scale-warning.expanded .scale-warning-expand{display:block}.pro-scale-instructions{margin:0;padding-left:20px;font-size:.85rem;color:var(--text-secondary)}.pro-scale-instructions li{margin-bottom:6px;line-height:1.5}.pro-scale-btn:disabled{opacity:.7;cursor:default}@media(prefers-color-scheme:dark){.planner-recipe-option:hover{background:#ffffff0d}.scale-config-panel,.scale-totals{background:var(--surface)}.batch-summary{background:#6366f11a;border-color:#6366f14d}.config-input{background:var(--background);color:var(--text-primary);border-color:var(--border)}.pro-scale-row.adjusted{background:#6366f114}.warning-info{background:#3b82f61f}.warning-caution{background:#f59e0b1f}.warning-warning{background:#ef44441f}.scale-warning-expand{border-top-color:#ffffff14}.cascade-sheet-overlay.cascade-expanded{background:#00000080}.cascade-sheet{box-shadow:0 -4px 20px #0006}.cascade-sheet-close:hover{background:#ffffff14}.cascade-intent,.cascade-detailed-explanation{background:#ffffff0d}.cascade-impact-item{border-color:#ffffff1a}.cascade-impact-item.cascade-selected{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.cascade-toggle-track{background:#ffffff26}.cascade-batch-actions{background:var(--surface);border-top-color:#ffffff1a}.cascade-impact-cost-diff.same{background:#ffffff0d}.cascade-reeval-toggle .cascade-toggle-track{background:#ffffff26}.instruction-diff-summary{background:#ffffff0d}.instruction-diff-added{background:color-mix(in srgb,#22c55e 15%,transparent)}.instruction-diff-reject{border-color:#ffffff1a}.instruction-diff-reject:hover{background:#ffffff0d}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-badge{display:inline-flex;align-items:center;gap:2px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--warm-accent, #e8735a);background:color-mix(in srgb,var(--warm-accent, #e8735a) 12%,transparent);padding:1px 5px;border-radius:var(--radius-sm);margin-left:6px;vertical-align:middle;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-fallback-badge{display:inline-block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #888);background:color-mix(in srgb,var(--text-muted, #888) 12%,transparent);padding:1px 5px;border-radius:var(--radius-sm);margin-left:4px;vertical-align:middle}.brand-badge-clear{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;font-size:.625rem;cursor:pointer;padding:0 1px;margin-left:2px;opacity:.7;line-height:1}.brand-badge-clear:hover{opacity:1}.brand-modal-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0 0 4px}.brand-modal-notice{font-size:.75rem;color:var(--text-muted);font-style:italic;margin:0 0 16px}.brand-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;color:var(--text-muted)}.brand-error{text-align:center;padding:24px 0;color:var(--text-secondary)}.brand-error p{margin:0 0 12px}.brand-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.brand-option{display:flex;align-items:center;padding:12px;background:var(--border-light);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background .2s}.brand-option:hover{border-color:var(--primary);background:var(--surface)}.brand-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.brand-option-radio{flex-shrink:0;margin-right:12px}.brand-radio-input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.brand-option-details{flex:1;min-width:0}.brand-option-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.brand-option-info{font-size:.75rem;color:var(--text-muted)}.brand-option-price{margin-left:12px;flex-shrink:0;text-align:right}.brand-price-value{font-size:.9375rem;font-weight:600}.brand-price-value.cheaper{color:var(--success)}.brand-price-value.expensive{color:var(--danger)}.brand-price-value.same{color:var(--text-primary)}.size-smaller{color:var(--danger);font-weight:500}.size-larger{color:var(--success);font-weight:500}.brand-actions{display:flex;gap:8px;justify-content:flex-end}
