:root{--primary-blue: #3B82F6;--primary-blue-dark: #2563EB;--primary-purple: #8B5CF6;--primary-purple-dark: #7C3AED;--primary-green: #10B981;--primary-green-dark: #0E8A6A;--text-dark: #343A40;--text-medium: #495057;--text-light: #6C757D;--background-light: #F8F9FA;--background-white: #FFFFFF;--border-color: #E9ECEF;--sidebar-width: 260px;--mobile-topbar-height: 56px;--warning-color: #FFA000;--error-color-strong: #D32F2F;--action-take-bg: #fee2e2;--action-take-text: #b91c1c;--action-take-border: #fecaca;--action-store-bg: #dcfce7;--action-store-text: #166534;--action-store-border: #bbf7d0;--danger-color: #dc3545;--danger-color-dark: #c82333;--shopping-list-partial-match-bg: #fffbeb;--shopping-list-partial-match-border: #ffeeba;--shopping-list-partial-match-text: #856404;--catalog-section-header-bg: #f8f9fa;--catalog-section-header-text: var(--primary-blue);--catalog-category-header-bg: #EFF6FF;--catalog-category-header-text: var(--primary-blue);--catalog-type-header-bg: #F5F3FF;--catalog-type-header-text: #7C3AED;--catalog-variation-header-bg: #F0FDF4;--catalog-variation-header-text: var(--primary-green);--catalog-presentation-tag-bg: #f9fafb;--catalog-presentation-tag-border: #e5e7eb;--catalog-presentation-tag-text: var(--text-dark);--low-stock-alert-bg: var(--action-take-bg);--low-stock-alert-border: var(--action-take-border);--low-stock-alert-text: var(--action-take-text);--no-stock-alert-bg: #D32F2F;--no-stock-alert-border: #B71C1C;--no-stock-alert-text: #FFFFFF}body{margin:0;font-family:Inter,sans-serif;background-color:var(--background-light);color:var(--text-dark);line-height:1.6;box-sizing:border-box;font-size:16px}*,*:before,*:after{box-sizing:inherit}#root{width:100%;min-height:100vh;display:flex}.app-layout{display:flex;width:100%;min-height:100vh}main.main-content{flex-grow:1;padding:20px;width:100%;transition:margin-left .3s ease-in-out,padding-top .3s ease-in-out}main.main-content.desktop-sidebar-visible{margin-left:var(--sidebar-width)}@media (max-width: 768px){main.main-content{padding-top:calc(var(--mobile-topbar-height) + 20px);margin-left:0!important}}.container{background-color:var(--background-white);padding:1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000014;width:100%}.auth-container{max-width:450px;margin:3rem auto}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.page-header h2{color:var(--primary-blue);margin-top:0;font-size:1.8rem}.page-header p{color:var(--text-light);font-size:1rem;margin-top:.25rem}h1,h2,h3,h4,h5,h6{color:#2e3a87;margin-top:0;margin-bottom:.75em}h2{font-size:1.75rem}h3{font-size:1.4rem}h4{font-size:1.15rem}.button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out,transform .1s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.button:disabled{background-color:#e9ecef!important;color:#6c757d!important;cursor:not-allowed;box-shadow:none!important}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{background-color:var(--primary-blue);color:#fff}.button-primary:hover:not(:disabled){background-color:var(--primary-blue-dark);box-shadow:0 2px 8px #3b82f64d}.button-secondary{background-color:var(--text-light);color:#fff;border:1px solid var(--text-light)}.button-secondary:hover:not(:disabled){background-color:var(--text-medium);border-color:var(--text-medium)}.button-secondary.alt{background-color:var(--background-white);color:var(--text-medium);border:1px solid var(--border-color)}.button-secondary.alt:hover:not(:disabled){background-color:var(--background-light);border-color:#ced4da}.button-google{background-color:var(--background-white);color:#4a4a4a;border:1px solid #D1D5DB}.button-google:hover:not(:disabled){background-color:#f9fafb;border-color:#adb3b9}.button-google svg{width:20px;height:20px}.button-danger{background-color:var(--danger-color);color:#fff}.button-danger:hover:not(:disabled){background-color:var(--danger-color-dark)}.button-purple{background-color:var(--primary-purple);color:#fff}.button-purple:hover:not(:disabled){background-color:var(--primary-purple-dark);box-shadow:0 2px 8px #8b5cf64d}.button-green{background-color:var(--primary-green);color:#fff}.button-green:hover:not(:disabled){background-color:var(--primary-green-dark);box-shadow:0 2px 8px #10b9814d}.button-subtle{background-color:#f8f9fa;color:var(--text-medium);border:1px solid var(--border-color);padding:.6rem 1.2rem;font-size:.9rem}.button-subtle:hover:not(:disabled){background-color:#e9ecef;border-color:#d1d5db}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-medium);font-size:.9rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group input[type=number],.form-group input[type=url],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #CED4DA;border-radius:6px;font-size:1rem;background-color:var(--background-white);color:var(--text-dark);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled,.input-disabled-display{background-color:#e9ecef!important;color:var(--text-light)!important;cursor:not-allowed;border-color:#ced4da!important}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=url]:focus,.form-group input[type=date]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-purple);box-shadow:0 0 0 .2rem #8b5cf640;outline:none}.form-group small{display:block;margin-top:.3rem;font-size:.8rem;color:var(--text-light)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.input-follow-up{margin-top:.5rem!important}.form-divider{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.error-message{color:var(--error-color-strong);font-size:.875rem;margin-bottom:1rem;padding:.75rem;background-color:#ffebee;border:1px solid #FFCDD2;border-radius:4px}.success-message{color:#2e7d32;font-size:.875rem;margin-bottom:1rem;padding:.75rem;background-color:#e8f5e9;border:1px solid #C8E6C9;border-radius:4px}.auth-logo{display:block;max-width:180px;margin:0 auto 1.5rem}.auth-toggle{text-align:center;margin-top:1.5rem}.link-button{background:none;border:none;color:var(--primary-blue);cursor:pointer;text-decoration:underline;font-size:.9rem;padding:.25rem;display:inline}.link-button:hover:not(:disabled){color:var(--primary-blue-dark)}.link-button:disabled{color:var(--text-light);text-decoration:none;cursor:not-allowed}.forgot-password-container{text-align:right;margin-bottom:1rem;margin-top:-.5rem}.sidebar{width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;background:linear-gradient(180deg,var(--primary-blue) 0%,var(--primary-purple) 100%);color:#fff;padding:1rem;display:flex;flex-direction:column;z-index:1000;transition:transform .3s ease-in-out;box-shadow:2px 0 10px #0000001a}.sidebar.closed-mobile{transform:translate(-100%)}.sidebar-header{display:flex;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2);justify-content:center}.sidebar-logo-img{max-height:48px;width:auto}.sidebar-close-button{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;display:none;padding:0;line-height:1}.sidebar-close-button svg{display:block}@media (max-width: 768px){.sidebar-header{justify-content:space-between}.sidebar-close-button{display:block}}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav-link{display:flex;align-items:center;gap:.8rem;color:#ffffffd9;text-decoration:none;padding:.8rem 1rem;margin-bottom:.5rem;border-radius:6px;font-weight:500;transition:background-color .2s ease,color .2s ease}.sidebar-nav-link .sidebar-nav-icon{flex-shrink:0}.sidebar-nav-link:hover{background-color:#ffffff1a;color:#fff}.sidebar-nav-link.active{background-color:#fff3;color:#fff;font-weight:600}.sidebar-footer{margin-top:auto}.sidebar-logout-button{width:100%;padding:.8rem 1rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;text-align:left;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:.8rem}.sidebar-logout-button:hover{background-color:#fff3}.sidebar-logout-button .sidebar-nav-icon{flex-shrink:0}.top-bar-mobile{display:none;height:var(--mobile-topbar-height);background:linear-gradient(90deg,var(--primary-blue) 0%,var(--primary-purple) 100%);color:#fff;padding:0 1rem;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:900;box-shadow:0 2px 4px #0000001a}.hamburger-button{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;margin-right:.5rem}.hamburger-button svg{display:block}.top-bar-logo-img{max-height:36px;width:auto}@media (max-width: 768px){.top-bar-mobile{display:flex}.sidebar{box-shadow:0 0 15px #0003}}.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999;display:none}@media (max-width: 768px){.mobile-sidebar-open~.mobile-overlay{display:block}}.dashboard-header{margin-bottom:2rem}.dashboard-header h2{font-size:1.8rem;color:var(--primary-blue)}.dashboard-header p{font-size:1rem;color:var(--text-light)}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.action-card{background-color:var(--background-white);padding:1.5rem;border-radius:8px;box-shadow:0 4px 8px #00000012;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.action-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000001a}.action-card h3{font-size:1.2rem;color:var(--primary-blue);margin-bottom:.5rem}.action-card p{font-size:.9rem;color:var(--text-medium);margin-bottom:1rem;flex-grow:1}.action-card .button{align-self:flex-start;background-color:var(--primary-green);color:#fff;padding:.5rem 1rem;font-size:.9rem}.action-card .button:hover{background-color:var(--primary-green-dark)}.action-card.action-card-purple h3{color:var(--primary-purple)}.action-card.action-card-purple .button,.action-card .button.button-purple{background-color:var(--primary-purple)}.action-card.action-card-purple .button:hover,.action-card .button.button-purple:hover{background-color:var(--primary-purple-dark)}.placeholder-content{padding:2rem;text-align:center;background-color:#f8f9fa;border-radius:8px}.placeholder-content p{font-size:1.1rem;color:#495057}.loading-spinner-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background-color:#f8f9facc}.loading-spinner{width:50px;height:50px;border:5px solid var(--border-color);border-top-color:var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner-icon{animation:spin 1s linear infinite}.catalog-page-container{max-width:1200px;margin:1rem auto}.catalog-page-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.action-button-group{display:flex;flex-wrap:wrap;gap:.75rem}.catalog-hierarchy{margin-top:1.5rem}.catalog-level-header{display:flex;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;border-radius:0}.catalog-section>.catalog-level-header{background-color:var(--catalog-section-header-bg)}.catalog-category>.catalog-level-header{background-color:var(--catalog-category-header-bg)}.catalog-type>.catalog-level-header{background-color:var(--catalog-type-header-bg)}.catalog-variation>.catalog-level-header{background-color:var(--catalog-variation-header-bg)}.catalog-level-header:hover{filter:brightness(.95)}.catalog-level-header h4,.catalog-level-header h5,.catalog-level-header h6,.catalog-level-header .variation-name-header{margin:0;line-height:1.2}.catalog-section>.catalog-level-header h4{font-size:1.25rem;color:var(--catalog-section-header-text);text-transform:uppercase;font-weight:700}.catalog-category>.catalog-level-header h5{font-size:1.1rem;color:var(--catalog-category-header-text);font-weight:700}.catalog-type>.catalog-level-header h6{font-size:.95rem;color:var(--catalog-type-header-text);font-weight:700}.catalog-variation>.catalog-level-header .variation-name-header{font-size:.9rem;color:var(--catalog-variation-header-text);font-weight:500;flex-grow:1}.toggle-icon{margin-right:.75rem;transition:transform .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;line-height:1}.catalog-section>.catalog-level-header .toggle-icon svg{color:var(--catalog-section-header-text)}.catalog-category>.catalog-level-header .toggle-icon svg{color:var(--catalog-category-header-text)}.catalog-type>.catalog-level-header .toggle-icon svg{color:var(--catalog-type-header-text)}.catalog-variation>.catalog-level-header .toggle-icon svg{color:var(--catalog-variation-header-text)}.toggle-icon.open{transform:rotate(90deg)}.collapsible-content{padding-left:1rem;overflow:hidden;transition:max-height .3s ease-out;max-height:0}.collapsible-content.open{max-height:2000px;padding-left:0}.catalog-list-nested .collapsible-content.open{padding-left:1.5rem;border-left:3px solid rgba(0,0,0,.05)}.catalog-section,.catalog-category,.catalog-type,.catalog-variation{margin-bottom:.75rem;border-radius:6px;overflow:hidden;border:1px solid var(--border-color);background-color:var(--background-white)}.catalog-section:last-child,.catalog-category:last-child,.catalog-type:last-child,.catalog-variation:last-child{margin-bottom:0}.empty-category-message{padding:.75rem 1rem;font-style:italic;color:var(--text-light);font-size:.9rem;text-align:center}.catalog-product-group-card{background-color:var(--background-white);border-top:1px solid var(--border-color);margin:0;border-radius:0;padding:1rem}.catalog-variation>.collapsible-content.open>.catalog-product-group-card:first-child{border-top:none}.product-group-title-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.product-group-title{font-size:1rem;color:var(--text-dark);margin:0}.product-group-actions{display:flex;gap:.5rem}.button-edit-base-item,.button-add-presentation{padding:.4rem .8rem;font-size:.85rem;border-radius:4px;display:inline-flex;align-items:center;gap:.4rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease;cursor:pointer;border:1px solid;line-height:1.2}.button-edit-base-item{background-color:var(--background-light);border-color:var(--border-color);color:var(--text-medium)}.button-edit-base-item:hover:not(:disabled){background-color:#e9ecef;border-color:#d1d5db}.button-add-presentation{background-color:#eff6ff;border-color:var(--primary-blue);color:var(--primary-blue-dark)}.button-add-presentation:hover:not(:disabled){background-color:#dbeafe;border-color:var(--primary-blue-dark)}.button-edit-base-item:disabled,.button-add-presentation:disabled{background-color:#f1f3f5!important;color:#adb5bd!important;border-color:#ced4da!important;cursor:not-allowed;opacity:.7}.product-presentations-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.product-presentation-item{background-color:var(--catalog-presentation-tag-bg);border:1px solid var(--catalog-presentation-tag-border);border-radius:4px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer;transition:background-color .2s,border-color .2s;color:var(--catalog-presentation-tag-text);display:inline-block;text-align:center;box-shadow:0 1px 1px #00000008}.product-presentation-item:hover{background-color:#e9f2ff;border-color:#b3d4fc;color:var(--primary-blue-dark)}.presentation-package{font-weight:500;margin-right:.3rem}.presentation-size{color:var(--text-medium)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;padding:1rem}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1.5rem}.modal-header h3{margin:0;font-size:1.5rem;color:var(--primary-blue)}.modal-close-button{background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;padding:.25rem;line-height:1}.modal-close-button svg{display:block}.modal-body{overflow-y:auto;flex-grow:1;padding-right:.5rem;margin-right:-.5rem}.modal-footer{border-top:1px solid var(--border-color);padding-top:1.5rem;margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.input-with-button{display:flex;gap:.5rem}.input-with-button input,.input-with-button select{flex-grow:1}.button-add-inline{padding:.6rem .8rem;font-size:1rem;background-color:#e9ecef;border:1px solid #ced4da;color:#495057;display:inline-flex;align-items:center;justify-content:center}.button-add-inline:disabled{background-color:#f1f3f5;color:#adb5bd}.input-with-button .button.button-secondary{padding:.6rem .8rem;flex-shrink:0}.input-with-button .button.button-secondary svg{margin-right:0}.form-block{margin-bottom:1.5rem;padding-bottom:1rem}.form-block:last-child{border-bottom:none;margin-bottom:0}.form-block-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0}.form-block-header h4{margin:0;color:var(--primary-purple);font-size:1.1rem}.form-block-header .toggle-icon svg{color:var(--primary-purple)}.form-block-content.collapsed{display:none}.item-detail-modal-content{font-size:1rem}.item-detail-image-container{text-align:center;margin-bottom:1rem}.item-detail-image{max-width:200px;max-height:200px;border-radius:6px;border:1px solid var(--border-color)}.item-detail-title-full{font-size:1.2rem;color:var(--text-dark);margin-bottom:1rem;text-align:center}.item-detail-info p{margin:.4rem 0;font-size:.95rem}.item-detail-section{margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px dotted var(--border-color)}.item-detail-section:last-child{border-bottom:none;margin-bottom:0}.item-price-history-section{background-color:#f9faff;padding:.75rem;border-radius:4px;border:1px solid #e0e7ff}.item-price-history-title{font-size:1rem;color:var(--primary-purple);margin-top:0;margin-bottom:.5rem}.item-price-history-section p{font-size:.9rem;margin:.3rem 0}.item-price-history-section .loading-spinner-icon{margin-right:.5rem;animation:spin 1s linear infinite}.new-presentation-prompt{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:1rem;border-radius:6px;margin-bottom:1.5rem;text-align:center}.new-presentation-prompt p{margin-top:0;margin-bottom:.75rem}.new-presentation-prompt button{margin:0 .5rem}.pantry-page-container{max-width:1200px;margin:1rem auto}.pantry-page-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.pantry-hierarchy{margin-top:1.5rem}.pantry-product-group-card{background-color:var(--background-white);border:1px solid #e0e7ff;margin:.5rem 0;border-radius:6px;padding:1rem;box-shadow:0 1px 2px #00000008}.pantry-group-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.pantry-group-header .product-group-title{font-size:1rem;color:var(--text-dark);margin:0}.pantry-group-total-stock{font-size:.9rem;color:var(--primary-purple);font-weight:500}.pantry-item-presentation{margin-bottom:.75rem;padding:.75rem;background-color:#f9f9f9;border-radius:4px}.pantry-item-presentation .presentation-header{margin-bottom:.5rem;font-weight:500;color:#555}.pantry-item-presentation .presentation-base-name{font-size:.8rem;color:#777}.stocked-entry-list{list-style:none;padding-left:0;margin:0}.stocked-entry-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .2rem;border-bottom:1px dotted #eee;font-size:.9rem}.stocked-entry-item:last-child{border-bottom:none}.stocked-entry-item .entry-details{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:center}.stocked-entry-item .entry-details span{color:var(--text-medium)}.stocked-entry-item .entry-details strong{color:var(--text-dark)}.stocked-entry-item .entry-location{font-style:italic;font-size:.8rem}.stocked-entry-actions{display:flex;gap:.5rem}.button-pantry-action{padding:.3rem .5rem;border-radius:4px;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.button-pantry-action.take{background-color:var(--action-take-bg);color:var(--action-take-text);border-color:var(--action-take-border)}.button-pantry-action.store{background-color:var(--action-store-bg);color:var(--action-store-text);border-color:var(--action-store-border)}.button-edit-pantry-entry{padding:.3rem;background:none;border:none;color:var(--text-light);cursor:pointer}.button-edit-pantry-entry:hover{color:var(--primary-blue)}.stocked-sub-entry-list{list-style:none;padding-left:1rem;margin-top:.5rem;border-left:2px solid #e0e0e0}.stocked-sub-entry-list .sub-entry{font-size:.85rem;padding:.4rem .2rem}.low-stock-alerts-section{margin-top:2rem;margin-bottom:2rem;padding:1rem;border-radius:8px}.low-stock-alerts-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.low-stock-alerts-list{list-style:none;padding:0;margin:0}.low-stock-alert-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;border-radius:6px;border:1px solid}.low-stock-alert-item:last-child{margin-bottom:0}.low-stock-alert{background-color:var(--low-stock-alert-bg);border-color:var(--low-stock-alert-border)}.low-stock-alert .alert-item-description,.low-stock-alert .alert-item-stock-details,.low-stock-alert .button-add-to-list{color:var(--low-stock-alert-text)}.low-stock-alert .button-add-to-list{background-color:var(--background-white);border:1px solid var(--low-stock-alert-text)}.low-stock-alert .button-add-to-list:hover{background-color:#fff8e1}.no-stock-alert{background-color:var(--no-stock-alert-bg);border-color:var(--no-stock-alert-border)}.no-stock-alert .alert-item-description,.no-stock-alert .alert-item-stock-details,.no-stock-alert .button-add-to-list{color:var(--no-stock-alert-text)}.no-stock-alert .button-add-to-list{background-color:#fff3;border:1px solid var(--no-stock-alert-text)}.no-stock-alert .button-add-to-list:hover{background-color:#ffffff4d}.alert-item-info{flex-grow:1}.alert-item-description{font-weight:700;display:block}.alert-item-stock-details{font-size:.85rem;margin:.2rem 0 0}.stock-status-zero{font-weight:700}.button-add-to-list{padding:.4rem .8rem;font-size:.9rem}.searchable-select-container{position:relative}.searchable-item-input{width:100%}.searchable-item-list{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;z-index:100;list-style:none;padding:0;margin:0;box-shadow:0 4px 6px #0000001a}.searchable-item-option{padding:.75rem 1rem;cursor:pointer;font-size:.95rem}.searchable-item-option:hover,.searchable-item-option:focus{background-color:#f0f8ff;color:var(--primary-blue)}.searchable-item-option.no-results{font-style:italic;color:var(--text-light);padding:.75rem}.scanner-modal-content{display:flex;flex-direction:column;gap:1rem}#html5qr-code-region,#shopping-list-scanner-region{border:1px solid var(--border-color);border-radius:4px;overflow:hidden;background-color:#f0f0f0}#html5qr-code-region video,#shopping-list-scanner-region video{width:100%!important;height:auto!important}.scanner-status-message{text-align:center;font-size:.9rem;color:var(--text-medium)}.barcode-not-found-options button{font-size:.85rem;padding:.4rem .8rem}.virtual-receipt-container{background-color:#fffbeb;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #00000014;font-family:Courier New,Courier,monospace;color:#333;max-width:600px;margin:1rem auto}.receipt-header{text-align:center;margin-bottom:1.5rem;border-bottom:2px dashed #ccc;padding-bottom:1rem}.receipt-header h3{margin:0 0 .25rem;font-size:1.3rem}.receipt-header p{margin:0;font-size:.9rem}.receipt-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.receipt-th,.receipt-td{text-align:left;padding:.5rem .25rem;font-size:.9rem;vertical-align:top}.receipt-th{border-bottom:1px solid #eee;font-weight:600}.receipt-td.item-desc{width:60%}.receipt-td.item-qty{text-align:center;width:10%}.receipt-td.item-price,.receipt-td.item-total{text-align:right;width:15%}.receipt-td.item-actions{text-align:right;width:10%}.receipt-item-row+.receipt-discount-row .receipt-td{padding-top:.1rem;padding-bottom:.4rem;font-size:.8rem}.discount-text{color:var(--primary-green);font-style:italic}.receipt-summary{border-top:2px dashed #ccc;padding-top:1rem}.receipt-summary .summary-line{display:flex;justify-content:space-between;margin-bottom:.4rem;font-size:.95rem}.receipt-summary .total-line{font-weight:700;font-size:1.1rem;margin-top:.8rem}.button-icon{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--text-light);line-height:1}.button-icon:hover{color:var(--primary-blue)}.button-icon.danger:hover{color:var(--danger-color)}.button-icon svg{display:block}.entity-list{list-style:none;padding:0;margin-top:1rem}.entity-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.entity-list-item:last-child{border-bottom:none}.entity-details{display:flex;flex-direction:column;gap:.2rem;font-size:.95rem}.entity-details span{color:var(--text-medium)}.entity-details span strong{color:var(--text-dark);font-weight:500}.entity-actions{display:flex;gap:.5rem}.entity-usage-count{font-size:.8rem;color:var(--text-light);font-style:italic;margin-left:.5rem}.manage-entity-form .form-fields-inline-group{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.manage-entity-form .form-fields-inline-group .form-group{margin-bottom:0}.manage-entity-form .form-action-buttons{display:flex;gap:.5rem}.settings-page-container{max-width:1200px;margin:1rem auto}.settings-sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.settings-card{background-color:var(--background-white);padding:1.5rem;border-radius:8px;box-shadow:0 2px 6px #00000012}.settings-card h3{font-size:1.2rem;color:var(--primary-blue);margin-bottom:.75rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.settings-card p{font-size:.9rem;color:var(--text-medium);margin-bottom:1rem}.settings-card .button{display:block;width:100%;margin-bottom:.5rem;text-align:left;padding-left:1rem;justify-content:flex-start}.settings-card .button-secondary.alt{background-color:#f8f9fa}.settings-card .button-secondary.alt:hover{background-color:#e9ecef}.shopping-list-page-container{max-width:900px;margin:1rem auto}.shopping-list-group{margin-bottom:1.5rem}.shopping-list-group .catalog-level-header h4,.shopping-list-group .catalog-level-header h5{margin:0;font-weight:600}.tabs-container .tab-button.active{border-bottom:2px solid var(--primary-blue)}.shopping-list-item-image{width:286px;height:120px;object-fit:cover;border-radius:4px;border:1px solid var(--border-color)}.shopping-list-item-details-responsive-layout{display:flex;gap:1rem;align-items:flex-start}@media (max-width: 768px){.shopping-list-item-details-responsive-layout{flex-direction:column}.shopping-list-item-image{width:100%;height:auto;max-height:180px;margin-bottom:.75rem}.shopping-list-item-details-responsive-layout .price-info{width:100%;margin-top:0}}.purchase-page-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.purchase-tab-button{padding:.75rem 1.5rem;border:none;background-color:transparent;font-size:1.1rem;font-weight:500;color:var(--text-light);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s ease,border-color .2s ease}.purchase-tab-button:hover:not(:disabled){color:var(--primary-blue)}.purchase-tab-button.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);font-weight:600}.purchase-tab-button:disabled{color:#adb5bd;cursor:not-allowed;opacity:.7}.purchase-tab-content{padding-top:1rem}.purchase-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media (max-width: 576px){.catalog-product-group-card{display:flex;flex-direction:column}.product-group-title-container{display:contents}.catalog-product-group-card .product-group-title{order:1;width:100%;margin-bottom:.75rem;text-align:left}.catalog-product-group-card .product-presentations-list{order:2;margin-top:0;margin-bottom:.75rem}.catalog-product-group-card .product-group-actions{order:3;width:100%;justify-content:flex-end;margin-top:.25rem}}
