@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}.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-input{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%}.search-input,.search-results{background:#fff;background:var(--surface)}.search-results{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}.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}.star.interactive{-webkit-tap-highlight-color:transparent;cursor:pointer;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)}.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)}.add-to-library-btn.large{font-size:.9rem;margin-top:0;padding:1rem 2rem}.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{color:#333;color:var(--secondary);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}.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{font-weight:500}.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;display:flex;gap:1rem}.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)}.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}.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}.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}.btn-secondary{background:#0000;border:2px solid #fff;color:#fff}.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}.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);cursor:pointer;display:flex;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}.inventory-table{background:#fff;background:var(--surface);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-collapse:collapse;border-radius:8px;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}.inventory-table{display:block;overflow-x:auto}.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-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%}}.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.50ce6a12.css.map*/