@import url(https://fonts.googleapis.com/icon?family=Material+Icons);@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#000;--primary-dark:#000;--secondary:#333;--background:#fff;--surface:#fff;--error:red;--on-primary:#fff;--on-background:#000;--on-surface:#000;--positive:#333;--neutral:#777;--negative:#999;--card-shadow:0 1px 3px #0000001a;--transition:all 0.2s ease;--font-main:"Helvetica Neue",Arial,sans-serif;--font-title:"Cinzel",serif;--border-color:#e0e0e0}body.dark-mode{--primary:#fff;--primary-dark:#f0f0f0;--secondary:#ccc;--background:#1a1a1a;--surface:#2a2a2a;--error:#f44;--on-primary:#000;--on-background:#fff;--on-surface:#fff;--positive:#ccc;--neutral:#888;--negative:#666;--card-shadow:0 1px 3px #ffffff1a;--border-color:#404040}body{background:#fff;background:var(--background);color:#000;color:var(--on-background);font-family:Helvetica Neue,Arial,sans-serif;font-family:var(--font-main);font-weight:300;letter-spacing:.02em;line-height:1.6;margin:0;min-height:100vh;padding:0}.container{margin:0 auto;max-width:1200px}.container,.section{box-sizing:border-box;padding:2rem;width:100%}.section{background-color:#fff;background-color:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);margin-bottom:2rem}.section-title{color:#000;color:var(--on-surface);font-weight:500;letter-spacing:.1em;margin-top:0;text-transform:uppercase}.section-description,.section-title{font-size:.9rem;margin-bottom:1.5rem}.section-description{color:#333;color:var(--secondary);font-weight:300}.form-group{margin-bottom:1.5rem}.form-control{background-clip:padding-box;background-color:#fff;background-color:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;display:block;font-family:Helvetica Neue,Arial,sans-serif;font-family:var(--font-main);font-size:.9rem;line-height:1.5;padding:.75rem 1rem;transition:all .2s ease;transition:var(--transition);width:100%}.form-control,.form-control:focus{color:#000;color:var(--on-surface)}.form-control:focus{border-color:#000;border-color:var(--primary);outline:0}.form-row{margin-bottom:1rem}.btn{align-items:center;border:none;box-sizing:border-box;cursor:pointer;display:flex;font-size:.9rem;font-weight:400;gap:.5rem;justify-content:center;letter-spacing:.1em;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition);width:100%}.btn:focus{outline:none}.btn-primary{background-color:#000;background-color:var(--primary);color:#fff;color:var(--on-primary)}.btn-primary:hover{background-color:#333;background-color:var(--secondary)}.btn-secondary{background-color:#f5f5f5;border:1px solid #ccc;color:#333}.btn-secondary:hover{background-color:#e5e5e5}.btn-down,.btn-neutral,.btn-up{align-items:center;background-color:#fff;border:1px solid #000;box-sizing:border-box;color:#000;display:flex;flex:1 1;flex-direction:column;max-width:33%;min-width:80px;padding:.5rem}.btn-down:hover,.btn-neutral:hover,.btn-up:hover{background-color:#f8f8f8}.btn-bought,.btn-rate{background-color:#fff;border:1px solid #000;color:#000;cursor:pointer;font-size:.7rem;letter-spacing:.1em;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.btn-bought:hover,.btn-rate:hover{background-color:#000;color:#fff}.btn-delete{background:none;border:none;color:#999;cursor:pointer;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.btn-delete:hover{color:#000}.flavors-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.flavor-card{border-radius:0;box-shadow:0 1px 3px #0000001a;box-shadow:var(--card-shadow);margin-bottom:1rem}.flavor-card,.flavor-card-container{position:relative}.btn-delete-corner{background:none;border:none;color:#999;cursor:pointer;padding:0;position:absolute;right:0;top:0;transition:color .2s;z-index:2}.btn-delete-corner:hover{color:#000;color:var(--primary)}.btn-delete-corner .material-icons{font-size:1.2rem}.flavor-title{color:#000;color:var(--primary);font-family:Helvetica Neue,Arial,sans-serif;font-family:var(--font-main);font-size:1rem;font-weight:500;letter-spacing:.05em;margin:0 0 .8rem;padding-right:25px;text-transform:uppercase}.flavor-brand{font-weight:400}.flavor-brand,.flavor-rating{font-family:Helvetica Neue,Arial,sans-serif;font-family:var(--font-main);margin:.5rem 0}.flavor-rating{color:#000;color:var(--primary);font-size:.9rem;font-weight:500}.flavor-description{color:#333;color:var(--secondary);font-family:Helvetica Neue,Arial,sans-serif;font-family:var(--font-main);font-size:.9rem;margin:.5rem 0}.flavor-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.flavor-card-rating{font-size:.9rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.flavor-card-rating.positive{color:#000;color:var(--primary)}.flavor-card-details{margin-bottom:1rem}.flavor-detail-label{color:#666;font-size:.75rem;letter-spacing:.05em;margin-right:.5rem;text-transform:uppercase}.flavor-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:auto;padding-top:1rem}.rating-modal{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.rating-modal-content{background-color:#fff;background-color:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 15px #0003;max-width:400px;padding:25px;text-align:center;width:90%}.rating-buttons{display:flex;gap:.5rem;margin-top:1rem}.rating-label{color:var(--text-color);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.btn-rating{background:none;border:1px solid #000;border:1px solid var(--primary);color:#000;color:var(--primary);cursor:pointer;flex:1 1;font-size:.9rem;padding:.5rem;transition:all .2s}.btn-rating.active,.btn-rating:hover{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.navbar{background:#000;background:var(--primary);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:.75rem 0}.navbar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.navbar-brand{color:#fff;color:var(--on-primary);font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.2rem;letter-spacing:.05em;text-decoration:none}.navbar-links{gap:1.5rem}.nav-link,.navbar-links{align-items:center;display:flex}.nav-link{border-radius:.25rem;color:#fff;color:var(--on-primary);padding:.5rem;text-decoration:none;transition:all .2s}.nav-link:hover{background:#ffffff1a}.nav-link.active{background:#ffffff26}.nav-link .material-icons{font-size:1.25rem}.nav-link-button{background:none;border:none;cursor:pointer;font:inherit}.logout-button{background-color:initial;border:1px solid #fff;border:1px solid var(--on-primary);color:#fff;color:var(--on-primary);cursor:pointer;font-size:.75rem;font-weight:400;letter-spacing:.05em;margin-left:1.5rem;padding:.4rem 1rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.logout-button:hover{opacity:.8}.empty-state{color:#999;font-size:.9rem;letter-spacing:.05em;padding:3rem 0;text-align:center}.disabled{background-color:#e0e0e0;color:#999;cursor:not-allowed}.text-center{text-align:center}.flavor-votes{display:flex;font-size:.8rem;gap:1rem;margin-top:.8rem}.flavor-last-tried{color:#999;font-size:.7rem;margin-top:.5rem}.flavor-card-savings{font-weight:500;margin-top:.5rem}.loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-spinner{background:#000;background:var(--primary);color:#fff;color:var(--on-primary);letter-spacing:.1em;padding:1rem 2rem;text-transform:uppercase}.error-message,.loading-spinner{border-radius:4px;font-size:.9rem}.error-message{align-items:center;background:red;background:var(--error);color:#fff;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-dismiss{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;opacity:.8;padding:0 .5rem;transition:opacity .2s}.error-dismiss:hover{opacity:1}@media (max-width:768px){.container{padding:1rem}.form-row{flex-direction:column;gap:.5rem}.flavors-list{grid-template-columns:1fr}}@media (max-width:576px){.section{padding:.75rem}.section-title{font-size:.85rem}.rating-buttons{align-items:stretch;flex-direction:column}.btn-down,.btn-neutral,.btn-up{margin-bottom:.5rem;max-width:100%}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.account-settings{margin:0 auto;max-width:600px;padding:2rem}.account-settings-section{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:2rem}.account-settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.account-settings-title{font-size:.9rem;font-weight:500;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.btn-edit{align-items:center;background:none;border:1px solid #000;border:1px solid var(--primary);color:#000;color:var(--primary);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;justify-content:center;letter-spacing:.05em;margin-top:1rem;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s;width:100%}.btn-edit:hover{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.btn-edit .material-icons{font-size:1rem}.recommended-flavors-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.flavor-card-compact{background-color:#fff;background-color:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);font-size:.9rem;margin-bottom:.5rem;padding:.75rem 1rem}.flavor-card-compact,.flavor-compact-content{align-items:center;display:flex;justify-content:space-between}.flavor-compact-content{width:100%}.flavor-compact-name{color:#000;color:var(--primary);font-weight:500;letter-spacing:.03em;text-transform:uppercase}.flavor-compact-brand{color:#333;color:var(--secondary);margin-right:1rem;text-align:right}.flavor-compact-rating{color:#000;color:var(--primary);font-size:.8rem;font-weight:500;min-width:80px;text-align:right;white-space:nowrap}.browse-page{margin:0 auto;max-width:1200px;padding:2rem}.deals-filter-banner{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:8px;color:#fff;display:flex;font-weight:500;gap:1rem;justify-content:center;margin-bottom:1.5rem;padding:.75rem 1.5rem}.deals-filter-banner button{background:#fff3;border:1px solid #ffffff80;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.35rem .75rem;transition:all .2s}.deals-filter-banner button:hover{background:#ffffff4d}.browse-header{margin-bottom:2rem;text-align:center}.browse-header h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin-bottom:.5rem}.browse-header p{color:#333;color:var(--secondary)}.search-section{margin:0 auto 2rem;max-width:500px;position:relative}.search-row{display:flex;gap:.75rem}.search-row .search-input{flex:1 1}.search-input{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;color:#000;color:var(--on-surface);font-size:1rem;padding:1rem;width:100%}.random-flavor-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s;white-space:nowrap}.random-flavor-btn:hover{box-shadow:0 4px 12px #6366f14d;transform:scale(1.02)}.random-flavor-btn .material-icons{font-size:1.25rem}@media (max-width:600px){.search-row{flex-direction:column}.random-flavor-btn{justify-content:center}}.search-results{background:#fff;background:var(--surface);border-top:none;left:0;max-height:300px;position:absolute;right:0;top:100%;z-index:100}.search-result-item{color:#000;color:var(--on-surface);text-decoration:none}.result-name{font-weight:500}.result-brand{font-size:.9rem}.result-brand,.search-loading{color:#333;color:var(--secondary)}.search-loading{padding:.5rem;text-align:center}.filters-section{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{color:#333;color:var(--secondary);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.filter-group select{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-background);font-size:.9rem;padding:.5rem}.puff-filter .puff-inputs{align-items:center;display:flex;gap:.5rem}.puff-filter .puff-inputs select{width:90px}.puff-separator{color:#333;color:var(--secondary)}.price-filter .price-inputs{align-items:center;display:flex;gap:.5rem}.price-filter .price-inputs select{width:80px}.range-separator{color:#333;color:var(--secondary)}.flavor-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flavor-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);padding:1.5rem;transition:all .2s ease;transition:var(--transition)}.flavor-card:hover{box-shadow:0 1px 3px #0000001a;box-shadow:var(--card-shadow)}.flavor-card-link,.flavor-link{color:inherit;text-decoration:none}.flavor-card-link{cursor:pointer;display:block;flex:1 1}.flavor-card-link:hover .flavor-name{text-decoration:underline}.flavor-card{display:flex;flex-direction:column}.flavor-image{align-items:center;aspect-ratio:1;background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);display:flex;justify-content:center;margin-bottom:1rem;overflow:hidden;width:100%}.flavor-image img{height:100%;object-fit:cover;width:100%}.flavor-image-placeholder{align-items:center;background:linear-gradient(135deg,#e0e0e0,#fff);background:linear-gradient(135deg,var(--border-color) 0,var(--surface) 100%);display:flex;height:100%;justify-content:center;width:100%}.flavor-image-placeholder span{color:#333;color:var(--secondary);font-size:3rem;opacity:.5}.flavor-image-placeholder span,.flavor-name{font-family:Cinzel,serif;font-family:var(--font-title)}.flavor-name{font-size:1.1rem;margin:0 0 .25rem}.flavor-brand{color:#333;color:var(--secondary);font-size:.9rem;margin:0 0 .75rem}.flavor-rating{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.star{color:#d4d4d4;font-size:1.1rem}.star.filled{color:gold}body.dark-mode .star{color:#555}body.dark-mode .star.filled{color:gold}button.star.interactive{-webkit-tap-highlight-color:transparent;background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;margin:-.25rem;padding:.25rem;touch-action:manipulation;transition:transform .1s ease;-webkit-user-select:none;user-select:none}.star.interactive:active,.star.interactive:hover{transform:scale(1.2)}.star.interactive:focus{border-radius:2px;outline:2px solid #000;outline:2px solid var(--primary);outline-offset:2px}.review-count{font-size:.8rem}.rate-it-link,.review-count{color:#333;color:var(--secondary)}.rate-it-link{cursor:pointer;font-size:.85rem;transition:color .2s ease}.rate-it-link:hover{color:#000;color:var(--primary)}.flavor-profiles{gap:.5rem;margin-bottom:1rem}.profile-tag{letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.add-to-library-btn{background:#0000;border:1px solid #000;border:1px solid var(--primary);color:#000;color:var(--primary);cursor:pointer;font-size:.8rem;letter-spacing:.1em;padding:.75rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition);width:100%}.add-to-library-btn:hover{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.library-status{align-items:center;background:rgba(var(--primary-rgb),.1);border:1px solid #000;border:1px solid var(--primary);border-radius:4px;display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.in-library-badge{color:#000;color:var(--primary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.your-rating{color:var(--text-muted);font-size:.7rem}.remove-from-library-btn{background:#0000;border:1px solid red;border:1px solid var(--error);border-radius:3px;color:red;color:var(--error);cursor:pointer;font-size:.65rem;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.remove-from-library-btn:hover{background:red;background:var(--error);color:#fff}.clear-filters-btn{align-self:flex-end;background:#0000;border:1px solid var(--text-muted);color:var(--text-muted);cursor:pointer;font-size:.75rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.clear-filters-btn:hover{border-color:red;border-color:var(--error);color:red;color:var(--error)}.add-to-library-btn.large{font-size:.9rem;margin-top:0;padding:1rem 2rem}.wishlist-btn{align-items:center;background:#0000;border:2px solid #000;border:2px solid var(--primary);color:#000;color:var(--primary);cursor:pointer;display:inline-flex;flex:1 1;font-size:.9rem;gap:.5rem;justify-content:center;letter-spacing:.1em;min-width:180px;padding:1rem 2rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.wishlist-btn:hover{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.wishlist-btn.wishlisted{background:#d63384;border-color:#d63384;color:#fff}.wishlist-btn.wishlisted:hover{background:#c02770;border-color:#c02770}.wishlist-btn:disabled{cursor:not-allowed;opacity:.6}.flavor-actions-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.flavor-actions-row .add-to-library-btn.large,.where-to-buy-btn{flex:1 1;min-width:200px}.where-to-buy-btn{align-items:center;background:#000;background:var(--primary);color:#fff;color:var(--on-primary);display:inline-flex;font-size:.9rem;justify-content:center;letter-spacing:.1em;padding:1rem 2rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.where-to-buy-btn:hover{opacity:.9}.share-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;display:inline-flex;font-size:.9rem;justify-content:center;letter-spacing:.1em;padding:1rem 2rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.share-btn:hover{background:#000;background:var(--primary);border-color:#000;border-color:var(--primary);color:#fff;color:var(--on-primary)}.quick-rate-section{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);display:flex;gap:.75rem;margin-top:1rem;padding:.75rem 1rem}.quick-rate-label{color:#333;color:var(--secondary);font-size:.85rem;white-space:nowrap}.quick-rate-stars{display:flex;gap:.5rem}.quick-rate-stars .star{font-size:1.75rem;min-height:32px;min-width:32px}.pagination,.quick-rate-stars .star{align-items:center;display:flex;justify-content:center}.pagination{gap:1rem;margin-top:2rem}.pagination button{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;padding:.5rem 1rem}.pagination button:disabled{cursor:not-allowed;opacity:.5}.empty-library,.no-results,.no-reviews{color:#333;color:var(--secondary);padding:3rem;text-align:center}.empty-library a,.no-results a{color:#000;color:var(--primary)}.loading{color:#333;color:var(--secondary);padding:3rem;text-align:center}.flavor-detail-page{margin:0 auto;max-width:800px;padding:2rem}.back-link{color:#333;color:var(--secondary);display:inline-block;font-size:.9rem;margin-bottom:1rem;text-decoration:none}.back-link:hover{color:#000;color:var(--primary)}.flavor-header-content{align-items:flex-start;display:flex;gap:2rem}.flavor-detail-image{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;height:250px;overflow:hidden;width:250px}.flavor-detail-image img{height:100%;object-fit:cover;width:100%}.flavor-image-placeholder.large{align-items:center;background:linear-gradient(135deg,#e0e0e0,#fff);background:linear-gradient(135deg,var(--border-color) 0,var(--surface) 100%);display:flex;height:100%;justify-content:center;width:100%}.flavor-image-placeholder.large span{color:#333;color:var(--secondary);font-size:4rem;font-weight:700;opacity:.5}.flavor-header-info{flex:1 1}.flavor-header h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2.5rem;margin:0 0 .5rem}.flavor-header .brand-name{color:#333;color:var(--secondary);font-size:1.1rem;margin-bottom:1rem}.flavor-header .brand-name a{color:#000;color:var(--primary);text-decoration:none}.flavor-rating-large{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.flavor-rating-large .star{font-size:1.5rem}.rating-text{color:#333;color:var(--secondary);font-size:1rem}.flavor-description{line-height:1.8;margin:1.5rem 0}.brand-info-section{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:1.5rem}.brand-info-section h2{font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.2rem;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.brand-info-content{align-items:flex-start;display:flex;gap:1.5rem}.brand-logo{border-radius:4px;max-height:80px;max-width:120px;object-fit:contain}.brand-details{flex:1 1}.brand-info-section .brand-description{color:#333;color:var(--secondary);font-size:.9rem;line-height:1.6;margin-bottom:1rem}.brand-website-link{color:#000;color:var(--primary);display:inline-block;font-size:.9rem;text-decoration:none}.brand-website-link:hover{text-decoration:underline}.prices-section{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:1.5rem}.prices-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.prices-header h2{font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.2rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.report-price-btn{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.8rem;letter-spacing:.1em;padding:.5rem 1rem;text-transform:uppercase}.price-stats{background:#fff;background:var(--background);border-radius:8px;display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.price-stat{align-items:center;display:flex;flex-direction:column}.stat-label{font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem}.stat-value{font-size:1.25rem;font-weight:600}.stat-value.low{color:#4caf50}.stat-value.high{color:#f44336}.price-form{background:#fff;background:var(--background);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.add-shop-link{background:none;border:none;color:#000;color:var(--primary);cursor:pointer;display:inline-block;font-size:.85rem;margin-top:.5rem;padding:0}.add-shop-form{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:1rem}.add-shop-form h4{font-size:.9rem;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.form-row{margin-bottom:.75rem}.form-row.triple{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:2fr 1fr 1fr}.form-row input{box-sizing:border-box;font-family:inherit;padding:.5rem;width:100%}.price-input-wrapper{align-items:center;display:flex}.price-input-wrapper .currency{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-right:none;padding:.5rem}.price-input-wrapper input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-background);flex:1 1;font-family:inherit;font-size:.9rem;max-width:150px;padding:.5rem}.form-group.inline,.form-group.inline label{align-items:center;display:flex}.form-group.inline label{cursor:pointer;gap:.5rem}.form-group.inline input[type=checkbox]{accent-color:#000;accent-color:var(--primary);height:18px;width:18px}.price-reports-list{display:flex;flex-direction:column;gap:.75rem}.price-report{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;padding:1rem}.price-report.on-sale{border-color:#4caf50}.price-report-main{align-items:baseline;display:flex;gap:1rem;margin-bottom:.5rem}.report-price{color:#000;color:var(--primary);font-size:1.5rem;font-weight:700}.sale-badge{background:#4caf50;border-radius:2px;color:#fff;font-size:.65rem;font-weight:600;margin-left:.5rem;padding:.15rem .5rem;vertical-align:middle}.report-shop{font-weight:500}.report-location{color:#333;color:var(--secondary);font-size:.9rem}.price-report-meta{display:flex;font-size:.8rem;gap:1rem}.price-report-meta,.report-notes{color:#333;color:var(--secondary)}.report-notes{font-size:.85rem;font-style:italic;margin-top:.5rem}.no-prices{color:#333;color:var(--secondary);padding:1rem;text-align:center}.similar-flavors-section{border-top:1px solid var(--surface-variant);margin-top:3rem;padding-top:2rem}.similar-flavors-section h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1.5rem}.similar-flavors-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.similar-flavor-card{background:var(--surface-container);border-radius:12px;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}.similar-flavor-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.similar-flavor-image{aspect-ratio:1;background:var(--surface-variant);overflow:hidden}.similar-flavor-image img{height:100%;object-fit:cover;width:100%}.similar-flavor-info{display:flex;flex-direction:column;gap:.25rem;padding:.875rem}.similar-flavor-brand{color:#333;color:var(--secondary);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.similar-flavor-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden}.similar-flavor-rating{align-items:center;display:flex;font-size:.85rem;gap:.25rem;margin-top:.25rem}.similar-flavor-rating .star{color:#000;color:var(--primary)}.similar-flavor-rating .review-count{color:#333;color:var(--secondary);font-size:.75rem}.similar-flavor-profiles{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.profile-tag.small{font-size:.65rem;padding:.2rem .5rem}.reviews-section{margin-top:3rem}.reviews-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.reviews-header h2{font-family:Cinzel,serif;font-family:var(--font-title);margin:0}.write-review-btn{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.8rem;letter-spacing:.1em;padding:.75rem 1.5rem;text-transform:uppercase}.review-form{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);margin-bottom:2rem;padding:1.5rem}.review-form .form-group{margin-bottom:1rem}.review-form label{color:#333;color:var(--secondary);display:block;font-size:.8rem;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.review-form input,.review-form textarea{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;color:#000;color:var(--on-background);font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.rating-input{font-size:1.5rem}.form-actions{display:flex;gap:1rem;margin-top:1rem}.form-actions button{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;font-size:.8rem;letter-spacing:.1em;padding:.75rem 1.5rem;text-transform:uppercase}.form-actions button[type=submit]{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary)}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);padding:1.5rem}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.reviewer-name{color:#000;color:var(--on-surface);font-weight:500;text-decoration:none}.reviewer-name:hover{color:#000;color:var(--primary);text-decoration:underline}.review-rating{font-size:.9rem}.review-title{font-size:1.1rem;margin:0 0 .5rem}.review-body{line-height:1.6;margin:0 0 1rem}.review-footer{align-items:center;display:flex;justify-content:space-between}.vote-buttons{display:flex;gap:.5rem}.vote-buttons button{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#333;color:var(--secondary);cursor:pointer;font-size:.8rem;padding:.25rem .5rem}.vote-buttons button:hover{border-color:#000;border-color:var(--primary);color:#000;color:var(--primary)}.review-date{color:#333;color:var(--secondary);font-size:.8rem}.review-meta{align-items:center}.review-actions{display:flex;gap:.5rem}.delete-review-btn,.edit-review-btn{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#333;color:var(--secondary);cursor:pointer;font-size:.75rem;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.edit-review-btn:hover{border-color:#000;border-color:var(--primary);color:#000;color:var(--primary)}.delete-review-btn:hover{border-color:red;border-color:var(--error);color:red;color:var(--error)}.own-review-badge{background:#000;background:var(--primary);border-radius:2px;color:#fff;color:var(--on-primary);display:inline-block;font-size:.65rem;letter-spacing:.05em;margin-left:.5rem;padding:.1rem .4rem;text-transform:uppercase}.review-edit-form{display:flex;flex-direction:column;gap:1rem}.review-edit-form .form-group label{color:#333;color:var(--secondary);display:block;font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.review-edit-form input,.review-edit-form textarea{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;color:#000;color:var(--on-background);font-family:inherit;font-size:.9rem;padding:.5rem;width:100%}.review-pagination{align-items:center;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.review-pagination button{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-background);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.review-pagination button:hover:not(:disabled){border-color:#000;border-color:var(--primary);color:#000;color:var(--primary)}.review-pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#333;color:var(--secondary);font-size:.9rem}.loading-indicator{color:#000;color:var(--primary);font-style:italic}.library-page{margin:0 auto;max-width:1200px;padding:2rem}.library-header{margin-bottom:2rem;text-align:center}.library-header h1{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:.5rem}.library-header p{color:#333;color:var(--secondary);margin-bottom:1rem}.browse-link{background:#000;background:var(--primary);color:#fff;color:var(--on-primary);display:inline-block;font-size:.8rem;letter-spacing:.1em;padding:.75rem 1.5rem;text-decoration:none;text-transform:uppercase}.library-tabs{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;gap:0;justify-content:center;margin-bottom:2rem}.library-tabs .tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#333;color:var(--secondary);cursor:pointer;font-size:.9rem;padding:1rem 2rem;transition:all .2s ease;transition:var(--transition)}.library-tabs .tab-btn.active,.library-tabs .tab-btn:hover{color:#000;color:var(--on-surface)}.library-tabs .tab-btn.active{border-bottom-color:#000;border-bottom-color:var(--primary);font-weight:500}.rating-date{color:#333;color:var(--secondary);font-size:.8rem;margin:.75rem 0}.view-flavor-link{color:#000;color:var(--primary);display:inline-block;font-size:.85rem;margin-top:.5rem;text-decoration:none}.view-flavor-link:hover{text-decoration:underline}.library-card .review-title{color:#333;color:var(--secondary);font-size:.9rem;font-style:italic;margin:.75rem 0}.library-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.library-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);padding:1.5rem}.library-card h3{font-family:Cinzel,serif;font-family:var(--font-title);margin:0 0 .25rem}.library-card .brand-name{color:#333;color:var(--secondary);margin-bottom:1rem}.community-rating,.my-rating{align-items:center;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:.5rem}.community-rating .label,.my-rating .label{color:#333;color:var(--secondary);min-width:80px}.rating-value{color:#333;color:var(--secondary);font-size:.8rem}.no-rating{margin-bottom:.5rem}.no-rating,.notes{color:#333;color:var(--secondary);font-size:.9rem}.notes{background:#fff;background:var(--background);border-left:2px solid #e0e0e0;border-left:2px solid var(--border-color);margin:1rem 0;padding:.75rem}.purchase-info{color:#333;color:var(--secondary);display:flex;font-size:.85rem;gap:1rem;margin-bottom:1rem}.card-actions{display:flex;gap:.5rem;margin-top:1rem}.card-actions button{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;flex:1 1;font-size:.75rem;letter-spacing:.05em;padding:.5rem;text-transform:uppercase}.card-actions button:hover{border-color:#000;border-color:var(--primary)}.card-actions .remove-btn:hover{border-color:red;border-color:var(--error);color:red;color:var(--error)}.restock-reminders-alert{background:linear-gradient(135deg,#fb923c1a,#ea580c1a);border:1px solid #f97316;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.restock-reminders-alert .alert-header{align-items:center;color:#f97316;display:flex;font-weight:600;gap:.5rem;margin-bottom:.75rem}.restock-reminders-alert .alert-header .material-icons{font-size:1.25rem}.reminders-list{display:flex;flex-wrap:wrap;gap:.5rem}.reminder-item{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#000;color:var(--on-surface);display:flex;gap:.75rem;padding:.5rem .75rem;text-decoration:none;transition:all .2s}.reminder-item:hover{border-color:#f97316;transform:translateY(-1px)}.reminder-item.overdue{background:#ef44441a;border-color:#ef4444}.reminder-item.today{background:#f973161a;border-color:#f97316}.reminder-name{font-size:.9rem}.reminder-date{background:var(--surface-container);border-radius:4px;color:#333;color:var(--secondary);font-size:.75rem;padding:.15rem .4rem}.reminder-item.overdue .reminder-date{background:#ef4444;color:#fff}.reminder-item.today .reminder-date{background:#f97316;color:#fff}.bulk-action-bar{align-items:center;background:#fff;background:var(--surface);border:1px solid #000;border:1px solid var(--primary);display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.bulk-action-bar .selected-count{color:#000;color:var(--primary);font-weight:600;margin-right:auto}.bulk-action-bar .bulk-btn{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;font-size:.8rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s}.bulk-action-bar .bulk-btn:hover{background:#fff;background:var(--background);border-color:#000;border-color:var(--primary)}.bulk-action-bar .bulk-btn.danger{border-color:red;border-color:var(--error);color:red;color:var(--error)}.bulk-action-bar .bulk-btn.danger:hover{background:red;background:var(--error);color:#fff}.bulk-action-bar .bulk-btn.cancel{color:#333;color:var(--secondary)}.bulk-action-bar .bulk-btn:disabled{cursor:not-allowed;opacity:.5}.bulk-select-hint{margin-bottom:1rem;text-align:right}.bulk-select-hint .select-all-link{background:none;border:none;color:#333;color:var(--secondary);cursor:pointer;font-size:.85rem;padding:0;text-decoration:underline}.bulk-select-hint .select-all-link:hover{color:#000;color:var(--primary)}.bulk-checkbox{cursor:pointer;left:.75rem;position:absolute;top:.75rem;z-index:2}.bulk-checkbox input{display:none}.bulk-checkbox .checkbox-custom{background:#fff;background:var(--surface);border:2px solid #e0e0e0;border:2px solid var(--border-color);display:block;height:20px;transition:all .2s;width:20px}.bulk-checkbox:hover .checkbox-custom{border-color:#000;border-color:var(--primary)}.bulk-checkbox input:checked+.checkbox-custom{background:#000;background:var(--primary);border-color:#000;border-color:var(--primary)}.bulk-checkbox input:checked+.checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.device-log-card,.library-card{position:relative}.device-log-card.selected,.library-card.selected{background:#ff6b350d;border-color:#000;border-color:var(--primary)}.edit-form{display:flex;flex-direction:column;gap:1rem}.edit-form .form-group,.edit-form h3{margin-bottom:0}.edit-form label{color:#333;color:var(--secondary);display:block;font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.edit-form input,.edit-form textarea{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;color:#000;color:var(--on-background);font-family:inherit;font-size:.9rem;padding:.5rem;width:100%}.form-row .form-group{flex:1 1}.device-log-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.device-log-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.device-log-card .flavor-link{color:inherit;display:block;margin-bottom:1rem;text-decoration:none}.device-log-card .flavor-name{font-size:1.1rem;margin-bottom:.25rem}.device-log-card .brand-name{color:#333;color:var(--secondary);font-size:.85rem}.log-details{display:flex;gap:1rem;margin-bottom:1rem}.log-stat{background:var(--surface-container);border-radius:8px;flex:1 1;padding:.75rem 1rem;text-align:center}.log-stat .stat-value{color:#000;color:var(--primary);display:block;font-size:1.25rem;font-weight:700}.log-stat .stat-label{color:#333;color:var(--secondary);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.log-issues{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.issue-tag{background:#ef44441a;border-radius:12px;color:#ef4444;font-size:.75rem;padding:.25rem .75rem}.log-notes{font-size:.9rem;font-style:italic}.log-dates,.log-notes{color:#333;color:var(--secondary);margin-bottom:1rem}.log-dates{display:flex;font-size:.75rem;gap:1rem}.add-log-btn{background:#000;background:var(--primary);border:none;border-radius:8px;color:#fff;color:var(--on-primary);cursor:pointer;display:inline-block;font-size:.9rem;margin-top:1rem;padding:.75rem 1.5rem}.device-log-modal{background:#fff;background:var(--surface);border-radius:16px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.device-log-modal h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1.5rem}.device-log-modal .form-group{margin-bottom:1rem}.device-log-modal label{color:#333;color:var(--secondary);display:block;font-size:.8rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.device-log-modal input,.device-log-modal select,.device-log-modal textarea{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#000;color:var(--on-background);font-size:1rem;padding:.75rem;width:100%}.device-log-modal textarea{min-height:80px;resize:vertical}.value-rating-buttons{display:flex;gap:.5rem}.value-btn{background:#fff;background:var(--surface);border:2px solid #e0e0e0;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .2s ease;transition:var(--transition)}.value-btn.active,.value-btn:hover{border-color:#000;border-color:var(--primary)}.value-btn.active{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.rating-hint{color:#333;color:var(--secondary);display:block;font-size:.75rem;margin-top:.5rem}.issue-checkboxes{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.issue-checkbox{align-items:center;background:var(--surface-container);border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem}.issue-checkbox input{width:auto}.modal-actions .save-btn{background:#000;background:var(--primary);border:none;border-radius:8px;color:#fff;color:var(--on-primary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem}.modal-actions .cancel-btn{background:var(--surface-container);border:none;border-radius:8px;color:#000;color:var(--on-surface);cursor:pointer;padding:.75rem 1.5rem}.admin-page{margin:0 auto;max-width:1000px;padding:2rem}.admin-page h1{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1.5rem}.admin-tabs{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;gap:0;margin-bottom:2rem}.admin-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#333;color:var(--secondary);cursor:pointer;font-size:.85rem;letter-spacing:.1em;padding:1rem 1.5rem;text-transform:uppercase}.admin-tabs button.active{border-bottom-color:#000;border-bottom-color:var(--primary);color:#000;color:var(--primary)}.brands-section h2,.bulk-section h2,.pending-section h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1rem}.no-pending{color:#333;color:var(--secondary);padding:2rem;text-align:center}.pending-list{display:flex;flex-direction:column;gap:1rem}.pending-card{align-items:flex-start;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);display:flex;gap:2rem;justify-content:space-between;padding:1.5rem}.pending-info h3{margin:0 0 .25rem}.pending-info .brand{color:#333;color:var(--secondary);margin-bottom:.5rem}.pending-info .description{font-size:.9rem;margin-bottom:.5rem}.pending-info .submitted-by{color:#333;color:var(--secondary);font-size:.8rem}.pending-actions{display:flex;flex-direction:column;gap:.5rem}.approve-btn,.reject-btn{border:none;cursor:pointer;font-size:.8rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.approve-btn{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.reject-btn{background:#0000;border:1px solid red;border:1px solid var(--error);color:red;color:var(--error)}.admin-form{max-width:500px}.admin-form .form-group{margin-bottom:1rem}.admin-form label{color:#333;color:var(--secondary);display:block;font-size:.8rem;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.admin-form input,.admin-form select,.admin-form textarea{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;color:#000;color:var(--on-background);font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.admin-form button{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.85rem;letter-spacing:.1em;padding:.75rem 1.5rem;text-transform:uppercase}.brand-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.brand-tag{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);font-size:.85rem;padding:.5rem 1rem}.affiliates-section h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:.5rem}.affiliates-section>p{color:#333;color:var(--secondary);margin-bottom:1.5rem}.affiliate-list{display:flex;flex-direction:column;gap:1rem}.affiliate-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);padding:1.25rem}.affiliate-info h3{font-size:1rem;margin:0 0 .5rem}.affiliate-url{font-size:.9rem;margin:0 0 .75rem}.affiliate-url a{color:#000;color:var(--primary);text-decoration:none;word-break:break-all}.affiliate-url a:hover{text-decoration:underline}.no-affiliate{color:#333;color:var(--secondary);font-style:italic}.edit-affiliate-btn{background:#0000;border:1px solid #000;border:1px solid var(--primary);color:#000;color:var(--primary);cursor:pointer;font-size:.8rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.edit-affiliate-btn:hover{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.affiliate-edit-form{display:flex;flex-direction:column;gap:.75rem}.affiliate-edit-form input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-sizing:border-box;color:#000;color:var(--on-background);font-family:inherit;font-size:.9rem;padding:.75rem;width:100%}.affiliate-actions{display:flex;gap:.5rem}.affiliate-actions button{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;flex:1 1;font-size:.8rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.affiliate-actions button:first-child{background:#000;background:var(--primary);border-color:#000;border-color:var(--primary);color:#fff;color:var(--on-primary)}.error-page{padding:3rem;text-align:center}.error-page h1{font-family:Cinzel,serif;font-family:var(--font-title)}.error-page a{color:#000;color:var(--primary)}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;background-color:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 20px #0000004d;max-width:500px;padding:2rem;width:90%}.modal-content h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:.5rem;margin-top:0}.modal-content>p{color:#333;color:var(--secondary);font-size:.9rem;margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{border:1px solid #000;border:1px solid var(--primary);cursor:pointer;font-size:.85rem;letter-spacing:.1em;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.modal-actions button[type=button]{background:#0000;color:#000;color:var(--primary)}.modal-actions button[type=submit]{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.modal-actions button:hover{opacity:.8}.image-preview{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;margin-top:.5rem;max-width:200px;overflow:hidden}.image-preview img{display:block;height:auto;width:100%}.modal-actions button:disabled{cursor:not-allowed;opacity:.5}.profile-checkboxes{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.profile-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem;transition:background-color .2s}.profile-checkbox:hover{background-color:#ffffff0d}.profile-checkbox input[type=checkbox]{accent-color:#000;accent-color:var(--primary);cursor:pointer;height:18px;width:18px}.suggest-link{background:none;border:none;color:#000;color:var(--primary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.suggest-flavor-cta{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);margin-top:2rem;padding:2rem;text-align:center}.suggest-flavor-cta p{color:#333;color:var(--secondary);margin-bottom:1rem}.suggest-flavor-cta .btn{display:inline-block}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;z-index:9999}.toast{align-items:center;animation:slideIn .3s ease;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;gap:12px;max-width:400px;min-width:280px;padding:14px 20px}.toast:hover{opacity:.9}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;font-size:1.1rem;font-weight:700;height:24px;justify-content:center;width:24px}.toast-success .toast-icon{background:#10b981;color:#fff}.toast-error .toast-icon{background:#ef4444;color:#fff}.toast-info .toast-icon{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.toast-message{color:#000;color:var(--on-surface);flex:1 1;font-size:.9rem}.about-page{margin:0 auto;max-width:900px;padding:2rem}.about-hero{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding:3rem 0;text-align:center}.about-hero h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2.5rem;margin-bottom:.5rem}.about-hero .tagline{color:#333;color:var(--secondary);font-size:1.1rem}.about-section{margin-bottom:3rem}.about-section h2{font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.5rem;margin-bottom:1rem}.about-section p{color:#333;color:var(--secondary);line-height:1.8}.about-section a{color:#000;color:var(--primary)}.features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.5rem}.feature-item{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);padding:1.5rem}.feature-item h3{font-size:1rem;margin-bottom:.5rem}.feature-item p{font-size:.9rem}.contact-email a{color:#000;color:var(--primary);text-decoration:none}.about-cta{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);margin-top:2rem;padding:3rem;text-align:center}.about-cta h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1.5rem}.brands-page{margin:0 auto;max-width:900px;padding:2rem}.brands-header{margin-bottom:2rem;text-align:center}.brands-header h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin-bottom:.5rem}.brands-header p{color:#333;color:var(--secondary)}.brands-list{display:flex;flex-direction:column;gap:1.5rem}.brand-list-card{background:#fff;background:var(--surface);gap:1.5rem;padding:1.5rem}.brand-list-card,.brand-logo-large{border:1px solid #e0e0e0;border:1px solid var(--border-color);display:flex}.brand-logo-large{align-items:center;background:#fff;background:var(--background);flex-shrink:0;height:80px;justify-content:center;width:80px}.brand-logo-large img{max-height:100%;max-width:100%;object-fit:contain}.brand-initial-large{color:#333;color:var(--secondary);font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem}.brand-info{flex:1 1}.brand-info h2{font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.3rem;margin-bottom:.5rem}.brand-info .brand-description{color:#333;color:var(--secondary);font-size:.9rem;line-height:1.6;margin-bottom:1rem}.brand-meta{display:flex;font-size:.85rem;gap:1.5rem;margin-bottom:1rem}.brand-meta .flavor-count{color:#333;color:var(--secondary)}.brand-meta .brand-website{color:#000;color:var(--primary);text-decoration:none}.brand-meta .brand-website:hover{text-decoration:underline}.no-brands{color:#333;color:var(--secondary);padding:3rem;text-align:center}.site-footer{background:#fff;background:var(--surface);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);margin-top:4rem}.footer-content{display:flex;flex-wrap:wrap;gap:3rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:3rem 2rem}.footer-brand{max-width:300px}.footer-logo{color:#000;color:var(--on-surface);display:block;font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.5rem;margin-bottom:.5rem;text-decoration:none}.footer-brand p{color:#333;color:var(--secondary);font-size:.9rem}.footer-links{display:flex;gap:4rem}.footer-column{display:flex;flex-direction:column;gap:.5rem}.footer-column h4{color:#000;color:var(--on-surface);font-size:.85rem;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.footer-column a{color:#333;color:var(--secondary);font-size:.9rem;text-decoration:none;transition:color .2s ease}.footer-column a:hover{color:#000;color:var(--on-surface)}.footer-bottom{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);padding:1.5rem 2rem;text-align:center}.footer-bottom p{color:#333;color:var(--secondary);font-size:.8rem}@media (max-width:600px){.footer-content{flex-direction:column;gap:2rem}.footer-links{gap:2rem}}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e0e0e0 25%,#fff 50%,#e0e0e0 75%);background:linear-gradient(90deg,var(--border-color) 25%,var(--background) 50%,var(--border-color) 75%);background-size:200% 100%}.skeleton-card{pointer-events:none}.skeleton-text{display:flex;flex-direction:column;gap:.5rem}.skeleton-line{margin-bottom:.25rem}.skeleton-title{margin-bottom:.5rem}.skeleton-stars,.skeleton-subtitle{margin-bottom:.75rem}.skeleton-tags{display:flex;gap:.5rem;margin-bottom:1rem}.skeleton-button{margin-top:auto}.skeleton-rating{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.skeleton-actions{display:flex;gap:.5rem;margin-top:1rem}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.suggestion-item{background:#fff;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.suggestion-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.suggestion-name{font-size:1rem;font-weight:600}.suggestion-status{border-radius:12px;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.suggestion-status.status-pending{background:#ffc10733;color:#ffc107}.suggestion-status.status-approved{background:#4caf5033;color:#4caf50}.suggestion-status.status-rejected{background:#f4433633;color:#f44336}.suggestion-meta{color:var(--text-secondary);display:flex;font-size:.85rem;gap:1rem;margin-bottom:.5rem}.suggestion-brand{font-weight:500}.suggestion-profiles{opacity:.8}.suggestion-date{color:var(--text-secondary);font-size:.8rem;opacity:.7}.suggestion-view-link{color:#000;color:var(--primary);display:inline-block;font-size:.85rem;margin-top:.75rem;text-decoration:none}.suggestion-view-link:hover{text-decoration:underline}.skeleton-profiles,.skeleton-votes{display:flex;gap:.5rem}.skeleton-profiles{margin:1rem 0}.skeleton-section-title{margin-bottom:1.5rem}.skeleton-back,.skeleton-rating-large{margin-bottom:1rem}.mobile-menu-toggle{background:none;border:none;color:#fff;color:var(--on-primary);cursor:pointer;display:none;padding:.5rem}.nav-link-text{display:none}@media (max-width:768px){.mobile-menu-toggle{align-items:center;display:flex;justify-content:center}.navbar-links{background:#000;background:var(--primary);border-top:1px solid #ffffff1a;display:none;flex-direction:column;gap:0;left:0;padding:1rem;position:absolute;right:0;top:100%;z-index:1000}.navbar-links.mobile-open{display:flex}.navbar-links .nav-link{border-bottom:1px solid #ffffff1a;gap:1rem;justify-content:flex-start;padding:1rem;width:100%}.navbar-links .nav-link:last-child{border-bottom:none}.nav-link-text{display:inline;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.navbar-content{position:relative}.browse-page{padding:1rem}.browse-header h1{font-size:1.5rem}.filters-section{flex-direction:column;padding:.75rem}.filter-group{width:100%}.search-section{margin-bottom:1rem}.search-input{font-size:16px}.flavor-grid{gap:1rem;grid-template-columns:1fr}.flavor-card,.library-page{padding:1rem}.library-header h1{font-size:1.5rem}.library-grid{gap:1rem;grid-template-columns:1fr}.flavor-detail-page,.library-card{padding:1rem}.flavor-header h1{font-size:1.75rem}.flavor-header-content{align-items:center;flex-direction:column;gap:1.5rem}.flavor-detail-image{height:200px;width:200px}.flavor-header-info{text-align:center;width:100%}.flavor-image-placeholder.large span{font-size:3rem}.flavor-rating-large .star{font-size:1.2rem}.admin-page,.review-card,.review-form{padding:1rem}.admin-tabs{flex-wrap:wrap;gap:0}.admin-tabs button{flex:1 1;font-size:.7rem;min-width:120px;padding:.75rem .5rem}.pending-card{flex-direction:column;gap:1rem}.pending-actions{flex-direction:row;width:100%}.pending-actions button{flex:1 1}.modal-content{margin:1rem;max-height:90vh;overflow-y:auto;padding:1.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.toast-container{bottom:10px;left:20px;right:20px}.toast{max-width:none;min-width:auto}.form-row{flex-direction:column;gap:.75rem}.card-actions{flex-direction:column;gap:.5rem}.card-actions button{width:100%}}@media (max-width:480px){.browse-header h1,.flavor-header h1,.library-header h1{font-size:1.3rem}.flavor-name,.navbar-brand{font-size:1rem}.profile-tag{font-size:.65rem;padding:.2rem .4rem}.add-to-library-btn{font-size:.7rem;padding:.6rem}.pagination button{font-size:.8rem;padding:.4rem .8rem}.pagination span{font-size:.8rem}.reviews-header{align-items:flex-start;flex-direction:column;gap:1rem}.write-review-btn{width:100%}.vote-buttons{flex-wrap:wrap}.review-footer{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:768px) and (orientation:landscape){.flavor-grid,.library-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:481px) and (max-width:768px){.flavor-grid,.library-grid{grid-template-columns:repeat(2,1fr)}}.home-page{min-height:100vh}.home-hero{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-bottom:1px solid #333;padding:4rem 2rem;text-align:center}.hero-content{margin:0 auto;max-width:800px}.hero-content h1{color:#fff;font-family:Playfair Display,Georgia,serif;font-size:3.5rem;font-weight:700;letter-spacing:.3em;margin-bottom:1rem}.hero-tagline{color:#ccc;font-size:1.5rem;font-weight:300;margin-bottom:1rem}.hero-subtitle{color:#888;font-size:1rem;line-height:1.6;margin:0 auto 2rem;max-width:600px}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-cta a{text-decoration:none!important}.btn-large{font-size:1rem;padding:1rem 2.5rem}.hero-cta .btn-secondary{background:#0000;border:2px solid #fff;color:#fff}.hero-cta .btn-secondary:hover{background:#fff;color:#1a1a1a}.stats-bar{background:#242424;border-bottom:1px solid #333;display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;padding:2rem}.stat-item{text-align:center}.stat-number{color:#fff;display:block;font-size:2rem;font-weight:700}.stat-label{color:#888;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}.home-section{margin:0 auto;max-width:1200px;padding:3rem 2rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{color:#fff;font-family:Playfair Display,Georgia,serif;font-size:1.75rem;font-weight:600}.see-all-link{color:#888;font-size:.875rem;text-decoration:none;transition:color .2s}.see-all-link:hover{color:#fff}.home-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.home-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}body.dark-mode .home-card{background:#2a2a2a;border-color:#333}.home-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}body.dark-mode .home-card:hover{border-color:#555;box-shadow:none}.home-card-link{color:inherit;display:block;text-decoration:none}.home-card-link:hover .flavor-name{color:#000;color:var(--primary)}.home-card .flavor-name{color:#000;color:var(--on-surface);font-family:Playfair Display,Georgia,serif;font-size:1.25rem;margin-bottom:.25rem}.home-card .flavor-brand{color:#333;color:var(--secondary);font-size:.875rem;margin-bottom:.75rem}.home-card .flavor-rating{margin-bottom:.25rem}.home-card .rating-text{color:#333;color:var(--secondary);font-size:.875rem;margin-left:.5rem}.home-card .review-count{color:#333;color:var(--secondary);font-size:.75rem}.recent-reviews-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.recent-review-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s}body.dark-mode .recent-review-card{background:#2a2a2a;border-color:#333}.recent-review-card:hover{box-shadow:0 4px 12px #0000001a}body.dark-mode .recent-review-card:hover{border-color:#555;box-shadow:none}.review-card-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.75rem}body.dark-mode .review-card-header{border-bottom-color:#333}.review-card-header h3{color:#000;color:var(--on-surface);font-family:Playfair Display,Georgia,serif;font-size:1.125rem;margin-bottom:.25rem}.review-card-header .brand{color:#333;color:var(--secondary);font-size:.8125rem}.review-snippet{font-size:.875rem}.reviewer-info{display:flex;justify-content:space-between;margin-bottom:.5rem}.reviewer{font-weight:500}.review-time,.reviewer{color:#333;color:var(--secondary)}.review-time{font-size:.75rem}.review-rating{margin-bottom:.5rem}.review-title{color:#333;color:var(--secondary);font-style:italic;margin:0}.brands-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.brand-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:center;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}body.dark-mode .brand-card{background:#2a2a2a;border-color:#333}.brand-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}body.dark-mode .brand-card:hover{border-color:#555;box-shadow:none}.brand-logo{align-items:center;background:#e0e0e0;background:var(--border-color);border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto 1rem;overflow:hidden;width:60px}body.dark-mode .brand-logo{background:#333}.brand-logo img{height:100%;object-fit:cover;width:100%}.brand-initial{color:#000;color:var(--on-surface);font-size:1.5rem;font-weight:700}body.dark-mode .brand-initial{color:#fff}.brand-card h3{color:#000;color:var(--on-surface);font-size:1rem;margin-bottom:.25rem}.brand-card .flavor-count{color:#333;color:var(--secondary);font-size:.75rem}.home-cta-section{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);margin-top:2rem;padding:4rem 2rem;text-align:center}body.dark-mode .home-cta-section{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.cta-content{margin:0 auto;max-width:600px}.cta-content h2{color:#000;color:var(--on-surface);font-family:Playfair Display,Georgia,serif;font-size:1.75rem;margin-bottom:1rem}.cta-content p{color:#333;color:var(--secondary);line-height:1.6;margin-bottom:1.5rem}.cta-content a{text-decoration:none!important}@media (max-width:768px){.hero-content h1{font-size:2.5rem;letter-spacing:.15em}.hero-tagline{font-size:1.125rem}.stats-bar{gap:1.5rem;padding:1.5rem 1rem}.stat-number{font-size:1.5rem}.home-section{padding:2rem 1rem}.home-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.recent-reviews-grid{grid-template-columns:1fr}.brands-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:480px){.hero-content h1{font-size:2rem}.hero-cta{flex-direction:column}.btn-large{width:100%}.brands-grid,.home-grid{grid-template-columns:1fr}}.recommendations-page{margin:0 auto;max-width:1200px;padding:2rem}.recommendations-header{margin-bottom:2rem;text-align:center}.recommendations-header h1{color:#000;color:var(--on-background);font-family:Cinzel,serif;font-family:var(--font-title);font-size:2.5rem;margin-bottom:.5rem}.recommendations-header p{color:#333;color:var(--secondary);font-size:1.1rem}.profile-filter{margin-bottom:2rem}.profile-filter label{color:#000;color:var(--on-background);display:block;font-weight:500;margin-bottom:.75rem}.profile-chips{display:flex;flex-wrap:wrap;gap:.5rem}.profile-chip{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:20px;color:#000;color:var(--on-surface);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.profile-chip.active,.profile-chip:hover{border-color:#000;border-color:var(--primary)}.profile-chip.active{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.recommendations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:3rem}.recommendation-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;text-decoration:none;transition:all .2s ease;transition:var(--transition)}.recommendation-card:hover{border-color:#000;border-color:var(--primary);box-shadow:0 1px 3px #0000001a;box-shadow:var(--card-shadow);transform:translateY(-2px)}.rec-link{color:inherit;text-decoration:none}.rec-link:hover .flavor-name{color:#000;color:var(--primary)}.recommendation-card .flavor-name{color:#000;color:var(--on-surface);font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.2rem;margin:0}.recommendation-card .brand-name{color:#333;color:var(--secondary);font-size:.9rem;margin:0}.recommendation-card .flavor-rating{align-items:center;display:flex;gap:.25rem;margin:.5rem 0}.recommendation-card .rating-text{color:#333;color:var(--secondary);font-size:.9rem;margin-left:.25rem}.flavor-profiles{display:flex;flex-wrap:wrap;gap:.25rem;margin:.25rem 0}.profile-tag{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;font-size:.75rem;padding:.2rem .5rem}.profile-tag,.rec-reason{color:#333;color:var(--secondary)}.rec-reason{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);font-size:.85rem;font-style:italic;margin:.5rem 0 0;padding-top:.5rem}.rating-progress{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem;text-align:center}.progress-bar{background:#e0e0e0;background:var(--border-color);border-radius:4px;height:8px;margin-bottom:.75rem;overflow:hidden}.progress-fill{background:#000;background:var(--primary);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#333;color:var(--secondary);font-size:.9rem;margin:0}.show-more-container{display:flex;justify-content:center;margin-top:1.5rem}.show-more-btn{background:#0000;border:1px solid #000;border:1px solid var(--primary);border-radius:4px;color:#000;color:var(--primary);cursor:pointer;font-size:.9rem;padding:.75rem 2rem;transition:all .2s ease;transition:var(--transition)}.show-more-btn:hover{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.no-recommendations{color:#333;color:var(--secondary);padding:3rem;text-align:center}.no-recommendations a{color:#000;color:var(--primary);text-decoration:underline}.recommendations-cta{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:2rem;text-align:center}.recommendations-cta h2{color:#000;color:var(--on-surface);font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:.5rem}.recommendations-cta p{color:#333;color:var(--secondary);margin-bottom:1.5rem}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.recommendation-card.skeleton{pointer-events:none}.skeleton-title{height:1.5rem;width:80%}.skeleton-subtitle,.skeleton-title{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e0e0e0 25%,#fff 50%,#e0e0e0 75%);background:linear-gradient(90deg,var(--border-color) 25%,var(--surface) 50%,var(--border-color) 75%);background-size:200% 100%;border-radius:4px}.skeleton-subtitle{height:1rem;margin-top:.5rem;width:50%}.skeleton-stars{height:1.25rem;width:60%}.skeleton-reason,.skeleton-stars{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e0e0e0 25%,#fff 50%,#e0e0e0 75%);background:linear-gradient(90deg,var(--border-color) 25%,var(--surface) 50%,var(--border-color) 75%);background-size:200% 100%;border-radius:4px;margin-top:.75rem}.skeleton-reason{height:2rem;width:100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.recommendations-page{padding:1rem}.recommendations-header h1{font-size:1.75rem}.recommendations-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.recommendation-card{padding:1rem}.recommendation-card .flavor-name{font-size:1rem}}@media (max-width:480px){.recommendations-grid{grid-template-columns:1fr}.profile-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}.profile-chip{flex-shrink:0}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}}.shop-owner-page{margin:0 auto;max-width:1000px;padding:2rem}.shop-owner-header{margin-bottom:2rem;text-align:center}.shop-owner-header h1{color:#000;color:var(--on-background);font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin-bottom:.25rem}.shop-owner-header p{color:#333;color:var(--secondary);margin-bottom:.5rem}.verified-badge{background:#10b981}.pending-badge,.verified-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.pending-badge{background:#f59e0b}.shop-owner-tabs{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;gap:0;margin-bottom:2rem}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#333;color:var(--secondary);cursor:pointer;font-size:.9rem;padding:1rem 2rem;transition:all .2s ease;transition:var(--transition)}.tab-btn:hover{color:#000;color:var(--on-background)}.tab-btn.active{border-bottom-color:#000;border-bottom-color:var(--primary);color:#000;color:var(--primary)}.shop-owner-content{min-height:400px}.inventory-section{display:flex;flex-direction:column;gap:2rem}.add-inventory{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.add-inventory h3{color:#000;color:var(--on-surface);margin-bottom:1rem}.add-inventory .search-box input{background:#fff;background:var(--background);color:#000;color:var(--on-background);font-size:1rem;padding:.75rem 1rem;width:100%}.add-inventory .search-box input,.search-results{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px}.search-results{margin-top:.5rem;max-height:200px;overflow-y:auto}.search-result-item{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease;transition:var(--transition)}.search-result-item:hover{background:#fff;background:var(--background)}.search-result-item:last-child{border-bottom:none}.search-result-item .flavor-name{color:#000;color:var(--on-surface);font-weight:500}.search-result-item .brand-name{color:#333;color:var(--secondary);font-size:.9rem}.add-flavor-form{background:#fff;background:var(--background);border-radius:4px;margin-top:1rem;padding:1rem}.add-flavor-form p{color:#000;color:var(--on-background);margin-bottom:.75rem}.add-flavor-form .form-row{align-items:center;display:flex;gap:.5rem}.add-flavor-form input[type=number]{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:#000;color:var(--on-surface);padding:.5rem;width:120px}.inventory-list h3{color:#000;color:var(--on-background);margin-bottom:1rem}.inventory-list .empty-state{color:#333;color:var(--secondary);padding:2rem;text-align:center}.table-wrapper{-webkit-overflow-scrolling:touch;border-radius:8px;overflow-x:auto}.inventory-table{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-collapse:collapse;border-radius:8px;min-width:500px;overflow:hidden;width:100%}.inventory-table td,.inventory-table th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:.75rem 1rem;text-align:left}.inventory-table th{background:#fff;background:var(--background);color:#000;color:var(--on-background);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.inventory-table td{color:#000;color:var(--on-surface)}.inventory-table tr:last-child td{border-bottom:none}.inventory-table tr.out-of-stock{opacity:.6}.inventory-table a{color:#000;color:var(--primary);text-decoration:none}.inventory-table a:hover{text-decoration:underline}.edit-price-input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:#000;color:var(--on-background);padding:.4rem;width:80px}.stock-status{border-radius:4px;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.stock-status.in-stock{background:#10b98133;color:#10b981}.stock-status.out-of-stock{background:#ef444433;color:#ef4444}.btn-small{background:#000;background:var(--primary);border:none;border-radius:4px;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.8rem;margin-right:.25rem;padding:.4rem .75rem;transition:all .2s ease;transition:var(--transition)}.btn-small:hover{opacity:.9}.btn-small.btn-cancel{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface)}.btn-small.btn-danger{background:#ef4444;color:#fff}.settings-section h3{color:#000;color:var(--on-background);margin-bottom:1.5rem}.settings-form{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.settings-form .form-group{margin-bottom:1rem}.settings-form label{color:#000;color:var(--on-surface);display:block;font-weight:500;margin-bottom:.5rem}.settings-form input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:#000;color:var(--on-background);padding:.75rem 1rem;width:100%}.settings-form .form-row{display:flex;gap:1rem}.settings-form .form-row .form-group{flex:1 1}.availability-section{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin:2rem 0;padding:1.5rem}.availability-section h2{color:#000;color:var(--on-surface);font-size:1.25rem;margin-bottom:1rem}.availability-section .loading-text,.availability-section .no-availability{color:#333;color:var(--secondary);padding:1rem;text-align:center}.availability-list{display:flex;flex-direction:column;gap:1rem}.availability-card{grid-gap:1rem;align-items:center;background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;display:grid;gap:1rem;grid-template-columns:1fr auto auto;padding:1rem}.availability-card.out-of-stock{opacity:.6}.shop-info{display:flex;flex-direction:column;gap:.25rem}.shop-name-row{align-items:center;display:flex;gap:.5rem}.shop-info .shop-name{color:#000;color:var(--on-background);font-weight:600}.shop-info .verified-badge{font-size:.65rem;padding:.15rem .4rem}.shop-info .shop-location{color:#333;color:var(--secondary);font-size:.85rem}.availability-details{align-items:center;display:flex;gap:1rem}.shop-price{color:#000;color:var(--primary);font-size:1.1rem;font-weight:700}.shop-contact{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.shop-contact a{color:#000;color:var(--primary);font-size:.85rem;text-decoration:none}.shop-contact a:hover{text-decoration:underline}.last-updated{color:#333;color:var(--secondary);font-size:.75rem;grid-column:1/-1;opacity:.7;text-align:right}.shops-section h2{margin-bottom:.5rem}.shops-section>p{margin-bottom:1.5rem}.no-shops,.shops-section>p{color:#333;color:var(--secondary)}.no-shops{padding:2rem;text-align:center}.shop-claims-list{display:flex;flex-direction:column;gap:1rem}.shop-claim-card{align-items:flex-start;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem}.shop-claim-card.verified{border-color:#10b981}.shop-claim-info h3{align-items:center;color:#000;color:var(--on-surface);display:flex;gap:.5rem;margin-bottom:.25rem}.shop-claim-info .shop-location{color:#333;color:var(--secondary);font-size:.9rem;margin-bottom:.25rem}.shop-claim-info .shop-owner{color:#333;color:var(--secondary);font-size:.85rem}.shop-claim-info .no-owner{color:#333;color:var(--secondary);font-style:italic}.shop-claim-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.verify-btn{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.verify-btn:hover{background:#059669}.assign-btn{background:#000;background:var(--primary);border:none;border-radius:4px;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.assign-btn:hover{opacity:.9}.assign-owner-form{align-items:center;display:flex;gap:.5rem}.assign-owner-form input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:#000;color:var(--on-background);padding:.4rem .75rem;width:150px}.assign-owner-form button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .75rem}.assign-owner-form button:first-of-type{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.assign-owner-form button:last-of-type{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface)}@media (max-width:768px){.shop-owner-page{padding:1rem}.shop-owner-tabs{flex-wrap:wrap}.tab-btn{flex:1 1;font-size:.8rem;min-width:100px;padding:.75rem .5rem}.table-wrapper{margin:0 -.5rem;padding:0 .5rem}.settings-form .form-row{flex-direction:column;gap:0}.availability-card{gap:.75rem;grid-template-columns:1fr}.availability-details{justify-content:space-between}.shop-contact{align-items:flex-start;flex-direction:row;gap:1rem}.last-updated{text-align:left}.shop-claim-card{flex-direction:column}.shop-claim-actions{align-items:flex-start;width:100%}.shop-claim-actions button{width:100%}.assign-owner-form{flex-wrap:wrap;width:100%}.assign-owner-form input{flex:1 1;width:auto}}.form-row{align-items:flex-end;display:flex;gap:1rem}.form-row input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-background);flex:1 1;font-size:.9rem;padding:.75rem}.form-row button{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.form-row button:hover{opacity:.9}.brand-management-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.brand-management-card{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;padding:1rem}.brand-management-info h3{color:#000;color:var(--on-surface);font-size:1rem;margin:0 0 .25rem}.brand-management-info .brand-website{color:#333;color:var(--secondary);font-size:.85rem;text-decoration:none}.brand-management-info .brand-website:hover{text-decoration:underline}.brand-management-actions{display:flex;gap:.5rem}.edit-btn{background:#000;background:var(--primary);border:none;border-radius:4px;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.edit-btn:hover{opacity:.9}.delete-btn{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.delete-btn:hover{background:#dc2626}.save-btn{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.85rem;padding:.75rem 1.5rem;transition:all .2s ease;transition:var(--transition)}.save-btn:hover{opacity:.9}.save-btn:disabled{cursor:not-allowed;opacity:.5}.cancel-btn{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--primary);cursor:pointer;font-size:.85rem;padding:.75rem 1.5rem;transition:all .2s ease;transition:var(--transition)}.cancel-btn:hover{background:#fff;background:var(--surface)}.flavors-section{margin-top:1.5rem}.flavor-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.flavor-search{flex:1 1;min-width:200px}.flavor-brand-filter,.flavor-search{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-background);font-size:.9rem;padding:.75rem}.flavor-brand-filter{min-width:150px}.add-flavor-btn{background:#000;background:var(--primary);border:none;color:#fff;color:var(--on-primary);cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.add-flavor-btn:hover{opacity:.9}.flavor-management-list{display:flex;flex-direction:column;gap:.75rem}.flavor-management-card{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;padding:1rem}.flavor-management-info h3{color:#000;color:var(--on-surface);font-size:1rem;margin:0 0 .25rem}.flavor-management-info .flavor-brand{color:#333;color:var(--secondary);font-size:.85rem;margin-bottom:.25rem}.flavor-management-info .flavor-profiles{display:flex;flex-wrap:wrap;gap:.5rem}.flavor-management-info .profile-tag{background:#e0e0e0;background:var(--border-color);border-radius:2px;color:#000;color:var(--on-surface);font-size:.75rem;padding:.2rem .5rem}.flavor-management-actions{display:flex;gap:.5rem}.no-flavors{color:#333;color:var(--secondary);font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.form-row{align-items:stretch;flex-direction:column}.form-row button{width:100%}.brand-management-card,.flavor-management-card{align-items:flex-start;flex-direction:column;gap:1rem}.brand-management-actions,.flavor-management-actions{width:100%}.brand-management-actions button,.flavor-management-actions button{flex:1 1}.flavor-filters{flex-direction:column}.add-flavor-btn,.flavor-brand-filter,.flavor-search{width:100%}}.catalog-section{display:flex;flex-direction:column;gap:2rem}.catalog-brands,.catalog-flavors{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;padding:1.5rem}.catalog-brands h3,.catalog-flavors h3{color:#000;color:var(--on-surface);margin-bottom:1rem;margin-top:0}.catalog-header,.shops-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.catalog-header h2,.shops-header h2{margin:0}.add-brand-btn,.add-shop-btn{background:#000;border:none;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.add-brand-btn:hover,.add-shop-btn:hover{background:#333}.add-brand-inline{align-items:center;display:flex;gap:.5rem}.add-brand-inline input{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;padding:.5rem .75rem}.add-brand-inline input:focus{border-color:#000;outline:none}.add-brand-inline button{background:#000;border:none;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.add-brand-inline button:hover{background:#333}body.dark-mode .add-brand-inline input{background:#2a2a2a;border-color:#444;color:#fff}body.dark-mode .add-brand-inline input:focus{border-color:#888}body.dark-mode .add-brand-inline button{background:#444}body.dark-mode .add-brand-inline button:hover{background:#555}.brand-accordion-list{display:flex;flex-direction:column;gap:.5rem}.brand-accordion{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.brand-accordion.expanded{border-color:#000}.brand-accordion-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:background-color .15s}.brand-accordion-header:hover{background:#00000008}.brand-accordion-info{align-items:center;display:flex;gap:.75rem}.brand-accordion-info h3{font-size:1rem;font-weight:600;margin:0}.expand-icon{color:#666;font-size:.75rem;width:1rem}.flavor-count-badge{background:#f0f0f0;border-radius:12px;color:#666;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.brand-accordion-actions{display:flex;gap:.5rem}.brand-accordion-actions .delete-btn,.brand-accordion-actions .edit-btn{background:#fff;border:1px solid #ddd;cursor:pointer;font-size:.8rem;padding:.4rem .75rem;transition:all .15s}.brand-accordion-actions .edit-btn:hover{background:#f5f5f5}.brand-accordion-actions .delete-btn{border-color:#dc3545;color:#dc3545}.brand-accordion-actions .delete-btn:hover{background:#dc3545;color:#fff}.brand-accordion.hidden-brand{background:#f8f8f8;opacity:.6}body.dark-mode .brand-accordion.hidden-brand{background:#1a1a1a}.hidden-badge{background:#6c757d;border-radius:12px;color:#fff;font-size:.7rem;font-weight:500;margin-left:8px;padding:2px 8px}.brand-accordion-actions .visibility-btn{background:#0000;border:1px solid;border-radius:4px;cursor:pointer;font-size:.85rem;padding:4px 10px;transition:all .2s}.brand-accordion-actions .visibility-btn.hide-btn{border-color:#ffc107;color:#ffc107}.brand-accordion-actions .visibility-btn.hide-btn:hover{background:#ffc107;color:#000}.brand-accordion-actions .visibility-btn.show-btn{border-color:#28a745;color:#28a745}.brand-accordion-actions .visibility-btn.show-btn:hover{background:#28a745;color:#fff}.brand-accordion-content{background:#fff;background:var(--surface);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);padding:1rem 1.25rem}body.dark-mode .brand-accordion-content{background:#1a1a1a}body.dark-mode .flavor-list-header span{color:#aaa}body.dark-mode .flavor-list-item{background:#2a2a2a;border-color:#444}body.dark-mode .flavor-item-info .flavor-name{color:#fff}body.dark-mode .flavor-item-info .flavor-profiles{color:#aaa}body.dark-mode .delete-btn-sm,body.dark-mode .edit-btn-sm{background:#333;border-color:#555;color:#fff}body.dark-mode .delete-btn-sm{border-color:#ff6b6b;color:#ff6b6b}body.dark-mode .brand-accordion-actions .delete-btn,body.dark-mode .brand-accordion-actions .edit-btn{background:#333;border-color:#555;color:#fff}body.dark-mode .brand-accordion-actions .delete-btn{border-color:#ff6b6b;color:#ff6b6b}body.dark-mode .flavor-count-badge{background:#444;color:#ccc}.flavor-list-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.flavor-list-header span{color:#666;font-weight:500}.flavor-list-header .add-flavor-btn{background:#000;border:none;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem}.loading-flavors,.no-flavors{color:#888;font-style:italic;padding:1rem 0}.flavor-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.flavor-list-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem 1rem}.flavor-item-info{display:flex;flex-direction:column;gap:.25rem}.flavor-item-info .flavor-name{font-weight:500}.flavor-item-info .flavor-profiles{color:#888;font-size:.8rem}.flavor-item-actions{display:flex;gap:.5rem}.delete-btn-sm,.edit-btn-sm{background:#fff;border:1px solid #ddd;cursor:pointer;font-size:.75rem;padding:.35rem .6rem;transition:all .15s}.edit-btn-sm:hover{background:#f5f5f5}.delete-btn-sm{border-color:#dc3545;color:#dc3545}.delete-btn-sm:hover{background:#dc3545;color:#fff}.shop-list{display:flex;flex-direction:column;gap:1rem}.shop-card{align-items:flex-start;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem}.shop-card.verified{border-left:3px solid #4caf50}.shop-card-info h3{align-items:center;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 .5rem}.shop-card-info .verified-badge{background:#4caf5026;border-radius:4px;color:#4caf50;font-size:.7rem;font-weight:500;padding:.2rem .5rem}.shop-card-info .shop-location{color:#666;font-size:.9rem;margin:0 0 .25rem}.shop-card-info .shop-owner{color:#888;font-size:.85rem;margin:0}.shop-card-info .no-owner{color:#999;font-style:italic}.shop-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.shop-card-actions .verify-btn{background:#4caf50}.shop-card-actions .assign-btn,.shop-card-actions .verify-btn{border:none;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.shop-card-actions .assign-btn{background:#2196f3}.shop-card-actions .delete-btn{background:#0000;border:1px solid #dc3545;color:#dc3545;cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.shop-card-actions .delete-btn:hover{background:#dc3545;color:#fff}.assign-form{align-items:center;display:flex;gap:.5rem}.assign-form input{border:1px solid #ddd;font-size:.85rem;padding:.4rem .75rem;width:150px}.assign-form button{border:none;cursor:pointer;font-size:.85rem;padding:.4rem .75rem}.assign-form button:first-of-type{background:#4caf50;color:#fff}.assign-form button:last-of-type{background:#eee;color:#333}@media (max-width:768px){.catalog-header,.shops-header{align-items:flex-start;flex-direction:column;gap:1rem}.add-brand-btn,.add-shop-btn{width:100%}.brand-accordion-header{align-items:flex-start;flex-direction:column;gap:.75rem}.brand-accordion-actions{width:100%}.brand-accordion-actions button{flex:1 1}.flavor-list-header{align-items:flex-start;flex-direction:column;gap:.75rem}.flavor-list-header .add-flavor-btn{width:100%}.flavor-list-item{align-items:flex-start;flex-direction:column;gap:.75rem}.flavor-item-actions{width:100%}.flavor-item-actions button{flex:1 1}.shop-card{flex-direction:column}.shop-card-actions{width:100%}.shop-card-actions button{flex:1 1}.assign-form{flex-wrap:wrap;width:100%}.assign-form input{width:100%}}.profile-page{margin:0 auto;max-width:1200px;padding:2rem}.profile-header{align-items:flex-start;border-bottom:1px solid var(--surface-variant);display:flex;gap:2rem;margin-bottom:2rem;padding-bottom:2rem}.profile-avatar{align-items:center;background:#000;background:var(--primary);border-radius:50%;display:flex;flex-shrink:0;height:100px;justify-content:center;width:100px}.profile-avatar span{color:#fff;color:var(--on-primary);font-size:2.5rem;font-weight:700}.profile-info h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin:0 0 .5rem}.own-profile-badge{background:#000;background:var(--primary);border-radius:20px;color:#fff;color:var(--on-primary);display:inline-block;font-size:.75rem;margin-left:.75rem;padding:.25rem .75rem;vertical-align:middle}.member-since{color:#333;color:var(--secondary);margin:.5rem 0}.favorite-profiles{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.favorite-profiles .label{color:#333;color:var(--secondary);font-size:.85rem}.profile-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.stat-card{background:var(--surface-container);border-radius:12px;padding:1.5rem;text-align:center}.stat-value{color:#000;color:var(--primary);display:block;font-size:2rem;font-weight:700}.stat-label{color:#333;color:var(--secondary);display:block;font-size:.85rem;margin-top:.25rem}.badges-section{margin-bottom:2rem}.badges-section h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1rem}.badges-grid{display:flex;flex-wrap:wrap;gap:1rem}.badge-card{align-items:center;background:var(--surface-container);border-radius:12px;display:flex;flex-direction:column;min-width:120px;padding:1rem 1.5rem;text-align:center}.badge-icon{font-size:2rem;margin-bottom:.5rem}.badge-name{font-size:.85rem;font-weight:600}.badge-date{color:#333;color:var(--secondary);font-size:.7rem;margin-top:.25rem}.profile-content-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.leaderboard-section h2,.recent-reviews-section h2{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1rem}.reviews-list .review-item{background:var(--surface-container);border-radius:8px;margin-bottom:.75rem;padding:1rem}.review-flavor-link{color:inherit;display:block;margin-bottom:.5rem;text-decoration:none}.review-flavor-link:hover{color:#000;color:var(--primary)}.review-brand{color:#333;color:var(--secondary);display:block;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.review-flavor{font-weight:600}.review-item .review-rating{margin-bottom:.5rem}.review-item .review-title{color:#000;color:var(--on-surface);font-size:.9rem;margin:.5rem 0}.review-meta{color:#333;color:var(--secondary);display:flex;font-size:.75rem;gap:1rem}.review-upvotes{color:#000;color:var(--primary)}.leaderboard-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.leaderboard-tabs button{background:var(--surface-container);border:none;border-radius:6px;color:#000;color:var(--on-surface);cursor:pointer;flex:1 1;font-size:.8rem;padding:.5rem 1rem}.leaderboard-tabs button.active{background:#000;background:var(--primary);color:#fff;color:var(--on-primary)}.leaderboard-list{background:var(--surface-container);border-radius:12px;overflow:hidden}.leaderboard-item{align-items:center;border-bottom:1px solid var(--surface-variant);display:flex;gap:1rem;padding:.75rem 1rem}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item.highlighted{background:#7c3aed1a}.leaderboard-item .rank{color:#333;color:var(--secondary);font-weight:700;width:30px}.leaderboard-item .leader-name{color:#000;color:var(--on-surface);flex:1 1;text-decoration:none}.leaderboard-item .leader-name:hover{color:#000;color:var(--primary)}.leaderboard-item .leader-score{color:#333;color:var(--secondary);font-size:.85rem}.no-reviews{color:#333;color:var(--secondary);padding:2rem;text-align:center}.error-container,.loading-container{padding:4rem 2rem;text-align:center}.error-container h1{font-family:Cinzel,serif;font-family:var(--font-title);margin-bottom:1rem}.error-container p{color:#333;color:var(--secondary);margin-bottom:2rem}.loading-spinner{animation:spin 1s linear infinite;border-top-color:#000;border:4px solid var(--surface-variant);border-radius:50%;border-top-color:var(--primary);height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.compare-page{margin:0 auto;max-width:1200px;padding:2rem}.compare-header{margin-bottom:2rem;text-align:center}.compare-header h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin-bottom:.5rem}.compare-header p{color:#333;color:var(--secondary)}.compare-slots{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.compare-slot{background:#fff;background:var(--surface);border:2px dashed #e0e0e0;border:2px dashed var(--border-color);border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:1.5rem;position:relative;text-align:center}.compare-slot.filled{border-style:solid}.compare-slot.empty{background:var(--surface-container)}.remove-compare{align-items:center;background:red;background:var(--error);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;line-height:1;position:absolute;right:.5rem;top:.5rem;width:28px}.compare-flavor-link{color:inherit;text-decoration:none}.compare-image{border-radius:12px;height:100px;margin:0 auto 1rem;overflow:hidden;width:100px}.compare-image img{height:100%;object-fit:cover;width:100%}.compare-image-placeholder{align-items:center;background:linear-gradient(135deg,#000,#333);background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;font-size:2rem;font-weight:700;height:100%;justify-content:center;width:100%}.compare-slot h3{font-size:1rem;margin-bottom:.25rem}.compare-brand{color:#333;color:var(--secondary);font-size:.85rem}.add-compare-btn{align-items:center;background:none;border:none;color:#000;color:var(--primary);cursor:pointer;display:flex;flex-direction:column;font-size:1rem;gap:.5rem;padding:1rem}.add-compare-btn .add-icon{font-size:2.5rem;font-weight:300}.empty-slot-placeholder{color:#333;color:var(--secondary)}.empty-slot-placeholder .slot-number{font-size:2rem;opacity:.3}.compare-search-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.compare-search-modal{background:#fff;background:var(--surface);border-radius:16px;max-width:400px;padding:2rem;width:90%}.compare-search-modal h3{margin-bottom:1rem}.compare-search-modal input{background:#fff;background:var(--background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#000;color:var(--on-background);font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;width:100%}.compare-search-modal .searching{color:#333;color:var(--secondary);text-align:center}.compare-search-modal .search-results{max-height:300px;overflow-y:auto}.search-result-item{align-items:center;background:var(--surface-container);border:none;border-radius:8px;cursor:pointer;display:flex;gap:1rem;margin-bottom:.5rem;padding:.75rem;text-align:left;width:100%}.search-result-item:hover{background:var(--surface-variant)}.search-result-item .result-image{align-items:center;background:#000;background:var(--primary);border-radius:8px;color:#fff;display:flex;font-weight:600;height:40px;justify-content:center;overflow:hidden;width:40px}.search-result-item .result-image img{height:100%;object-fit:cover;width:100%}.search-result-item .result-info{display:flex;flex-direction:column}.search-result-item .result-name{color:#000;color:var(--on-surface);font-weight:500}.search-result-item .result-brand{color:#333;color:var(--secondary);font-size:.8rem}.close-search{background:var(--surface-variant);border:none;border-radius:8px;color:#000;color:var(--on-surface);cursor:pointer;margin-top:1rem;padding:.75rem;width:100%}.compare-table{background:#fff;background:var(--surface);border-radius:12px;overflow:hidden}.compare-row{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:150px repeat(3,1fr)}.compare-row:last-child{border-bottom:none}.compare-label{background:var(--surface-container);color:#333;color:var(--secondary);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.compare-label,.compare-value{align-items:center;display:flex;padding:1rem}.compare-value{border-left:1px solid #e0e0e0;border-left:1px solid var(--border-color);flex-direction:column;gap:.25rem;justify-content:center;position:relative;text-align:center}.compare-value.winner{background:#22c55e1a}.winner-badge{background:#22c55e;border-radius:4px;color:#fff;font-size:.65rem;font-weight:600;padding:.15rem .4rem;position:absolute;right:.5rem;text-transform:uppercase;top:.5rem}.compare-value .rating-display{align-items:center;display:flex;gap:.5rem}.compare-value .rating-number{font-size:1.1rem;font-weight:600}.compare-value .review-count{color:#333;color:var(--secondary);font-size:.8rem}.compare-value .profile-tags{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.compare-value .price-value,.compare-value .puff-value{font-size:1.2rem;font-weight:600}.compare-value .price-value{color:#000;color:var(--primary)}.compare-value .price-range{color:#333;color:var(--secondary);font-size:.75rem}.compare-value .no-data{color:#333;color:var(--secondary);font-size:.85rem;font-style:italic}.compare-empty-state{background:#fff;background:var(--surface);border-radius:12px;padding:3rem;text-align:center}.compare-empty-state p{color:#333;color:var(--secondary);margin-bottom:1rem}.compare-empty-state .browse-link{background:#000;background:var(--primary);border-radius:8px;color:#fff;color:var(--on-primary);display:inline-block;padding:.75rem 1.5rem;text-decoration:none}.compare-add-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#333;color:var(--secondary);cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;left:.5rem;opacity:0;position:absolute;top:.5rem;transition:opacity .2s;width:28px}.flavor-card:hover .compare-add-btn{opacity:1}.compare-add-btn.selected,.compare-add-btn:hover{background:#000;background:var(--primary);border-color:#000;border-color:var(--primary);color:#fff;color:var(--on-primary)}.compare-add-btn.selected{opacity:1}.compare-floating-bar{background:#fff;background:var(--surface);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -4px 20px #00000026;left:0;padding:1rem 2rem;position:fixed;right:0;z-index:100}.compare-bar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.compare-count{color:#000;color:var(--on-surface);font-weight:500}.compare-bar-actions{display:flex;gap:1rem}.clear-compare{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#333;color:var(--secondary);cursor:pointer;padding:.5rem 1rem}.go-compare{background:#000;background:var(--primary);border:none;border-radius:6px;color:#fff;color:var(--on-primary);cursor:pointer;font-weight:500;padding:.5rem 1.5rem}.go-compare:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.compare-slots{grid-template-columns:1fr}.compare-row{grid-template-columns:100px repeat(3,1fr)}.compare-label{font-size:.75rem}.compare-label,.compare-value{padding:.75rem .5rem}.compare-floating-bar{padding:.75rem 1rem}.compare-bar-content{flex-direction:column;gap:.75rem}.profile-header{align-items:center;flex-direction:column;text-align:center}.profile-info h1{font-size:1.5rem}.own-profile-badge{display:block;margin:.5rem auto 0}.profile-stats-grid{grid-template-columns:repeat(2,1fr)}.profile-content-grid{grid-template-columns:1fr}.badges-grid{justify-content:center}}.device-stats-section{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;margin:2rem 0;padding:1.5rem}.device-stats-section h2{font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.5rem;margin-bottom:.5rem}.device-stats-subtitle{color:#333;color:var(--secondary);font-size:.9rem;margin-bottom:1.5rem}.device-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.device-stat-card{background:var(--surface-container);border-radius:8px;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem;text-align:center}.device-stat-icon{font-size:1.5rem}.device-stat-value{color:#000;color:var(--primary);font-size:1.75rem;font-weight:700}.device-stat-label{color:#333;color:var(--secondary);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.device-stat-range{color:#333;color:var(--secondary);font-size:.75rem;margin-top:.25rem}.device-issues-section{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);padding-top:1.5rem}.device-issues-section h3{color:#000;color:var(--on-surface);font-size:1rem;margin-bottom:1rem}.device-issues-list{display:flex;flex-direction:column;gap:.75rem}.device-issue-item{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:120px 1fr 50px 40px}.issue-name{color:#000;color:var(--on-surface);font-size:.9rem}.issue-bar-container{background:#e0e0e0;background:var(--border-color);border-radius:4px;height:8px;overflow:hidden}.issue-bar{background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:4px;height:100%;transition:width .3s ease}.issue-percentage{color:#000;color:var(--on-surface);font-size:.85rem;font-weight:600;text-align:right}.issue-count{color:#333;color:var(--secondary);font-size:.75rem}@media (max-width:768px){.device-stats-grid{grid-template-columns:1fr}.device-issue-item{gap:.5rem;grid-template-columns:100px 1fr 45px 35px}.issue-name{font-size:.8rem}}.price-history{background:var(--surface-container);border-radius:8px;margin-top:1.5rem;padding:1.25rem}.price-history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.price-history-header h3{color:#000;color:var(--on-surface);font-size:1rem;font-weight:600;margin:0}.price-trend{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;font-weight:600;gap:.25rem;padding:.25rem .75rem}.price-trend.up{background:#ef444426;color:#ef4444}.price-trend.down{background:#22c55e26;color:#22c55e}.price-trend.stable{background:#64748b26;color:#64748b}.price-history-chart{align-items:flex-end;display:flex;gap:.5rem;height:120px;padding:.5rem 0}.price-bar-container{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;height:100%;position:relative}.price-bar-container:hover .price-bar{background:#000;background:var(--primary)}.price-bar-container:hover .price-bar-tooltip{opacity:1;transform:translate(-50%,-8px);visibility:visible}.price-bar-tooltip{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;bottom:100%;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:.15rem;left:50%;opacity:0;padding:.5rem .75rem;position:absolute;transform:translate(-50%);transition:opacity .2s,transform .2s;visibility:hidden;white-space:nowrap;z-index:10}.tooltip-month{color:#333;color:var(--secondary);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.tooltip-price{color:#000;color:var(--primary);font-size:1rem;font-weight:700}.tooltip-range{font-size:.7rem}.tooltip-count,.tooltip-range{color:#333;color:var(--secondary)}.tooltip-count{font-size:.65rem}.price-bar{background:linear-gradient(180deg,#000,#7c3aed80);background:linear-gradient(180deg,var(--primary),#7c3aed80);border-radius:4px 4px 0 0;max-width:40px;min-height:10px;transition:background .2s,height .3s ease;width:100%}.price-bar-month{color:#333;color:var(--secondary);font-size:.65rem;margin-top:.5rem;text-transform:uppercase}.price-history-legend{margin-top:.75rem;text-align:center}.price-history-legend span{color:#333;color:var(--secondary);font-size:.75rem}@media (max-width:768px){.price-history-chart{gap:.25rem}.price-bar{max-width:30px}.price-bar-month{font-size:.55rem}}.follow-stats{display:flex;gap:1.5rem;margin:.75rem 0}.follow-count{color:#333;color:var(--secondary);font-size:.9rem}.follow-count strong{color:#000;color:var(--on-surface);font-weight:700}.follow-btn{border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:.5rem;padding:.5rem 1.5rem;transition:all .2s}.follow-btn:not(.following){background:#000;background:var(--primary);border:2px solid #000;border:2px solid var(--primary);color:#fff;color:var(--on-primary)}.follow-btn:not(.following):hover{background:#0000;color:#000;color:var(--primary)}.follow-btn.following{background:#0000;border:2px solid #e0e0e0;border:2px solid var(--border-color);color:#333;color:var(--secondary)}.follow-btn.following:hover{border-color:#ef4444;color:#ef4444}.follow-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.follow-stats{gap:1rem;justify-content:center}.follow-btn{max-width:200px;width:100%}}.feed-page{margin:0 auto;max-width:700px;padding:2rem}.feed-header{margin-bottom:2rem;text-align:center}.feed-header h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin-bottom:.5rem}.feed-header p{color:#333;color:var(--secondary)}.feed-empty{padding:3rem 1rem;text-align:center}.feed-empty h2{font-size:1.5rem;margin-bottom:1rem}.feed-empty p{color:#333;color:var(--secondary);margin-bottom:1.5rem}.feed-list{display:flex;flex-direction:column;gap:1rem}.feed-item{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;padding:1rem}.feed-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.feed-username{align-items:center;color:#000;color:var(--on-surface);display:flex;font-weight:600;gap:.5rem;text-decoration:none}.feed-username:hover{color:#000;color:var(--primary)}.feed-avatar{align-items:center;background:linear-gradient(135deg,#000,#9333ea);background:linear-gradient(135deg,var(--primary),#9333ea);border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.feed-time{color:#333;color:var(--secondary);font-size:.8rem}.feed-item-content{display:flex;gap:1rem}.feed-flavor-image{flex-shrink:0;height:60px;width:60px}.feed-flavor-image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.feed-flavor-image .flavor-image-placeholder.small{font-size:1.25rem;height:100%;width:100%}.feed-item-details{flex:1 1;min-width:0}.feed-action{color:#000;color:var(--on-surface);font-size:.9rem;margin-bottom:.5rem}.feed-action a{color:#000;color:var(--primary);font-weight:600;text-decoration:none}.feed-action a:hover{text-decoration:underline}.feed-action.feed-vaping:before{content:"💨 "}.feed-rating{margin-bottom:.5rem}.feed-rating .star{font-size:.9rem}.feed-review-title{color:#333;color:var(--secondary);font-size:.85rem;font-style:italic;margin:0}.feed-price{align-items:center;color:#000;color:var(--primary);display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;margin-bottom:.25rem}.feed-price .sale-badge{background:#22c55e;border-radius:4px;color:#fff;font-size:.65rem;font-weight:600;padding:.15rem .4rem}.feed-shop{color:#333;color:var(--secondary);font-size:.8rem;margin:0}.feed-load-more{margin-top:1.5rem;text-align:center}.feed-load-more button{padding:.75rem 2rem}@media (max-width:768px){.feed-page{padding:1rem}.feed-item-content{flex-direction:column;gap:.75rem}.feed-flavor-image{height:50px;width:50px}}.best-value-section .section-subtitle{color:#333;color:var(--secondary);font-size:.9rem;margin:-.5rem 0 1.5rem}.best-value-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.best-value-card{align-items:center;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;display:flex;gap:1rem;padding:1rem;position:relative;text-decoration:none;transition:all .2s}.best-value-card:hover{border-color:#000;border-color:var(--primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.value-rank{background:var(--surface-container);border-radius:4px;color:#333;color:var(--secondary);font-size:.7rem;font-weight:700;left:.5rem;padding:.15rem .4rem;position:absolute;top:.5rem}.value-image{flex-shrink:0;height:60px;width:60px}.value-image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.value-image .flavor-image-placeholder.small{border-radius:8px;font-size:1.25rem;height:100%;width:100%}.value-info{flex:1 1;min-width:0}.value-info h3{color:#000;color:var(--on-surface);font-size:.95rem;font-weight:600;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-brand{color:#333;color:var(--secondary);display:block;font-size:.75rem;margin-bottom:.5rem}.value-stats{gap:.75rem;margin-bottom:.25rem}.value-price,.value-stats{align-items:baseline;display:flex}.value-price{gap:.2rem}.value-price strong{color:#22c55e;font-size:1.1rem;font-weight:700}.value-price small{color:#333;color:var(--secondary);font-size:.65rem}.value-puffs{background:var(--surface-container);border-radius:4px;padding:.15rem .4rem}.value-avg-price,.value-puffs{color:#333;color:var(--secondary);font-size:.7rem}@media (max-width:992px){.best-value-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.best-value-grid{grid-template-columns:1fr}.best-value-card{padding:.75rem}.value-image{height:50px;width:50px}}.deals-section .section-subtitle{color:#333;color:var(--secondary);font-size:.9rem;margin:-.5rem 0 1.5rem}.deals-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.deal-card{align-items:flex-start;background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;display:flex;gap:1rem;overflow:hidden;padding:1rem;position:relative;text-decoration:none;transition:all .2s}.deal-card:hover{border-color:#ef4444;box-shadow:0 4px 12px #ef444426;transform:translateY(-2px)}.deal-badge{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:0 12px 0 8px;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.25rem .75rem;position:absolute;right:0;top:0}.deal-image{flex-shrink:0;height:70px;width:70px}.deal-image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.deal-image .flavor-image-placeholder.small{border-radius:8px;font-size:1.25rem;height:100%;width:100%}.deal-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.deal-info h3{color:#000;color:var(--on-surface);font-size:.95rem;font-weight:600;margin-bottom:0;overflow:hidden;padding-right:2.5rem;text-overflow:ellipsis;white-space:nowrap}.deal-brand{color:#333;color:var(--secondary);font-size:.75rem}.deal-price{align-items:baseline;display:flex;gap:.5rem;margin-top:.25rem}.deal-price strong{color:#ef4444;font-size:1.2rem;font-weight:700}.deal-notes{background:var(--surface-container);border-radius:4px;padding:.15rem .4rem}.deal-notes,.deal-shop{color:#333;color:var(--secondary);font-size:.7rem}.deal-shop{margin-top:.25rem}.deal-time{color:#333;color:var(--secondary);font-size:.65rem;opacity:.7}@media (max-width:992px){.deals-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.deals-grid{grid-template-columns:1fr}.deal-card{padding:.75rem}.deal-image{height:60px;width:60px}}.currently-vaping{align-items:center;background:linear-gradient(135deg,#7c3aed1a,#9333ea0d);border:1px solid #7c3aed33;border-radius:8px;display:flex;gap:.5rem;margin:.75rem 0;padding:.5rem .75rem}.currently-vaping-label{color:#333;color:var(--secondary);font-size:.8rem;white-space:nowrap}.currently-vaping-flavor{align-items:center;color:#000;color:var(--primary);display:flex;font-size:.9rem;font-weight:600;gap:.5rem;text-decoration:none}.currently-vaping-flavor:hover{text-decoration:underline}.currently-vaping-image{border-radius:4px;height:24px;object-fit:cover;width:24px}.set-currently-vaping-btn{align-items:center;background:#0000;border:1px solid #000;border:1px solid var(--primary);border-radius:16px;color:#000;color:var(--primary);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.3rem;padding:.4rem .8rem;transition:all .2s}.set-currently-vaping-btn.active,.set-currently-vaping-btn:hover{background:#000;background:var(--primary);color:#fff}@media (max-width:768px){.currently-vaping{align-items:flex-start;flex-direction:column;gap:.25rem}}.wishlist-page{margin:0 auto;max-width:1200px;padding:2rem}.wishlist-header{margin-bottom:2rem;text-align:center}.wishlist-header h1{font-family:Cinzel,serif;font-family:var(--font-title);font-size:2rem;margin-bottom:.5rem}.wishlist-header p{color:#333;color:var(--secondary);margin-bottom:1rem}.wishlist-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.wishlist-card{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);padding:1rem;position:relative;transition:all .2s}.wishlist-card.selected,.wishlist-card:hover{border-color:#000;border-color:var(--primary)}.wishlist-card.selected{background:#ff6b350d}.wishlist-card-link{color:inherit;display:flex;gap:1rem;margin-bottom:.75rem;text-decoration:none}.wishlist-image{flex-shrink:0;height:80px;width:80px}.wishlist-image img{height:100%;object-fit:contain;width:100%}.wishlist-info{flex:1 1}.wishlist-info h3{font-family:Cinzel,serif;font-family:var(--font-title);font-size:1.1rem;margin:0 0 .25rem}.wishlist-info .brand-name{color:#333;color:var(--secondary);font-size:.9rem;margin-bottom:.5rem}.wishlist-rating{align-items:center;display:flex;font-size:.9rem;gap:.25rem}.puff-count,.wishlist-rating .rating-value{color:#333;color:var(--secondary);font-size:.8rem}.puff-count{display:block;margin-top:.25rem}.wishlist-meta{align-items:center;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);color:#333;color:var(--secondary);display:flex;font-size:.8rem;justify-content:space-between;padding:.5rem 0}.notification-badges{display:flex;gap:.5rem}.notify-badge{align-items:center;background:#ff6b351a;border-radius:50%;color:#000;color:var(--primary);display:inline-flex;font-size:.7rem;font-weight:600;height:20px;justify-content:center;width:20px}.wishlist-actions{display:flex;gap:.5rem;margin-top:.75rem}.wishlist-actions .remove-btn,.wishlist-actions .view-btn{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#000;color:var(--on-surface);cursor:pointer;flex:1 1;font-size:.75rem;letter-spacing:.05em;padding:.5rem;text-align:center;text-decoration:none;text-transform:uppercase}.wishlist-actions .view-btn:hover{border-color:#000;border-color:var(--primary)}.wishlist-actions .remove-btn:hover{border-color:red;border-color:var(--error);color:red;color:var(--error)}.empty-wishlist{padding:4rem 2rem;text-align:center}.empty-wishlist .empty-icon{color:#000;color:var(--primary);font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-wishlist p{color:#333;color:var(--secondary);margin-bottom:.5rem}.empty-wishlist .browse-btn{background:#000;background:var(--primary);color:#fff;display:inline-block;font-weight:600;letter-spacing:.05em;margin-top:1.5rem;padding:.75rem 1.5rem;text-decoration:none;text-transform:uppercase}.empty-wishlist .browse-btn:hover{background:#000;background:var(--primary-dark)}@media (max-width:768px){.wishlist-page{padding:1rem}.wishlist-grid{grid-template-columns:1fr}.wishlist-card-link{align-items:center;flex-direction:column;text-align:center}.wishlist-image{height:100px;width:100px}}.auth-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-page .auth-container,.register-page .auth-container{bottom:0;height:100vh;left:0;max-height:100vh;overflow:hidden;position:fixed;right:0;top:0}.auth-box,.auth-form-container{background-color:#fff;border-radius:0;box-shadow:0 4px 15px #0000001a;max-width:400px;padding:30px;width:100%}.auth-title{color:#000;font-family:Cinzel,serif;font-size:1.5rem;font-weight:600;letter-spacing:1px}.auth-subtitle,.auth-title{margin-bottom:24px;text-align:center}.auth-subtitle{color:#333;font-size:1.2rem;font-weight:500;letter-spacing:.5px}.auth-form{margin-bottom:20px}.auth-form .form-group{margin-bottom:16px}.auth-form .form-group label{color:#333;display:block;font-weight:500;margin-bottom:6px}.auth-form .form-control{background-color:#f9f9f9;border:1px solid #ddd;border-radius:0;color:#000!important;font-size:14px;padding:15px;transition:all .2s;width:100%}.auth-form .form-control::placeholder{color:#999}.auth-form .form-control:focus{border-color:#000;box-shadow:0 0 0 1px #0000001a;outline:none}.auth-form.has-error .form-control{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;border-color:#dc3545;box-shadow:0 0 0 1px #dc35451a}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.auth-form .btn{border:none;border-radius:0;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px;transition:background-color .2s;width:100%}.auth-form .btn-primary{background-color:#000;color:#fff}.auth-form .btn-primary:hover{background-color:#333}.auth-form .btn-primary:disabled{background-color:#999;cursor:not-allowed}.auth-error{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;background-color:#f8d7da;border-radius:0;color:#dc3545;font-size:14px;font-weight:500;margin-bottom:16px;padding:10px}.auth-switch{margin-top:20px;text-align:center}.auth-switch p{color:#666;font-size:14px;margin-bottom:8px}.auth-switch .btn-link{background:none;border:none;color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.auth-switch .btn-link:hover{color:#333}.auth-links{margin:15px 0;text-align:center}.auth-links .btn-link{background:none;border:none;color:#666;cursor:pointer;font-size:.8rem;letter-spacing:.5px;padding:0;text-decoration:underline;text-transform:uppercase;transition:color .2s}.auth-links .btn-link:hover{color:#000}.settings-section{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section .section-title{color:var(--on-surface);font-size:1rem;font-weight:600;margin-bottom:.5rem}.settings-section .section-description{color:var(--secondary);font-size:.9rem;margin-bottom:1rem}.centered-text{font-size:1.1rem!important;font-weight:500;text-align:center}.auth-success{background-color:#d4edda;border-radius:0;color:#28a745;font-size:14px;font-weight:500;margin-bottom:16px;padding:10px}.btn:disabled{cursor:not-allowed;opacity:.7}@media (max-width:576px){.settings-section{margin-bottom:1.5rem;padding-bottom:1rem}.settings-section .section-title{font-size:.9rem}.settings-section .section-description{font-size:.8rem}}
/*# sourceMappingURL=main.b3b71cd9.css.map*/