@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--color-bg: #ffffff;--color-surface: #f8f7f5;--color-surface-raised: #ffffff;--color-border: #e8e4df;--color-border-strong: #d0cbc4;--color-text-primary: #1a1a1a;--color-text-secondary: #6b6560;--color-text-placeholder: #b0aaa3;--color-accent: #8b1a2f;--color-accent-hover: #7a1728;--color-accent-light: #f5e8eb;--color-success: #2e7d32;--color-success-light: #e8f5e9;--color-warning: #e65100;--color-warning-light: #fff3e0;--color-error: #c62828;--color-error-light: #ffebee;--color-wine-red: #8b1a2f;--color-wine-white: #d4a855;--color-wine-rose: #e8747a;--color-wine-sparkling: #a0c4d8;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.2;--leading-normal: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-card: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-modal:0 8px 32px rgba(0,0,0,.18);--bottom-nav-height: calc(60px + env(safe-area-inset-bottom)) ;--page-padding: var(--space-4);--max-width: 480px;--transition-fast: .12s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}input,textarea,select{font:inherit}#root{min-height:100dvh;display:flex;flex-direction:column}.app-shell{display:flex;flex-direction:column;min-height:100dvh;max-width:var(--max-width);margin:0 auto;width:100%;position:relative}.app-main{flex:1;overflow-y:auto;padding-bottom:calc(var(--bottom-nav-height) + 20px)}.page{padding:var(--space-4);min-height:100%}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-width);height:var(--bottom-nav-height);background:var(--color-bg);border-top:1px solid var(--color-border);display:flex;align-items:flex-start;padding-top:var(--space-2);padding-bottom:env(safe-area-inset-bottom);z-index:100}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--color-text-secondary);padding:var(--space-1) 0;transition:color var(--transition-fast);font-size:var(--text-xs)}.bottom-nav-item.active{color:var(--color-accent)}.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-label{font-size:10px;font-weight:var(--weight-medium)}.bottom-nav-action .bottom-nav-icon svg{width:32px;height:32px;color:var(--color-accent)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);gap:var(--space-3)}.header-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);flex:1;text-align:center}.header-back,.header-right{min-width:32px;display:flex;align-items:center}.header-back{color:var(--color-accent)}.header-spacer{min-width:32px}.section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:var(--weight-medium);transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-full{width:100%}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-md{height:44px;padding:0 var(--space-5);font-size:var(--text-base)}.btn-lg{height:52px;padding:0 var(--space-6);font-size:var(--text-lg)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface)}.btn-danger{background:var(--color-error-light);color:var(--color-error)}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.card-pad-none{padding:0}.card-pad-sm{padding:var(--space-3)}.card-pad-md{padding:var(--space-4)}.card-pad-lg{padding:var(--space-5)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-modal)}.input-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.input-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.input-field{height:44px;border-radius:var(--radius-sm);padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-base);transition:border-color var(--transition-fast)}.input-field:focus{outline:none;border-color:var(--color-accent)}.input-field::placeholder{color:var(--color-text-placeholder)}.input-hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.input-error .input-field{border-color:var(--color-error)}.input-error-msg{font-size:var(--text-xs);color:var(--color-error)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn var(--transition-base)}.modal-sheet{background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:var(--max-width);max-height:90dvh;overflow-y:auto;animation:slideUp var(--transition-base);padding-bottom:env(safe-area-inset-bottom)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg);z-index:1}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.modal-close{color:var(--color-text-secondary);padding:var(--space-1)}.modal-body{padding:var(--space-4)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.star-rating{display:flex;gap:2px}.star{padding:2px;color:var(--color-accent)}.star svg{display:block}.star-sm svg{width:16px;height:16px}.star-md svg{width:22px;height:22px}.star-lg svg{width:32px;height:32px}.star-empty{color:var(--color-border-strong)}.star:disabled{cursor:default}.style-bar{margin-bottom:var(--space-3)}.style-bar-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.style-bar-track{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.style-bar-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width var(--transition-base)}.style-bar-ends{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-placeholder);margin-top:2px}.wine-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:box-shadow var(--transition-fast)}.wine-card:hover{box-shadow:var(--shadow-card)}.wine-card-image{aspect-ratio:3/4;background:var(--color-surface);display:flex;align-items:center;justify-content:center}.wine-card-image img{width:100%;height:100%;object-fit:cover}.wine-card-placeholder{display:flex;align-items:center;justify-content:center;opacity:.5}.wine-card-info{padding:var(--space-2) var(--space-3) var(--space-3)}.wine-card-producer{font-size:var(--text-xs);color:var(--color-text-secondary)}.wine-card-name{font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:2px}.wine-card-vintage{font-size:var(--text-xs);color:var(--color-text-secondary)}.wine-card-qty{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:var(--weight-medium)}.wine-card-compact .wine-card-image{aspect-ratio:2/3}.wine-card-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.cellar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-3)}.cellar-list{display:flex;flex-direction:column;gap:1px}.cellar-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);cursor:pointer}.cellar-list-name{font-size:var(--text-base);font-weight:var(--weight-medium)}.cellar-list-meta,.cellar-list-qty{font-size:var(--text-sm);color:var(--color-text-secondary)}.cellar-count{font-size:var(--text-sm);color:var(--color-text-secondary);padding:0 var(--space-4) var(--space-3)}.cellar-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-secondary)}.cellar-section{margin-bottom:var(--space-5)}.drink-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--weight-medium)}.drink-badge-drink-now{background:var(--color-success-light);color:var(--color-success)}.drink-badge-too-early{background:var(--color-surface);color:var(--color-text-secondary)}.drink-badge-past-peak{background:var(--color-warning-light);color:var(--color-warning)}.filter-pills{display:flex;gap:var(--space-2);overflow-x:auto;padding:0 var(--space-4) var(--space-4);scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0;height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-1);transition:background var(--transition-fast),border-color var(--transition-fast)}.filter-pill.active{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.filter-count{font-size:11px;opacity:.7}.view-toggle{display:flex;gap:var(--space-1)}.view-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.view-btn.active{background:var(--color-accent-light);color:var(--color-accent)}.recommend-prompt{padding:var(--space-4)}.recommend-context-toggle{display:flex;background:var(--color-surface);border-radius:var(--radius-md);padding:3px;margin-bottom:var(--space-4)}.context-btn{flex:1;height:36px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast)}.context-btn.active{background:var(--color-surface-raised);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.recommend-input-row{display:flex;gap:var(--space-2);align-items:flex-end;margin-bottom:var(--space-4)}.recommend-textarea{flex:1;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);resize:none;font-size:var(--text-base);line-height:var(--leading-normal)}.recommend-textarea:focus{outline:none;border-color:var(--color-accent)}.quick-prompts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick-prompt-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--color-surface);border:1px solid var(--color-border)}.quick-prompt-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.rec-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-3) var(--space-4)}.rec-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.rec-card-name{font-size:var(--text-base);font-weight:var(--weight-semibold)}.rec-card-producer,.rec-card-vintage{font-size:var(--text-sm);color:var(--color-text-secondary)}.rec-score-number{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-accent);line-height:1}.rec-score-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.rec-card-reason,.rec-card-food{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.rec-card-retailer{font-size:var(--text-xs);color:var(--color-text-placeholder)}.rec-card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3)}.rec-card-buttons{display:flex;gap:var(--space-2)}.rec-source-badge{font-size:11px;font-weight:var(--weight-medium);padding:2px var(--space-2);border-radius:var(--radius-full)}.rec-source-cellar{background:var(--color-success-light);color:var(--color-success)}.rec-source-buy{background:var(--color-accent-light);color:var(--color-accent)}.food-pairing-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.food-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.food-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.wine-scanner{display:flex;flex-direction:column;gap:var(--space-3)}.scanner-file-input{display:none}.scanner-file-label{display:block;cursor:pointer}.scanner-viewfinder{position:relative}.scanner-video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-md);background:#000}.scanner-frame{position:absolute;inset:20%;border:2px solid rgba(255,255,255,.8);border-radius:var(--radius-sm)}.scanner-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5)}.scanner-shutter{width:64px;height:64px;border-radius:50%;background:#ffffffe6;border:3px solid #fff;display:flex;align-items:center;justify-content:center}.scanner-shutter-inner{width:52px;height:52px;border-radius:50%;background:#fff}.home-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.home-app-name{font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.home-greeting{font-size:var(--text-lg);color:var(--color-text-secondary)}.home-stat{font-size:var(--text-sm);color:var(--color-text-placeholder)}.home-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-accent-light);color:var(--color-accent);font-weight:var(--weight-semibold);font-size:var(--text-base);display:flex;align-items:center;justify-content:center}.home-cta,.home-section{margin-bottom:var(--space-6)}.drink-soon-list{display:flex;flex-direction:column;gap:1px}.drink-soon-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);cursor:pointer}.drink-soon-name{font-size:var(--text-base);font-weight:var(--weight-medium)}.drink-soon-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.home-empty{text-align:center;padding:var(--space-7) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:linear-gradient(160deg,var(--color-accent-light) 0%,var(--color-bg) 60%)}.login-card{background:var(--color-surface-raised);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);width:100%;max-width:400px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:var(--space-2)}.login-logo{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-accent);text-align:center;margin-bottom:var(--space-1)}.login-tagline{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-4)}.login-instruction{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-error{font-size:var(--text-sm);color:var(--color-error);background:var(--color-error-light);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.invite-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.invite-card{background:var(--color-surface-raised);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);max-width:400px;box-shadow:var(--shadow-modal);text-align:center;display:flex;flex-direction:column;gap:var(--space-4)}.splash-loader{min-height:100dvh;display:flex;align-items:center;justify-content:center}.splash-logo{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-accent)}.profile-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-2)}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--color-accent-light);color:var(--color-accent);font-size:var(--text-xl);font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-name{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.profile-email{font-size:var(--text-sm);color:var(--color-text-secondary)}.profile-admin-badge{font-size:11px;background:var(--color-accent-light);color:var(--color-accent);padding:1px var(--space-2);border-radius:var(--radius-full);font-weight:var(--weight-medium)}.profile-section{padding:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.profile-stat{font-size:var(--text-sm);color:var(--color-text-secondary)}.profile-taste-bars{display:flex;flex-direction:column;gap:var(--space-1)}.profile-top-list h3{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);margin-bottom:2px}.profile-empty{color:var(--color-text-secondary);text-align:center}.admin-section{padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.admin-description{font-size:var(--text-sm);color:var(--color-text-secondary)}.invite-result{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm)}.invite-url{font-size:var(--text-xs);word-break:break-all;color:var(--color-text-secondary)}.admin-list{display:flex;flex-direction:column;gap:var(--space-2)}.admin-list-item{display:flex;justify-content:space-between;font-size:var(--text-sm)}.admin-token{font-family:monospace;color:var(--color-text-secondary)}.admin-expiry{color:var(--color-text-placeholder)}.admin-empty{font-size:var(--text-sm);color:var(--color-text-secondary)}.add-choose,.add-scan,.add-manual{display:flex;flex-direction:column;gap:var(--space-4)}.scan-tab-toggle{display:flex;flex-direction:column;gap:var(--space-3)}.scan-tab{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-base);text-align:left}.scan-tab.active,.scan-tab:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.add-instruction{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.add-scanning{text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.add-back-link{font-size:var(--text-sm);color:var(--color-accent);background:none;border:none;cursor:pointer;padding:var(--space-2) 0}.scan-result{display:flex;flex-direction:column;gap:var(--space-4)}.scan-result-header{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.scan-result-name{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.scan-result-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.scan-result-warning{font-size:var(--text-sm);color:var(--color-warning);background:var(--color-warning-light);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-top:var(--space-2)}.scan-result-fields h3,.scan-result-style h3,.scan-result-rating h3,.scan-result-notes h3{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.scan-result-cellar-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer}.scan-result-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.wine-detail-hero{padding:var(--space-2) var(--space-4) var(--space-5)}.wine-detail-name{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.wine-detail-meta{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.wine-detail-grapes{font-size:var(--text-sm);color:var(--color-text-secondary)}.wine-detail-vivino{font-size:var(--text-sm);color:var(--color-accent);margin-top:var(--space-1)}.wine-detail-section{padding:var(--space-4);border-top:1px solid var(--color-border)}.wine-detail-section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3)}.wine-detail-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-normal)}.wine-detail-actions{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.wine-search{position:relative}.wine-search-loading{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-2) 0}.wine-search-results{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-raised);margin-top:var(--space-1)}.wine-search-result{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);width:100%;text-align:left;border-bottom:1px solid var(--color-border)}.wine-search-result:last-child{border-bottom:none}.wine-search-result:hover{background:var(--color-surface)}.wine-search-name{font-size:var(--text-base);font-weight:var(--weight-medium)}.wine-search-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.lists-empty{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.lists-list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.list-item-name{font-size:var(--text-base);font-weight:var(--weight-medium)}.list-badge{font-size:11px;background:var(--color-accent-light);color:var(--color-accent);padding:2px var(--space-2);border-radius:var(--radius-full)}.loading-text{padding:var(--space-6);text-align:center;color:var(--color-text-secondary)}.cellar-form{display:flex;flex-direction:column}.recommend-results-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-4) var(--space-2)}.recommend-reset{font-size:var(--text-sm);color:var(--color-accent)}.recommend-error{font-size:var(--text-sm);color:var(--color-error);padding:0 var(--space-4)}.recommend-scan-cta{padding:var(--space-2) var(--space-4);text-align:center}
