:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--background-primary: #242424;--background-secondary: #2f2f2f;--background-tertiary: #3a3a3a;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #ccc;--border-color: #555;--accent-color: #646cff;--accent-color-hover: #535bf2;--button-bg: #1a1a1a;color-scheme:light dark;color:var(--text-primary);background-color:var(--background-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,body{overflow-x:hidden;width:100%;overscroll-behavior-y:contain}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;border-color:var(--accent-color);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-bg);cursor:pointer;transition:border-color .25s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (max-width: 768px){button{min-height:48px;padding:.75em 1.5em;font-size:1rem}}input,textarea,select{max-width:100%;box-sizing:border-box;min-height:44px;font-size:16px}input:not([type=checkbox]):not([type=radio]),textarea,select{background-color:var(--color-surface, #1e293b);color:var(--color-text-primary, #f1f5f9);border:1px solid var(--color-border, #334155);border-radius:6px}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary, #818cf8)}select option{background-color:var(--color-surface, #1e293b);color:var(--color-text-primary, #f1f5f9)}@media (max-width: 768px){input,textarea,select{min-height:48px;padding:.75rem;font-size:16px}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px;width:24px;height:24px}}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(129,140,248,.1)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--color-background)}*::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 768px){*::-webkit-scrollbar{width:4px;height:4px}}@media (prefers-color-scheme: light){:root{--background-primary: #ffffff;--background-secondary: #f9f9f9;--background-tertiary: #f0f0f0;--text-primary: #213547;--text-secondary: #555;--border-color: #ddd;--accent-color: #747bff;--accent-color-hover: #535bf2;--button-bg: #f9f9f9}}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-form div{display:flex;flex-direction:column;gap:5px;text-align:left}.auth-form label{font-weight:700}.auth-form input{padding:.8em;border-radius:4px;border:1px solid var(--border-color);background-color:var(--background-tertiary);color:var(--text-primary);font-size:1em}.auth-form input:focus{border-color:var(--accent-color)}.auth-form button{margin-top:10px}.auth-form .error-message{color:var(--error-color, #ff4444);font-size:.875em;margin-top:4px}.auth-form input[aria-invalid=true]{border-color:var(--error-color, #ff4444)}.auth-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-md, 1rem) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border, #334155)}.auth-divider span{padding:0 var(--spacing-md, 1rem);color:var(--color-text-tertiary, #94a3b8);font-size:var(--font-size-sm, .875rem);text-transform:uppercase;letter-spacing:.05em}.google-signin-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm, .5rem);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background-color:var(--color-surface, #1e293b);color:var(--color-text-primary, #f1f5f9);border:1px solid var(--color-border, #334155);border-radius:var(--radius-md, .5rem);font-size:var(--font-size-base, 1rem);cursor:pointer;transition:background-color var(--transition-fast, .15s ease-in-out),border-color var(--transition-fast, .15s ease-in-out);min-height:var(--touch-target-min, 44px)}.google-signin-button:hover:not(:disabled){background-color:var(--color-surface-hover, #334155);border-color:var(--color-border-focus, #818cf8)}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.apple-signin-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm, .5rem);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background-color:#000;color:#fff;border:1px solid #000000;border-radius:var(--radius-md, .5rem);font-size:var(--font-size-base, 1rem);cursor:pointer;transition:background-color var(--transition-fast, .15s ease-in-out),border-color var(--transition-fast, .15s ease-in-out);min-height:var(--touch-target-min, 44px)}.apple-signin-button:hover:not(:disabled){background-color:#333;border-color:#333}.apple-signin-button:disabled{opacity:.6;cursor:not-allowed}.auth-form .success-message{color:var(--success-color, #22c55e);font-size:.875em;background-color:var(--success-bg, rgba(34, 197, 94, .1));padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);border-radius:var(--radius-sm, .25rem);border:1px solid var(--success-color, #22c55e);text-align:center}.page-container{display:flex;flex-direction:column;align-items:center;padding:2rem;box-sizing:border-box;width:100%}.auth-form-container{display:flex;flex-direction:column;gap:20px;background-color:var(--background-secondary);padding:2rem;border-radius:8px;width:100%;max-width:400px;box-shadow:0 4px 6px #0000001a}.dashboard-container{text-align:center}.nav-button{background:none;border:none;color:var(--accent-color);cursor:pointer;padding:.5em;margin-top:1rem;font-size:.9em}.nav-button:hover{text-decoration:underline}@media (max-width: 768px){.page-container{padding:var(--mobile-padding);min-height:100vh;justify-content:center}.auth-form-container{padding:var(--spacing-lg);max-width:100%;gap:var(--spacing-md)}.auth-form-container h2{font-size:var(--font-size-xl)}.auth-form-container input{min-height:var(--touch-target-optimal);font-size:16px;padding:var(--spacing-md)}.auth-form-container button{min-height:var(--touch-target-optimal);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.nav-button{padding:var(--spacing-md);font-size:var(--font-size-base);min-height:var(--touch-target-min)}}.email-verification-container{text-align:center}.email-verification-icon{font-size:4rem;margin-bottom:var(--spacing-md, 1rem)}.email-verification-instructions{color:var(--text-primary, #f1f5f9);margin-bottom:var(--spacing-sm, .5rem)}.email-verification-hint{color:var(--text-tertiary, #64748b);font-size:var(--font-size-sm, .875rem);margin-bottom:var(--spacing-lg, 1.5rem)}.email-verification-success{color:var(--success-color, #22c55e);font-size:var(--font-size-sm, .875rem);background-color:var(--success-bg, rgba(34, 197, 94, .1));padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);border-radius:var(--radius-sm, .25rem);margin-bottom:var(--spacing-md, 1rem)}.email-verification-error{color:var(--error-color, #ef4444);font-size:var(--font-size-sm, .875rem);background-color:var(--error-bg, rgba(239, 68, 68, .1));padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);border-radius:var(--radius-sm, .25rem);margin-bottom:var(--spacing-md, 1rem)}.email-verification-actions{display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.email-verification-actions .primary-button{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background-color:var(--accent-color, #6366f1);color:#fff;border:none;border-radius:var(--radius-md, .5rem);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast, .15s ease-in-out);min-height:var(--touch-target-min, 44px)}.email-verification-actions .primary-button:hover:not(:disabled){background-color:var(--accent-color-hover, #4f46e5)}.email-verification-actions .primary-button:disabled{opacity:.6;cursor:not-allowed}.email-verification-actions .secondary-button{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background-color:transparent;color:var(--accent-color, #6366f1);border:1px solid var(--accent-color, #6366f1);border-radius:var(--radius-md, .5rem);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast, .15s ease-in-out);min-height:var(--touch-target-min, 44px)}.email-verification-actions .secondary-button:hover:not(:disabled){background-color:var(--accent-bg, rgba(99, 102, 241, .1))}.email-verification-actions .secondary-button:disabled{opacity:.6;cursor:not-allowed}.email-verification-actions .text-button{padding:var(--spacing-sm, .5rem);background-color:transparent;color:var(--text-tertiary, #64748b);border:none;font-size:var(--font-size-sm, .875rem);cursor:pointer;text-decoration:underline}.email-verification-actions .text-button:hover{color:var(--text-secondary, #94a3b8)}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{min-width:300px;max-width:500px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto;animation:slideIn .3s ease-out;font-size:14px;line-height:1.4}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast.toast-exit{animation:slideOut .3s ease-in forwards}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-success{background-color:#4caf50;color:#fff}.toast-error{background-color:#f44336;color:#fff}.toast-info{background-color:#2196f3;color:#fff}.toast-warning{background-color:#ff9800;color:#fff}.toast-content{flex:1;display:flex;align-items:center;gap:10px}.toast-icon{font-size:20px;flex-shrink:0}.toast-message{flex:1;word-break:break-word}.toast-close{background:none;border:none;color:inherit;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;opacity:.8;transition:opacity .2s,background-color .2s}.toast-close:hover{opacity:1;background-color:#0000001a}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}.recipe-generator{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);height:fit-content}.recipe-generator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.recipe-generator h2{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:0;text-align:center;flex:1}.clear-session-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease}.clear-session-button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.clear-session-button:disabled{opacity:.5;cursor:not-allowed}.recipe-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-row label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base)}.form-row input,.form-row select{width:100%}.help-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs);line-height:1.4}.toggle-row{display:flex;gap:var(--spacing-xs)}.toggle-option{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);background:var(--color-background);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);transition:var(--transition-base);color:var(--color-text-primary)}.toggle-option:hover{border-color:var(--color-primary)}.toggle-option.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.mode-selector{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.mode-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);background:var(--color-background);border-radius:var(--radius-md);cursor:pointer;min-width:70px;min-height:auto;color:var(--color-text-primary);transition:var(--transition-base);flex:1 1 0}.mode-option:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.mode-option.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.mode-icon{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.mode-name{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium);text-align:center;white-space:normal;line-height:var(--line-height-tight, 1.25)}.form-row.checkbox-row{flex-direction:row;align-items:center;padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-base)}.form-row.checkbox-row:hover{background-color:var(--color-primary-light)}.form-row.checkbox-row input[type=checkbox]{width:auto;margin:0;margin-right:var(--spacing-sm)}.form-row.checkbox-row label{margin:0;cursor:pointer;flex:1}.portion-inputs{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-md)}.portion-inputs input{min-width:0}.portion-inputs input.input-error{border-color:var(--color-error)}.portion-inputs select{width:120px}.generate-button{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border:none;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.generate-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.generate-button:hover:not(:disabled):before{left:100%}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{background:var(--color-text-tertiary);cursor:not-allowed;transform:none}.tag-input-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.selected-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:999px;font-size:var(--font-size-sm);color:var(--color-primary)}.tag button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:var(--color-primary);color:#fff;border-radius:50%;cursor:pointer;font-size:var(--font-size-sm);line-height:1;transition:var(--transition-base)}.tag button:hover{background:var(--color-primary-hover)}.input-with-dropdown{display:flex;gap:var(--spacing-sm)}.input-with-dropdown input{flex:1}.input-with-dropdown button{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-base)}.input-with-dropdown button:hover:not(:disabled){background:var(--color-primary-hover)}.input-with-dropdown button:disabled{background:var(--color-text-tertiary);cursor:not-allowed}.equipment-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm)}.equipment-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base)}.equipment-checkbox:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.equipment-checkbox input[type=checkbox]{width:auto;margin:0}.equipment-checkbox input:checked+span{color:var(--color-primary);font-weight:var(--font-weight-medium)}.conflict-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-md);color:#856404;font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.conflict-warning:before{content:"⚠️"}.avoid-tag{background:#ffe5e5;border-color:#dc3545;color:#dc3545}.avoid-tag button{background:#dc3545}.avoid-tag button:hover{background:#c82333}@media (max-width: 768px){.recipe-generator{padding:var(--mobile-padding)}.recipe-generator h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg)}.recipe-form{gap:var(--spacing-md)}.form-row{gap:var(--mobile-gap)}.form-row label{font-size:var(--font-size-base)}.form-row.checkbox-row{padding:var(--spacing-md);min-height:var(--touch-target-optimal)}.portion-inputs{grid-template-columns:1fr;gap:var(--mobile-gap)}.portion-inputs select{width:100%}.generate-button{margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal)}.mode-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.mode-option{min-width:auto;padding:var(--spacing-sm)}.mode-icon{font-size:var(--font-size-lg)}.mode-name{font-size:var(--font-size-xs)}.equipment-checkboxes{grid-template-columns:1fr 1fr}.input-with-dropdown{flex-direction:column}.input-with-dropdown button{width:100%}}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.recipe-skeleton{padding:var(--spacing-xl);max-width:var(--max-width-lg);background-color:var(--color-surface);border-radius:var(--radius-xl)}.skeleton-title{height:32px;width:60%;margin-bottom:var(--spacing-xl)}.skeleton-section{margin-bottom:var(--spacing-lg)}.skeleton-line{height:16px;margin-bottom:var(--spacing-md);width:100%}.skeleton-line:last-child{width:80%}.skeleton-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);margin-top:var(--spacing-xl)}.skeleton-column{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-header{height:24px;width:40%;margin-bottom:var(--spacing-lg)}.inventory-skeleton{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg) 0}.skeleton-item{height:60px;border-radius:var(--radius-lg)}.list-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-list-item{height:48px;border-radius:var(--radius-md)}.card-skeleton{border-radius:var(--radius-xl);padding:var(--spacing-xl);background-color:var(--color-surface);box-shadow:var(--shadow-lg)}.skeleton-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.skeleton-card-title{height:24px;width:60%}.skeleton-card-action{height:32px;width:32px;border-radius:var(--radius-full)}.skeleton-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-card-text{height:14px}.skeleton-card-text:last-child{width:70%}.cards-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xl);padding:var(--spacing-lg) 0}.profile-skeleton{max-width:var(--max-width-lg);margin:0 auto;background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl)}.skeleton-tabs{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.skeleton-tab{height:40px;width:150px;border-radius:var(--radius-md)}.skeleton-form-group{margin-bottom:var(--spacing-xl)}.skeleton-label{height:16px;width:150px;margin-bottom:var(--spacing-md)}.skeleton-input{height:40px;width:100%;border-radius:var(--radius-md)}.skeleton-checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-checkbox{height:20px;width:120px;border-radius:var(--radius-sm)}@media (max-width: 768px){.skeleton-columns,.cards-skeleton{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 5px 15px #0000004d;text-align:center}.modal-content h2{margin-top:0;color:#333}.modal-content p{margin-bottom:1.5rem;color:#666}.modal-actions{display:flex;justify-content:center;gap:1rem}.modal-actions button{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-weight:700}.modal-actions .primary-action{background-color:#007bff;color:#fff}.modal-actions .secondary-action{background-color:#6c757d;color:#fff}@media (max-width: 768px){.modal-content{width:95%;max-width:95vw;padding:var(--spacing-lg);max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-content h2{font-size:var(--font-size-xl)}.modal-content p{font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.modal-actions{flex-direction:column;gap:var(--mobile-gap)}.modal-actions button{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal)}}.ingredient-check-modal{max-width:500px;margin:0 auto}.ingredient-check-modal h2{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-sm);text-align:center}.ingredient-check-modal .subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--spacing-lg)}.all-available{text-align:center;padding:var(--spacing-lg) 0}.all-available .success-icon{width:64px;height:64px;background-color:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);margin:0 auto var(--spacing-lg)}.all-available p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.ingredient-section{margin-bottom:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.ingredient-section h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.select-buttons{display:flex;gap:var(--spacing-xs)}.select-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.select-button:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.select-button:disabled{opacity:.5;cursor:not-allowed}.ingredient-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;overflow-y:auto;padding-right:var(--spacing-sm)}.ingredient-list::-webkit-scrollbar{width:6px}.ingredient-list::-webkit-scrollbar-track{background:var(--color-background);border-radius:var(--radius-full)}.ingredient-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.ingredient-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.ingredient-item{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border)}.ingredient-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.ingredient-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.ingredient-name{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ingredient-section.already-in-list{background-color:var(--color-success-light, rgba(52, 211, 153, .1));padding:var(--spacing-md);border-radius:var(--radius-md)}.ingredient-section.already-in-list h3{color:var(--color-success);margin-bottom:var(--spacing-sm)}.ingredient-item.in-grocery{display:flex;align-items:center;gap:var(--spacing-sm);background-color:transparent;border:none;padding:var(--spacing-xs) 0}.ingredient-item.in-grocery .check-icon{color:var(--color-success);font-weight:var(--font-weight-bold)}.ingredient-section.existing-in-list{background-color:var(--color-info-light, rgba(59, 130, 246, .1));padding:var(--spacing-md);border-radius:var(--radius-md)}.ingredient-section.existing-in-list h3{color:var(--color-primary)}.ingredient-section.existing-in-list .section-info{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--spacing-sm)}.ingredient-item.existing-grocery{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.ingredient-item.existing-grocery.incompatible{border-color:var(--color-warning, #f59e0b);background-color:var(--color-warning-light, rgba(245, 158, 11, .1))}.ingredient-item.existing-grocery .ingredient-label{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.ingredient-item.existing-grocery .ingredient-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ingredient-item.existing-grocery .ingredient-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.quantity-preview{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.quantity-preview strong{color:var(--color-success);font-weight:var(--font-weight-semibold)}.quantity-warning{font-size:var(--font-size-xs);color:var(--color-warning, #f59e0b)}.ingredient-section.partial-available{background-color:var(--color-warning-light, rgba(245, 158, 11, .1));padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-warning, #f59e0b)}.ingredient-section.partial-available h3{color:var(--color-warning-dark, #d97706)}.ingredient-section.partial-available .section-info{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--spacing-sm)}.ingredient-item.partial-item{background-color:var(--color-surface)}.ingredient-item.partial-item .ingredient-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.shortage-indicator{font-size:var(--font-size-xs);color:var(--color-warning-dark, #d97706);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px)}.info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:var(--color-text-tertiary, #6b7280);color:var(--color-bg-primary, #1a1a2e);font-size:10px;font-weight:var(--font-weight-bold, 700);cursor:help;flex-shrink:0;line-height:1}.info-tooltip-trigger:hover{background-color:var(--color-text-secondary, #9ca3af)}.smart-amount{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic}.grocery-amount-preview{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic}.available-summary{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.available-summary .check-icon{color:var(--color-success);font-weight:var(--font-weight-bold)}.available-summary span:last-child{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.primary-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.primary-button:hover:not(:disabled){background-color:#10b981}.primary-button:disabled{opacity:.7;cursor:not-allowed}.secondary-button{padding:var(--spacing-md) var(--spacing-xl);background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.secondary-button:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-text-tertiary)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.ingredient-check-modal{padding:var(--spacing-md)}.section-header{flex-direction:column;align-items:flex-start}.modal-actions{flex-direction:column}.primary-button,.secondary-button{width:100%;min-height:var(--touch-target-optimal)}}.substitution-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);background-color:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.substitution-button:hover:not(:disabled){background-color:var(--color-primary-light);color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.substitution-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-background),0 0 0 4px var(--color-primary)}.substitution-button:disabled{opacity:.5;cursor:not-allowed}.substitution-button--small{padding:2px var(--spacing-xs);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.substitution-button--icon-only{padding:var(--spacing-xs);width:28px;height:28px;border-radius:var(--radius-full)}.substitution-button__icon{font-size:var(--font-size-base);line-height:1}@media (max-width: 768px){.substitution-button{min-height:var(--touch-target-min);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.substitution-button--small{min-height:36px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.substitution-button--icon-only{min-width:var(--touch-target-min);min-height:var(--touch-target-min);width:var(--touch-target-min);height:var(--touch-target-min)}}.substitution-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);padding:var(--spacing-md)}.substitution-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.substitution-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.substitution-modal__header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.substitution-modal__close{background:transparent;border:none;font-size:var(--font-size-2xl);color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-fast)}.substitution-modal__close:hover{color:var(--color-text-primary)}.substitution-modal__content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.substitution-modal__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.substitution-modal__loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md)}.substitution-modal__error{background-color:#f871711a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--color-error);text-align:center}.substitution-modal__no-results{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.substitution-modal__no-results p:first-child{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.substitution-modal__no-results p:last-child{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.substitution-suggestions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.substitution-suggestion{background:var(--color-surface-variant);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.substitution-suggestion__main{flex:1;min-width:0}.substitution-suggestion__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.substitution-suggestion__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.substitution-suggestion__confidence{font-size:var(--font-size-xs);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);text-transform:uppercase;font-weight:var(--font-weight-medium)}.confidence--high{background-color:#34d39933;color:var(--color-success)}.confidence--medium{background-color:#fbbf2433;color:var(--color-warning)}.confidence--low{background-color:#94a3b833;color:var(--color-text-tertiary)}.substitution-suggestion__ratio{font-size:var(--font-size-sm);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.substitution-suggestion__notes{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.substitution-suggestion__dietary{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.dietary-tag{font-size:var(--font-size-xs);background-color:var(--color-primary-light);color:var(--color-primary);padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.substitution-suggestion__select{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast);white-space:nowrap}.substitution-suggestion__select:hover{background-color:var(--color-primary-hover)}@media (max-width: 768px){.substitution-modal-overlay{padding:var(--spacing-sm);align-items:flex-end}.substitution-modal{max-height:90vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.substitution-modal__header{padding:var(--spacing-md)}.substitution-modal__header h2{font-size:var(--font-size-lg)}.substitution-modal__content{padding:var(--spacing-md)}.substitution-suggestion{flex-direction:column;gap:var(--spacing-sm)}.substitution-suggestion__select{width:100%;min-height:var(--touch-target-optimal);font-size:var(--font-size-base)}}.substitution-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-primary)}.substitution-badge__icon{font-size:var(--font-size-xs)}.substitution-badge__text{font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.substitution-badge__revert{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;margin-left:var(--spacing-xs);font-size:var(--font-size-base);color:var(--color-primary);cursor:pointer;line-height:1;width:16px;height:16px;border-radius:var(--radius-full);transition:all var(--transition-fast)}.substitution-badge__revert:hover{background-color:var(--color-primary);color:#fff}.substitution-badge--compact{padding:2px var(--spacing-xs);gap:2px}.substitution-badge--compact .substitution-badge__text{display:none}@media (max-width: 768px){.substitution-badge{padding:var(--spacing-xs) var(--spacing-sm)}.substitution-badge__revert{width:24px;height:24px;font-size:var(--font-size-lg)}}.no-substitutes-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);padding:var(--spacing-md)}.no-substitutes-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-xl);position:relative}.no-substitutes-modal__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;font-size:var(--font-size-2xl);color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-fast)}.no-substitutes-modal__close:hover{color:var(--color-text-primary)}.no-substitutes-modal__icon{width:60px;height:60px;border-radius:var(--radius-full);background-color:#fbbf2433;color:var(--color-warning);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg)}.no-substitutes-modal__message{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed)}.no-substitutes-modal__message strong{color:var(--color-primary)}.no-substitutes-modal__excluded{background-color:var(--color-surface-variant);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:left}.no-substitutes-modal__excluded-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.no-substitutes-modal__excluded-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.no-substitutes-modal__excluded-list li{background-color:var(--color-primary-light);color:var(--color-primary);padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.no-substitutes-modal__actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.no-substitutes-modal__button{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.no-substitutes-modal__button--primary{background-color:var(--color-primary);color:#fff}.no-substitutes-modal__button--primary:hover{background-color:var(--color-primary-hover)}.no-substitutes-modal__button--secondary{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.no-substitutes-modal__button--secondary:hover{background-color:var(--color-surface-variant);color:var(--color-text-primary)}.no-substitutes-modal__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}@media (max-width: 768px){.no-substitutes-modal-overlay{padding:var(--spacing-sm);align-items:flex-end}.no-substitutes-modal{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:var(--spacing-lg)}.no-substitutes-modal__icon{width:50px;height:50px;font-size:var(--font-size-2xl)}.no-substitutes-modal__message{font-size:var(--font-size-base)}.no-substitutes-modal__button{min-height:var(--touch-target-optimal)}}.unit-system-selector{display:flex;align-items:center;gap:var(--spacing-sm, .5rem);position:relative}.unit-system-dropdown{padding:var(--spacing-xs, .25rem) var(--spacing-sm, .5rem);border:1px solid var(--color-border, #334155);border-radius:var(--radius-md, 6px);background-color:var(--color-surface, #1e293b);color:var(--color-text-primary, #f1f5f9);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s ease-in-out);min-width:130px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23cbd5e1' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm, .5rem) center;padding-right:calc(var(--spacing-sm, .5rem) + 16px)}.unit-system-dropdown:hover:not(:disabled){border-color:var(--color-primary, #818cf8);background-color:var(--color-surface-hover, #334155)}.unit-system-dropdown:focus{outline:2px solid var(--color-primary, #818cf8);outline-offset:2px;border-color:var(--color-primary, #818cf8)}.unit-system-dropdown:disabled{opacity:.5;cursor:not-allowed}.unit-system-dropdown option{background-color:var(--color-surface, #1e293b);color:var(--color-text-primary, #f1f5f9);padding:var(--spacing-sm, .5rem)}.unit-system-selector-loading{display:flex;align-items:center;margin-right:var(--spacing-xs, .25rem)}.loading-spinner{width:14px;height:14px;border:2px solid var(--color-border, #334155);border-top-color:var(--color-primary, #818cf8);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 480px){.unit-system-dropdown{font-size:var(--font-size-sm, .875rem);min-width:110px;padding:var(--spacing-xs, .25rem) var(--spacing-xs, .25rem);padding-right:calc(var(--spacing-xs, .25rem) + 16px)}}.loading-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg);min-height:300px;gap:var(--spacing-lg);animation:fadeIn .3s ease-in}.loading-progress-icon{font-size:3rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.loading-progress-content{text-align:center;max-width:400px}.loading-progress-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;min-height:1.5em}.loading-progress-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.loading-progress-spinner{margin-top:var(--spacing-md)}.spinner{width:40px;height:40px;border:4px solid var(--color-surface-variant);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.error-display{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg);border:2px solid var(--color-error);min-height:300px;gap:var(--spacing-lg);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:3rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-content{text-align:center;max-width:500px;width:100%}.error-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-error);margin:0 0 var(--spacing-sm) 0}.error-message{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;line-height:1.5}.error-suggestions{background-color:var(--color-surface-variant);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:left}.error-suggestions-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:.5px}.error-suggestions ul{list-style:none;padding:0;margin:0}.error-suggestions li{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative}.error-suggestions li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.error-actions{margin-top:var(--spacing-md)}.retry-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-background);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.retry-button:active{transform:translateY(0)}.retry-button:disabled{background-color:var(--color-surface-variant);color:var(--color-text-secondary);cursor:not-allowed;transform:none}.error-max-retries{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-md);font-style:italic}.modal-content:has(.recipe-adjustment-modal){max-width:720px;width:min(95vw,720px);text-align:left}.recipe-adjustment-modal{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);width:100%;max-height:70vh;overflow-y:auto}.recipe-adjustment-modal .modal-title{margin:0 0 var(--spacing-sm, 8px) 0;font-size:var(--font-size-xl, 1.25rem);color:var(--color-text-primary, #333);font-weight:600}.adjustment-mode-selector{display:flex;gap:var(--spacing-xs, 4px);background-color:var(--color-surface, #f5f5f5);padding:var(--spacing-xs, 4px);border-radius:var(--border-radius, 8px)}.mode-button{flex:1;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:none;background-color:transparent;border-radius:var(--border-radius, 8px);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-text-secondary, #666);transition:all .2s ease}.mode-button:hover{background-color:var(--color-surface-hover, #e8e8e8)}.mode-button.active{background-color:var(--color-primary, #4f46e5);color:#fff}.serving-mode-content{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.current-servings{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background-color:var(--color-surface, #f5f5f5);border-radius:var(--border-radius, 8px)}.current-servings .label{color:var(--color-text-secondary, #666)}.current-servings .value{font-weight:600;color:var(--color-text-primary, #333)}.new-servings-input{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.new-servings-input label{font-weight:500}.new-servings-input input{width:100px;padding:var(--spacing-sm, 8px);border:1px solid var(--color-border, #ddd);border-radius:var(--border-radius, 8px);font-size:1rem}.new-servings-input .unit-label{color:var(--color-text-secondary, #666)}.ingredient-mode-content{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.instruction-text{color:var(--color-text-secondary, #666);font-size:.9rem;margin:0}.ingredient-selection-list{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);max-height:300px;overflow-y:auto;padding-right:var(--spacing-xs, 4px);width:100%}.ingredient-option{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:1px solid var(--color-border, #ddd);border-radius:var(--border-radius, 8px);background-color:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.ingredient-option:hover{border-color:var(--color-primary, #4f46e5);background-color:var(--color-primary-light, #f0f0ff)}.ingredient-option.selected{border-color:var(--color-primary, #4f46e5);background-color:var(--color-primary-light, #f0f0ff);border-width:2px}.ingredient-option .ingredient-name{flex:1;font-weight:500}.ingredient-option .ingredient-quantity{color:var(--color-text-secondary, #666);font-size:.9rem}.selected-indicator{color:var(--color-primary, #4f46e5);font-weight:700;margin-left:var(--spacing-sm, 8px)}.new-quantity-input{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-md, 16px);background-color:var(--color-surface, #f5f5f5);border-radius:var(--border-radius, 8px)}.new-quantity-input label{font-weight:500}.new-quantity-input input{width:120px;padding:var(--spacing-sm, 8px);border:1px solid var(--color-border, #ddd);border-radius:var(--border-radius, 8px);font-size:1rem}.new-quantity-input select{padding:var(--spacing-sm, 8px);border:1px solid var(--color-border, #ddd);border-radius:var(--border-radius, 8px);font-size:.9rem;background-color:#fff}.loading-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md, 16px);padding:var(--spacing-lg, 24px)}.loading-container p{color:var(--color-text-secondary, #666);font-size:.9rem;margin:0}.adjusted-preview{background-color:var(--color-surface, #f5f5f5);border-radius:var(--border-radius, 8px);padding:var(--spacing-md, 16px)}.adjusted-preview h4{margin:0 0 var(--spacing-sm, 8px) 0;color:var(--color-text-primary, #333)}.scale-factor{font-size:.9rem;color:var(--color-text-secondary, #666);margin:0 0 var(--spacing-md, 16px) 0}.new-portions{color:var(--color-primary, #4f46e5);font-weight:600}.adjusted-ingredients-list{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.adjusted-ingredient{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background-color:#fff;border-radius:var(--border-radius, 8px)}.adjusted-ingredient .ingredient-name{flex:1;font-weight:500}.quantity-change{display:flex;align-items:center;gap:var(--spacing-xs, 4px);font-size:.9rem}.quantity-change .original{color:var(--color-text-secondary, #666);text-decoration:line-through}.quantity-change .arrow{color:var(--color-text-secondary, #666)}.quantity-change .adjusted{color:var(--color-primary, #4f46e5);font-weight:600}.scaling-badge{font-size:.75rem;padding:2px 6px;border-radius:12px;white-space:nowrap}.scaling-badge.non-linear{background-color:#fef3c7;color:#92400e}.scaling-badge.minimum-amount{background-color:#dbeafe;color:#1e40af}.scaling-badge.no-change{background-color:#e5e7eb;color:#374151}.adjustment-notes{cursor:help;font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-md, 16px);padding-top:var(--spacing-md, 16px);border-top:1px solid var(--color-border, #ddd)}.modal-actions button{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-radius:var(--border-radius, 8px);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button{background-color:transparent;border:1px solid var(--color-border, #ddd);color:var(--color-text-secondary, #666)}.cancel-button:hover{background-color:var(--color-surface, #f5f5f5)}.recalculate-button{background-color:var(--color-primary, #4f46e5);border:none;color:#fff}.recalculate-button:hover:not(:disabled){background-color:var(--color-primary-dark, #4338ca)}.recalculate-button:disabled{opacity:.6;cursor:not-allowed}.revert-button{background-color:transparent;border:1px solid var(--color-border, #ddd);color:var(--color-text-secondary, #666)}.revert-button:hover{background-color:var(--color-surface, #f5f5f5)}.apply-button{background-color:var(--color-success, #10b981);border:none;color:#fff}.apply-button:hover{background-color:var(--color-success-dark, #059669)}@media (max-width: 600px){.modal-content:has(.recipe-adjustment-modal){width:98vw;max-width:98vw;padding:var(--spacing-md, 12px)}.recipe-adjustment-modal{max-height:75vh}.adjustment-mode-selector{flex-direction:column}.new-servings-input{flex-wrap:wrap}.new-quantity-input{flex-wrap:wrap;gap:var(--spacing-sm, 8px)}.new-quantity-input input{width:100%;flex:1}.new-quantity-input select{flex:1}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1;min-width:100px}.ingredient-selection-list{max-height:200px}}@media (prefers-color-scheme: dark){.adjustment-mode-selector{background-color:var(--color-surface-dark, #2d2d2d)}.mode-button{color:var(--color-text-secondary-dark, #aaa)}.mode-button:hover{background-color:var(--color-surface-hover-dark, #3d3d3d)}.current-servings{background-color:var(--color-surface-dark, #2d2d2d)}.ingredient-option{background-color:var(--color-surface-dark, #2d2d2d);border-color:var(--color-border-dark, #444)}.ingredient-option:hover,.ingredient-option.selected{background-color:var(--color-primary-light-dark, #312e81)}.new-quantity-input{background-color:var(--color-surface-dark, #2d2d2d)}.new-quantity-input input,.new-quantity-input select{background-color:var(--color-surface-dark, #2d2d2d);color:var(--color-text-primary-dark, #eee);border-color:var(--color-border-dark, #444)}.adjusted-preview{background-color:var(--color-surface-dark, #2d2d2d)}.adjusted-ingredient{background-color:var(--color-surface-dark, #3d3d3d)}.modal-actions{border-top-color:var(--color-border-dark, #444)}}.recipe-display{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);min-height:500px;display:flex;flex-direction:column}.recipe-display.placeholder,.recipe-display.error{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-lg);font-style:italic}.recipe-display.error{color:var(--color-error);font-style:normal}.recipe-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border)}.recipe-title-centered{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);width:100%;text-align:center;flex-wrap:wrap}.recipe-header h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.recipe-modified-indicator{background-color:var(--color-warning);color:var(--color-background);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.recipe-actions-centered{display:flex;gap:var(--spacing-md);align-items:center;justify-content:center;flex-wrap:wrap}.accept-cooking-button{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:pointer;transition:all var(--transition-base)}.accept-cooking-button:hover:not(:disabled){background-color:#10b981;box-shadow:var(--shadow-md);transform:scale(1.05)}.accept-cooking-button:active:not(:disabled){transform:scale(.95)}.accept-cooking-button:disabled{cursor:not-allowed;opacity:.7}.accept-cooking-button.in-queue{background-color:var(--color-text-tertiary)}.save-button{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:pointer;transition:all var(--transition-base)}.save-button:hover{background-color:#dc2626;box-shadow:var(--shadow-md);transform:scale(1.05)}.save-button:active{transform:scale(.95)}.recipe-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl)}.recipe-ingredients,.recipe-instructions-section{display:flex;flex-direction:column;gap:var(--spacing-xl)}.ingredients-header{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-primary-light)}.ingredients-header h3{margin:0;padding:0;border:none;font-size:var(--font-size-xl);color:var(--color-primary)}.ingredients-controls-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:nowrap}.adjust-amounts-button{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.adjust-amounts-button:hover{background-color:var(--color-primary);color:#fff}.adjust-amounts-button:active{transform:scale(.95)}.recipe-adjusted-badge{background-color:var(--color-info);color:#fff;padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.recipe-preparation h3,.recipe-instructions h3{font-size:var(--font-size-xl);color:var(--color-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-primary-light)}.recipe-ingredients ul,.recipe-preparation ol,.recipe-instructions ol{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.recipe-ingredients li,.recipe-preparation li,.recipe-instructions li{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding-left:var(--spacing-sm);text-align:left}.recipe-ingredients li{position:relative}.recipe-ingredients li::marker{color:var(--color-primary);font-weight:var(--font-weight-bold)}.recipe-ingredients li.available{color:var(--color-success);font-weight:var(--font-weight-medium)}.recipe-ingredients li.ingredient-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.ingredient-text{flex:1;min-width:0}.recommended-amount-hint{color:var(--color-text-secondary);font-size:.875rem;font-style:italic}.recipe-ingredients li.substituted{color:var(--color-primary);font-style:italic}.reset-substitutions-button{padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.reset-substitutions-button:hover{background-color:var(--color-surface-variant);color:var(--color-text-primary);border-color:var(--color-text-secondary)}.ingredient-legend{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.recipe-instructions li{padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);transition:all var(--transition-base)}.recipe-instructions li:hover{background-color:var(--color-primary-light);transform:translate(4px)}.recipe-instructions li::marker{color:var(--color-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}@media (max-width: 1024px){.recipe-columns{grid-template-columns:1fr;gap:var(--spacing-xl)}}@media (max-width: 768px){.recipe-display{padding:var(--mobile-padding);min-height:auto}.recipe-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.recipe-actions-centered{flex-direction:column;width:100%}.accept-cooking-button,.save-button,.reset-substitutions-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal)}.recipe-title-centered{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.recipe-ingredients li.ingredient-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.recipe-header h2{font-size:var(--font-size-2xl);line-height:1.3}.ingredients-header{align-items:flex-start;gap:var(--spacing-sm)}.ingredients-controls-row{width:100%;justify-content:flex-start;flex-wrap:nowrap}.adjust-amounts-button{min-height:var(--touch-target-min);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs, .75rem)}.ingredients-header h3,.recipe-preparation h3,.recipe-instructions h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.recipe-ingredients li,.recipe-instructions li{font-size:var(--font-size-base);line-height:1.6}.recipe-instructions li{padding:var(--spacing-sm) var(--spacing-md)}.ingredient-legend{font-size:var(--font-size-xs)}}.suggestions-banner{background:linear-gradient(135deg,var(--color-primary-light, #e8f4fd) 0%,var(--color-primary-lighter, #f0f8ff) 100%);border:1px solid var(--color-primary, #007bff);border-radius:var(--radius-lg, 12px);padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);margin-bottom:var(--spacing-lg, 24px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1));animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.suggestions-banner-content{display:flex;align-items:center;gap:var(--spacing-md, 16px);flex-wrap:wrap}.suggestions-banner-icon{font-size:2rem;flex-shrink:0}.suggestions-banner-message{flex:1;min-width:200px}.suggestions-banner-text{font-size:var(--font-size-md, 1rem);color:var(--color-text-primary, #1a1a2e);line-height:1.5}.suggestions-banner-count{font-weight:700;color:var(--color-primary-dark, #0056b3);font-size:1.1em}.suggestions-banner-actions{display:flex;gap:var(--spacing-sm, 8px);flex-wrap:wrap}.suggestions-banner-button{padding:var(--spacing-xs, 6px) var(--spacing-md, 16px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s) ease;border:none;white-space:nowrap}.suggestions-banner-button:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.suggestions-banner-button-primary{background:var(--color-primary, #007bff);color:#fff}.suggestions-banner-button-primary:hover{background:var(--color-primary-dark, #0056b3);transform:translateY(-1px)}.suggestions-banner-button-primary:active{transform:translateY(0)}.suggestions-banner-button-secondary{background:var(--color-surface, white);color:var(--color-text-secondary, #666);border:1px solid var(--color-border, #ddd)}.suggestions-banner-button-secondary:hover{background:var(--color-surface-hover, #f5f5f5);border-color:var(--color-primary, #007bff);color:var(--color-primary, #007bff)}.suggestions-banner-button-dismiss{background:transparent;color:var(--color-text-muted, #888);padding:var(--spacing-xs, 6px) var(--spacing-sm, 8px)}.suggestions-banner-button-dismiss:hover{color:var(--color-text-primary, #1a1a2e);background:var(--color-surface-hover, #f5f5f5)}@media (max-width: 768px){.suggestions-banner{padding:var(--spacing-sm, 12px) var(--spacing-md, 16px)}.suggestions-banner-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm, 12px)}.suggestions-banner-icon{display:none}.suggestions-banner-actions{width:100%;justify-content:flex-start}.suggestions-banner-button{flex:1;text-align:center;padding:var(--spacing-sm, 10px) var(--spacing-sm, 12px)}.suggestions-banner-button-dismiss{flex:0;padding:var(--spacing-sm, 10px)}}@media (prefers-color-scheme: dark){.suggestions-banner{background:linear-gradient(135deg,var(--color-primary-dark, #1e3a5f) 0%,var(--color-surface-dark, #1a1a2e) 100%);border-color:var(--color-primary, #007bff)}.suggestions-banner-text{color:var(--color-text-light, #f0f0f0)}.suggestions-banner-count{color:var(--color-primary-light, #66b3ff)}.suggestions-banner-button-secondary{background:var(--color-surface-dark, #2a2a3e);color:var(--color-text-light, #f0f0f0);border-color:var(--color-border-dark, #444)}.suggestions-banner-button-secondary:hover{background:var(--color-surface-hover-dark, #3a3a4e)}.suggestions-banner-button-dismiss{color:var(--color-text-muted-dark, #aaa)}.suggestions-banner-button-dismiss:hover{color:var(--color-text-light, #f0f0f0);background:var(--color-surface-hover-dark, #3a3a4e)}}.suggestions-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:var(--spacing-md, 16px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.suggestions-modal{background:var(--color-surface, white);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.suggestions-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg, 24px);border-bottom:1px solid var(--color-border, #eee)}.suggestions-modal-title-container{flex:1}.suggestions-modal-title{font-size:var(--font-size-xl, 1.5rem);font-weight:600;color:var(--color-text-primary, #1a1a2e);margin:0;display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.suggestions-modal-icon{font-size:1.5rem}.suggestions-modal-subtitle{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #666);margin:var(--spacing-xs, 4px) 0 0 0}.suggestions-modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--color-text-muted, #888);cursor:pointer;padding:var(--spacing-xs, 4px);line-height:1;border-radius:var(--radius-sm, 4px);transition:all var(--transition-fast, .15s) ease}.suggestions-modal-close:hover{color:var(--color-text-primary, #1a1a2e);background:var(--color-surface-hover, #f5f5f5)}.suggestions-modal-close:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.suggestions-modal-content{flex:1;overflow-y:auto;padding:var(--spacing-md, 16px) var(--spacing-lg, 24px)}.suggestions-recipe-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.suggestions-recipe-card{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px);background:var(--color-surface-secondary, #f8f9fa);border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border, #eee);transition:all var(--transition-fast, .15s) ease}.suggestions-recipe-card:hover{border-color:var(--color-primary-light, #66b3ff);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .05))}.suggestions-recipe-info{flex:1;min-width:0}.suggestions-recipe-title{font-size:var(--font-size-md, 1rem);font-weight:600;color:var(--color-text-primary, #1a1a2e);margin:0 0 var(--spacing-xs, 4px) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestions-recipe-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px);align-items:center}.suggestions-recipe-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs, .75rem);color:var(--color-success, #28a745);font-weight:500}.badge-icon{font-size:.875rem}.suggestions-recipe-ingredients{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #888)}.suggestions-recipe-meal-type{font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #666);background:var(--color-surface, white);padding:2px 8px;border-radius:var(--radius-full, 999px);border:1px solid var(--color-border, #eee)}.suggestions-cook-now-button{display:inline-flex;align-items:center;gap:var(--spacing-xs, 6px);padding:var(--spacing-sm, 10px) var(--spacing-md, 16px);background:var(--color-primary, #007bff);color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s) ease;white-space:nowrap}.suggestions-cook-now-button:hover:not(:disabled){background:var(--color-primary-dark, #0056b3);transform:translateY(-1px)}.suggestions-cook-now-button:active:not(:disabled){transform:translateY(0)}.suggestions-cook-now-button:disabled{opacity:.7;cursor:not-allowed}.suggestions-cook-now-button:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.cook-icon{font-size:1rem}.suggestions-button-loading{display:inline-flex;align-items:center;gap:var(--spacing-xs, 6px)}.loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.suggestions-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl, 48px) var(--spacing-lg, 24px);text-align:center}.suggestions-modal-empty-icon{font-size:3rem;margin-bottom:var(--spacing-md, 16px)}.suggestions-modal-empty p{color:var(--color-text-secondary, #666);margin:0}.suggestions-modal-footer{padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);border-top:1px solid var(--color-border, #eee);display:flex;justify-content:center}.suggestions-browse-all{display:inline-flex;align-items:center;gap:var(--spacing-xs, 6px);background:transparent;border:none;color:var(--color-primary, #007bff);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;padding:var(--spacing-sm, 10px) var(--spacing-md, 16px);border-radius:var(--radius-md, 8px);transition:all var(--transition-fast, .15s) ease}.suggestions-browse-all:hover{background:var(--color-primary-light, #e8f4fd);color:var(--color-primary-dark, #0056b3)}.suggestions-browse-all:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.arrow-icon{font-size:1.1em;transition:transform var(--transition-fast, .15s) ease}.suggestions-browse-all:hover .arrow-icon{transform:translate(4px)}@media (max-width: 480px){.suggestions-modal{max-height:90vh;margin:var(--spacing-sm, 8px)}.suggestions-modal-header{padding:var(--spacing-md, 16px)}.suggestions-modal-content{padding:var(--spacing-sm, 12px) var(--spacing-md, 16px)}.suggestions-recipe-card{flex-direction:column;align-items:stretch;gap:var(--spacing-sm, 12px)}.suggestions-cook-now-button{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.suggestions-modal{background:var(--color-surface-dark, #1a1a2e);border:1px solid var(--color-border-dark, #333)}.suggestions-modal-header{border-bottom-color:var(--color-border-dark, #333)}.suggestions-modal-title{color:var(--color-text-light, #f0f0f0)}.suggestions-modal-subtitle{color:var(--color-text-secondary-dark, #aaa)}.suggestions-modal-close{color:var(--color-text-muted-dark, #888)}.suggestions-modal-close:hover{color:var(--color-text-light, #f0f0f0);background:var(--color-surface-hover-dark, #2a2a3e)}.suggestions-recipe-card{background:var(--color-surface-secondary-dark, #2a2a3e);border-color:var(--color-border-dark, #333)}.suggestions-recipe-card:hover{border-color:var(--color-primary, #007bff)}.suggestions-recipe-title{color:var(--color-text-light, #f0f0f0)}.suggestions-recipe-meal-type{background:var(--color-surface-dark, #1a1a2e);border-color:var(--color-border-dark, #333);color:var(--color-text-secondary-dark, #aaa)}.suggestions-modal-footer{border-top-color:var(--color-border-dark, #333)}.suggestions-browse-all:hover{background:var(--color-primary-dark, #1e3a5f)}}.spotlight-overlay{position:fixed;inset:0;z-index:var(--z-modal, 1000);background-color:transparent;animation:spotlight-fade-in .3s ease-out;pointer-events:none}@keyframes spotlight-fade-in{0%{opacity:0}to{opacity:1}}.spotlight-cutout{position:fixed;box-shadow:0 0 0 9999px #000000bf;border-radius:var(--border-radius-md, 8px);background-color:transparent;pointer-events:none;transition:top .3s ease-out,left .3s ease-out,width .3s ease-out,height .3s ease-out;z-index:1}.spotlight-content{position:relative;z-index:2;pointer-events:auto}@media (max-width: 480px){.spotlight-cutout{box-shadow:0 0 0 9999px #000000d9}}.tour-tooltip{position:fixed;z-index:calc(var(--z-modal, 1000) + 1);max-width:320px;min-width:280px;background-color:var(--color-surface, #ffffff);border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .2));animation:tooltip-appear .3s ease-out;pointer-events:auto}@keyframes tooltip-appear{0%{opacity:0;scale:.95}to{opacity:1;scale:1}}.tour-tooltip-content{padding:var(--spacing-lg, 20px)}.tour-tooltip-arrow{position:absolute;width:16px;height:16px;background-color:var(--color-surface, #ffffff);transform:rotate(45deg)}.tour-tooltip-top .tour-tooltip-arrow{bottom:-8px;left:50%;margin-left:-8px;box-shadow:4px 4px 8px #0000001a}.tour-tooltip-bottom .tour-tooltip-arrow{top:-8px;left:50%;margin-left:-8px;box-shadow:-2px -2px 8px #0000001a}.tour-tooltip-left .tour-tooltip-arrow{right:-8px;top:50%;margin-top:-8px;box-shadow:4px -2px 8px #0000001a}.tour-tooltip-right .tour-tooltip-arrow{left:-8px;top:50%;margin-top:-8px;box-shadow:-2px 4px 8px #0000001a}.tour-tooltip-center .tour-tooltip-arrow{display:none}@media (max-width: 480px){.tour-tooltip{max-width:calc(100vw - 32px);min-width:260px}}.welcome-tour-step{display:flex;flex-direction:column;gap:var(--spacing-md, 12px)}.welcome-tour-title{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1a1a1a);line-height:1.3}.welcome-tour-description{margin:0;font-size:var(--font-size-md, .9375rem);color:var(--color-text-secondary, #666666);line-height:1.5}.welcome-tour-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm, 8px);padding-top:var(--spacing-md, 12px);border-top:1px solid var(--color-border, #e5e5e5)}.welcome-tour-progress{font-size:var(--font-size-sm, .8125rem);color:var(--color-text-muted, #999999)}.welcome-tour-actions{display:flex;gap:var(--spacing-sm, 8px)}.welcome-tour-skip{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #666666);background:transparent;border:none;border-radius:var(--border-radius-md, 6px);cursor:pointer;transition:background-color .15s ease}.welcome-tour-skip:hover{background-color:var(--color-background-hover, #f5f5f5)}.welcome-tour-skip:focus-visible{outline:2px solid var(--color-primary, #4a90d9);outline-offset:2px}.welcome-tour-next{padding:var(--spacing-sm, 8px) var(--spacing-lg, 16px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-on-primary, #ffffff);background-color:var(--color-primary, #4a90d9);border:none;border-radius:var(--border-radius-md, 6px);cursor:pointer;transition:background-color .15s ease}.welcome-tour-next:hover{background-color:var(--color-primary-dark, #3a7bc5)}.welcome-tour-next:focus-visible{outline:2px solid var(--color-primary, #4a90d9);outline-offset:2px}.welcome-tour-indicators{display:flex;justify-content:center;gap:var(--spacing-xs, 6px);margin-top:var(--spacing-sm, 8px)}.welcome-tour-indicator{width:8px;height:8px;background-color:var(--color-border, #e5e5e5);border-radius:50%;transition:background-color .2s ease,transform .2s ease}.welcome-tour-indicator.active{background-color:var(--color-primary, #4a90d9);transform:scale(1.2)}.welcome-tour-indicator.completed{background-color:var(--color-success, #22c55e)}.welcome-tour-no-spotlight{position:fixed;inset:0;z-index:var(--z-modal, 1000);background-color:transparent}@media (max-width: 480px){.welcome-tour-footer{flex-direction:column;gap:var(--spacing-md, 12px);align-items:stretch}.welcome-tour-progress{text-align:center}.welcome-tour-actions{justify-content:center}}.page-tutorial-backdrop{position:fixed;inset:0;z-index:var(--z-modal, 1000);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg, 20px);background-color:#00000080;animation:backdrop-fade-in .2s ease-out}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.page-tutorial-modal{width:100%;max-width:440px;max-height:calc(100vh - 40px);overflow-y:auto;background-color:var(--color-surface, #ffffff);border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, .15));animation:modal-slide-in .3s ease-out}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.page-tutorial-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg, 20px);border-bottom:1px solid var(--color-border, #e5e5e5)}.page-tutorial-title{margin:0;font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1a1a1a)}.page-tutorial-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--color-text-muted, #999999);background:transparent;border:none;border-radius:var(--border-radius-md, 6px);cursor:pointer;transition:background-color .15s ease,color .15s ease}.page-tutorial-close:hover{color:var(--color-text-primary, #1a1a1a);background-color:var(--color-background-hover, #f5f5f5)}.page-tutorial-close:focus-visible{outline:2px solid var(--color-primary, #4a90d9);outline-offset:2px}.page-tutorial-body{padding:var(--spacing-lg, 20px)}.page-tutorial-description{margin:0 0 var(--spacing-lg, 20px);font-size:var(--font-size-md, .9375rem);color:var(--color-text-secondary, #666666);line-height:1.6}.page-tutorial-features{margin:0;padding:0;list-style:none}.page-tutorial-feature{display:flex;align-items:flex-start;gap:var(--spacing-sm, 10px);padding:var(--spacing-sm, 10px) 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #1a1a1a);line-height:1.5}.page-tutorial-feature:not(:last-child){border-bottom:1px solid var(--color-border-light, #f0f0f0)}.page-tutorial-feature-icon{flex-shrink:0;color:var(--color-success, #22c55e);margin-top:2px}.page-tutorial-footer{display:flex;justify-content:flex-end;padding:var(--spacing-md, 16px) var(--spacing-lg, 20px);border-top:1px solid var(--color-border, #e5e5e5)}.page-tutorial-got-it{padding:var(--spacing-sm, 10px) var(--spacing-xl, 24px);font-size:var(--font-size-md, .9375rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-on-primary, #ffffff);background-color:var(--color-primary, #4a90d9);border:none;border-radius:var(--border-radius-md, 6px);cursor:pointer;transition:background-color .15s ease}.page-tutorial-got-it:hover{background-color:var(--color-primary-dark, #3a7bc5)}.page-tutorial-got-it:focus-visible{outline:2px solid var(--color-primary, #4a90d9);outline-offset:2px}@media (max-width: 480px){.page-tutorial-backdrop{padding:var(--spacing-md, 16px)}.page-tutorial-modal{max-height:calc(100vh - 32px)}.page-tutorial-header,.page-tutorial-body,.page-tutorial-footer{padding:var(--spacing-md, 16px)}.page-tutorial-footer{justify-content:stretch}.page-tutorial-got-it{width:100%}}.page-help-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--color-text-muted, #999999);background-color:var(--color-background-subtle, #f8f8f8);border:1px solid var(--color-border, #e5e5e5);border-radius:50%;cursor:pointer;transition:all .15s ease}.page-help-button:hover{color:var(--color-primary, #4a90d9);background-color:var(--color-primary-light, #e8f0f8);border-color:var(--color-primary, #4a90d9)}.page-help-button:focus-visible{outline:2px solid var(--color-primary, #4a90d9);outline-offset:2px}.page-help-button-icon{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-bold, 700);line-height:1}.page-help-button.large{width:32px;height:32px}.page-help-button.large .page-help-button-icon{font-size:var(--font-size-md, 1rem)}.feature-tooltip-wrapper{position:relative;display:inline-block}.feature-tooltip{position:absolute;z-index:var(--z-tooltip, 900);min-width:220px;max-width:280px;background-color:var(--color-surface, #ffffff);border-radius:var(--border-radius-md, 8px);box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));animation:feature-tooltip-appear .2s ease-out}@keyframes feature-tooltip-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.feature-tooltip-content{padding:var(--spacing-md, 14px)}.feature-tooltip-title{margin:0 0 var(--spacing-xs, 6px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1a1a1a)}.feature-tooltip-description{margin:0 0 var(--spacing-sm, 10px);font-size:var(--font-size-xs, .8125rem);color:var(--color-text-secondary, #666666);line-height:1.5}.feature-tooltip-dismiss{width:100%;padding:var(--spacing-xs, 6px) var(--spacing-sm, 10px);font-size:var(--font-size-xs, .8125rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-on-primary, #ffffff);background-color:var(--color-primary, #4a90d9);border:none;border-radius:var(--border-radius-sm, 4px);cursor:pointer;transition:background-color .15s ease}.feature-tooltip-dismiss:hover{background-color:var(--color-primary-dark, #3a7bc5)}.feature-tooltip-dismiss:focus-visible{outline:2px solid var(--color-primary, #4a90d9);outline-offset:2px}.feature-tooltip-arrow{position:absolute;width:12px;height:12px;background-color:var(--color-surface, #ffffff);transform:rotate(45deg)}.feature-tooltip-top{bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.feature-tooltip-top .feature-tooltip-arrow{bottom:-6px;left:50%;margin-left:-6px;box-shadow:3px 3px 6px #00000014}.feature-tooltip-bottom{top:calc(100% + 10px);left:50%;transform:translate(-50%)}.feature-tooltip-bottom .feature-tooltip-arrow{top:-6px;left:50%;margin-left:-6px;box-shadow:-2px -2px 6px #00000014}.feature-tooltip-left{right:calc(100% + 10px);top:50%;transform:translateY(-50%)}.feature-tooltip-left .feature-tooltip-arrow{right:-6px;top:50%;margin-top:-6px;box-shadow:3px -2px 6px #00000014}.feature-tooltip-right{left:calc(100% + 10px);top:50%;transform:translateY(-50%)}.feature-tooltip-right .feature-tooltip-arrow{left:-6px;top:50%;margin-top:-6px;box-shadow:-2px 3px 6px #00000014}@media (max-width: 480px){.feature-tooltip{min-width:200px;max-width:240px}}.dashboard-container{max-width:var(--max-width-2xl);margin:var(--spacing-lg) auto;padding:var(--spacing-xl);display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-2xl);align-items:start}.dashboard-divider{width:1px;background:linear-gradient(to bottom,transparent,var(--color-border) 10%,var(--color-border) 90%,transparent);min-height:500px;align-self:stretch}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .2s ease-out}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:500px;width:90%;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.modal-content h2{margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.modal-content p{margin-bottom:var(--spacing-xl);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.primary-action{background-color:var(--color-primary);color:#fff}.secondary-action{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}@media (max-width: 1280px){.dashboard-container{grid-template-columns:1fr;gap:var(--spacing-xl)}.dashboard-divider{display:none}}@media (max-width: 768px){.dashboard-container{padding:var(--mobile-padding);margin:var(--spacing-md) auto;gap:var(--spacing-lg)}.modal-content{padding:var(--spacing-lg);width:95%;max-width:95vw}.modal-content h2{font-size:var(--font-size-xl)}.modal-actions{flex-direction:column;gap:var(--spacing-sm)}.modal-actions button{width:100%}}.profile-container{max-width:var(--max-width-md);margin:var(--spacing-lg) auto;background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-2xl);overflow:hidden;box-sizing:border-box}.profile-container h1{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-text-primary)}.form-group{margin-bottom:var(--spacing-xl)}.form-group label{display:block;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg)}.no-restrictions-checkbox{margin-bottom:var(--spacing-md)}.no-restrictions-label{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.no-restrictions-label:hover{border-color:var(--color-primary)}.no-restrictions-label.selected,.no-restrictions-label:has(input:checked){border-color:var(--color-primary);background-color:var(--color-primary-light)}.no-restrictions-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.no-restrictions-label span{font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-lg)}.checkbox-group.disabled{opacity:.5}.checkbox-group label.disabled{cursor:not-allowed}.checkbox-group label{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);text-align:center;margin:0}.checkbox-group label:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.checkbox-group label:has(input:checked){background-color:var(--color-primary-light);border-color:var(--color-primary)}.checkbox-group input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.list-manager{display:flex;flex-direction:column;gap:var(--spacing-lg)}.input-group{display:flex;gap:var(--spacing-md);align-items:stretch;width:100%}.input-group input{flex:1;margin:0;min-width:0;max-width:100%}.input-group button{padding:var(--spacing-sm) var(--spacing-xl);white-space:nowrap;flex-shrink:0}.item-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.item-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.item-list li:hover{background-color:var(--color-surface);border-color:var(--color-primary);transform:translate(4px)}.item-list span{flex:1;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.item-list div{display:flex;gap:var(--spacing-sm)}.item-list button{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.profile-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.save-button{flex:1;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);background-color:#f97316;color:#fff;border:none}.save-button:hover{background-color:#ea580c}.nav-button{padding:var(--spacing-md) var(--spacing-xl);font-weight:var(--font-weight-medium)}.item-list-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);font-style:italic}@media (max-width: 768px){.profile-container{padding:var(--mobile-padding);margin:var(--spacing-md) auto}.profile-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.tabs{gap:var(--mobile-gap);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab-button{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);min-height:var(--touch-target-optimal)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}.checkbox-group{grid-template-columns:1fr;gap:var(--mobile-gap);padding:var(--spacing-sm)}.checkbox-group label{padding:var(--spacing-md);min-height:var(--touch-target-optimal);font-size:var(--font-size-base)}.input-group{flex-direction:column;gap:var(--mobile-gap)}.input-group button{width:100%;padding:var(--spacing-md);min-height:var(--touch-target-optimal)}.item-list li{padding:var(--spacing-md);flex-wrap:wrap}.item-list span{font-size:var(--font-size-base)}.item-list button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);min-height:var(--touch-target-min)}.profile-actions{flex-direction:column;gap:var(--mobile-gap);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.save-button,.nav-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal)}}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.radio-option{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.radio-option:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.radio-option input[type=radio]{flex-shrink:0;width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:var(--color-primary)}.radio-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.radio-label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-md)}.radio-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.tutorials-settings{padding:var(--spacing-md) 0}.reset-tutorials-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-warning, #f59e0b);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base)}.reset-tutorials-button:hover{background-color:var(--color-warning-dark, #d97706)}.reset-confirm-dialog{padding:var(--spacing-lg);background-color:var(--color-background);border:2px solid var(--color-warning, #f59e0b);border-radius:var(--radius-lg)}.reset-confirm-message{margin:0 0 var(--spacing-lg);color:var(--color-text-primary);font-size:var(--font-size-base);line-height:1.5}.reset-confirm-actions{display:flex;gap:var(--spacing-md)}.confirm-reset-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-error, #ef4444);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base)}.confirm-reset-button:hover{background-color:var(--color-error-dark, #dc2626)}.cancel-reset-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.cancel-reset-button:hover{background-color:var(--color-background);border-color:var(--color-text-secondary)}@media (max-width: 768px){.reset-confirm-actions{flex-direction:column}.confirm-reset-button,.cancel-reset-button{width:100%;min-height:var(--touch-target-optimal)}}.select-container{display:flex;flex-direction:column;gap:var(--spacing-xs, .5rem);width:100%}.select-label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1f2937)}.select{padding:var(--spacing-sm, .75rem);font-size:var(--font-size-base, 1rem);border:2px solid var(--color-border, #d1d5db);border-radius:var(--radius-md, .5rem);background-color:var(--color-bg-primary, #ffffff);color:var(--color-text-primary, #1f2937);transition:all .2s ease-in-out;cursor:pointer;width:100%;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm, .75rem) center;background-size:1rem;padding-right:calc(var(--spacing-sm, .75rem) * 3)}.select:hover:not(:disabled){border-color:var(--color-primary, #818cf8)}.select:focus{outline:none;border-color:var(--color-primary, #818cf8);box-shadow:0 0 0 3px #818cf81a}.select:disabled{background-color:var(--color-bg-disabled, #f3f4f6);color:var(--color-text-disabled, #9ca3af);cursor:not-allowed;opacity:.6}.select.error{border-color:var(--color-error, #f87171)}.select.error:focus{border-color:var(--color-error, #f87171);box-shadow:0 0 0 3px #f871711a}.select-help-text{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin:0}.select-error{font-size:var(--font-size-sm, .875rem);color:var(--color-error, #f87171);margin:0;display:flex;align-items:center;gap:var(--spacing-xs, .5rem)}.select-error:before{content:"⚠";font-size:var(--font-size-base, 1rem)}@media (max-width: 768px){.select{min-height:var(--touch-target-min, 44px);font-size:var(--font-size-base, 1rem)}.select-label{font-size:var(--font-size-base, 1rem)}}@media (prefers-color-scheme: dark){.select-label{color:var(--color-text-primary-dark, #f9fafb)}.select{background-color:var(--color-bg-primary-dark, #1f2937);color:var(--color-text-primary-dark, #f9fafb);border-color:var(--color-border-dark, #374151)}.select:disabled{background-color:var(--color-bg-disabled-dark, #111827);color:var(--color-text-disabled-dark, #6b7280)}}.settings-section{background-color:var(--color-bg-primary, #ffffff);border-radius:var(--radius-lg, .75rem);padding:var(--spacing-lg, 1.5rem);margin-bottom:var(--spacing-md, 1rem);border:1px solid var(--color-border, #d1d5db);box-shadow:0 1px 3px #0000001a}.settings-section-header{display:flex;align-items:flex-start;gap:var(--spacing-md, 1rem);margin-bottom:var(--spacing-lg, 1.5rem);padding-bottom:var(--spacing-md, 1rem);border-bottom:1px solid var(--color-border, #d1d5db)}.settings-section-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-primary, #818cf8)}.settings-section-icon svg{width:100%;height:100%}.settings-section-title-wrapper{flex:1}.settings-section-title{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1f2937);margin:0;margin-bottom:var(--spacing-xs, .5rem)}.settings-section-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin:0;line-height:1.5}.settings-section-content{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem)}.settings-section-content>*{width:100%}@media (max-width: 768px){.settings-section{padding:var(--spacing-md, 1rem);border-radius:var(--radius-md, .5rem)}.settings-section-header{flex-direction:column;gap:var(--spacing-sm, .75rem)}.settings-section-icon{width:2rem;height:2rem}.settings-section-title{font-size:var(--font-size-lg, 1.125rem)}.settings-section-content{gap:var(--spacing-sm, .75rem)}}@media (prefers-color-scheme: dark){.settings-section{background-color:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #374151);box-shadow:0 1px 3px #0000004d}.settings-section-header{border-bottom-color:var(--color-border-dark, #374151)}.settings-section-title{color:var(--color-text-primary-dark, #f9fafb)}.settings-section-description{color:var(--color-text-secondary-dark, #9ca3af)}}@media (prefers-contrast: high){.settings-section{border:2px solid currentColor}.settings-section-header{border-bottom-width:2px}}@media print{.settings-section{page-break-inside:avoid;box-shadow:none;border:1px solid #000}}.toggle-container{display:flex;flex-direction:column;gap:var(--spacing-xs, .5rem);width:100%}.toggle-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md, 1rem)}.toggle-container.label-right .toggle-content{flex-direction:row-reverse}.toggle-label-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem);flex:1}.toggle-label{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1f2937)}.toggle-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);line-height:1.4}.toggle-switch{position:relative;display:inline-block;width:3rem;height:1.75rem;flex-shrink:0;cursor:pointer}.toggle-switch.disabled{cursor:not-allowed;opacity:.5}.toggle-input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background-color:var(--color-border, #d1d5db);border-radius:var(--radius-full, 9999px);transition:all .2s ease-in-out}.toggle-slider:before{position:absolute;content:"";height:1.375rem;width:1.375rem;left:.1875rem;bottom:.1875rem;background-color:#fff;border-radius:50%;transition:all .2s ease-in-out;box-shadow:0 1px 3px #0000001a}.toggle-input:checked+.toggle-slider{background-color:var(--color-primary, #818cf8)}.toggle-input:checked+.toggle-slider:before{transform:translate(1.25rem)}.toggle-input:focus+.toggle-slider{box-shadow:0 0 0 3px #818cf81a;outline:2px solid var(--color-primary, #818cf8);outline-offset:2px}.toggle-input:disabled+.toggle-slider{background-color:var(--color-bg-disabled, #f3f4f6);cursor:not-allowed}.toggle-input:disabled+.toggle-slider:before{background-color:var(--color-text-disabled, #9ca3af)}.toggle-switch:hover:not(.disabled) .toggle-slider{background-color:var(--color-border-hover, #9ca3af)}.toggle-switch:hover:not(.disabled) .toggle-input:checked+.toggle-slider{background-color:var(--color-primary-hover, #6366f1)}.toggle-help-text{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin:0}@media (max-width: 768px){.toggle-switch{width:3.5rem;height:2rem}.toggle-slider:before{height:1.625rem;width:1.625rem}.toggle-input:checked+.toggle-slider:before{transform:translate(1.5rem)}.toggle-label{font-size:var(--font-size-base, 1rem)}.toggle-content{min-height:var(--touch-target-min, 44px)}}@media (prefers-color-scheme: dark){.toggle-label{color:var(--color-text-primary-dark, #f9fafb)}.toggle-description{color:var(--color-text-secondary-dark, #9ca3af)}.toggle-slider{background-color:var(--color-border-dark, #374151)}.toggle-slider:before{background-color:var(--color-bg-primary-dark, #1f2937)}.toggle-input:checked+.toggle-slider{background-color:var(--color-primary, #818cf8)}.toggle-input:disabled+.toggle-slider{background-color:var(--color-bg-disabled-dark, #111827)}.toggle-input:disabled+.toggle-slider:before{background-color:var(--color-text-disabled-dark, #6b7280)}}@media (prefers-reduced-motion: no-preference){.toggle-slider,.toggle-slider:before{transition:all .3s cubic-bezier(.4,0,.2,1)}}@media (prefers-contrast: high){.toggle-input:focus+.toggle-slider{outline:3px solid currentColor}.toggle-slider{border:2px solid currentColor}}.custom-standard-form{background:var(--color-background, #ffffff);border:1px solid var(--color-border, #dee2e6);border-radius:var(--border-radius, 8px);padding:var(--spacing-md, 1rem);margin-top:var(--spacing-md, 1rem)}.custom-standard-form h4{margin:0 0 var(--spacing-md, 1rem) 0;font-size:var(--font-size-md, 1rem);color:var(--color-text-primary, #212529)}.form-group{margin-bottom:var(--spacing-md, 1rem)}.form-group label{display:block;margin-bottom:var(--spacing-xs, .25rem);font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #212529)}.form-group input,.form-group select{width:100%;padding:var(--spacing-sm, .5rem);font-size:var(--font-size-md, 1rem);border:1px solid var(--color-border, #dee2e6);border-radius:var(--border-radius-sm, 4px);background:var(--color-background, #ffffff);color:var(--color-text-primary, #212529)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 2px #007bff40}.form-group input:disabled,.form-group select:disabled{background:var(--color-disabled, #e9ecef);cursor:not-allowed}.form-group input[aria-invalid=true],.form-group select[aria-invalid=true]{border-color:var(--color-danger, #dc3545)}.form-row{display:flex;gap:var(--spacing-md, 1rem)}.form-row .form-group{flex:1}.error-text{display:block;margin-top:var(--spacing-xs, .25rem);font-size:var(--font-size-sm, .875rem);color:var(--color-danger, #dc3545)}.submit-error{text-align:center;margin-bottom:var(--spacing-md, 1rem)}.form-buttons{display:flex;gap:var(--spacing-sm, .75rem);justify-content:flex-end;margin-top:var(--spacing-md, 1rem)}.form-buttons button{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);font-size:var(--font-size-md, 1rem);border:none;border-radius:var(--border-radius-sm, 4px);cursor:pointer;transition:background-color .2s ease}.form-buttons .cancel-button{background:var(--color-secondary, #6c757d);color:#fff}.form-buttons .cancel-button:hover:not(:disabled){background:var(--color-secondary-dark, #5a6268)}.form-buttons .submit-button{background:var(--color-primary, #007bff);color:#fff}.form-buttons .submit-button:hover:not(:disabled){background:var(--color-primary-dark, #0056b3)}.form-buttons button:disabled{opacity:.65;cursor:not-allowed}.checkbox-group{padding:var(--spacing-sm, .75rem);background:var(--color-surface, #f8f9fa);border-radius:var(--border-radius-sm, 4px)}.checkbox-label{display:flex!important;align-items:center;gap:var(--spacing-sm, .5rem);cursor:pointer;font-weight:400!important}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer;accent-color:var(--color-primary, #007bff)}.checkbox-label span{color:var(--color-text-primary, #212529)}.help-text{margin:var(--spacing-xs, .25rem) 0 0 0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #6c757d)}.package-standards-tab{display:flex;flex-direction:column;gap:var(--spacing-lg, 1.5rem)}.package-standards-section{background:var(--color-surface, #f8f9fa);border-radius:var(--border-radius, 8px);padding:var(--spacing-md, 1rem)}.package-standards-section h3{margin:0 0 var(--spacing-xs, .5rem) 0;font-size:var(--font-size-lg, 1.125rem);color:var(--color-text-primary, #212529)}.section-description{margin:0 0 var(--spacing-md, 1rem) 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6c757d)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md, 1rem);padding:var(--spacing-sm, .75rem) 0}.toggle-row label{font-weight:500;color:var(--color-text-primary, #212529)}.standards-list{display:flex;flex-direction:column;gap:var(--spacing-sm, .75rem)}.standard-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm, .75rem);background:var(--color-background, #ffffff);border-radius:var(--border-radius-sm, 4px);border:1px solid var(--color-border, #dee2e6);transition:opacity .2s ease}.standard-item.disabled{opacity:.6}.standard-item.custom{border-left:3px solid var(--color-primary, #007bff)}.standard-info{display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem)}.standard-name{font-weight:500;color:var(--color-text-primary, #212529)}.standard-size{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6c757d)}.standard-store,.standard-notes{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #adb5bd);font-style:italic}.created-from-badge{display:inline-block;margin-left:var(--spacing-xs, .25rem);padding:2px 6px;font-size:var(--font-size-xs, .65rem);font-weight:400;color:var(--color-primary, #007bff);background:var(--color-primary-light, #e7f1ff);border-radius:var(--border-radius-sm, 4px);vertical-align:middle}.standard-controls{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs, .5rem)}.round-up-toggle{display:flex;align-items:center;font-size:var(--font-size-sm, .875rem)}.round-up-toggle label{color:var(--color-text-secondary, #6c757d)}.standard-actions{display:flex;gap:var(--spacing-xs, .5rem)}.edit-button,.delete-button{padding:var(--spacing-xs, .25rem) var(--spacing-sm, .5rem);font-size:var(--font-size-sm, .875rem);border:none;border-radius:var(--border-radius-sm, 4px);cursor:pointer;transition:background-color .2s ease}.edit-button{background:var(--color-secondary, #6c757d);color:#fff}.edit-button:hover{background:var(--color-secondary-dark, #5a6268)}.delete-button{background:var(--color-danger, #dc3545);color:#fff}.delete-button:hover{background:var(--color-danger-dark, #c82333)}.empty-state{padding:var(--spacing-lg, 1.5rem);text-align:center;color:var(--color-text-secondary, #6c757d);background:var(--color-background, #ffffff);border-radius:var(--border-radius-sm, 4px);border:1px dashed var(--color-border, #dee2e6)}.add-button{display:block;width:100%;padding:var(--spacing-sm, .75rem);margin-top:var(--spacing-sm, .75rem);font-size:var(--font-size-md, 1rem);color:var(--color-primary, #007bff);background:transparent;border:2px dashed var(--color-primary, #007bff);border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease,color .2s ease}.add-button:hover{background:var(--color-primary-light, #e7f1ff)}.delete-confirmation{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--spacing-lg, 1.5rem);background:var(--color-background, #ffffff);border-radius:var(--border-radius, 8px);box-shadow:0 4px 20px #00000026;z-index:1000;text-align:center}.delete-confirmation p{margin:0 0 var(--spacing-md, 1rem) 0;color:var(--color-text-primary, #212529)}.confirmation-buttons{display:flex;gap:var(--spacing-sm, .75rem);justify-content:center}.confirm-button{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background:var(--color-danger, #dc3545);color:#fff;border:none;border-radius:var(--border-radius-sm, 4px);cursor:pointer}.confirm-button:hover{background:var(--color-danger-dark, #c82333)}.cancel-button{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background:var(--color-secondary, #6c757d);color:#fff;border:none;border-radius:var(--border-radius-sm, 4px);cursor:pointer}.cancel-button:hover{background:var(--color-secondary-dark, #5a6268)}.error-message{color:var(--color-danger, #dc3545);padding:var(--spacing-md, 1rem);text-align:center}.equipment-section{margin-bottom:var(--spacing-lg, 1.5rem);padding:var(--spacing-md, 1rem);border:1px solid var(--color-border);border-radius:var(--radius-lg, 8px);background-color:var(--color-surface)}.equipment-section-title{margin:0 0 var(--spacing-xs, .5rem) 0;font-size:var(--font-size-lg, 1.125rem);font-weight:600;color:var(--color-text-primary)}.equipment-section-description{margin:0 0 var(--spacing-md, 1rem) 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary)}.equipment-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm, .75rem)}.equipment-checkbox-grid--large{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.equipment-checkbox-item{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem);cursor:pointer;transition:all .2s ease;border-radius:var(--radius-md, 6px);border:1px solid var(--color-border);background-color:var(--color-surface)}.equipment-checkbox-item:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.equipment-checkbox-item:has(input:checked){background-color:var(--color-primary-light);border-color:var(--color-primary)}.equipment-checkbox-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.equipment-label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary);text-align:center}.sized-equipment-category{margin-top:var(--spacing-md, 1rem);padding-top:var(--spacing-md, 1rem);border-top:1px solid var(--color-border)}.sized-equipment-category:first-of-type{margin-top:0;padding-top:0;border-top:none}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, .75rem)}.category-header h4{margin:0;font-size:var(--font-size-md, 1rem);font-weight:600;color:var(--color-text-primary)}.add-equipment-btn{padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);font-size:var(--font-size-sm, .875rem);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md, 4px);cursor:pointer;transition:background-color .2s ease}.add-equipment-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.add-equipment-btn:disabled{opacity:.5;cursor:not-allowed}.equipment-form{margin-bottom:var(--spacing-md, 1rem);padding:var(--spacing-sm, .75rem);border:1px solid var(--color-border);border-radius:var(--radius-md, 4px);background-color:var(--color-surface-variant)}.form-row{display:flex;gap:var(--spacing-sm, .75rem);margin-bottom:var(--spacing-sm, .75rem);flex-wrap:wrap}.form-row:last-child{margin-bottom:0}.equipment-form select,.equipment-form input[type=number],.equipment-form input[type=text]{flex:1;min-width:120px;padding:var(--spacing-xs, .5rem);font-size:var(--font-size-sm, .875rem);border:1px solid var(--color-border);border-radius:var(--radius-md, 4px);background-color:var(--color-surface);color:var(--color-text-primary)}.equipment-form select option{background-color:var(--color-surface);color:var(--color-text-primary)}.equipment-form input::placeholder{color:var(--color-text-tertiary)}.equipment-form select:focus,.equipment-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-actions{display:flex;gap:var(--spacing-sm, .75rem);margin-top:var(--spacing-sm, .75rem)}.form-actions button{padding:var(--spacing-xs, .5rem) var(--spacing-md, 1rem);font-size:var(--font-size-sm, .875rem);border-radius:var(--radius-md, 4px);cursor:pointer;transition:background-color .2s ease}.form-actions button:first-child{background-color:var(--color-primary);color:#fff;border:none}.form-actions button:first-child:hover:not(:disabled){background-color:var(--color-primary-hover)}.form-actions button:first-child:disabled{opacity:.5;cursor:not-allowed}.form-actions .cancel-btn{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.form-actions .cancel-btn:hover{background-color:var(--color-surface-hover)}.sized-equipment-list{list-style:none;margin:0;padding:0}.sized-equipment-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);margin-bottom:var(--spacing-xs, .5rem);background-color:var(--color-surface-variant);border-radius:var(--radius-md, 4px);border:1px solid var(--color-border)}.sized-equipment-item:last-child{margin-bottom:0}.equipment-info{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary)}.delete-btn{padding:var(--spacing-2xs, .25rem) var(--spacing-xs, .5rem);font-size:var(--font-size-xs, .75rem);background-color:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md, 4px);cursor:pointer;transition:all .2s ease}.delete-btn:hover:not(:disabled){background-color:var(--color-error);color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.empty-list-message{font-size:var(--font-size-sm, .875rem);color:var(--color-text-tertiary);font-style:italic;margin:0}.other-equipment-input-group{display:flex;gap:var(--spacing-sm, .75rem);margin-bottom:var(--spacing-sm, .75rem)}.other-equipment-input-group input{flex:1;padding:var(--spacing-xs, .5rem);font-size:var(--font-size-sm, .875rem);border:1px solid var(--color-border);border-radius:var(--radius-md, 4px);background-color:var(--color-surface);color:var(--color-text-primary)}.other-equipment-input-group input::placeholder{color:var(--color-text-tertiary)}.other-equipment-input-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.other-equipment-input-group button{padding:var(--spacing-xs, .5rem) var(--spacing-md, 1rem);font-size:var(--font-size-sm, .875rem);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md, 4px);cursor:pointer;transition:background-color .2s ease}.other-equipment-input-group button:hover:not(:disabled){background-color:var(--color-primary-hover)}.other-equipment-input-group button:disabled{opacity:.5;cursor:not-allowed}.other-equipment-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs, .5rem);list-style:none;margin:0;padding:0}.other-equipment-chip{display:flex;align-items:center;gap:var(--spacing-xs, .5rem);padding:var(--spacing-2xs, .25rem) var(--spacing-sm, .75rem);background-color:var(--color-surface-variant);border:1px solid var(--color-border);border-radius:999px;font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary)}.other-equipment-chip button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background-color:transparent;color:var(--color-text-secondary);border:none;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;transition:all .2s ease}.other-equipment-chip button:hover{background-color:#f8717133;color:var(--color-error)}@media (max-width: 600px){.equipment-checkbox-grid{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.equipment-form select,.equipment-form input{min-width:100%}.category-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs, .5rem)}}.language-selector-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.language-selector-label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base)}.language-selector{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;max-width:300px}.language-selector:hover:not(:disabled){border-color:var(--color-primary)}.language-selector:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.language-selector:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-background-secondary)}.language-selector-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.quantity-unit-input{display:flex;gap:var(--spacing-sm, 8px);align-items:center}.quantity-unit-input .quantity-input{width:80px;min-width:60px;padding:var(--spacing-sm, 8px);border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 4px);font-size:var(--font-size-base, 14px)}.quantity-unit-input .unit-select{width:100px;min-width:80px;padding:var(--spacing-sm, 8px);border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 4px);font-size:var(--font-size-base, 14px);background-color:var(--color-background, white);cursor:pointer}.quantity-unit-input .quantity-input:focus,.quantity-unit-input .unit-select:focus{outline:none;border-color:var(--color-primary, #4caf50);box-shadow:0 0 0 2px #4caf5033}.quantity-unit-input.inline-edit{gap:var(--spacing-xs, 4px)}.quantity-unit-input.inline-edit .quantity-input{width:60px;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-sm, 12px);border:2px solid var(--color-primary, #4caf50);border-radius:var(--radius-md, 4px)}.quantity-unit-input.inline-edit .unit-select{width:80px;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-sm, 12px);border:2px solid var(--color-primary, #4caf50);border-radius:var(--radius-md, 4px)}.quantity-unit-input .quantity-input:disabled,.quantity-unit-input .unit-select:disabled{background-color:var(--color-disabled-bg, #f5f5f5);cursor:not-allowed;opacity:.7}@media (max-width: 480px){.quantity-unit-input{flex-wrap:wrap}.quantity-unit-input .quantity-input,.quantity-unit-input .unit-select{flex:1;min-width:0}}.category-selector{display:flex;align-items:center}.category-selector .category-select{width:140px;min-width:120px;padding:var(--spacing-sm, 8px);border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 4px);font-size:var(--font-size-base, 14px);background-color:var(--color-background, white);cursor:pointer}.category-selector .category-select:focus{outline:none;border-color:var(--color-primary, #4caf50);box-shadow:0 0 0 2px #4caf5033}.category-selector.inline-edit{display:inline-flex}.category-selector.inline-edit .category-select{width:120px;min-width:100px;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-sm, 12px);border:2px solid var(--color-primary, #4caf50);border-radius:var(--radius-md, 4px)}.category-selector .category-select:disabled{background-color:var(--color-disabled-bg, #f5f5f5);cursor:not-allowed;opacity:.7}@media (max-width: 480px){.category-selector .category-select{width:100%;min-width:0}}.category-section{margin-bottom:var(--spacing-md, 12px);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--border-radius-md, 8px);overflow:hidden;background-color:var(--color-surface, #ffffff)}.category-header{display:flex;align-items:center;width:100%;padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);background-color:var(--color-surface-secondary, #f8f9fa);border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);transition:background-color .2s ease;text-align:left}.category-header:hover{background-color:var(--color-surface-hover, #f0f0f0)}.category-header:focus{outline:2px solid var(--color-primary, #4f46e5);outline-offset:-2px}.category-header.collapsed{border-bottom:none}.category-header.expanded{border-bottom:1px solid var(--color-border, #e0e0e0)}.category-icon{font-size:1.25rem;margin-right:var(--spacing-sm, 8px);flex-shrink:0}.category-name{flex:1;font-weight:600}.category-count{color:var(--color-text-secondary, #666666);font-weight:400;margin-left:var(--spacing-sm, 8px);font-size:.875rem}.category-toggle{font-size:1.25rem;font-weight:700;color:var(--color-text-secondary, #666666);margin-left:var(--spacing-md, 12px);width:24px;text-align:center;flex-shrink:0}.category-items{padding:var(--spacing-sm, 8px) 0}@media (max-width: 768px){.category-header{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px)}.category-icon{font-size:1.1rem}.category-name{font-size:.9rem}.category-count{font-size:.8rem}}.inventory-container{max-width:var(--max-width-lg);margin:var(--spacing-lg) auto;background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);overflow:hidden;box-sizing:border-box}.inventory-container h1{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);text-align:center}.tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border);overflow:hidden;padding-bottom:0}.tab-button{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;flex-shrink:0;margin-bottom:-2px}.tab-button:hover{color:var(--color-primary);background-color:var(--color-primary-light)}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tab-content{animation:fadeIn .3s ease-in-out}.inventory-form{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-background);border-radius:var(--radius-lg);width:100%;align-items:center}.inventory-form input[type=text]{margin:0;min-width:150px;flex:1}.inventory-form button{padding:var(--spacing-sm) var(--spacing-xl);white-space:nowrap;flex-shrink:0}.inventory-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.inventory-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base);gap:var(--spacing-md)}.inventory-item:hover{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.editable-field{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);border:1px solid transparent;min-width:60px;display:inline-block}.item-quantity{color:var(--color-text-secondary);font-weight:var(--font-weight-normal);white-space:nowrap}.move-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.move-btn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-in-out}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);max-width:400px;width:90%;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.move-modal h3{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.move-modal p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.move-form{margin-bottom:var(--spacing-lg)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.cancel-btn{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-base);background-color:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.cancel-btn:hover{background-color:var(--color-surface);border-color:var(--color-text-secondary)}.confirm-btn{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-base);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.confirm-btn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.inventory-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.inventory-list li:hover{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translate(4px)}.inventory-list span{flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.inventory-list div{display:flex;gap:var(--spacing-sm)}.inventory-list button{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);background-color:var(--color-primary);color:#fff;border:none}.inventory-list button:hover{background-color:var(--color-primary-hover)}.inventory-list:empty+p,.tab-content>p:last-child{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);font-style:italic}@media (max-width: 768px){.inventory-container{padding:var(--mobile-padding);margin:var(--spacing-md) auto;border-radius:var(--radius-lg)}.inventory-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.tabs{gap:var(--mobile-gap);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal)}.inventory-form{grid-template-columns:1fr;gap:var(--mobile-gap);padding:var(--spacing-md)}.inventory-form button{width:100%;padding:var(--spacing-md)}.inventory-item{flex-direction:column;align-items:stretch;padding:var(--spacing-md)}.item-fields{flex-direction:column;align-items:stretch;gap:var(--mobile-gap)}.editable-field{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);min-height:var(--touch-target-min);display:flex;align-items:center}.inline-edit-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.item-actions{width:100%;margin-top:var(--spacing-sm)}.delete-btn,.move-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);min-height:var(--touch-target-optimal)}.modal-content{padding:var(--spacing-lg);max-width:95%}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.inventory-list li{flex-direction:column;align-items:stretch;gap:var(--spacing-md);padding:var(--spacing-md)}.inventory-list div{width:100%}.inventory-list button{flex:1;min-height:var(--touch-target-optimal)}}.loading-state,.error-message{max-width:var(--max-width-lg);margin:2rem auto;padding:2rem;background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;color:var(--color-text-primary)}.save-as-package-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.save-as-package-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:450px;width:90%;box-shadow:var(--shadow-lg)}.save-as-package-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;text-align:center}.save-as-package-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg) 0;text-align:center}.save-as-package-description strong{color:var(--color-text-primary)}.save-as-package-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-field label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.form-field input[type=number],.form-field input[type=text]{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);transition:border-color var(--transition-base)}.form-field input[type=number]:focus,.form-field input[type=text]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-field input[type=number]{width:100px}.checkbox-field{flex-direction:row;align-items:flex-start;gap:var(--spacing-sm)}.checkbox-field input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-field label{font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer}.calculated-size{background-color:var(--color-surface-variant);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center}.calculated-size strong{color:var(--color-primary)}.save-as-package-error{background-color:#f871711a;color:var(--color-error);padding:var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center}.save-as-package-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.save-as-package-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);border:none}.save-as-package-button:disabled{opacity:.7;cursor:not-allowed}.save-as-package-button.primary{background-color:var(--color-primary);color:var(--color-background)}.save-as-package-button.primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.save-as-package-button.secondary{background-color:var(--color-surface-variant);color:var(--color-text-primary);border:1px solid var(--color-border)}.save-as-package-button.secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.bought-section{margin-top:var(--spacing-xl, 24px);border:2px dashed var(--color-border, #e0e0e0);border-radius:var(--border-radius-md, 8px);overflow:hidden;background-color:var(--color-surface, #ffffff);opacity:.9}.bought-section-header{display:flex;align-items:center;width:100%;padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);background-color:var(--color-surface-secondary, #f8f9fa);border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--color-text-secondary, #666666);transition:background-color .2s ease;text-align:left}.bought-section-header:hover{background-color:var(--color-surface-hover, #f0f0f0)}.bought-section-header:focus{outline:2px solid var(--color-primary, #4f46e5);outline-offset:-2px}.bought-section-header.collapsed{border-bottom:none}.bought-section-header.expanded{border-bottom:1px solid var(--color-border, #e0e0e0)}.bought-section-icon{font-size:1.25rem;margin-right:var(--spacing-sm, 8px);flex-shrink:0}.bought-section-title{flex:1;font-weight:600}.bought-section-count{color:var(--color-text-tertiary, #999999);font-weight:400;margin-left:var(--spacing-sm, 8px);font-size:.875rem}.bought-section-toggle{font-size:1.25rem;font-weight:700;color:var(--color-text-tertiary, #999999);margin-left:var(--spacing-md, 12px);width:24px;text-align:center;flex-shrink:0}.bought-section-items{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px)}.bought-item-row{display:flex;align-items:center;gap:var(--spacing-md, 12px);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background-color:var(--color-background, #ffffff);border:1px solid var(--color-border-light, #f0f0f0);border-radius:var(--border-radius-sm, 4px);margin-bottom:var(--spacing-xs, 4px);animation:slideToBottom .2s ease-out}.bought-item-row:last-child{margin-bottom:0}.bought-item-checkbox{flex-shrink:0}.bought-item-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-success, #22c55e)}.bought-item-name{flex:1;font-size:var(--font-size-base, 1rem);color:var(--color-text-tertiary, #999999);text-decoration:line-through}.bought-item-quantity{color:var(--color-text-tertiary, #999999);font-size:var(--font-size-sm, .875rem);text-decoration:line-through}@keyframes slideToBottom{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.bought-section-header{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px)}.bought-section-icon{font-size:1.1rem}.bought-section-title{font-size:.9rem}.bought-section-count{font-size:.8rem}.bought-item-row{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px)}.bought-item-name{font-size:.9rem}.bought-item-quantity{font-size:.8rem}}.grocery-list-container{max-width:var(--max-width-md);margin:var(--spacing-lg) auto;background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);min-height:500px}.grocery-list-container h1{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);text-align:center}.grocery-list-container>p{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-lg)}.grocery-add-form{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-background);border-radius:var(--radius-lg);width:100%;align-items:center}.grocery-add-form input[type=text]{margin:0;min-width:150px;flex:1}.grocery-add-form button{padding:var(--spacing-sm) var(--spacing-xl);white-space:nowrap;flex-shrink:0}.grocery-list{list-style:none;padding:0;margin:0 0 var(--spacing-xl) 0;display:flex;flex-direction:column;gap:var(--spacing-md)}.grocery-list-item-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.grocery-list-item-row:hover{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.item-selection{flex-shrink:0}.item-selection input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer}.item-fields{flex:1;display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.editable-field{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);border:1px solid transparent;display:inline-block}.editable-field:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.item-name{flex:1;min-width:100px}.item-state{color:var(--color-text-tertiary);font-style:italic;font-weight:var(--font-weight-normal)}.item-quantity{color:var(--color-text-secondary);font-weight:var(--font-weight-normal);white-space:nowrap;min-width:60px}.item-category{font-size:var(--font-size-xl);min-width:32px;text-align:center;flex-shrink:0}.inline-edit-input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);border:2px solid var(--color-primary);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);outline:none;box-shadow:var(--shadow-md);min-width:100px}.inline-edit-input.quantity-input{min-width:80px}.inline-edit-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.item-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.delete-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.delete-btn:hover{background-color:#dc2626;box-shadow:var(--shadow-sm)}.add-to-inventory-btn{width:100%;padding:var(--spacing-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-hover) 100%);color:#fff;border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);border-radius:var(--radius-lg)}.add-to-inventory-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.add-to-inventory-btn:active:not(:disabled){transform:translateY(0)}.add-to-inventory-btn:disabled{background:var(--color-text-tertiary);cursor:not-allowed}@media (max-width: 768px){.grocery-list-container{padding:var(--mobile-padding);margin:var(--spacing-md) auto;border-radius:var(--radius-lg)}.grocery-list-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.grocery-list-item-row{flex-direction:column;align-items:stretch;padding:var(--spacing-md);gap:var(--mobile-gap)}.item-selection{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.item-selection input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px;margin:0}.item-selection label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.item-fields{flex-direction:column;align-items:stretch;gap:var(--mobile-gap)}.editable-field{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);min-height:var(--touch-target-min);display:flex;align-items:center}.inline-edit-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.item-actions{width:100%;margin-top:var(--spacing-sm)}.delete-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);min-height:var(--touch-target-optimal)}.add-to-inventory-btn{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal)}}.loading-state,.error-message{max-width:var(--max-width-md);margin:2rem auto;padding:2rem;background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;color:var(--color-text-primary)}.error-message{color:#ff6b6b}.filter-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-sm, .875rem);font-weight:500}.filter-tag-text{white-space:nowrap}.filter-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background-color:transparent;color:inherit;font-size:1rem;font-weight:700;cursor:pointer;border-radius:50%;transition:background-color var(--transition-fast, .15s)}.filter-tag-remove:hover{background-color:var(--color-primary);color:#fff}.filter-tag-remove:focus{outline:2px solid var(--color-border-focus);outline-offset:1px}.filter-bar{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px);background-color:var(--color-surface);border-radius:var(--radius-lg, 12px);margin-bottom:var(--spacing-lg, 24px);border:1px solid var(--color-border)}.filter-bar-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md, 16px);align-items:center}.filter-section{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex-wrap:wrap}.filter-label{font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-sm, .875rem);white-space:nowrap}.search-container{display:flex;align-items:center;flex:1;min-width:200px;max-width:400px;position:relative}.search-input{width:100%;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);padding-right:calc(var(--spacing-sm, 8px) + 1.5rem);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);font-size:var(--font-size-base, 1rem);background-color:var(--color-surface-variant);color:var(--color-text-primary);transition:border-color var(--transition-fast, .15s)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-input:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px var(--color-primary-light, rgba(33, 150, 243, .2))}.search-clear-btn{position:absolute;right:var(--spacing-xs, 4px);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-secondary);font-size:1.25rem;cursor:pointer;border-radius:50%;transition:background-color var(--transition-fast, .15s)}.search-clear-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.results-count{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary);white-space:nowrap}.toggle-group{display:flex;flex-wrap:wrap;gap:var(--spacing-xs, 4px)}.toggle-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background-color:var(--color-surface-variant);color:var(--color-text-secondary);font-size:var(--font-size-sm, .875rem);cursor:pointer;transition:all var(--transition-fast, .15s)}.toggle-btn:hover{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-text-primary)}.toggle-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.toggle-btn-count{font-size:var(--font-size-xs, .75rem);opacity:.8}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px)}.checkbox-label{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.favorites-only-label{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background-color:var(--color-surface-variant);transition:all var(--transition-fast, .15s)}.favorites-only-label:hover{border-color:var(--color-warning);background-color:#fbbf2426}.favorites-only-label:has(.checkbox-input:checked){border-color:var(--color-warning);background-color:#fbbf2433}.favorites-only-text{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px)}.filter-dropdown{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background-color:var(--color-surface-variant);color:var(--color-text-primary);font-size:var(--font-size-sm, .875rem);cursor:pointer;min-width:120px}.filter-dropdown option{background-color:var(--color-surface);color:var(--color-text-primary)}.filter-dropdown:focus{outline:none;border-color:var(--color-primary)}.sort-section{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex-wrap:nowrap}.sort-direction-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background-color:var(--color-surface-variant);color:var(--color-text-secondary);font-size:1rem;cursor:pointer;transition:all var(--transition-fast, .15s)}.sort-direction-btn:hover{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-text-primary)}.sort-direction-btn--asc{transform:rotate(180deg)}.active-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px);align-items:center;padding-top:var(--spacing-sm, 8px);border-top:1px solid var(--color-border)}.clear-all-btn{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:none;background:transparent;color:var(--color-error);font-size:var(--font-size-sm, .875rem);cursor:pointer;text-decoration:underline}.clear-all-btn:hover{color:#fca5a5}@media (max-width: 768px){.filter-bar{padding:var(--spacing-sm, 8px)}.filter-bar-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm, 8px)}.search-container{max-width:100%;width:100%}.toggle-group{width:100%}.toggle-btn{flex:1;justify-content:center}.sort-section{margin-left:0;width:100%;justify-content:space-between}.filter-dropdown{flex:1}}.save-adjustment-dialog-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.save-adjustment-dialog{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:dialog-slide-in .2s ease-out}@keyframes dialog-slide-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.save-adjustment-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.save-adjustment-dialog-header h2{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.save-adjustment-dialog-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-fast)}.save-adjustment-dialog-close:hover:not(:disabled){color:var(--color-text-primary)}.save-adjustment-dialog-close:disabled{cursor:not-allowed;opacity:.5}.save-adjustment-dialog-content{padding:var(--spacing-xl);flex:1;overflow-y:auto}.save-adjustment-description{margin:0 0 var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-base)}.save-adjustment-description strong{color:var(--color-primary)}.save-adjustment-summary{background-color:var(--color-background);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-item{display:flex;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.summary-item:not(:last-child){border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.summary-label{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.summary-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-align:right}.save-adjustment-question{margin:0;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.save-adjustment-dialog-footer{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);background-color:var(--color-background)}.save-adjustment-button{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none;min-height:var(--touch-target-min)}.save-adjustment-button:disabled{cursor:not-allowed;opacity:.6}.save-adjustment-button.update-original{background-color:var(--color-primary);color:#fff}.save-adjustment-button.update-original:hover:not(:disabled){background-color:var(--color-primary-dark)}.save-adjustment-button.save-as-new{background-color:var(--color-success);color:#fff}.save-adjustment-button.save-as-new:hover:not(:disabled){background-color:#10b981}.save-adjustment-button.preview-only{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.save-adjustment-button.preview-only:hover:not(:disabled){background-color:var(--color-surface-variant);color:var(--color-text-primary)}@media (prefers-color-scheme: dark){.save-adjustment-dialog-backdrop{background-color:#000000b3}}@media (max-width: 768px){.save-adjustment-dialog-backdrop{padding:var(--spacing-md)}.save-adjustment-dialog{max-height:95vh}.save-adjustment-dialog-header,.save-adjustment-dialog-content,.save-adjustment-dialog-footer{padding:var(--spacing-md)}.save-adjustment-dialog-header h2{font-size:var(--font-size-lg)}.save-adjustment-button{padding:var(--spacing-md);min-height:var(--touch-target-optimal)}}.saved-recipes-container{max-width:var(--max-width-2xl);margin:var(--spacing-lg) auto;padding:var(--spacing-xl)}.saved-recipes-container h1{font-size:var(--font-size-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-2xl);text-align:center}.saved-recipes-container>p{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-lg)}.saved-recipes-container.error{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--color-error);font-size:var(--font-size-lg)}.saved-recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-xl)}.recipe-card{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:all var(--transition-slow);border:1px solid var(--color-border);display:flex;flex-direction:column;height:100%}.recipe-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:var(--color-primary)}.recipe-card-header{display:flex;justify-content:space-between;align-items:start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.recipe-card-header h3{flex:1;margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary);line-height:var(--line-height-tight)}.delete-recipe-btn{width:32px;height:32px;min-width:32px;padding:0;display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;transition:all var(--transition-base)}.delete-recipe-btn:hover{background-color:var(--color-error);color:#fff;border-color:var(--color-error);transform:rotate(90deg)}.favorite-toggle-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;padding:var(--spacing-xs);transition:transform var(--transition-base);color:var(--color-text-tertiary);flex-shrink:0}.favorite-toggle-btn:hover{transform:scale(1.2)}.favorite-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.favorite-toggle-btn.is-favorite{color:var(--color-warning)}.recipe-card-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg);overflow:hidden}.recipe-card-ingredients,.recipe-card-preparation,.recipe-card-instructions{display:flex;flex-direction:column}.ingredients-header-favorites{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.ingredients-header-favorites h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);flex-shrink:0}.ingredients-header-favorites .unit-system-selector{flex-shrink:1;min-width:0}.ingredients-header-favorites .unit-system-button{padding:var(--spacing-xs, .25rem) var(--spacing-xs, .25rem);font-size:var(--font-size-xs, .75rem)}.recipe-card-preparation h4,.recipe-card-instructions h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--spacing-md)}.recipe-card-ingredients ul,.recipe-card-preparation ol,.recipe-card-instructions ol{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:200px;overflow-y:auto;padding-right:var(--spacing-sm)}.recipe-card-ingredients ul::-webkit-scrollbar,.recipe-card-preparation ol::-webkit-scrollbar,.recipe-card-instructions ol::-webkit-scrollbar{width:6px}.recipe-card-ingredients ul::-webkit-scrollbar-track,.recipe-card-preparation ol::-webkit-scrollbar-track,.recipe-card-instructions ol::-webkit-scrollbar-track{background:var(--color-background);border-radius:var(--radius-full)}.recipe-card-ingredients ul::-webkit-scrollbar-thumb,.recipe-card-preparation ol::-webkit-scrollbar-thumb,.recipe-card-instructions ol::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.recipe-card-ingredients ul::-webkit-scrollbar-thumb:hover,.recipe-card-preparation ol::-webkit-scrollbar-thumb:hover,.recipe-card-instructions ol::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.recipe-card-ingredients li,.recipe-card-preparation li,.recipe-card-instructions li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.recipe-card-preparation li,.recipe-card-instructions li{padding:var(--spacing-sm);background-color:var(--color-background);border-radius:var(--radius-sm);border-left:2px solid var(--color-primary)}.recipe-card-actions{margin-top:auto;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.accept-cooking-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.accept-cooking-btn:hover:not(:disabled){background-color:#10b981;transform:scale(1.02)}.accept-cooking-btn:active:not(:disabled){transform:scale(.98)}.accept-cooking-btn:disabled{cursor:not-allowed;opacity:.7}.accept-cooking-btn.in-queue{background-color:var(--color-text-tertiary)}.availability-badge{margin-left:auto;margin-right:var(--spacing-sm);flex-shrink:0}.badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.badge-ready{background-color:#34d39933;color:var(--color-success)}.badge-mostly-ready{background-color:#fbbf2433;color:#d97706}.badge-not-ready{background-color:#f8717133;color:var(--color-error)}.ingredient-item{display:flex;align-items:flex-start;gap:var(--spacing-xs)}.ingredient-icon{flex-shrink:0;width:1.2em;text-align:center}.ingredient-available .ingredient-icon,.ingredient-available .ingredient-text{color:var(--color-success)}.ingredient-always-on-stock .ingredient-icon,.ingredient-always-on-stock .ingredient-text{color:var(--color-text-tertiary)}.ingredient-in-grocery .ingredient-icon,.ingredient-in-grocery .ingredient-text{color:#d97706}.ingredient-missing .ingredient-icon,.ingredient-missing .ingredient-text{color:var(--color-error)}.quantity-info{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:var(--spacing-xs);font-style:italic}.adjust-amounts-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.adjust-amounts-btn:hover{background-color:var(--color-primary);color:#fff}.adjust-amounts-btn:active{transform:scale(.98)}.add-missing-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:#d97706;color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.add-missing-btn:hover{background-color:#b45309}.add-missing-btn:active{transform:scale(.98)}.saved-recipes-empty-filter{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-xl);border:2px dashed var(--color-border);text-align:center}.saved-recipes-empty-filter-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.6}.saved-recipes-empty-filter-message{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;font-weight:var(--font-weight-medium)}.saved-recipes-empty-filter-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.clear-filters-link{display:inline;padding:0;border:none;background:none;color:var(--color-primary);font-size:inherit;cursor:pointer;text-decoration:underline}.clear-filters-link:hover{color:var(--color-primary-dark)}@media (max-width: 1024px){.saved-recipes-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.saved-recipes-container{padding:var(--mobile-padding)}.saved-recipes-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.saved-recipes-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.recipe-card{padding:var(--spacing-md)}.recipe-card-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.recipe-card-header h3{font-size:var(--font-size-lg);line-height:1.3}.delete-recipe-btn{width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--font-size-xl)}.recipe-card-content{gap:var(--spacing-md)}.recipe-card-ingredients h4,.recipe-card-preparation h4,.recipe-card-instructions h4{font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}.recipe-card-ingredients li,.recipe-card-preparation li,.recipe-card-instructions li{font-size:var(--font-size-sm)}.recipe-card-preparation li,.recipe-card-instructions li{padding:var(--spacing-xs) var(--spacing-sm)}.recipe-card-actions{padding-top:var(--spacing-md)}.accept-cooking-btn{min-height:var(--touch-target-optimal)}}.cooking-queue-container{max-width:var(--max-width-2xl);margin:var(--spacing-lg) auto;padding:var(--spacing-xl)}.cooking-queue-container h1{font-size:var(--font-size-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-2xl);text-align:center}.cooking-queue-container.error{text-align:center}.cooking-queue-container .error-message{color:var(--color-error);font-size:var(--font-size-lg);padding:var(--spacing-3xl)}.empty-state{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-tertiary)}.empty-state p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.empty-state-hint{font-style:italic;font-size:var(--font-size-base)!important}.cooking-queue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-xl)}.cooking-recipe-card{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:all var(--transition-slow);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-md)}.cooking-recipe-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:var(--color-primary)}.cooking-recipe-card.in-progress{border-color:var(--color-warning);box-shadow:0 0 0 2px #fbbf2433}.cooking-recipe-card.in-progress:hover{border-color:var(--color-warning)}.cooking-recipe-card.expanded{grid-column:1 / -1;max-width:800px;margin:0 auto}.cooking-recipe-header{display:flex;justify-content:space-between;align-items:start;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.cooking-recipe-header h3{flex:1;margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary);line-height:var(--line-height-tight)}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.status-badge.status-queued{background-color:var(--color-text-tertiary);color:#fff}.status-badge.status-in-progress{background-color:var(--color-warning);color:var(--color-background)}.status-badge.status-completed{background-color:var(--color-success);color:#fff}.cooking-recipe-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.ingredient-count{font-weight:var(--font-weight-medium)}.added-time{font-style:italic}.recipe-sections{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.ingredients-unit-selector{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.cooking-recipe-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.cook-now-button{flex:1;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.cook-now-button:hover{background-color:#10b981;transform:scale(1.02)}.remove-from-queue-button{padding:var(--spacing-md) var(--spacing-lg);background-color:transparent;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.remove-from-queue-button:hover{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.remove-modal-content{text-align:center}.remove-modal-content h2{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.remove-modal-content p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:var(--line-height-relaxed)}.remove-modal-content strong{color:var(--color-text-primary)}.remove-modal-actions{display:flex;gap:var(--spacing-md);justify-content:center}.confirm-remove-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.confirm-remove-button:hover:not(:disabled){background-color:#dc2626;transform:scale(1.02)}.confirm-remove-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 1024px){.cooking-queue-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cooking-recipe-card.expanded{grid-column:1 / -1}}@media (max-width: 768px){.cooking-queue-container{padding:var(--mobile-padding)}.cooking-queue-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.cooking-queue-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.cooking-recipe-card{padding:var(--spacing-md)}.cooking-recipe-card.expanded{max-width:100%}.cooking-recipe-header h3{font-size:var(--font-size-lg)}.section-toggle{padding:var(--spacing-sm) var(--spacing-md)}.section-title{font-size:var(--font-size-sm)}.section-content{padding:var(--spacing-sm) var(--spacing-md);max-height:250px}.cooking-recipe-actions{flex-direction:column}.cook-now-button,.remove-from-queue-button{min-height:var(--touch-target-optimal)}.remove-modal-actions{flex-direction:column}.cancel-button,.confirm-remove-button{width:100%;min-height:var(--touch-target-optimal)}}.step-assistant-panel{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.assistant-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.assistant-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base)}.assistant-button:hover:not(:disabled){background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.assistant-button:disabled{opacity:.6;cursor:not-allowed}.button-icon{font-size:var(--font-size-base)}.button-text{white-space:nowrap}.question-input-area{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.clear-response-warning{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-warning-light, #fff3cd);border:1px solid var(--color-warning, #ffc107);border-radius:var(--radius-md);color:var(--color-warning-dark, #856404)}.warning-icon{font-size:var(--font-size-base)}.warning-text{flex:1;font-size:var(--font-size-sm)}.warning-actions{display:flex;gap:var(--spacing-sm);margin-left:auto}.warning-button{padding:var(--spacing-xs) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.warning-button.confirm{background-color:var(--color-warning, #ffc107);color:var(--color-warning-dark, #856404)}.warning-button.confirm:hover{background-color:var(--color-warning-hover, #e0a800)}.warning-button.cancel{background-color:transparent;color:var(--color-text-secondary)}.warning-button.cancel:hover{background-color:var(--color-background)}.question-input{width:100%;min-height:80px;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);resize:vertical;transition:all var(--transition-base)}.question-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light, rgba(var(--color-primary-rgb), .2))}.question-input::placeholder{color:var(--color-text-tertiary)}.question-input:disabled{background-color:var(--color-surface);cursor:not-allowed}.example-questions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.examples-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.example-button{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.example-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.example-button:disabled{opacity:.6;cursor:not-allowed}.submit-question-button{align-self:flex-end;padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.submit-question-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.submit-question-button:disabled{opacity:.6;cursor:not-allowed}.assistant-loading{margin-top:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-background);border-radius:var(--radius-md)}.assistant-loading .loading-spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:var(--font-size-base);color:var(--color-text-secondary)}.assistant-response{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-background);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.response-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.response-header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.response-icon{font-size:var(--font-size-lg)}.response-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.response-close-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.response-close-button:hover{background-color:var(--color-surface-hover, rgba(0, 0, 0, .05));color:var(--color-text-primary)}.response-content{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-relaxed, 1.7);white-space:pre-wrap}.assistant-error{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-error-light, #fee2e2);border:1px solid var(--color-error, #ef4444);border-radius:var(--radius-md)}.error-header{display:flex;align-items:center;gap:var(--spacing-sm)}.error-icon{font-size:var(--font-size-base);flex-shrink:0}.error-text{flex:1;font-size:var(--font-size-sm);color:var(--color-error-dark, #b91c1c)}.step-assistant-panel.response-only{margin-top:0;padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);position:relative}.step-assistant-panel.response-only .assistant-response,.step-assistant-panel.response-only .assistant-loading,.step-assistant-panel.response-only .assistant-error{margin-top:0}.panel-close-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-base);z-index:1}.panel-close-button:hover{background-color:var(--color-surface-hover, rgba(0, 0, 0, .05));color:var(--color-text-primary)}.step-assistant-panel.response-only .question-input-area{margin-top:var(--spacing-md)}.step-assistant-panel.buttons-only{background-color:transparent;border:none;padding:0;margin-top:var(--spacing-lg)}@media (max-width: 480px){.step-assistant-panel{padding:var(--spacing-md)}.assistant-buttons{flex-direction:column}.assistant-button{width:100%;justify-content:center}.warning-actions{width:100%;justify-content:flex-end}.example-questions{flex-direction:column;align-items:flex-start}.example-button{font-size:var(--font-size-sm)}.submit-question-button{width:100%}}.cooking-mode-container{position:fixed;inset:0;background-color:var(--color-background);display:flex;flex-direction:column;z-index:var(--z-modal);overflow:hidden}.cooking-mode-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.cooking-mode-loading p{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.cooking-mode-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-xl);text-align:center}.cooking-mode-error h2{font-size:var(--font-size-2xl);color:var(--color-text-primary)}.cooking-mode-error p{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px}.back-to-queue-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.back-to-queue-button:hover{background-color:var(--color-primary-hover)}.cooking-mode-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:64px}.exit-cooking-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-2xl);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.exit-cooking-button:hover{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.cooking-recipe-title{flex:1;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ingredients-toggle-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.ingredients-toggle-button:hover,.ingredients-toggle-button.active{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.ingredients-badge{background-color:var(--color-success);color:#fff;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.cooking-progress-bar{height:6px;background-color:var(--color-border);overflow:hidden}.cooking-progress-fill{height:100%;background-color:var(--color-success);transition:width .3s ease}.cooking-progress-text{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary);padding:var(--spacing-xs) 0;background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.cooking-mode-main{flex:1;display:flex;position:relative;overflow:hidden}.ingredients-panel{position:absolute;top:0;right:0;bottom:0;width:380px;background-color:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform .3s ease;z-index:10;display:flex;flex-direction:column}.ingredients-panel.open{transform:translate(0)}.ingredients-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.ingredients-panel-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.close-panel-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--color-text-tertiary);border:none;border-radius:var(--radius-full);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-base)}.close-panel-button:hover{background-color:var(--color-background);color:var(--color-text-primary)}.ingredients-checklist{flex:1;list-style:none;margin:0;padding:var(--spacing-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ingredient-item{border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.ingredient-item.checked{opacity:.6}.ingredient-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer}.ingredient-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--color-success)}.ingredient-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0}.ingredient-item.checked .ingredient-text{text-decoration:line-through;color:var(--color-text-tertiary)}.unsaved-changes-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-warning);color:var(--color-background);font-size:var(--font-size-sm)}.save-changes-btn{padding:var(--spacing-xs) var(--spacing-md);background-color:#fff;color:var(--color-warning);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.save-changes-btn:hover{background-color:var(--color-background)}.ingredient-display{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.ingredient-quantity{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.modified-badge{color:var(--color-warning);font-weight:var(--font-weight-bold);margin-left:var(--spacing-xs)}.converted-badge{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-style:italic;margin-left:var(--spacing-xs)}.cooking-tip{display:block;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--spacing-xs)}.ingredients-panel-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.adjust-all-button{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.adjust-all-button:hover{background-color:var(--color-primary);color:#fff}.adjust-all-button:active{transform:scale(.95)}.edit-ingredient-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.edit-ingredient-btn:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.ingredient-edit-form{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-primary)}.edit-quantity-row{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.edit-quantity-input,.edit-unit-input{flex:1;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.edit-quantity-input:focus,.edit-unit-input:focus{outline:none;border-color:var(--color-primary)}.ingredient-name-display{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.edit-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.edit-save-btn,.edit-cancel-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.edit-save-btn{background-color:var(--color-success);color:#fff;border:none}.edit-save-btn:hover{background-color:#10b981}.edit-cancel-btn{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.edit-cancel-btn:hover{background-color:var(--color-background);border-color:var(--color-text-tertiary)}.step-display{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-2xl);padding-top:var(--spacing-xl);overflow-y:auto}.step-content{max-width:700px;width:100%;text-align:center}.step-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md)}.step-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.preparation-steps-list{text-align:left;margin:0;padding-left:var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.preparation-step-item{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.no-preparation{font-size:var(--font-size-lg);color:var(--color-text-tertiary);font-style:italic}.step-instruction{font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0}.step-completed-badge{display:inline-block;margin-top:var(--spacing-lg);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-success);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.step-content-wrapper{display:flex;flex-direction:column;width:100%;max-width:700px;gap:var(--spacing-lg);transition:max-width .3s ease}.step-content-main{width:100%;transition:all .3s ease}@media (min-width: 900px){.step-content-wrapper{flex-direction:row;align-items:flex-start;max-width:700px;justify-content:center}.step-content-main{flex:0 1 auto;max-width:600px}.step-content-main .step-content,.step-content-main .step-label{text-align:center}.step-content-wrapper.panel-open{max-width:1100px;justify-content:flex-start;gap:var(--spacing-xl)}.step-content-wrapper.panel-open .step-content-main{flex:1;min-width:0;max-width:600px}.step-content-wrapper.panel-open .step-content-main .step-content,.step-content-wrapper.panel-open .step-content-main .step-label{text-align:left}.step-assistant-panel.response-only{flex:0 0 380px;max-height:calc(100vh - 280px);overflow-y:auto;position:sticky;top:var(--spacing-lg);animation:slideInRight .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}}@media (max-width: 899px){.step-content-wrapper{flex-direction:column}.step-assistant-panel.response-only{max-height:40vh;overflow-y:auto}}.cooking-mode-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-surface);border-top:1px solid var(--color-border)}.nav-button{flex:1;padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);min-height:56px}.prev-button{background-color:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border)}.prev-button:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.prev-button:disabled{opacity:.5;cursor:not-allowed}.next-button,.start-cooking-button{background-color:var(--color-primary);color:#fff}.next-button:hover,.start-cooking-button:hover{background-color:var(--color-primary-hover)}.complete-button{background-color:var(--color-success);color:#fff}.complete-button:hover{background-color:#10b981}.exit-modal-content,.completion-modal-content{text-align:center}.exit-modal-content h2,.completion-modal-content h2{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.exit-modal-content p,.completion-modal-content p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:var(--line-height-relaxed)}.completion-celebration{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md)}.exit-modal-actions,.completion-modal-actions{display:flex;gap:var(--spacing-md);justify-content:center}.cancel-button{padding:var(--spacing-md) var(--spacing-xl);background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.confirm-exit-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.confirm-exit-button:hover{background-color:#dc2626}.mark-cooked-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.mark-cooked-button:hover:not(:disabled){background-color:#10b981}.mark-cooked-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.cooking-mode-header{padding:var(--spacing-sm) var(--spacing-md)}.cooking-recipe-title{font-size:var(--font-size-lg)}.ingredients-icon{display:none}.ingredients-panel{width:100%}.step-display{padding:var(--spacing-lg)}.step-instruction{font-size:var(--font-size-2xl)}.cooking-mode-footer{padding:var(--spacing-md)}.nav-button{font-size:var(--font-size-base);padding:var(--spacing-md);min-height:var(--touch-target-optimal)}.exit-modal-actions,.completion-modal-actions{flex-direction:column}.cancel-button,.confirm-exit-button,.mark-cooked-button{width:100%;min-height:var(--touch-target-optimal)}}@media (max-width: 480px){.step-instruction{font-size:var(--font-size-xl)}.preparation-step-item{font-size:var(--font-size-base);padding:var(--spacing-sm)}}.deduction-summary-modal{max-width:500px;margin:0 auto}.deduction-summary-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.summary-icon{font-size:var(--font-size-3xl)}.deduction-summary-header h2{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0}.deduction-summary-subtitle{text-align:center;font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.deduction-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.deduction-section h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.deduction-section ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;overflow-y:auto}.deduction-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);gap:var(--spacing-sm)}.deduction-item.consumed{background-color:#ef44441a}.deduction-item.skipped{background-color:var(--color-background);opacity:.7}.deduction-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.deduction-amount{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.consumed-badge{padding:2px 8px;background-color:var(--color-error);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.remaining-badge{padding:2px 8px;background-color:var(--color-success);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.skip-reason{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic}.skipped-section h3{color:var(--color-text-tertiary)}.no-deductions{text-align:center;font-size:var(--font-size-base);color:var(--color-text-tertiary);font-style:italic;padding:var(--spacing-lg) 0}.deduction-summary-actions{display:flex;justify-content:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.deduction-summary-actions .primary-button{padding:var(--spacing-md) var(--spacing-2xl);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.deduction-summary-actions .primary-button:hover{background-color:#10b981}@media (max-width: 768px){.deduction-summary-modal{padding:var(--spacing-md)}.deduction-summary-actions .primary-button{width:100%;min-height:var(--touch-target-optimal)}}.cooking-history-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.cooking-history-container h1{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.history-subtitle{font-size:var(--font-size-base);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xl)}.history-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.history-tab{padding:var(--spacing-sm) var(--spacing-lg);background-color:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);position:relative}.history-tab:hover{color:var(--color-text-primary);background-color:var(--color-background)}.history-tab.active{color:var(--color-primary);background-color:var(--color-surface)}.history-tab.active:after{content:"";position:absolute;bottom:calc(-1 * var(--spacing-sm) - 1px);left:0;right:0;height:2px;background-color:var(--color-primary)}.generation-params{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.param-badge{font-size:var(--font-size-xs);padding:2px 8px;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full);opacity:.8}.expires-badge.expires-hours{background-color:#3b82f61a;color:var(--color-info);border-color:var(--color-info)}.expires-badge.expires-hours.expiring-soon{background-color:#ef44441a;color:var(--color-error);border-color:var(--color-error)}.history-error{padding:var(--spacing-xl);background-color:var(--color-error);color:#fff;border-radius:var(--radius-md);text-align:center}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.history-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);display:flex;flex-direction:column;transition:box-shadow var(--transition-base)}.history-card:hover{box-shadow:var(--shadow-lg)}.history-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.history-card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;flex:1}.remove-history-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--color-text-tertiary);border:none;border-radius:var(--radius-full);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.remove-history-btn:hover:not(:disabled){background-color:var(--color-error);color:#fff}.remove-history-btn:disabled{opacity:.5;cursor:not-allowed}.history-card-meta{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.cooked-date{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.expires-badge{font-size:var(--font-size-xs);padding:2px 8px;background-color:var(--color-background);color:var(--color-text-secondary);border-radius:var(--radius-full);border:1px solid var(--color-border)}.expires-badge.expiring-soon{background-color:#ef44441a;color:var(--color-error);border-color:var(--color-error)}.modifications-note{font-size:var(--font-size-xs);color:var(--color-warning);font-style:italic;margin-bottom:var(--spacing-md)}.history-card-content{flex:1;margin-bottom:var(--spacing-lg)}.history-card-ingredients h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.history-card-ingredients ul{list-style:disc;margin:0;padding-left:var(--spacing-lg)}.history-card-ingredients li{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs)}.history-card-ingredients .more-items{font-style:italic;color:var(--color-primary);list-style:none;margin-left:calc(-1 * var(--spacing-lg))}.history-card-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.cook-again-btn,.save-favorite-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);min-width:120px}.cook-again-btn{background-color:var(--color-primary);color:#fff}.cook-again-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.cook-again-btn.in-queue{background-color:var(--color-success);cursor:default}.cook-again-btn:disabled{opacity:.7;cursor:not-allowed}.save-favorite-btn{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.save-favorite-btn:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.save-favorite-btn:disabled{opacity:.7;cursor:not-allowed}.adjust-btn{flex:0 0 auto;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);min-width:auto}.adjust-btn:hover{background-color:var(--color-primary);color:#fff}.adjust-btn:active{transform:scale(.95)}.adjust-btn.adjusted{background-color:var(--color-info);border-color:var(--color-info);color:#fff}.adjust-btn.adjusted:hover{opacity:.9}.history-empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg)}.history-empty p{font-size:var(--font-size-base);color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.history-empty p:first-child{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.remove-confirm-modal{text-align:center}.remove-confirm-modal h2{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.remove-confirm-modal p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.remove-confirm-modal .warning-text{font-size:var(--font-size-sm);color:var(--color-error);margin-bottom:var(--spacing-xl)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:center}.cancel-button,.remove-button{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.cancel-button{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.cancel-button:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-text-tertiary)}.remove-button{background-color:var(--color-error);color:#fff;border:none}.remove-button:hover:not(:disabled){background-color:#dc2626}.cancel-button:disabled,.remove-button:disabled{opacity:.7;cursor:not-allowed}.recipe-sections{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;margin-bottom:var(--spacing-lg)}.recipe-section{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.section-toggle{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-background);border:none;cursor:pointer;text-align:left;transition:all var(--transition-base)}.section-toggle:hover{background-color:var(--color-primary-light)}.section-toggle.expanded{background-color:var(--color-primary-light);border-bottom:1px solid var(--color-border)}.section-icon{font-size:var(--font-size-lg)}.section-title{flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.toggle-icon{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);width:24px;text-align:center}.section-content{padding:var(--spacing-md);margin:0;background-color:var(--color-surface);max-height:300px;overflow-y:auto}.section-content.ingredients-list{padding-left:var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-xs)}.section-content.ingredients-list li{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.section-content.preparation-list,.section-content.instructions-list{padding-left:var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-content.preparation-list li,.section-content.instructions-list li{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding:var(--spacing-sm);background-color:var(--color-background);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary)}.section-content::-webkit-scrollbar{width:6px}.section-content::-webkit-scrollbar-track{background:var(--color-background);border-radius:var(--radius-full)}.section-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.section-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 768px){.cooking-history-container{padding:var(--spacing-md)}.history-tabs{flex-direction:column;gap:var(--spacing-xs)}.history-tab{width:100%;text-align:center;border-radius:var(--radius-md);min-height:var(--touch-target-optimal);display:flex;align-items:center;justify-content:center}.history-tab.active:after{display:none}.history-tab.active{background-color:var(--color-primary);color:#fff}.history-grid{grid-template-columns:1fr}.history-card-actions{flex-direction:column}.cook-again-btn,.save-favorite-btn{width:100%;min-height:var(--touch-target-optimal)}.modal-actions{flex-direction:column}.cancel-button,.remove-button{width:100%;min-height:var(--touch-target-optimal)}.section-toggle{padding:var(--spacing-sm) var(--spacing-md)}.section-title{font-size:var(--font-size-sm)}.section-content{padding:var(--spacing-sm) var(--spacing-md);max-height:250px}}.survey-progress{margin-bottom:var(--spacing-xl)}.progress-steps{display:flex;justify-content:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);overflow-x:auto;padding-bottom:var(--spacing-sm);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);background:none;border:none;cursor:default;min-width:60px;max-width:90px;flex:1 0 auto;transition:all var(--transition-fast)}.progress-step:not(:disabled){cursor:pointer}.progress-step:not(:disabled):hover .step-indicator{transform:scale(1.1)}.step-indicator{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.progress-step.pending .step-indicator{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-tertiary)}.progress-step.current .step-indicator{background:var(--color-primary);border:2px solid var(--color-primary);color:#fff;box-shadow:0 0 0 4px var(--color-primary-light)}.progress-step.completed .step-indicator{background:var(--color-success);border:2px solid var(--color-success);color:#fff}.progress-step.skipped .step-indicator{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-tertiary)}.check-icon{width:16px;height:16px}.skip-icon{font-size:var(--font-size-lg);line-height:1}.step-number{font-size:var(--font-size-sm)}.step-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-fast)}.progress-step.current .step-label{color:var(--color-primary);font-weight:var(--font-weight-medium)}.progress-step.completed .step-label{color:var(--color-text-secondary)}.progress-bar-container{height:4px;background:var(--color-surface);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width var(--transition-slow)}@media (max-width: 768px){.progress-steps{gap:var(--spacing-xs)}.progress-step{min-width:55px;max-width:80px;padding:var(--spacing-xs) 2px}.step-indicator{width:32px;height:32px}.step-label{font-size:10px}}@media (max-width: 480px){.progress-step{min-width:45px;max-width:70px}.step-indicator{width:28px;height:28px}.step-label{font-size:9px}}.survey-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);margin-top:var(--spacing-xl)}.nav-left,.nav-right{display:flex;gap:var(--spacing-md)}.nav-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);min-height:var(--touch-target-min);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast)}.nav-btn:disabled{opacity:.6;cursor:not-allowed}.nav-btn.primary{background:var(--color-primary);color:#fff}.nav-btn.primary:hover:not(:disabled){background:var(--color-primary-hover)}.nav-btn.secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.nav-btn.secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-text-primary)}.nav-btn.skip{background:transparent;color:var(--color-text-tertiary);padding:var(--spacing-sm) var(--spacing-md)}.nav-btn.skip:hover:not(:disabled){color:var(--color-text-secondary);text-decoration:underline}.nav-btn.complete{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.nav-icon{width:18px;height:18px;flex-shrink:0}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 600px){.survey-navigation{flex-direction:column;gap:var(--spacing-md)}.nav-left,.nav-right{width:100%;justify-content:center}.nav-btn{flex:1;justify-content:center}.nav-btn.skip{flex:0}.nav-btn.complete{width:100%}}.survey-step{animation:fadeIn .3s ease-in-out;width:100%}.step-intro{margin-bottom:var(--spacing-xl);text-align:center}.step-title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.step-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto}.survey-step .step-content{margin-bottom:var(--spacing-xl);max-width:100%;display:flex;flex-direction:column;align-items:center}.section-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.section-description{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.step-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.footer-note{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.measurement-selection{width:500px;max-width:100%;text-align:left}.measurement-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.measurement-option{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.measurement-option:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.measurement-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.measurement-option input[type=radio]{width:20px;height:20px;margin-top:2px;accent-color:var(--color-primary);cursor:pointer}.option-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.option-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.option-examples{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.equipment-sections{display:flex;flex-direction:column;gap:var(--spacing-xl);text-align:left;width:100%;max-width:700px}.equipment-section{padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-lg);text-align:left}.equipment-section-title{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-sections{display:flex;flex-direction:column;gap:var(--spacing-lg);text-align:left}.summary-section{padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-lg);text-align:left}.summary-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.summary-section-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-section-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.summary-items{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.summary-item{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background:var(--color-primary-light);color:var(--color-text-primary);border-radius:var(--radius-sm)}.summary-empty{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}.edit-section-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.edit-section-btn:hover{background:var(--color-primary-light)}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-sm);text-align:left}.size-sections{display:flex;flex-direction:column;gap:var(--spacing-xl);text-align:left;width:100%;max-width:700px}.location-form{width:500px;max-width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg);text-align:left}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-input::placeholder{color:var(--color-text-tertiary)}.dietary-form{width:100%;max-width:700px;text-align:left}.no-restrictions-option{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--spacing-lg)}.no-restrictions-option:hover{border-color:var(--color-primary)}.no-restrictions-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.no-restrictions-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.no-restrictions-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center}.no-restrictions-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.no-restrictions-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dietary-preferences-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm)}.dietary-preference-item{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.dietary-preference-item:hover{border-color:var(--color-primary)}.dietary-preference-item.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.dietary-preference-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.dietary-preference-item label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;text-align:center}.dietary-preference-item.disabled{opacity:.5;cursor:not-allowed}.avoid-list-form{width:100%;max-width:700px;text-align:left}.avoid-input-row{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.avoid-input-row .form-input{flex:1}.add-avoid-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-white);background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.add-avoid-btn:hover:not(:disabled){background:var(--color-primary-dark)}.add-avoid-btn:disabled{opacity:.5;cursor:not-allowed}.avoid-list-items{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.avoid-list-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full)}.avoid-list-item span{font-size:var(--font-size-sm);color:var(--color-text-primary)}.remove-avoid-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:var(--font-size-lg);line-height:1;color:var(--color-text-tertiary);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.remove-avoid-btn:hover{color:var(--color-error);background:var(--color-error-light)}.common-allergens-section{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.common-allergens-title{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.common-allergens-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.allergen-chip{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.allergen-chip:hover:not(.added){border-color:var(--color-primary);color:var(--color-primary)}.allergen-chip.added{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);cursor:default}@media (max-width: 600px){.step-intro{margin-bottom:var(--spacing-lg)}.step-title{font-size:var(--font-size-lg)}.step-description{font-size:var(--font-size-sm)}.measurement-option{padding:var(--spacing-md)}.option-title{font-size:var(--font-size-base)}.inventory-grid,.dietary-preferences-grid{grid-template-columns:1fr}.avoid-input-row{flex-direction:column}.add-avoid-btn{width:100%}}.predefined-size-selector{margin-bottom:var(--spacing-xl)}.size-category-title{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.size-type-group{margin-bottom:var(--spacing-lg)}.size-type-label{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.size-options-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.size-option{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.size-option:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.size-option.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.size-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.size-display{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:center}@media (max-width: 600px){.size-options-grid{flex-direction:column}.size-option{width:100%}}.category-checkbox-group{margin-bottom:var(--spacing-lg);width:100%;max-width:700px}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--spacing-sm);background:transparent}.category-label{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.category-actions{display:flex;align-items:center;gap:var(--spacing-md)}.category-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.category-action-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.category-action-btn:hover{background:var(--color-primary-light)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm)}.checkbox-item{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.checkbox-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-content{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;text-align:center}@media (max-width: 600px){.checkbox-grid{grid-template-columns:1fr}.category-header{flex-direction:column;align-items:flex-start}.category-actions{width:100%;justify-content:space-between}}.quantity-editor{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);gap:var(--spacing-md)}.quantity-editor:hover{background:var(--color-surface-hover)}.quantity-editor.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.quantity-editor.editing{flex-wrap:wrap}.quantity-editor-checkbox{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;flex:1;min-width:120px}.quantity-editor-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center}.quantity-section{flex-shrink:0;max-width:100%;overflow:visible}.quantity-display{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.quantity-display:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.edit-hint{font-size:var(--font-size-xs);color:var(--color-primary);opacity:0;transition:opacity var(--transition-fast)}.quantity-display:hover .edit-hint{opacity:1}.quantity-edit-form{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:nowrap}.quantity-edit-actions{display:flex;gap:var(--spacing-xs)}.quantity-input{width:60px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.quantity-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface-hover)}.unit-select{width:70px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.unit-select:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface-hover)}.unit-select option{background:var(--color-surface);color:var(--color-text-primary)}.edit-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.edit-action-btn.save{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.edit-action-btn.save:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.edit-action-btn.cancel{background:var(--color-surface);color:var(--color-text-secondary)}.edit-action-btn.cancel:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}@media (max-width: 600px){.quantity-editor{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.quantity-editor-checkbox{min-width:100%}.quantity-section{width:100%}.quantity-display,.quantity-edit-form{width:100%;justify-content:center}.quantity-input,.unit-select{flex:1}}.survey-wizard{max-width:900px;margin:0 auto;padding:var(--spacing-lg)}.survey-step-container{width:100%;min-height:400px}.survey-error{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);background:#f871711a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.error-dismiss{padding:var(--spacing-xs);background:none;border:none;color:var(--color-error);font-size:var(--font-size-lg);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.error-dismiss:hover{opacity:1}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm);text-align:left}.basic-equipment-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));width:100%;max-width:700px}.checkbox-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.checkbox-item:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.checkbox-item.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.checkbox-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.checkbox-content{display:flex;flex-direction:column;gap:2px;min-width:0}.checkbox-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.checkbox-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-tight)}.inventory-category{margin-bottom:var(--spacing-xl);width:100%;max-width:700px}.inventory-category:last-child{margin-bottom:0}@media (max-width: 600px){.survey-wizard{padding:var(--spacing-md)}.checkbox-grid,.basic-equipment-grid{grid-template-columns:1fr}.survey-step-container{min-height:300px}}.survey-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.survey-page-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.survey-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{font-size:28px}.logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.survey-page-content{flex:1;padding:var(--spacing-xl);overflow-y:auto}.survey-page-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);text-align:center}.footer-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}@media (max-width: 600px){.survey-page-header,.survey-page-footer,.survey-page-content{padding:var(--spacing-md)}.logo-icon{font-size:24px}.logo-text{font-size:var(--font-size-base)}}.token-usage-card{background-color:var(--color-bg-primary, #ffffff);border-radius:var(--radius-lg, .75rem);padding:var(--spacing-lg, 1.5rem);border:1px solid var(--color-border, #d1d5db);box-shadow:0 1px 3px #0000001a}.token-usage-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg, 1.5rem);padding-bottom:var(--spacing-md, 1rem);border-bottom:1px solid var(--color-border, #d1d5db);flex-wrap:wrap;gap:var(--spacing-md, 1rem)}.token-usage-card-title{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1f2937);margin:0}.token-usage-date-range{display:flex;gap:var(--spacing-xs, .5rem);background-color:var(--color-bg-secondary, #f3f4f6);padding:var(--spacing-xs, .25rem);border-radius:var(--radius-md, .5rem)}.token-usage-date-btn{padding:var(--spacing-xs, .5rem) var(--spacing-md, 1rem);border:none;background:transparent;color:var(--color-text-secondary, #6b7280);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;border-radius:var(--radius-sm, .375rem);transition:all .2s ease}.token-usage-date-btn:hover{color:var(--color-text-primary, #1f2937);background-color:var(--color-bg-hover, #e5e7eb)}.token-usage-date-btn.active{background-color:var(--color-bg-primary, #ffffff);color:var(--color-primary, #818cf8);box-shadow:0 1px 2px #0000001a}.token-usage-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl, 2rem);gap:var(--spacing-md, 1rem);color:var(--color-text-secondary, #6b7280)}.token-usage-error{padding:var(--spacing-md, 1rem);background-color:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, #fecaca);border-radius:var(--radius-md, .5rem);color:var(--color-error, #dc2626);text-align:center}.token-usage-no-data{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md, 1rem);padding:var(--spacing-xl, 2rem);text-align:center;color:var(--color-text-secondary, #6b7280);font-style:italic}.token-usage-no-data p{margin:0}.token-usage-stats{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem);margin-bottom:var(--spacing-lg, 1.5rem)}.token-usage-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md, 1rem)}.token-usage-stat-item{display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem);padding:var(--spacing-md, 1rem);background-color:var(--color-bg-secondary, #f9fafb);border-radius:var(--radius-md, .5rem)}.token-usage-stat-item.token-usage-stat-primary{background-color:var(--color-primary-bg, #eef2ff);border:1px solid var(--color-primary-border, #c7d2fe)}.token-usage-stat-label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);font-weight:var(--font-weight-medium, 500)}.token-usage-stat-value{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1f2937)}.token-usage-stat-primary .token-usage-stat-value{color:var(--color-primary, #6366f1)}.token-usage-by-model{padding-top:var(--spacing-md, 1rem);border-top:1px solid var(--color-border, #e5e7eb)}.token-usage-section-title{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1f2937);margin:0 0 var(--spacing-md, 1rem) 0}.token-usage-model-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md, 1rem)}.token-usage-model-item{display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem);padding:var(--spacing-md, 1rem);background-color:var(--color-bg-secondary, #f9fafb);border-radius:var(--radius-md, .5rem)}.token-usage-model-name{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1f2937);text-transform:capitalize}.token-usage-model-tokens{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-bold, 700);color:var(--color-primary, #6366f1)}.token-usage-model-calls{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.token-usage-per-user{margin-top:var(--spacing-lg, 1.5rem);padding-top:var(--spacing-md, 1rem);border-top:1px solid var(--color-border, #e5e7eb)}.token-usage-per-user .token-usage-stat-row{grid-template-columns:repeat(3,1fr)}.token-usage-actions{margin-top:var(--spacing-lg, 1.5rem);padding-top:var(--spacing-md, 1rem);border-top:1px solid var(--color-border, #e5e7eb);display:flex;justify-content:center}.token-usage-aggregate-btn{padding:var(--spacing-sm, .5rem) var(--spacing-lg, 1.5rem);background-color:var(--color-primary, #6366f1);color:#fff;border:none;border-radius:var(--radius-md, .5rem);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease}.token-usage-aggregate-btn:hover:not(:disabled){background-color:var(--color-primary-hover, #4f46e5)}.token-usage-aggregate-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.token-usage-card{padding:var(--spacing-md, 1rem)}.token-usage-card-header{flex-direction:column;align-items:flex-start}.token-usage-date-range{width:100%;justify-content:space-between}.token-usage-date-btn{flex:1;text-align:center}.token-usage-stat-row,.token-usage-model-grid,.token-usage-per-user .token-usage-stat-row{grid-template-columns:1fr}.token-usage-stat-value{font-size:var(--font-size-xl, 1.25rem)}}@media (prefers-color-scheme: dark){.token-usage-card{background-color:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.token-usage-card-header{border-bottom-color:var(--color-border-dark, #374151)}.token-usage-card-title{color:var(--color-text-primary-dark, #f9fafb)}.token-usage-date-range{background-color:var(--color-bg-secondary-dark, #374151)}.token-usage-date-btn{color:var(--color-text-secondary-dark, #9ca3af)}.token-usage-date-btn:hover{color:var(--color-text-primary-dark, #f9fafb);background-color:var(--color-bg-hover-dark, #4b5563)}.token-usage-date-btn.active{background-color:var(--color-bg-primary-dark, #1f2937);color:var(--color-primary, #818cf8)}.token-usage-stat-item{background-color:var(--color-bg-secondary-dark, #374151)}.token-usage-stat-item.token-usage-stat-primary{background-color:#818cf81a;border-color:#818cf84d}.token-usage-stat-label{color:var(--color-text-secondary-dark, #9ca3af)}.token-usage-stat-value{color:var(--color-text-primary-dark, #f9fafb)}.token-usage-by-model{border-top-color:var(--color-border-dark, #374151)}.token-usage-section-title,.token-usage-model-name{color:var(--color-text-primary-dark, #f9fafb)}.token-usage-model-item{background-color:var(--color-bg-secondary-dark, #374151)}.token-usage-model-calls{color:var(--color-text-secondary-dark, #9ca3af)}.token-usage-error{background-color:#dc26261a;border-color:#dc26264d;color:#fca5a5}.token-usage-no-data,.token-usage-loading{color:var(--color-text-secondary-dark, #9ca3af)}}.token-usage-by-feature{background-color:var(--color-bg-primary, #ffffff);border-radius:var(--radius-lg, .75rem);padding:var(--spacing-lg, 1.5rem);border:1px solid var(--color-border, #d1d5db);box-shadow:0 1px 3px #0000001a}.token-usage-by-feature-title{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1f2937);margin:0 0 var(--spacing-lg, 1.5rem) 0;padding-bottom:var(--spacing-md, 1rem);border-bottom:1px solid var(--color-border, #d1d5db)}.token-usage-by-feature-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl, 2rem);gap:var(--spacing-md, 1rem);color:var(--color-text-secondary, #6b7280)}.token-usage-spinner{width:2rem;height:2rem;border:3px solid var(--color-border, #d1d5db);border-top-color:var(--color-primary, #818cf8);border-radius:50%;animation:token-usage-spin 1s linear infinite}@keyframes token-usage-spin{to{transform:rotate(360deg)}}.token-usage-feature-groups{display:flex;flex-direction:column;gap:var(--spacing-lg, 1.5rem)}.token-usage-feature-group{background-color:var(--color-bg-secondary, #f9fafb);border-radius:var(--radius-md, .5rem);padding:var(--spacing-md, 1rem)}.token-usage-feature-group-title{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1f2937);margin:0 0 var(--spacing-md, 1rem) 0;display:flex;align-items:center;gap:var(--spacing-sm, .5rem)}.token-usage-feature-group-title:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background-color:var(--color-primary, #818cf8)}.token-usage-feature-list{display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.token-usage-feature-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem);background-color:var(--color-bg-primary, #ffffff);border-radius:var(--radius-sm, .375rem);border:1px solid var(--color-border, #e5e7eb)}.token-usage-feature-name{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1f2937)}.token-usage-feature-stats{display:flex;gap:var(--spacing-md, 1rem);align-items:center}.token-usage-feature-tokens{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary, #6366f1);min-width:100px;text-align:right}.token-usage-feature-calls{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);min-width:70px;text-align:right}@media (max-width: 768px){.token-usage-by-feature{padding:var(--spacing-md, 1rem)}.token-usage-feature-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs, .5rem)}.token-usage-feature-stats{width:100%;justify-content:space-between}.token-usage-feature-tokens,.token-usage-feature-calls{min-width:auto;text-align:left}}@media (prefers-color-scheme: dark){.token-usage-by-feature{background-color:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.token-usage-by-feature-title{color:var(--color-text-primary-dark, #f9fafb);border-bottom-color:var(--color-border-dark, #374151)}.token-usage-feature-group{background-color:var(--color-bg-secondary-dark, #374151)}.token-usage-feature-group-title{color:var(--color-text-primary-dark, #f9fafb)}.token-usage-feature-item{background-color:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #4b5563)}.token-usage-feature-name{color:var(--color-text-primary-dark, #f9fafb)}.token-usage-feature-calls,.token-usage-by-feature-loading{color:var(--color-text-secondary-dark, #9ca3af)}}.security-alerts-card{background-color:var(--color-surface, #1e293b);border-radius:var(--radius-lg, .75rem);padding:var(--spacing-lg, 1.5rem);border:1px solid var(--color-border, #334155)}.security-alerts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md, 1rem)}.security-alerts-title{font-size:var(--font-size-lg, 1.125rem);font-weight:600;color:var(--color-text-primary, #f1f5f9);margin:0;display:flex;align-items:center;gap:var(--spacing-sm, .5rem)}.security-alerts-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 var(--spacing-xs, .25rem);background-color:var(--error-color, #ef4444);color:#fff;border-radius:9999px;font-size:var(--font-size-sm, .875rem);font-weight:600}.security-alerts-refresh{padding:var(--spacing-xs, .25rem) var(--spacing-sm, .5rem);background-color:transparent;border:1px solid var(--color-border, #334155);border-radius:var(--radius-sm, .25rem);color:var(--color-text-secondary, #94a3b8);font-size:var(--font-size-lg, 1.125rem);cursor:pointer;transition:all var(--transition-fast, .15s ease-in-out)}.security-alerts-refresh:hover:not(:disabled){border-color:var(--accent-color, #6366f1);color:var(--accent-color, #6366f1)}.security-alerts-refresh:disabled{opacity:.5;cursor:not-allowed}.security-alerts-filters{display:flex;gap:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem);flex-wrap:wrap}.security-alerts-filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem)}.security-alerts-filter-group label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #94a3b8)}.security-alerts-filter-group select{padding:var(--spacing-sm, .5rem);background-color:var(--color-background, #0f172a);border:1px solid var(--color-border, #334155);border-radius:var(--radius-sm, .25rem);color:var(--color-text-primary, #f1f5f9);font-size:var(--font-size-sm, .875rem);min-width:150px}.security-alerts-loading,.security-alerts-error,.security-alerts-empty{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm, .5rem);padding:var(--spacing-xl, 2rem);color:var(--color-text-secondary, #94a3b8)}.security-alerts-error{color:var(--error-color, #ef4444)}.security-alerts-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--color-border, #334155);border-top-color:var(--accent-color, #6366f1);border-radius:50%;animation:spin 1s linear infinite}.security-alerts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem);max-height:400px;overflow-y:auto}.security-alert-item{background-color:var(--color-background, #0f172a);border:1px solid var(--color-border, #334155);border-radius:var(--radius-md, .5rem);padding:var(--spacing-md, 1rem);transition:border-color var(--transition-fast, .15s ease-in-out)}.security-alert-item:hover{border-color:var(--color-border-focus, #818cf8)}.security-alert-item.resolved{opacity:.6}.security-alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, .5rem)}.security-alert-type-badge{display:inline-block;padding:var(--spacing-xs, .25rem) var(--spacing-sm, .5rem);border-radius:var(--radius-sm, .25rem);font-size:var(--font-size-xs, .75rem);font-weight:600;color:#fff;text-transform:uppercase}.security-alert-timestamp{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #64748b)}.security-alert-body{margin-bottom:var(--spacing-sm, .5rem)}.security-alert-details{margin:0 0 var(--spacing-xs, .25rem) 0;color:var(--color-text-primary, #f1f5f9);font-size:var(--font-size-sm, .875rem)}.security-alert-user,.security-alert-ip{margin:0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #94a3b8)}.security-alert-user strong,.security-alert-ip strong{color:var(--color-text-tertiary, #64748b)}.security-alert-actions{display:flex;justify-content:flex-end}.security-alert-resolve-btn{padding:var(--spacing-xs, .25rem) var(--spacing-sm, .5rem);background-color:var(--success-color, #22c55e);color:#fff;border:none;border-radius:var(--radius-sm, .25rem);font-size:var(--font-size-sm, .875rem);cursor:pointer;transition:background-color var(--transition-fast, .15s ease-in-out)}.security-alert-resolve-btn:hover:not(:disabled){background-color:var(--success-color-hover, #16a34a)}.security-alert-resolve-btn:disabled{opacity:.6;cursor:not-allowed}.security-alert-resolved-badge{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #64748b);display:flex;align-items:center;gap:var(--spacing-xs, .25rem)}.security-alert-resolved-date{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #64748b)}.user-stats-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.user-stats-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.user-stats-card__loading{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);padding:var(--spacing-md) 0}.user-stats-card__spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.user-stats-card__error{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-error);padding:var(--spacing-md) 0}.user-stats-card__error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-error);color:#fff;border-radius:50%;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.user-stats-card__content{display:flex;flex-direction:column;gap:var(--spacing-md)}.user-stats-card__stat{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-stats-card__stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.user-stats-card__stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.feedback-list{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.feedback-list__header{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width: 768px){.feedback-list__header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.feedback-list__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.feedback-list__filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.feedback-list__filter{display:flex;flex-direction:column;gap:var(--spacing-xs)}.feedback-list__filter-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.feedback-list__filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;min-width:140px}.feedback-list__filter-select:focus{outline:none;border-color:var(--color-primary)}.feedback-list__loading,.feedback-list__error,.feedback-list__empty{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);justify-content:center}.feedback-list__loading{color:var(--color-text-secondary)}.feedback-list__spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.feedback-list__error{color:var(--color-error)}.feedback-list__error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-error);color:#fff;border-radius:50%;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.feedback-list__empty{color:var(--color-text-secondary);font-style:italic}.feedback-list__items{display:flex;flex-direction:column;gap:var(--spacing-md)}.feedback-list__item{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.feedback-list__item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.feedback-list__badges{display:flex;gap:var(--spacing-xs)}.feedback-list__type,.feedback-list__status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.feedback-list__type--bug{background-color:#ef44441a;color:#ef4444}.feedback-list__type--feature{background-color:#3b82f61a;color:#3b82f6}.feedback-list__type--ui-ux{background-color:#a855f71a;color:#a855f7}.feedback-list__type--general{background-color:#6b72801a;color:#6b7280}.feedback-list__status--new{background-color:#22c55e1a;color:#22c55e}.feedback-list__status--reviewed{background-color:#eab3081a;color:#eab308}.feedback-list__status--resolved{background-color:#6b72801a;color:#6b7280}.feedback-list__timestamp{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.feedback-list__message{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);line-height:1.5;word-break:break-word}.feedback-list__item-footer{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--spacing-sm)}.feedback-list__meta{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.feedback-list__action-button{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s}.feedback-list__action-button:hover{background-color:var(--color-primary-hover)}.feedback-list__pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.feedback-list__pagination-button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.feedback-list__pagination-button:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-primary)}.feedback-list__pagination-button:disabled{opacity:.5;cursor:not-allowed}.feedback-list__page-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.user-search-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.user-search-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.user-search-card__search-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.user-search-card__input{flex:1;min-width:200px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base)}.user-search-card__input:focus{outline:none;border-color:var(--color-primary)}.user-search-card__input:disabled{opacity:.6;cursor:not-allowed}.user-search-card__search-button,.user-search-card__clear-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s}.user-search-card__search-button{background-color:var(--color-primary);color:#fff;border:none}.user-search-card__search-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.user-search-card__search-button:disabled{opacity:.5;cursor:not-allowed}.user-search-card__clear-button{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.user-search-card__clear-button:hover{background-color:var(--color-background);color:var(--color-text-primary)}.user-search-card__loading,.user-search-card__error,.user-search-card__empty{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);justify-content:center}.user-search-card__loading{color:var(--color-text-secondary)}.user-search-card__spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.user-search-card__error{color:var(--color-error)}.user-search-card__error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-error);color:#fff;border-radius:50%;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.user-search-card__empty{color:var(--color-text-secondary);font-style:italic}.user-search-card__results{display:flex;flex-direction:column;gap:var(--spacing-md)}.user-search-card__result{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.user-search-card__result-row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.user-search-card__result-row:last-child{border-bottom:none}.user-search-card__result-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.user-search-card__result-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.user-search-card__result-value--uid{font-family:monospace;font-size:var(--font-size-xs);word-break:break-all}.faq-management-placeholder{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.faq-management-placeholder__header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.faq-management-placeholder__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.faq-management-placeholder__badge{padding:var(--spacing-xs) var(--spacing-sm);background-color:#eab3081a;color:#eab308;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.faq-management-placeholder__content{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);text-align:center}.faq-management-placeholder__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--color-background);border:2px dashed var(--color-border);border-radius:50%;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.faq-management-placeholder__message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;max-width:400px;line-height:1.5}.admin-dashboard{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.admin-dashboard--loading,.admin-dashboard--denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.admin-dashboard__spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}.admin-dashboard__denied-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--color-error);color:#fff;border-radius:50%;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}.admin-dashboard__denied-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.admin-dashboard__denied-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.admin-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.admin-dashboard__header-content{flex:1;min-width:200px}.admin-dashboard__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.admin-dashboard__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.admin-dashboard__refresh-button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s}.admin-dashboard__refresh-button:hover{background-color:var(--color-background);border-color:var(--color-primary)}.admin-dashboard__tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-dashboard__tab{padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;white-space:nowrap}.admin-dashboard__tab:hover{color:var(--color-text-primary);background-color:var(--color-background)}.admin-dashboard__tab--active{color:var(--color-primary);background-color:var(--color-surface);border-bottom:2px solid var(--color-primary);margin-bottom:-1px}.admin-dashboard__content{min-height:400px}.admin-dashboard__section{animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-dashboard__grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.admin-dashboard__grid--full{grid-template-columns:1fr}@media (min-width: 768px){.admin-dashboard__grid--full{grid-template-columns:repeat(2,1fr)}}.navbar{background-color:#1f2937;border-bottom:1px solid #374151;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:var(--z-sticky)}.navbar-container{max-width:var(--max-width-2xl);margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.navbar-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#818cf8;text-decoration:none;transition:color var(--transition-base);white-space:nowrap;flex-shrink:0}.navbar-logo:hover{color:#a5b4fc}.navbar-links{display:flex;align-items:center;gap:0;flex:1;justify-content:flex-start;min-width:0;flex-wrap:wrap}.nav-link{padding:var(--spacing-xs) var(--spacing-sm);color:#d1d5db;text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;white-space:nowrap;flex-shrink:0}.nav-link:hover{color:#a5b4fc;background-color:#818cf81a}.nav-link.active{color:#a5b4fc;font-weight:var(--font-weight-semibold)}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:var(--spacing-lg);right:var(--spacing-lg);height:3px;background-color:#818cf8;border-radius:var(--radius-full)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:var(--spacing-xs);background-color:var(--color-success);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);line-height:1}.navbar-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.logout-button{padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;color:#d1d5db;border:1px solid #374151;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-base);white-space:nowrap}.logout-button:hover{background-color:#dc2626;color:#fff;border-color:#dc2626}.mobile-logout{display:none}.mobile-menu-toggle{display:none;background:transparent;border:none;color:#d1d5db;font-size:var(--font-size-2xl);cursor:pointer;padding:var(--spacing-sm);min-width:var(--touch-target-min);min-height:var(--touch-target-min);align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.mobile-menu-toggle:hover{background-color:#818cf81a}.mobile-menu-toggle:active{background-color:#818cf833}.mobile-menu-toggle svg{display:block}@media (min-width: 1024px) and (max-width: 1199px){.nav-link,.logout-button{padding:var(--spacing-xs) var(--spacing-md)}}@media (min-width: 1200px) and (max-width: 1399px){.nav-link,.logout-button{padding:var(--spacing-xs) var(--spacing-lg)}}@media (min-width: 1400px) and (max-width: 2559px){.navbar-links{justify-content:center}.nav-link,.logout-button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}}@media (min-width: 2560px){.navbar-container{max-width:2560px}.navbar-links{justify-content:center}.nav-link,.logout-button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}}@media (max-width: 900px){.navbar-container{padding:var(--spacing-sm) var(--spacing-md);flex-wrap:nowrap;position:relative}.mobile-menu-toggle{display:flex;order:2}.navbar-links{position:fixed;top:53px;left:0;right:0;background-color:#1f2937;flex-direction:column;align-items:stretch;padding:var(--spacing-md);gap:0;box-shadow:var(--shadow-lg);border-top:1px solid #374151;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease-out,opacity .2s ease-out;z-index:var(--z-dropdown)}.navbar-links.mobile-menu-open{max-height:600px;opacity:1}.nav-link{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal);display:flex;align-items:center;border-radius:var(--radius-md);margin-bottom:var(--spacing-xs)}.nav-link.active:after{display:none}.nav-link.active{background-color:#818cf826}.navbar-logo{font-size:var(--font-size-lg);order:1}.navbar-actions{display:none}.mobile-logout{display:flex;justify-content:center;margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:var(--touch-target-optimal);width:100%;border-radius:var(--radius-md)}}.feedback-modal{width:100%;max-width:500px;text-align:left}.feedback-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.feedback-description{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.feedback-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.feedback-type-fieldset{margin:0;padding:0;border:none}.feedback-type-legend{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.feedback-type-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.feedback-type-option{display:flex;flex-direction:column;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.feedback-type-option:hover,.feedback-type-option.selected{border-color:var(--color-primary);background-color:var(--color-primary-light)}.feedback-type-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.feedback-type-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.feedback-type-description{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.feedback-message-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.feedback-message-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.feedback-message-input{width:100%;min-height:120px;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;transition:border-color var(--transition-fast)}.feedback-message-input::placeholder{color:var(--color-text-tertiary)}.feedback-message-input:focus{outline:none;border-color:var(--color-border-focus)}.feedback-message-input.has-error{border-color:var(--color-error)}.feedback-message-input:disabled{opacity:.6;cursor:not-allowed}.feedback-message-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.feedback-validation-error{font-size:var(--font-size-xs);color:var(--color-error)}.feedback-char-count{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.feedback-char-count.over-limit{color:var(--color-error)}.feedback-submit-error{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-error);background-color:#f871711a;border-radius:var(--radius-md)}.feedback-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.feedback-button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.feedback-button:disabled{opacity:.5;cursor:not-allowed}.feedback-button-primary{color:var(--color-background);background-color:var(--color-primary);border:none}.feedback-button-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.feedback-button-secondary{color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border)}.feedback-button-secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.feedback-success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;text-align:center}.feedback-success-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:var(--font-size-xl);color:var(--color-success);background-color:#34d3991a;border-radius:var(--radius-full)}.feedback-success-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.feedback-success-message{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 480px){.feedback-type-options{grid-template-columns:1fr}.feedback-actions{flex-direction:column-reverse}.feedback-button{width:100%;min-height:var(--touch-target-optimal)}}.feedback-floating-button{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:var(--z-fixed);display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;color:var(--color-background);background-color:var(--color-primary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.feedback-floating-button:hover{background-color:var(--color-primary-hover);transform:scale(1.05);box-shadow:var(--shadow-xl)}.feedback-floating-button:active{transform:scale(.98)}.feedback-floating-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.feedback-icon{width:24px;height:24px}@media (max-width: 480px){.feedback-floating-button{bottom:var(--spacing-md);right:var(--spacing-md);width:var(--touch-target-optimal);height:var(--touch-target-optimal)}.feedback-icon{width:20px;height:20px}}@media (max-width: 768px){.feedback-floating-button{bottom:calc(var(--spacing-lg) + 60px)}}.app-layout{display:flex;flex-direction:column;background-color:#111827;width:100%;min-height:100vh}.app-content{flex:1;display:flex;flex-direction:column;width:100%;max-width:100%;margin:0 auto;padding:var(--spacing-lg);box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.app-content{padding:var(--mobile-padding)}}:root{--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-light: rgba(129, 140, 248, .1);--color-secondary: #34d399;--color-secondary-hover: #6ee7b7;--color-success: #34d399;--color-error: #f87171;--color-warning: #fbbf24;--color-info: #60a5fa;--color-background: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-surface-variant: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-border: #334155;--color-border-focus: #818cf8;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--max-width-sm: 640px;--max-width-md: 768px;--max-width-lg: 1024px;--max-width-xl: 1280px;--max-width-2xl: 1536px;--touch-target-min: 44px;--touch-target-optimal: 48px;--mobile-padding: var(--spacing-md);--mobile-gap: var(--spacing-sm);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@media (prefers-color-scheme: dark){:root{--color-background: #111827;--color-surface: #1f2937;--color-surface-hover: #374151;--color-text-primary: #f9fafb;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-border: #374151}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:#111827;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl);color:var(--color-text-primary)}h2{font-size:var(--font-size-3xl);color:var(--color-text-primary)}h3{font-size:var(--font-size-2xl);color:var(--color-text-primary)}h4{font-size:var(--font-size-xl);color:var(--color-text-secondary)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}button:disabled{opacity:.5;cursor:not-allowed}.button-primary,button[type=submit]:not(.button-secondary):not(.button-ghost){background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-primary:active:not(:disabled){transform:translateY(0)}.button-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.button-secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-text-tertiary)}.button-ghost{background-color:transparent;color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-md)}.button-ghost:hover:not(:disabled){background-color:var(--color-primary-light)}.button-danger{background-color:var(--color-error);color:#fff}.button-danger:hover:not(:disabled){background-color:#dc2626}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-base);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}input::placeholder{color:var(--color-text-tertiary)}input[type=checkbox],input[type=radio]{width:auto;margin-right:var(--spacing-sm);cursor:pointer;accent-color:var(--color-primary)}.error-message{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.success-message{color:var(--color-success);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.loading-container{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.page-container{max-width:var(--max-width-xl);margin:0 auto;padding:var(--spacing-xl);min-height:calc(100vh - 80px);display:flex;flex-direction:column;justify-content:center}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-tertiary)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media (max-width: 768px){.page-container{padding:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}}.error-boundary-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-color:#f5f5f5;text-align:center}.error-boundary-content{max-width:600px;background:#fff;padding:40px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.error-boundary-icon{font-size:64px;margin-bottom:20px}.error-boundary-title{font-size:24px;font-weight:600;margin-bottom:12px;color:#333}.error-boundary-message{font-size:16px;color:#666;margin-bottom:24px;line-height:1.5}.error-boundary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-boundary-button{padding:12px 24px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.error-boundary-button-primary{background-color:#4caf50;color:#fff}.error-boundary-button-primary:hover{background-color:#45a049}.error-boundary-button-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.error-boundary-button-secondary:hover{background-color:#e0e0e0}.error-boundary-details{margin-top:24px;padding-top:24px;border-top:1px solid #eee}.error-boundary-details summary{cursor:pointer;font-size:14px;color:#666;-webkit-user-select:none;user-select:none}.error-boundary-details summary:hover{color:#333}.error-boundary-error-info{margin-top:16px;padding:16px;background-color:#f9f9f9;border-radius:6px;text-align:left;font-family:monospace;font-size:12px;color:#d32f2f;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.update-banner{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:var(--z-modal);display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:calc(100vw - var(--spacing-lg) * 2);animation:update-banner-slide-up .3s ease-out}@keyframes update-banner-slide-up{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-banner-content{display:flex;align-items:center;gap:var(--spacing-sm)}.update-banner-icon{font-size:var(--font-size-xl);color:var(--color-primary)}.update-banner-message{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.update-banner-actions{display:flex;gap:var(--spacing-sm)}.update-banner-button{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target-min)}.update-banner-button-primary{background:var(--color-primary);color:#fff;border:none}.update-banner-button-primary:hover{background:var(--color-primary-hover)}.update-banner-button-primary:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.update-banner-button-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.update-banner-button-secondary:hover{background:var(--color-surface-hover)}.update-banner-button-secondary:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (max-width: 480px){.update-banner{flex-direction:column;bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);transform:none;max-width:none;animation:update-banner-slide-up-mobile .3s ease-out}@keyframes update-banner-slide-up-mobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-banner-actions{width:100%;justify-content:stretch}.update-banner-button{flex:1}}
