.collection-value-chart{background:var(--color-bg-card);border-radius:var(--radius-lg);border-top:3px solid var(--color-gold);padding:var(--space-5) var(--space-6) var(--space-4);margin-bottom:var(--space-6)}.cvc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.cvc-title{font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0}.cvc-refresh-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-gold);border-radius:var(--radius-md);color:var(--color-gold);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.cvc-refresh-btn:hover:not(:disabled){background:var(--color-gold);color:var(--color-bg-primary)}.cvc-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.cvc-refresh-icon{display:inline-block;font-size:var(--text-base);line-height:1}@keyframes cvc-pulse{0%,to{opacity:1}50%{opacity:.4}}.cvc-refresh-icon.spinning{animation:cvc-pulse 1s ease-in-out infinite}.cvc-stats{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-4)}.cvc-stat{display:flex;flex-direction:column;gap:2px}.cvc-stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.cvc-stat-value{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary)}.cvc-gain--positive{color:var(--color-gold)}.cvc-gain--negative{color:var(--color-error)}.cvc-empty{text-align:center;padding:var(--space-8) 0 var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm)}.cvc-tooltip{background:var(--color-bg-elevated);border:1px solid var(--color-gold);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--color-text-primary)}.cvc-tooltip-date{font-weight:600;margin-bottom:var(--space-1);color:var(--color-gold)}.cvc-tooltip-row{display:flex;justify-content:space-between;gap:var(--space-4)}.cvc-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-2);text-align:right}.cvc-disclaimer{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2);text-align:right}@keyframes slideUpFade{0%{opacity:0}to{opacity:1}}.dashboard{max-width:100%}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16);color:var(--color-text-tertiary)}.loading-spinner{width:32px;height:32px;border:1.5px solid var(--color-border);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}.dashboard-error{color:var(--color-error)}.error-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:var(--text-lg);font-weight:600;background:#c74a5a1f;border:1px solid var(--color-error);border-radius:var(--radius-full)}.dashboard-welcome{margin-bottom:var(--space-8)}.welcome-title{font-family:var(--font-sans);font-size:var(--text-5xl);font-weight:300;color:var(--color-text-primary);margin-bottom:var(--space-1);letter-spacing:-.03em;line-height:1.1}.welcome-subtitle{font-size:var(--text-base);color:var(--color-text-tertiary);font-weight:400}@media (max-width: 767px){.welcome-title{font-size:var(--text-3xl)}.welcome-subtitle{font-size:var(--text-sm)}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-10)}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-4)}}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base);animation:slideUpFade .45s ease-out both}.stats-grid .stat-card:nth-child(1){animation-delay:0ms}.stats-grid .stat-card:nth-child(2){animation-delay:70ms}.stats-grid .stat-card:nth-child(3){animation-delay:.14s}.stats-grid .stat-card:nth-child(4){animation-delay:.21s}.stat-card:hover{border-color:#c9a9624d;box-shadow:0 0 0 1px #c9a96214,var(--shadow-md)}.stat-card:after{content:"";position:absolute;top:0;bottom:0;left:-100%;width:60%;background:linear-gradient(90deg,transparent,rgba(201,169,98,.04),transparent);transform:skew(-15deg);transition:left .55s ease;pointer-events:none}.stat-card:hover:after{left:160%}.stat-card-featured{background:var(--color-bg-elevated);border-top:2px solid var(--color-gold)}.stat-card-featured:hover{border-top-color:var(--color-gold-light);box-shadow:0 0 0 1px #c9a9621f,var(--shadow-lg)}.stat-card-inner{display:flex;flex-direction:column;flex:1;gap:var(--space-3);position:relative}.stat-icon{position:absolute;top:0;right:0;width:20px;height:20px;background:none;border-radius:0;color:var(--color-text-tertiary);opacity:.4;transition:opacity var(--transition-fast)}.stat-card:hover .stat-icon{opacity:.7}.stat-icon svg{width:100%;height:100%}.stat-card-featured .stat-icon,.stat-icon-consumed,.stat-icon-value,.stat-icon-varietal{background:none;color:var(--color-text-tertiary)}.stat-content{display:flex;flex-direction:column-reverse;gap:2px}.stat-value{font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:600;color:var(--color-text-primary);line-height:1;letter-spacing:-.03em}.stat-value-text{font-size:var(--text-2xl);letter-spacing:-.02em;word-break:break-word}.stat-card-featured .stat-value{color:var(--color-gold-light)}.stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary)}.stat-card-featured .stat-label{color:var(--color-text-tertiary)}.stat-action{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);transition:color var(--transition-fast)}.stat-card:hover .stat-action{color:var(--color-gold)}.stat-action svg{width:14px;height:14px;transition:transform var(--transition-fast)}.stat-card:hover .stat-action svg{transform:translate(3px)}.stat-action-subtle{border-top-color:var(--color-border);color:var(--color-text-tertiary)}@media (max-width: 767px){.stat-card{padding:var(--space-4)}.stat-value{font-size:var(--text-3xl)}.stat-value-text{font-size:var(--text-xl)}}.section-title{font-family:var(--font-sans);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.quick-actions{margin-top:var(--space-6)}.actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.action-card{display:flex;flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base);animation:slideUpFade .45s ease-out both}.actions-grid .action-card:nth-child(1){animation-delay:.26s}.actions-grid .action-card:nth-child(2){animation-delay:.31s}.actions-grid .action-card:nth-child(3){animation-delay:.36s}.actions-grid .action-card:nth-child(4){animation-delay:.41s}.action-card:hover{border-color:#c9a96240;box-shadow:0 0 0 1px #c9a9620f,var(--shadow-md)}.action-card:hover .action-icon{color:var(--color-gold-light)}.action-card-primary{background:#722f371f;border-color:#722f374d}.action-card-primary:hover{border-color:#8b3a4280;background:#722f372e}.action-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary);transition:color var(--transition-fast)}.action-icon svg{width:22px;height:22px}.action-card-primary .action-icon{color:var(--color-wine-rose)}.action-card-primary:hover .action-icon{color:var(--color-champagne)}.action-content{display:flex;flex-direction:column;gap:2px;min-width:0}.action-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-description{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 767px){.actions-grid{grid-template-columns:1fr}.action-card{padding:var(--space-3) var(--space-4)}}.wine-form-steps{display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-3)}.step-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border-hover);transition:all var(--transition-base)}.step-dot.active{background:var(--color-gold);width:24px}.step-dot.done{background:var(--color-success)}.entry-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-2)}.entry-mode-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;cursor:pointer;transition:all var(--transition-base);font-family:inherit;color:inherit}.entry-mode-card:hover{border-color:#c9a96266;box-shadow:0 0 0 1px #c9a9621a,var(--shadow-md);background:var(--color-bg-hover)}.entry-mode-icon{width:36px;height:36px;color:var(--color-gold);opacity:.85;flex-shrink:0;display:flex;align-items:center;justify-content:center}.entry-mode-icon svg{width:100%;height:100%}.entry-mode-card:hover .entry-mode-icon{opacity:1}.entry-mode-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.entry-mode-desc{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:1.4}.label-photo-preview{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.label-photo-preview img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0}.label-photo-caption{font-size:var(--text-sm);color:var(--color-text-secondary)}.confidence-badge{display:inline-flex;align-items:center;margin-left:var(--space-2);padding:1px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.confidence-badge--high{background:#4a9d6b26;color:var(--color-success)}.confidence-badge--medium{background:#d4a84b26;color:var(--color-warning)}.confidence-badge--low{background:#6464641f;color:var(--color-text-tertiary)}.scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:#fff;font-size:var(--text-sm)}.scan-spinner{width:40px;height:40px;border:3px solid rgba(201,169,98,.3);border-top-color:var(--color-gold);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottles-stepper{display:flex;align-items:center;gap:0;width:fit-content;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-elevated)}.stepper-btn{width:44px;height:48px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-family:inherit}.stepper-btn:hover{background:var(--color-bg-hover);color:var(--color-gold)}.stepper-btn:active{background:#c9a9621a}.stepper-value{min-width:56px;text-align:center;font-family:var(--font-sans);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:0 var(--space-2);line-height:48px}.duplicate-warning{padding:var(--space-4);background:#d4a84b1a;border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);font-size:var(--text-sm);margin-bottom:var(--space-5);line-height:1.5}.duplicate-warning strong{font-weight:600}.barcode-input-group{display:flex;gap:var(--space-3);align-items:flex-start}.barcode-input-group .form-input{flex:1}.barcode-scan-btn{white-space:nowrap;min-width:120px}.barcode-message{margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.barcode-message-success{background:#4a9d6b26;border:1px solid var(--color-success);color:var(--color-success)}.barcode-message-info{background:#3b82f626;border:1px solid #3b82f6;color:#3b82f6}.barcode-message-error{background:#c74a5a26;border:1px solid var(--color-error);color:var(--color-error)}.barcode-scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.barcode-scanner-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.barcode-scanner-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.barcode-scanner-header h3{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400;color:var(--color-text-primary);margin:0}.barcode-scanner-close{background:transparent;border:none;font-size:var(--text-3xl);color:var(--color-text-tertiary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.barcode-scanner-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.barcode-scanner-container{width:100%;min-height:400px;position:relative;background:#000;display:flex;align-items:center;justify-content:center}.barcode-scanner-footer{padding:var(--space-5);border-top:1px solid var(--color-border)}.barcode-scanner-footer p{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.barcode-manual-entry{display:flex;gap:var(--space-3)}.barcode-manual-entry .form-input{flex:1}.wine-form-container{max-width:700px;margin:0 auto;animation:wf-fade-in .5s ease-out}@keyframes wf-fade-in{0%{opacity:0}to{opacity:1}}.wine-form-header{margin-bottom:var(--space-8);text-align:center}.wine-form-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.wine-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}.error-banner{padding:var(--space-4);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-6);font-size:var(--text-sm)}.form-row{margin-bottom:var(--space-5)}.form-row-split{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}.form-group{margin-bottom:0}.required{color:var(--color-wine-rose);margin-left:var(--space-1)}.form-input:focus,.form-select:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted);outline:none}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23c9a962' stroke-width='1.5'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10);cursor:pointer}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.form-group-full{width:100%}@media (max-width: 767px){.entry-mode-grid{grid-template-columns:1fr;gap:var(--space-3)}.entry-mode-card{flex-direction:row;text-align:left;padding:var(--space-4);gap:var(--space-4)}.entry-mode-icon{font-size:1.5rem;flex-shrink:0}.label-photo-preview{flex-direction:column;align-items:flex-start}.wine-form-container{max-width:100%}.wine-form-header h2{font-size:var(--text-2xl)}.wine-form{padding:var(--space-5)}.form-row-split{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.barcode-input-group{flex-direction:column}.barcode-scan-btn{width:100%}.barcode-scanner-modal{max-width:100%;max-height:100vh;border-radius:0}.barcode-scanner-container{min-height:300px}.barcode-manual-entry{flex-direction:column}.barcode-manual-entry .btn{width:100%}}.wl-page{max-width:100%;animation:wl-fade-up .4s cubic-bezier(.16,1,.3,1) both}@keyframes wl-fade-up{0%{opacity:0}to{opacity:1}}.wl-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-7)}.wl-title{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.025em;color:var(--color-text-primary);margin:0}.wl-summary{font-size:var(--text-sm);color:var(--color-text-tertiary);font-weight:400}.wl-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.wl-search-wrap{position:relative;flex:1;min-width:180px;max-width:380px}.wl-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;display:flex;align-items:center}.wl-search-input{width:100%;height:40px;padding:0 var(--space-3) 0 36px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.wl-search-input::placeholder{color:var(--color-text-tertiary)}.wl-search-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.wl-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;z-index:100;box-shadow:var(--shadow-xl)}.wl-suggestion-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:background .12s ease}.wl-suggestion-item:hover{background:var(--color-bg-hover)}.wl-filter-toggle{display:flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1);touch-action:manipulation}.wl-filter-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.wl-filter-toggle.active{background:var(--color-gold-muted);border-color:var(--color-gold);color:var(--color-gold)}.wl-filter-toggle:active{transform:scale(.98)}.wl-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--color-gold);color:#1a1208;border-radius:999px;font-size:10px;font-weight:700;line-height:1}.wl-sort-wrap{display:flex;align-items:center;gap:var(--space-2)}.wl-sort-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.wl-sort-select{height:40px;padding:0 var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:border-color .2s ease}.wl-sort-select:focus{outline:none;border-color:var(--color-gold)}.wl-clear-btn{display:flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-tertiary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1)}.wl-clear-btn:hover{border-color:var(--color-error);color:var(--color-error);background:#c74a5a14}.wl-clear-btn:active{transform:scale(.98)}.wl-type-pills{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5)}.wl-type-pill{display:flex;align-items:center;gap:6px;height:32px;padding:0 var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1);touch-action:manipulation}.wl-type-pill:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.wl-type-pill.active{background:var(--color-gold-muted);border-color:var(--color-gold);color:var(--color-gold)}.wl-type-pill:active{transform:scale(.96)}.wl-type-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.wl-adv-filters{background:#1a0f12;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-5);overflow:hidden;animation:wl-slide-down .22s cubic-bezier(.16,1,.3,1) both}@keyframes wl-slide-down{0%{opacity:0}to{opacity:1}}.wl-filter-drop{border-bottom:1px solid var(--color-border)}.wl-filter-drop:last-child{border-bottom:none}.wl-drop-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;height:44px;padding:0 var(--space-4);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease;touch-action:manipulation;text-align:left}.wl-drop-btn .wl-chevron-spacer{margin-left:auto}.wl-drop-btn:hover{background:var(--color-bg-hover)}.wl-drop-btn.active{color:var(--color-gold)}.wl-drop-menu{max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#0f0a0c;border-top:1px solid var(--color-border)}.wl-drop-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-primary);transition:background .12s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.wl-drop-option:hover{background:var(--color-bg-hover)}.wl-drop-checkbox{width:16px;height:16px;accent-color:var(--color-gold);flex-shrink:0}.wl-drop-empty{padding:var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.wl-error-msg{padding:var(--space-4);background:#c74a5a1a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-sm);margin-bottom:var(--space-6)}.wl-skeleton-wrap{display:flex;flex-direction:column;margin-top:var(--space-4)}.wl-skeleton-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:20px 0;border-bottom:1px solid var(--color-border)}.wl-skeleton-body{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.wl-skeleton-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.wl-skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-bg-hover) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:wl-shimmer 1.6s infinite linear}@keyframes wl-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wl-skeleton-name{height:17px;width:52%}.wl-skeleton-meta{height:13px;width:70%}.wl-skeleton-pill{height:28px;width:38px;border-radius:999px}.wl-skeleton-btn{height:32px;width:76px;border-radius:var(--radius-md)}.wl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px var(--space-4);text-align:center}.wl-empty-icon{color:var(--color-text-tertiary);opacity:.35;margin-bottom:var(--space-5);display:flex}.wl-empty-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--space-2)}.wl-empty-sub{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-6)}.wl-content{display:flex;flex-direction:column;gap:var(--space-10)}.wl-type-header{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.wl-type-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wl-type-count{margin-left:auto;font-size:11px;color:var(--color-text-tertiary);font-weight:400}.wl-sort-group{margin-bottom:var(--space-6)}.wl-sort-group:last-child{margin-bottom:0}.wl-sort-label-row{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary);padding:var(--space-1) 0 var(--space-2);opacity:.75}.wl-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:17px var(--space-3);margin:0 calc(-1 * var(--space-3));position:relative;z-index:0;border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background .15s ease;animation:wl-row-in .32s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--row-index, 0) * 35ms)}.wl-row--menu-open{z-index:10}@keyframes wl-row-in{0%{opacity:0}to{opacity:1}}.wl-row:last-child{border-bottom:none}.wl-row:hover{background:var(--color-bg-hover)}.wl-row-info{flex:1;min-width:0}.wl-row-name{font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px;font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.4}.wl-meta-vintage{color:var(--color-gold);font-weight:500}.wl-sep{color:var(--color-text-tertiary);opacity:.35;margin:0 1px}.wl-meta-bin{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.wl-meta-score{color:var(--color-gold);font-weight:500;font-size:var(--text-xs)}.wl-meta-value{color:var(--color-text-tertiary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.wl-row-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.wl-bottle-count{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:600;color:var(--color-gold);min-width:30px;text-align:center;line-height:1}.wl-consume-btn{height:32px;padding:0 var(--space-4);background:var(--color-gold-muted);border:1px solid var(--color-gold);border-radius:var(--radius-md);color:var(--color-gold);font-size:var(--text-xs);font-weight:500;letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:all .18s cubic-bezier(.16,1,.3,1)}.wl-consume-btn:hover{background:var(--color-gold);color:#1a1208}.wl-consume-btn:active{transform:scale(.97)}.wl-menu-wrap{position:relative;z-index:1}.wl-menu-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.wl-menu-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border);color:var(--color-text-primary)}.wl-menu-btn:active{transform:scale(.93)}.wl-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:120px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;z-index:1000;box-shadow:0 8px 32px #000000b3,0 2px 8px #0006}.wl-menu-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:background .12s ease}.wl-menu-item:hover{background:var(--color-bg-hover)}.wl-menu-item--danger{color:var(--color-error)}.wl-menu-item--danger:hover{background:#c74a5a1f}.wl-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1)}.wl-btn:active:not(:disabled){transform:scale(.98)}.wl-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.wl-btn--primary{background:var(--color-gold);border:1px solid var(--color-gold);color:#1a1208}.wl-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.wl-btn--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.wl-btn--ghost:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-hover)}.wl-btn--danger{background:#c74a5a1f;border:1px solid var(--color-error);color:var(--color-error)}.wl-btn--danger:hover:not(:disabled){background:#c74a5a38}.wl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:wl-overlay-in .18s ease both}@keyframes wl-overlay-in{0%{opacity:0}to{opacity:1}}.wl-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:420px;max-height:90dvh;overflow-y:auto;box-shadow:0 24px 60px #000c,0 0 0 1px #ffffff0a;animation:wl-modal-in .24s cubic-bezier(.16,1,.3,1) both}.wl-modal--lg{max-width:580px}@keyframes wl-modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.wl-modal-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-5)}.wl-modal-wine{font-size:var(--text-base);font-weight:500;color:var(--color-gold);margin:0 0 var(--space-5)}.wl-modal-warning{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--space-5)}.wl-modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}.wl-modal-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.wl-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.wl-field-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.wl-field-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:var(--space-2);font-weight:400}.wl-field-input{height:44px;padding:0 var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.wl-field-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.wl-field-input.error{border-color:var(--color-error)}select.wl-field-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.wl-field-error{font-size:var(--text-xs);color:var(--color-error)}.wl-req{color:var(--color-error);margin-left:2px}.wl-error-banner{padding:var(--space-3) var(--space-4);background:#c74a5a1f;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-sm);margin-bottom:var(--space-4)}@media (max-width: 767px){.wl-toolbar{flex-wrap:wrap}.wl-search-wrap{flex:1 1 100%;max-width:none}.wl-type-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2);scrollbar-width:none}.wl-type-pills::-webkit-scrollbar{display:none}.wl-type-pill{flex-shrink:0}.wl-row{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.wl-row-name{font-size:var(--text-sm)}.wl-row-actions{gap:var(--space-2)}.wl-bottle-count{font-size:var(--text-lg);min-width:24px}.wl-modal-row{grid-template-columns:1fr}.wl-modal{padding:var(--space-6)}.wl-modal-actions{flex-direction:column-reverse}.wl-modal-actions .wl-btn{width:100%}}@media (max-width: 480px){.wl-sort-wrap{display:none}}.wl-ai-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.wl-ai-btn{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:5px var(--space-3);cursor:pointer;transition:background .15s,color .15s}.wl-ai-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.wl-ai-btn:disabled{opacity:.5;cursor:not-allowed}.wl-ai-msg{font-size:var(--text-xs);color:var(--color-text-tertiary)}.dw-badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.03em;padding:1px 6px;border-radius:999px;margin-left:var(--space-2);vertical-align:middle}.dw-badge--green{background:#d1fae5;color:#065f46}.dw-badge--amber{background:#fef3c7;color:#92400e}.dw-badge--gray{background:#f3f4f6;color:#6b7280}.consumed-wines-container{max-width:100%;animation:fadeInUp .5s ease-out}.rating-gesture-blocker{position:fixed;left:0;top:0;bottom:0;width:30px;z-index:9999;background:transparent}.consumed-wines-header{margin-bottom:var(--space-6)}.consumed-wines-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.consumed-wines-filters{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);display:grid;grid-template-columns:1fr auto;gap:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-group-search{min-width:0}.filter-label{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary)}.filter-input,.filter-select{padding:var(--space-3);font-size:var(--text-base);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);min-height:44px;transition:all var(--transition-fast)}.filter-input:focus,.filter-select:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted);outline:none}.filter-input::placeholder{color:var(--color-text-tertiary)}.search-container{display:flex;gap:var(--space-2);align-items:stretch}.consumed-wines-loading,.consumed-wines-error,.consumed-wines-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-tertiary)}.consumed-wines-error{color:var(--color-error)}.consumed-wines-content,.consumed-wines-table{display:flex;flex-direction:column;gap:var(--space-3)}.consumed-wine-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-fast)}.consumed-wine-item:hover{border-color:#c9a96238;box-shadow:0 0 0 1px #c9a9620f,var(--shadow-sm)}.consumed-wine-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.consumed-wine-name-section{flex:1;min-width:0}.consumed-wine-name{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-1)}.consumed-wine-details{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-tertiary)}.consumed-wine-vintage{color:var(--color-gold);font-weight:500}.consumed-wine-varietals{color:var(--color-text-secondary)}.consumed-wine-region{color:var(--color-text-tertiary)}.consumed-wine-bin{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.consumed-wine-price{color:var(--color-gold)}.consumed-wine-community-rating{color:var(--color-gold);font-weight:500;font-size:var(--text-sm)}.consumed-wine-community-rating-na{color:var(--color-text-tertiary);font-weight:400}.consumed-wine-actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:1;min-width:0}.consumed-wine-bottles-count{font-family:var(--font-sans);font-size:var(--text-lg);color:var(--color-text-secondary)}.consumed-wine-date{font-size:var(--text-sm);color:var(--color-text-tertiary)}.rating-display{display:flex;align-items:center;gap:var(--space-3)}.rating-value{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:700;color:var(--color-gold)}.rating-none{font-size:var(--text-sm);color:var(--color-text-tertiary);font-style:italic}.rating-edit-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.rating-edit{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);align-items:start;min-width:0}.rating-slider-container{grid-column:1 / -1;min-width:0;padding:var(--space-2) 0}.rating-slider-label{display:flex;align-items:baseline;gap:var(--space-1);margin-bottom:var(--space-2)}.rating-slider-value{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:700;color:var(--color-gold)}.rating-slider-range{font-size:var(--text-sm);color:var(--color-text-tertiary)}.rating-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-bg-elevated);border-radius:var(--radius-full);cursor:pointer}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:var(--color-gold);border-radius:50%;cursor:grab;box-shadow:var(--shadow-md);transition:transform var(--transition-fast)}.rating-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.rating-slider::-moz-range-thumb{width:24px;height:24px;background:var(--color-gold);border:none;border-radius:50%;cursor:grab;box-shadow:var(--shadow-md)}.rating-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);width:100%}@media (max-width: 900px){.consumed-wines-header h2{font-size:var(--text-2xl)}.consumed-wines-filters{grid-template-columns:1fr;padding:var(--space-4)}.search-container{flex-direction:column}.consumed-wine-main{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.consumed-wine-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.rating-slider{height:12px}.rating-slider::-webkit-slider-thumb{width:32px;height:32px}.rating-slider::-moz-range-thumb{width:32px;height:32px}}.consumed-wine-tasting-notes{font-style:italic;font-size:.82rem;color:var(--color-text-tertiary, #9ca3af);margin:2px 0 4px;line-height:1.4}.tasting-notes-input{grid-column:1 / -1;width:100%;min-width:0;padding:8px 10px;font-size:.85rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 6px);background:var(--color-bg-elevated);color:var(--color-text-primary);resize:vertical;margin-bottom:8px;font-family:inherit}.tasting-notes-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.file-upload-container{max-width:700px;margin:0 auto;animation:fadeInUp .5s ease-out}.file-upload-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}.file-upload-card h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--space-6);text-align:center}.upload-instructions{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-6);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.upload-instructions ul{margin:var(--space-3) 0;padding-left:var(--space-6);list-style:disc}.upload-instructions li{margin-bottom:var(--space-2)}.upload-instructions strong{color:var(--color-gold);font-weight:500}.upload-instructions p{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.file-input-group{margin-bottom:var(--space-6)}.file-label{display:block;font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.file-input{width:100%;padding:var(--space-4);background:var(--color-bg-elevated);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.file-input:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.file-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.file-info{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);background:var(--color-gold-muted);border:1px solid var(--color-gold);border-radius:var(--radius-md)}.file-name{color:var(--color-gold);font-weight:500}.file-size{color:var(--color-text-tertiary);font-size:var(--text-sm)}.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-4);font-size:var(--text-sm)}.success-message{padding:var(--space-4);background:#4a9d6b26;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);margin-bottom:var(--space-4);font-size:var(--text-sm)}.error-list{background:#c74a5a1a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.error-list strong{display:block;color:var(--color-error);margin-bottom:var(--space-2);font-size:var(--text-sm)}.error-list ul{margin:0;padding-left:var(--space-5);list-style:disc}.error-list li{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.button-group{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.upload-button,.back-button{padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-height:48px}.upload-button{background:linear-gradient(135deg,var(--color-wine-burgundy) 0%,var(--color-wine-merlot) 100%);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.upload-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-wine-merlot) 0%,#9d4a52 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.back-button{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.back-button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.back-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 767px){.file-upload-container{max-width:100%}.file-upload-card{padding:var(--space-5)}.file-upload-card h2{font-size:var(--text-xl)}.upload-instructions{padding:var(--space-4);font-size:var(--text-xs)}.button-group{flex-direction:column}.upload-button,.back-button{width:100%}}.collection-stats{max-width:100%;animation:fadeInUp .5s ease-out}.collection-stats h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--space-8);text-align:center}.collection-stats-loading,.collection-stats-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-tertiary)}.collection-stats-error{color:var(--color-error)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.stat-card-large{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--color-gold);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.stat-card-large:hover{border-color:#c9a9624d;box-shadow:0 0 0 1px #c9a96214,var(--shadow-md)}.stat-card-icon{font-size:var(--text-xl);opacity:.4;margin-bottom:var(--space-2)}.stat-card-value{font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.03em;line-height:1;margin-bottom:var(--space-2)}.stat-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary)}.stat-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;height:380px;overflow:hidden}.stat-section h3{font-family:var(--font-sans);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-tertiary);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.varietal-list,.price-stats,.vintage-stats,.region-list,.rating-stats{display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto;flex:1;padding-right:var(--space-2);min-height:0}.varietal-list::-webkit-scrollbar,.price-stats::-webkit-scrollbar,.vintage-stats::-webkit-scrollbar,.region-list::-webkit-scrollbar,.rating-stats::-webkit-scrollbar{width:6px}.varietal-list::-webkit-scrollbar-track,.price-stats::-webkit-scrollbar-track,.vintage-stats::-webkit-scrollbar-track,.region-list::-webkit-scrollbar-track,.rating-stats::-webkit-scrollbar-track{background:transparent}.varietal-list::-webkit-scrollbar-thumb,.price-stats::-webkit-scrollbar-thumb,.vintage-stats::-webkit-scrollbar-thumb,.region-list::-webkit-scrollbar-thumb,.rating-stats::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}.varietal-item{padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.varietal-item.clickable{cursor:pointer}.varietal-item.clickable:hover{background:var(--color-bg-hover);border-color:#c9a96233;box-shadow:0 0 0 1px #c9a9620f}.varietal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.varietal-name{font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.varietal-percentage{font-weight:600;color:var(--color-gold)}.varietal-bar-container{width:100%;height:6px;background:var(--color-bg-primary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.varietal-bar{height:100%;background:linear-gradient(90deg,var(--color-gold) 0%,var(--color-wine-burgundy) 100%);border-radius:var(--radius-full);transition:width var(--transition-base)}.varietal-details{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-tertiary)}.price-stat-item,.vintage-stat-item,.rating-stat-item{padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.price-stat-label,.vintage-stat-label,.rating-stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.price-stat-wine,.vintage-stat-wine,.rating-stat-wine{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.price-stat-value,.vintage-stat-value,.rating-stat-value{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:600;color:var(--color-gold)}.vintage-stat-detail{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.wine-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-3);overflow-y:auto;flex:1;padding-right:var(--space-2);min-height:0;align-content:start}.wine-type-item{padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;transition:all var(--transition-fast)}.wine-type-item.clickable{cursor:pointer}.wine-type-item.clickable:hover{background:var(--color-bg-hover);border-color:#c9a96233;box-shadow:0 0 0 1px #c9a9620f}.wine-type-label{font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-1)}.wine-type-value{font-size:var(--text-sm);color:var(--color-gold)}.region-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.region-item.clickable{cursor:pointer}.region-item.clickable:hover{background:var(--color-bg-hover);border-color:#c9a96233;box-shadow:0 0 0 1px #c9a9620f}.region-name{font-size:var(--text-sm);color:var(--color-text-primary)}.region-bottles{font-size:var(--text-sm);color:var(--color-gold);font-weight:500}.no-data{text-align:center;padding:var(--space-6);color:var(--color-text-tertiary);font-style:italic}@media (max-width: 767px){.collection-stats h2{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.stats-grid{grid-template-columns:1fr;gap:var(--space-4)}.stat-section{height:320px;padding:var(--space-4)}.stat-section h3{font-size:var(--text-xs)}.stat-card-large{padding:var(--space-5)}.stat-card-value{font-size:var(--text-2xl)}}@media (min-width: 768px) and (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.community-container{max-width:100%;animation:fadeInUp .5s ease-out}.community-header{margin-bottom:var(--space-6)}.community-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.community-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.community-tab{padding:var(--space-3) var(--space-5);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast)}.community-tab:hover{color:var(--color-text-primary)}.community-tab.active{color:var(--color-gold);border-bottom-color:var(--color-gold)}.community-content{min-height:400px}.community-error{padding:var(--space-4);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-4)}.community-loading,.community-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-tertiary)}.create-post-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6)}.post-input{width:100%;padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);resize:vertical;min-height:80px;margin-bottom:var(--space-3)}.post-input:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.post-actions{display:flex;justify-content:space-between;align-items:center}.post-char-count{font-size:var(--text-sm);color:var(--color-text-tertiary)}.posts-list{display:flex;flex-direction:column;gap:var(--space-4)}.post-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-fast)}.post-card:hover{border-color:#c9a96233;box-shadow:0 0 0 1px #c9a9620d,var(--shadow-sm)}.post-header{margin-bottom:var(--space-3)}.post-author{display:flex;flex-direction:column;gap:var(--space-1)}.post-author-name{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.post-time{font-size:var(--text-xs);color:var(--color-text-tertiary)}.post-content{color:var(--color-text-primary);font-size:var(--text-base);line-height:1.6;margin-bottom:var(--space-3);white-space:pre-wrap;word-wrap:break-word}.post-mentions{padding:var(--space-2) var(--space-3);background:var(--color-gold-muted);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-gold);margin-bottom:var(--space-3)}.post-footer{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.post-like-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.post-like-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.post-like-btn.liked{color:var(--color-error)}.friends-list{display:flex;flex-direction:column;gap:var(--space-3)}.friend-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.friend-card:hover{border-color:#c9a96233;box-shadow:0 0 0 1px #c9a9620d}.friend-info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex:1}.friend-status-pending{font-size:var(--text-sm);color:var(--color-text-tertiary);font-style:italic}.friend-username{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary)}.friend-actions{display:flex;gap:var(--space-2)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.search-form{display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.search-input{flex:1;padding:var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base)}.search-input:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.search-results{display:flex;flex-direction:column;gap:var(--space-3)}.user-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.user-card:hover{border-color:#c9a96233;box-shadow:0 0 0 1px #c9a9620d}.user-info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex:1}.user-name-section{display:flex;flex-direction:column;gap:var(--space-1)}.user-username{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary)}.user-full-name{font-size:var(--text-sm);color:var(--color-text-secondary)}.user-badges{display:flex;gap:var(--space-2);align-items:center}.user-badge{padding:var(--space-1) var(--space-2);background:var(--color-gold-muted);color:var(--color-gold);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.user-badge.pending{background:#d4a84b26;color:var(--color-warning)}.comm-auto-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);background:var(--color-gold-muted);color:var(--color-gold);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;letter-spacing:.03em;margin-left:var(--space-2)}.comm-post--auto .post-content{color:var(--color-text-secondary)}.post-author-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.post-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.post-delete-btn{background:transparent;border:none;color:var(--color-text-tertiary);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast);flex-shrink:0}.post-delete-btn:hover{color:var(--color-error)}.wl-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.wl-modal-header h3{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0}.wl-modal-close{background:transparent;border:none;color:var(--color-text-tertiary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.wl-modal-close:hover{color:var(--color-text-primary)}.wl-modal-body{display:flex;flex-direction:column;gap:var(--space-4)}.wl-modal-body .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.wl-modal-body .form-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.wl-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.comm-trade-success{padding:var(--space-3) var(--space-4);background:#4a9d6b26;border:1px solid rgba(74,157,107,.3);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--text-sm);margin-bottom:var(--space-4)}.comm-trade-select,.comm-trade-textarea{width:100%;padding:var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans)}.comm-trade-select:focus,.comm-trade-textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted);outline:none}.comm-trade-textarea{resize:vertical}.comm-trade-error{padding:var(--space-3);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-sm);margin-bottom:var(--space-3)}@media (max-width: 767px){.community-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.community-tab{white-space:nowrap;flex-shrink:0}.search-form{flex-direction:column}.friend-actions{flex-direction:column;width:100%}.friend-actions .btn{width:100%}}.trades-container{max-width:100%;animation:fadeInUp .5s ease-out}.trades-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.trades-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.trades-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap}.trades-filter-btn{padding:var(--space-2) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.trades-filter-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.trades-filter-btn.active{background:var(--color-gold-muted);border-color:var(--color-gold);color:var(--color-gold)}.trades-list{display:flex;flex-direction:column;gap:var(--space-4)}.trade-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-fast)}.trade-card:hover{border-color:#c9a96238;box-shadow:0 0 0 1px #c9a9620f,var(--shadow-sm)}.trade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.trade-status{font-weight:500;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}.trade-time{font-size:var(--text-xs);color:var(--color-text-tertiary)}.trade-content{margin-bottom:var(--space-4)}.trade-wines{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4)}.trade-wine-section{display:flex;flex-direction:column;gap:var(--space-2)}.trade-wine-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.trade-wine-info{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.trade-wine-name{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-1)}.trade-wine-details{font-size:var(--text-sm);color:var(--color-text-tertiary)}.trade-arrow{font-size:var(--text-2xl);color:var(--color-gold);text-align:center}.trade-message{padding:var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-4)}.trade-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.trades-error{padding:var(--space-4);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-4)}.trades-loading,.trades-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-tertiary)}@media (max-width: 767px){.trades-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.trades-header .btn{width:100%}.trade-wines{grid-template-columns:1fr;gap:var(--space-3)}.trade-arrow{transform:rotate(90deg)}.trade-actions{flex-direction:column}.trade-actions .btn{width:100%}}.notifications-container{max-width:100%;animation:fadeInUp .5s ease-out}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.notifications-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.notifications-error{padding:var(--space-4);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-4)}.notifications-loading,.notifications-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-tertiary)}.notifications-list{display:flex;flex-direction:column;gap:var(--space-3)}.notification-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid transparent;border-radius:var(--radius-lg);padding:var(--space-4);padding-left:calc(var(--space-4) - 2px);display:flex;gap:var(--space-4);align-items:flex-start;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-fast)}.notification-item:hover{border-color:var(--color-border-hover);border-left-color:transparent;box-shadow:0 0 0 1px #c9a9620f,var(--shadow-sm)}.notification-item.unread{background:var(--color-bg-elevated);border-color:var(--color-border);border-left-color:var(--color-gold)}.notification-item.unread:hover{border-left-color:var(--color-gold-light)}.notification-icon{font-size:var(--text-2xl);flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-1)}.notification-item.unread .notification-title{color:var(--color-text-primary);font-weight:600}.notification-message{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-2);line-height:1.5}.notification-time{font-size:var(--text-xs);color:var(--color-text-tertiary)}.notification-actions{display:flex;gap:var(--space-2);flex-shrink:0}.notification-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-lg);cursor:pointer;transition:all var(--transition-fast)}.notification-action-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.notification-friend-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.notification-friend-actions .btn{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}@media (max-width: 767px){.notifications-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.notifications-header .btn{width:100%}}.notification-badge-button{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:0;-webkit-tap-highlight-color:transparent}.notification-badge-button:hover{color:var(--color-gold);border-color:var(--color-gold);background:var(--color-bg-hover)}.notification-badge-button:active{transform:scale(.95)}.notification-badge-button svg{width:20px;height:20px}.notification-badge-count{position:absolute;top:-6px;right:-6px;background:var(--color-error);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1.2;border:2px solid var(--color-bg-primary)}.notification-badge-inline{display:inline-flex;align-items:center;justify-content:center;background:var(--color-error);color:#fff;font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-full);min-width:18px;line-height:1.4;margin-left:auto}.admin-container{max-width:100%;animation:fadeInUp .5s ease-out}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-3)}.admin-header-actions{display:flex;gap:var(--space-2);align-items:center}.admin-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.admin-loading,.admin-error{display:flex;align-items:center;justify-content:center;padding:var(--space-16);text-align:center}.admin-error{color:var(--color-error);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-lg)}.admin-error-message{background:#c74a5a26;border:1px solid var(--color-error);color:var(--color-error);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);text-align:center}.admin-empty{text-align:center;padding:var(--space-8);color:var(--color-text-secondary);font-style:italic}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.admin-stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color var(--transition-base),box-shadow var(--transition-base);position:relative;overflow:hidden}.admin-stat-card:hover{border-color:#c9a96240;box-shadow:0 0 0 1px #c9a9620f,var(--shadow-md)}.admin-stat-card-clickable{cursor:pointer}.admin-stat-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.admin-stat-icon{font-size:var(--text-xl);opacity:.35;position:absolute;top:var(--space-4);right:var(--space-4);width:20px;height:20px;line-height:1}.admin-stat-content{flex:1;min-width:0}.admin-stat-label{font-size:10px;font-weight:700;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-1)}.admin-stat-value{font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.03em;line-height:1}.admin-info{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-6)}.admin-info p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.admin-info p+p{margin-top:var(--space-2)}.admin-note{color:var(--color-text-tertiary);font-style:italic}.admin-users-view{animation:fadeInUp .5s ease-out}.admin-users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.admin-users-header h3{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.admin-users-table{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.admin-users-table-header{display:grid;grid-template-columns:2fr 1.5fr 2fr 2fr 1fr 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);font-weight:500}.admin-user-row{display:grid;grid-template-columns:2fr 1.5fr 2fr 2fr 1fr 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast);align-items:center}.admin-user-row:last-child{border-bottom:none}.admin-user-row:hover{background:var(--color-bg-hover)}.admin-users-col-name,.admin-users-col-username,.admin-users-col-email,.admin-users-col-status,.admin-users-col-stats,.admin-users-col-joined{display:flex;align-items:center;font-size:var(--text-sm);color:var(--color-text-primary)}.admin-user-full-name{font-weight:500;color:var(--color-text-primary)}.admin-user-missing-name{color:var(--color-text-tertiary);font-style:italic}.admin-user-status-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-user-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.admin-user-badge.verified{background:#4a9d6b26;color:var(--color-success)}.admin-user-badge.unverified{background:#d4a84b26;color:var(--color-warning)}.admin-user-badge.active-today{background:#4a9d6b26;color:var(--color-success)}.admin-user-badge.active-month{background:#c9a96226;color:var(--color-gold)}@media (max-width: 1024px){.admin-users-table-header,.admin-user-row{grid-template-columns:1.5fr 1fr 1.5fr 1.5fr 1fr}.admin-users-col-joined{display:none}}@media (max-width: 767px){.admin-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.admin-header-actions{width:100%;flex-direction:column}.admin-header-actions .btn{width:100%}.admin-stats-grid{grid-template-columns:1fr}.admin-stat-card{text-align:left}.admin-users-table-header,.admin-user-row{grid-template-columns:1fr;gap:var(--space-2)}.admin-users-col-name,.admin-users-col-username,.admin-users-col-email,.admin-users-col-status,.admin-users-col-stats,.admin-users-col-joined{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.admin-users-col-name:before{content:"Name: ";font-weight:500;color:var(--color-text-tertiary)}.admin-users-col-username:before{content:"Username: ";font-weight:500;color:var(--color-text-tertiary)}.admin-users-col-email:before{content:"Email: ";font-weight:500;color:var(--color-text-tertiary)}.admin-users-col-status:before{content:"Status: ";font-weight:500;color:var(--color-text-tertiary)}.admin-users-col-stats:before{content:"Wines / Bottles: ";font-weight:500;color:var(--color-text-tertiary)}.admin-users-col-joined:before{content:"Joined: ";font-weight:500;color:var(--color-text-tertiary)}}.name-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);animation:fadeIn .3s ease-out}.name-update-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:500px;width:100%;box-shadow:var(--shadow-xl);animation:fadeInScale .3s ease-out}.name-update-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.name-update-header h3{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400;color:var(--color-text-primary);margin:0}.name-update-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-xl);cursor:pointer;transition:all var(--transition-fast)}.name-update-close:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.name-update-content{padding:var(--space-5)}.name-update-content p{color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:1.6}.name-update-error{padding:var(--space-3);background:#c74a5a26;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-4);font-size:var(--text-sm)}.name-update-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4)}@media (max-width: 767px){.name-update-modal{max-width:100%}.name-update-actions{flex-direction:column-reverse}.name-update-actions .btn{width:100%}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);background-image:radial-gradient(circle at 20% 50%,rgba(114,47,55,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(201,169,98,.1) 0%,transparent 50%),linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);padding:var(--space-4);position:relative}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 20%,rgba(201,169,98,.05) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(114,47,55,.08) 0%,transparent 50%);pointer-events:none}.auth-card{background:var(--color-bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-10);width:100%;max-width:420px;box-shadow:var(--shadow-xl),var(--shadow-glow);position:relative;z-index:1}.auth-card h1{text-align:center;color:var(--color-gold);margin-bottom:var(--space-2);font-size:1.75rem;font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em}.auth-card h2{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-8);font-size:.875rem;font-weight:500;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em}.auth-card .form-group{margin-bottom:var(--space-6)}.auth-card label{display:block;margin-bottom:var(--space-3);color:var(--color-text-secondary);font-weight:500;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em}.auth-card input{width:100%;padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-primary);transition:all var(--transition-base);font-family:var(--font-sans)}.auth-card input::placeholder{color:var(--color-text-tertiary)}.auth-card input:focus{outline:none;border-color:var(--color-gold);background:var(--color-bg-tertiary);box-shadow:0 0 0 3px var(--color-gold-muted)}.auth-card .btn{width:100%;margin-top:var(--space-6);padding:var(--space-4) var(--space-6);background:linear-gradient(135deg,var(--color-wine-burgundy) 0%,var(--color-wine-merlot) 100%);border:1px solid rgba(201,169,98,.2);color:var(--color-text-primary);font-weight:600;font-size:var(--text-base);text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.auth-card .btn:hover{background:linear-gradient(135deg,var(--color-wine-merlot) 0%,#9b4a52 100%);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.auth-card .btn:active{transform:translateY(0)}.error-message{background:#c74a5a26;border:1px solid rgba(199,74,90,.3);color:var(--color-error);padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-5);text-align:center;font-size:var(--text-sm)}.backend-error-message{background:#d4a84b26;border:1px solid rgba(212,168,75,.3);color:var(--color-warning);padding:var(--space-5);border-radius:var(--radius-sm);margin-bottom:var(--space-5);text-align:left;font-size:var(--text-sm)}.backend-error-message strong{display:block;margin-bottom:var(--space-3);font-size:var(--text-base)}.backend-error-message p{margin:var(--space-2) 0;color:var(--color-text-secondary)}.backend-error-message code{display:block;background:var(--color-bg-secondary);padding:var(--space-3);border-radius:var(--radius-sm);margin-top:var(--space-3);font-family:Courier New,monospace;font-size:var(--text-xs);color:var(--color-gold-light);border:1px solid var(--color-border);line-height:1.6}.auth-link{text-align:center;margin-top:var(--space-6);color:var(--color-text-secondary);font-size:var(--text-sm)}.auth-link a{color:var(--color-gold);text-decoration:none;font-weight:500;transition:color var(--transition-base)}.auth-link a:hover{color:var(--color-gold-light);text-decoration:underline}@keyframes lp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes floatChip{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes mockup-row-in{0%{opacity:0}to{opacity:1}}@keyframes glow-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.55;transform:scale(1.04)}}.landing{min-height:100dvh;background:var(--color-bg-primary);position:relative;overflow-x:hidden}.landing-orb{position:fixed;border-radius:50%;filter:blur(110px);pointer-events:none;transition:transform .5s cubic-bezier(.16,1,.3,1);will-change:transform}.landing-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(114,47,55,.65) 0%,transparent 70%);opacity:.3;top:-10%;left:-8%}.landing-orb-2{width:450px;height:450px;background:radial-gradient(circle,rgba(201,169,98,.25) 0%,transparent 70%);opacity:.4;top:30%;right:-8%}.landing-orb-3{width:320px;height:320px;background:radial-gradient(circle,rgba(139,58,66,.4) 0%,transparent 70%);opacity:.25;bottom:15%;left:30%}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-8);position:relative;z-index:10;border-bottom:1px solid rgba(255,255,255,.04);animation:lp-fade-in .4s ease both}.landing-nav-brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary);letter-spacing:.03em;text-decoration:none}.landing-nav-brand svg{width:22px;height:22px;color:var(--color-gold)}.landing-nav-actions{display:flex;align-items:center;gap:var(--space-4)}.landing-nav-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease}.landing-nav-link:hover{color:var(--color-text-primary)}.landing-nav-cta{padding:var(--space-2) var(--space-5);background:var(--color-wine-burgundy);border:1px solid rgba(201,169,98,.25);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:all .2s ease}.landing-nav-cta:hover{background:var(--color-wine-merlot);border-color:#c9a96266;transform:translateY(-1px)}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;padding:var(--space-16) var(--space-8);min-height:calc(100dvh - 65px);max-width:1200px;margin:0 auto;position:relative;z-index:1}.landing-hero-left{display:flex;flex-direction:column;gap:var(--space-6)}.landing-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-4);background:#c9a96214;border:1px solid rgba(201,169,98,.2);border-radius:var(--radius-full);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-gold);width:fit-content;animation:lp-fade-in .5s ease-out both}.landing-headline{font-family:var(--font-serif);font-size:clamp(2.6rem,4.8vw,4.8rem);font-weight:400;line-height:1.06;color:var(--color-text-primary);letter-spacing:-.01em;animation:lp-fade-in .5s ease-out .1s both}.landing-headline-swap{display:inline-block;color:var(--color-gold);font-style:italic;transition:opacity .3s ease,transform .3s ease}.landing-headline-swap--in{opacity:1;transform:translateY(0)}.landing-headline-swap--out{opacity:0;transform:translateY(-10px)}.landing-sub{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.65;max-width:440px;animation:lp-fade-in .5s ease-out .2s both}.landing-hero-actions{display:flex;gap:var(--space-3);align-items:center;animation:lp-fade-in .5s ease-out .25s both}.landing-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-decoration:none;border-radius:var(--radius-md);transition:all .22s cubic-bezier(.16,1,.3,1);white-space:nowrap}.landing-btn-primary{background:var(--color-wine-burgundy);color:var(--color-text-primary);border:1px solid rgba(201,169,98,.25);box-shadow:var(--shadow-md),inset 0 1px #ffffff0f}.landing-btn-primary:hover{background:var(--color-wine-merlot);box-shadow:var(--shadow-lg),inset 0 1px #ffffff14;transform:translateY(-2px)}.landing-btn-primary:active{transform:scale(.97)}.landing-btn-outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.landing-btn-outline:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:var(--color-bg-hover)}.landing-btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.landing-proof{display:flex;align-items:center;gap:var(--space-4);animation:lp-fade-in .5s ease-out .3s both}.proof-item{display:flex;flex-direction:column;gap:2px}.proof-num{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.proof-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.proof-sep{width:1px;height:32px;background:var(--color-border)}.landing-hero-right{position:relative;display:flex;justify-content:center;align-items:center;animation:lp-fade-in .7s ease-out .35s both}.mockup-glow-ring{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(114,47,55,.35) 0%,transparent 70%);animation:glow-pulse 4s ease-in-out infinite;pointer-events:none;z-index:0}.landing-mockup{width:100%;max-width:380px;background:var(--color-bg-card);border:1px solid rgba(201,169,98,.18);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl),0 0 0 1px #c9a9620f,0 32px 64px #00000080;position:relative;z-index:2}.mockup-topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.mockup-dots{display:flex;gap:5px}.mockup-dots span{width:8px;height:8px;border-radius:50%}.mockup-dots span:nth-child(1){background:#ff5f57}.mockup-dots span:nth-child(2){background:#febc2e}.mockup-dots span:nth-child(3){background:#28c840}.mockup-label{flex:1;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.mockup-count{font-size:var(--text-xs);color:var(--color-text-tertiary)}.mockup-wines{padding:var(--space-2) 0}.mockup-wine-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid rgba(255,255,255,.04);opacity:0;animation:mockup-row-in .4s ease-out both}.mockup-wine-row:last-child{border-bottom:none}.mockup-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mockup-dot--red{background:#8b3039}.mockup-dot--white{background:#c9b76a}.mockup-dot--rose{background:#d48191}.mockup-dot--sparkling{background:var(--color-gold)}.mockup-wine-text{flex:1;min-width:0}.mockup-wine-name{display:block;font-size:12px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mockup-wine-meta{display:block;font-size:10px;color:var(--color-text-tertiary)}.mockup-wine-count{font-size:13px;font-weight:700;color:var(--color-gold);min-width:16px;text-align:right}.mockup-bottom{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border-top:1px solid var(--color-border)}.mockup-value{display:flex;flex-direction:column;gap:1px}.mockup-value-num{font-size:var(--text-base);font-weight:700;color:var(--color-gold);letter-spacing:-.02em}.mockup-value-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.mockup-add-btn{padding:var(--space-2) var(--space-3);background:var(--color-wine-burgundy);border:1px solid rgba(201,169,98,.2);border-radius:var(--radius-md);font-size:11px;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:background .2s ease}.mockup-add-btn:hover{background:var(--color-wine-merlot)}.mockup-chip{position:absolute;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border:1px solid rgba(201,169,98,.2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);white-space:nowrap;box-shadow:var(--shadow-md),inset 0 1px #ffffff0d;z-index:3;animation:floatChip 4s ease-in-out infinite;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mockup-chip svg{color:var(--color-gold);flex-shrink:0}.mockup-chip-1{top:-4%;right:-8%;animation-delay:0s}.mockup-chip-2{bottom:10%;left:-12%;animation-delay:1.8s}.landing-marquee{overflow:hidden;padding:var(--space-5) 0;border-top:1px solid rgba(201,169,98,.07);border-bottom:1px solid rgba(201,169,98,.07);position:relative;z-index:1;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee-scroll 36s linear infinite}.marquee-track:hover{animation-play-state:paused}.marquee-item{display:inline-flex;align-items:center;gap:var(--space-5);padding:0 var(--space-2);font-size:11px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .15s ease;cursor:default}.marquee-item:hover{color:var(--color-gold)}.marquee-dot{width:3px;height:3px;border-radius:50%;background:#c9a96259;flex-shrink:0}.landing-features{padding:5rem var(--space-8) var(--space-16);max-width:1200px;margin:0 auto;position:relative;z-index:1}.landing-features-header{margin-bottom:var(--space-12)}.landing-features-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-gold);margin-bottom:var(--space-3)}.landing-features-title{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;color:var(--color-text-primary);letter-spacing:-.01em;line-height:1.2}.landing-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5) var(--space-10)}.landing-feature-card{padding:var(--space-6) var(--space-6) var(--space-6) var(--space-6);border-left:2px solid rgba(201,169,98,.1);display:flex;flex-direction:column;gap:var(--space-4);opacity:0;transition:opacity .5s ease,border-color .25s ease}.landing-feature-card.visible{opacity:1}.landing-feature-card:hover{border-color:#c9a96273}.feature-icon{width:26px;height:26px;color:var(--color-gold);opacity:.8}.feature-icon svg{width:100%;height:100%}.feature-title{font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.feature-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.65}.landing-testimonial{padding:var(--space-16) var(--space-8) 5rem;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-10)}.landing-testimonial-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(201,169,98,.3),transparent)}.testimonial-inner{max-width:700px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.testimonial-quote-mark{width:32px;height:28px;color:var(--color-gold);opacity:.4}.testimonial-quote-mark svg{width:100%;height:100%}.testimonial-text{font-family:var(--font-serif);font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:400;font-style:italic;color:var(--color-text-primary);line-height:1.55;letter-spacing:.01em}.testimonial-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:var(--space-2);border-top:1px solid rgba(201,169,98,.1);width:120px}.testimonial-author{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);letter-spacing:.02em}.testimonial-role{font-size:10px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em}.landing-cta-section{padding:var(--space-16) var(--space-8) 5rem;position:relative;z-index:1;overflow:hidden}.landing-cta-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(114,47,55,.12) 0%,transparent 70%);pointer-events:none}.landing-cta-inner{max-width:560px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);position:relative}.cta-title{font-family:var(--font-serif);font-size:clamp(2.2rem,4.2vw,3.2rem);font-weight:400;color:var(--color-text-primary);letter-spacing:-.01em;line-height:1.1}.cta-sub{font-size:var(--text-base);color:var(--color-text-tertiary)}.cta-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-4)}.cta-signin-link{font-size:var(--text-sm);color:var(--color-text-tertiary);text-decoration:none;transition:color .15s ease}.cta-signin-link:hover{color:var(--color-gold)}@media (max-width: 1024px){.landing-features-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-8)}}@media (max-width: 767px){.landing-nav{padding:var(--space-3) var(--space-4)}.landing-hero{grid-template-columns:1fr;padding:var(--space-8) var(--space-4);min-height:auto;gap:var(--space-10)}.landing-hero-right{order:-1}.landing-mockup{max-width:320px}.mockup-glow-ring{width:260px;height:260px}.mockup-chip-1,.mockup-chip-2{display:none}.landing-headline{font-size:2.2rem}.landing-sub{max-width:100%;font-size:var(--text-base)}.landing-hero-actions{flex-direction:column;align-items:stretch}.landing-btn{justify-content:center}.landing-proof{gap:var(--space-3)}.landing-features{padding:var(--space-12) var(--space-4) var(--space-10)}.landing-features-grid{grid-template-columns:1fr;gap:var(--space-4)}.landing-testimonial{padding:var(--space-10) var(--space-4) var(--space-12)}.testimonial-text{font-size:1.2rem}.landing-cta-section{padding:var(--space-10) var(--space-4) var(--space-16)}}.account-container{max-width:800px;margin:0 auto;padding:var(--space-6)}.account-header{margin-bottom:var(--space-6)}.account-header h2{color:var(--color-text-primary);font-size:var(--text-2xl);font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em}.account-content{display:flex;flex-direction:column;gap:var(--space-6)}.account-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.account-section h3{color:var(--color-text-primary);margin-bottom:var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:600;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.info-item{margin-bottom:var(--space-4)}.info-item label{display:block;color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:500;text-transform:uppercase;letter-spacing:.1em}.info-value{color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans)}.error-message{background:#c74a5a26;border:1px solid rgba(199,74,90,.3);color:var(--color-error);padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.success-message{background:#4a9d6b26;border:1px solid rgba(74,157,107,.3);color:var(--color-success);padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.account-section .form-group{margin-bottom:var(--space-4)}.account-section label{display:block;margin-bottom:var(--space-3);color:var(--color-text-secondary);font-weight:500;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em}.account-section input{width:100%;padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-primary);transition:all var(--transition-base);font-family:var(--font-sans)}.account-section input::placeholder{color:var(--color-text-tertiary)}.account-section input:focus{outline:none;border-color:var(--color-gold);background:var(--color-bg-tertiary);box-shadow:0 0 0 3px var(--color-gold-muted)}.account-section .btn{margin-top:var(--space-2)}.form-row{margin-bottom:var(--space-4)}.form-row-split{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (max-width: 767px){.form-row-split{grid-template-columns:1fr}}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.toggle-row-label{flex:1}.toggle-row-label strong{display:block;color:var(--color-text-primary);font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-1);text-transform:none;letter-spacing:0}.toggle-row-label span{display:block;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:400;text-transform:none;letter-spacing:0}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--color-border);border-radius:26px;transition:background var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform var(--transition-fast)}.toggle-switch input:checked+.toggle-slider{background:var(--color-gold)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.wine-lookup-container{max-width:700px;margin:0 auto;animation:fadeInUp .5s ease-out}.wine-lookup-header{margin-bottom:var(--space-8);text-align:center}.wine-lookup-header h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.wine-lookup-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.lookup-identify-grid{align-items:start}.entry-mode-card--search{cursor:default;align-items:stretch;text-align:left}.entry-mode-card--search .entry-mode-icon,.entry-mode-card--search .entry-mode-label{text-align:center}.lookup-search-form{display:flex;flex-direction:column;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.lookup-search-form .form-input{width:100%;box-sizing:border-box}.lookup-back-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--color-text-secondary);font-size:var(--text-sm);font-family:inherit;cursor:pointer;padding:var(--space-2) 0;margin-bottom:var(--space-6);transition:color var(--transition-fast)}.lookup-back-btn:hover{color:var(--color-gold)}.lookup-detail{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5)}.lookup-wine-header{padding:var(--space-6);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-2)}.lookup-wine-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.lookup-wine-name{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.02em}.wine-type-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.wine-type-chip--red{background:#a2333c26;color:var(--color-wine-red)}.wine-type-chip--white{background:#d4a84b26;color:var(--color-warning)}.wine-type-chip--rose{background:#cf718c26;color:var(--color-wine-rose)}.wine-type-chip--sparkling{background:#64b4c826;color:#64b4c8}.wine-type-chip--dessert,.wine-type-chip--port,.wine-type-chip--other{background:#78645026;color:var(--color-text-secondary)}.lookup-wine-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.lookup-wine-detail{font-size:var(--text-sm);color:var(--color-text-tertiary)}.lookup-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.lookup-section-title{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 var(--space-4) 0}.lookup-scores-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.score-block{display:flex;flex-direction:column;gap:var(--space-1)}.score-value{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;line-height:1}.score-block--community .score-value{color:var(--color-gold)}.score-block--critic .score-value{color:var(--color-text-secondary);font-size:var(--text-xl);font-weight:600}.score-value--none{color:var(--color-text-tertiary)!important;font-weight:400}.score-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.score-subtext{font-size:var(--text-xs);color:var(--color-text-tertiary)}.score-tasting-note{font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic;line-height:1.5;margin-top:var(--space-1)}.score-loading{height:60px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.ai-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius-full);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#6464641f;color:var(--color-text-tertiary);vertical-align:middle}.lookup-cellar-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-top:2px solid var(--color-gold);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.cellar-status{font-size:var(--text-base);font-weight:500}.cellar-status--in{color:var(--color-success)}.cellar-status--out{color:var(--color-text-secondary)}.lookup-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.lookup-action-btn{display:flex;flex-direction:column;align-items:center;gap:2px}.btn-subtitle{font-size:var(--text-xs);opacity:.7;font-weight:400}.consumed-success{font-size:var(--text-sm);color:var(--color-success);font-weight:500}.lookup-rating-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.rating-slider-row{display:flex;align-items:center;gap:var(--space-4)}.rating-slider-value{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:700;color:var(--color-gold);letter-spacing:-.02em;min-width:3ch;text-align:center}.rating-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--color-border);outline:none;cursor:pointer}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-gold);cursor:pointer;border:2px solid var(--color-bg-card);box-shadow:0 0 0 1px var(--color-gold)}.rating-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-gold);cursor:pointer;border:2px solid var(--color-bg-card)}.rating-actions{display:flex;gap:var(--space-3)}.rating-saved-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#4a9d6b1a;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--text-sm);font-weight:500}@media (max-width: 767px){.wine-lookup-container{max-width:100%}.lookup-identify-grid{grid-template-columns:1fr}.lookup-identify-grid .entry-mode-card--search{flex-direction:column;align-items:stretch;text-align:left}.lookup-wine-name{font-size:var(--text-xl)}.lookup-scores-grid{grid-template-columns:1fr;gap:var(--space-5)}.lookup-section,.lookup-cellar-section,.lookup-rating-section,.lookup-wine-header{padding:var(--space-4) var(--space-5)}.lookup-actions{flex-direction:column}.lookup-actions .btn{width:100%}.rating-actions{flex-direction:column}.rating-actions .btn{width:100%}}.wl-wish-page{max-width:100%;animation:wl-fade-up .4s cubic-bezier(.16,1,.3,1) both}@keyframes wl-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.wl-wish-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.wl-wish-title{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.025em;color:var(--color-text-primary);margin:0}.wl-wish-btn{font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);padding:7px 16px;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.wl-wish-btn--primary{background:var(--color-primary, #6366f1);color:#fff;border-color:var(--color-primary, #6366f1)}.wl-wish-btn--primary:hover{background:var(--color-primary-dark, #4f46e5)}.wl-wish-btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.wl-wish-btn--ghost:hover{background:var(--color-bg-hover)}.wl-wish-btn--danger{background:transparent;color:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626)}.wl-wish-btn--danger:hover{background:#fee2e2}.wl-wish-btn--acquired{background:#d1fae5;color:#065f46;border-color:#6ee7b7}.wl-wish-btn--acquired:hover{background:#a7f3d0}.wl-wish-form-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.wl-wish-form-card h3{margin:0 0 var(--space-4);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.wl-wish-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.wl-wish-field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.wl-wish-field label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.wl-wish-input{padding:8px 10px;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface, #fff);color:var(--color-text-primary);transition:border-color .15s;font-family:inherit;width:100%;box-sizing:border-box}.wl-wish-input:focus{outline:none;border-color:var(--color-primary, #6366f1)}.wl-wish-textarea{resize:vertical}.wl-wish-form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.wl-wish-error{color:var(--color-danger, #dc2626);font-size:var(--text-sm);margin-bottom:var(--space-2)}.wl-wish-list{display:flex;flex-direction:column;gap:var(--space-3)}.wl-wish-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);transition:box-shadow .15s}.wl-wish-card:hover{box-shadow:0 2px 12px #0000000f}.wl-wish-card-body{margin-bottom:var(--space-3)}.wl-wish-card-name{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.wl-wish-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.wl-wish-card-meta span:after{content:"·";margin-left:var(--space-2);opacity:.4}.wl-wish-card-meta span:last-child:after{content:""}.wl-wish-price{font-weight:500;color:var(--color-text-primary)!important}.wl-wish-card-notes{font-size:var(--text-sm);color:var(--color-text-tertiary);font-style:italic;margin-top:4px;line-height:1.5}.wl-wish-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.wl-wish-edit-wrap{padding:var(--space-2) 0}.wl-wish-empty{text-align:center;padding:60px var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-base)}.wl-wish-loading{text-align:center;padding:40px;color:var(--color-text-tertiary)}.wl-wish-error-banner{background:#fee2e2;color:#991b1b;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.wl-wish-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.wl-wish-modal{background:var(--color-bg-surface, #fff);border-radius:var(--radius-xl);padding:var(--space-6);max-width:380px;width:100%}.wl-wish-modal h3{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:600}.wl-wish-modal p{color:var(--color-text-secondary);margin-bottom:var(--space-5);font-size:var(--text-sm)}.wl-wish-modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}@media (max-width: 600px){.wl-wish-form-row{grid-template-columns:1fr}.wl-wish-card-actions{flex-direction:column}.wl-wish-btn{text-align:center}}.req{color:var(--color-danger, #dc2626)}.app{min-height:100vh;display:flex;flex-direction:row;background:transparent;position:relative;z-index:1}.app.has-sidebar .app-content{margin-left:var(--sidebar-width);transition:margin-left .25s ease}.app.has-sidebar.sidebar-collapsed .app-content{margin-left:var(--sidebar-collapsed-width)}.app-content{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);z-index:100;display:flex;flex-direction:column;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);transition:var(--sidebar-transition);overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);overflow:hidden}.sidebar-logo-icon{width:28px;height:28px;color:var(--color-gold);flex-shrink:0}.sidebar-logo-text{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);letter-spacing:.05em;white-space:nowrap}.sidebar-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;padding:0}.sidebar-toggle:hover{border-color:var(--color-gold);color:var(--color-gold);background:var(--color-gold-muted)}.sidebar-toggle svg{width:14px;height:14px}.sidebar.collapsed .sidebar-toggle{margin:0 auto}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-2);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.sidebar-section-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-tertiary);padding:var(--space-3) var(--space-3) var(--space-1);white-space:nowrap}.sidebar-section-divider{height:1px;background:var(--color-border);margin:var(--space-3) var(--space-2)}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;text-decoration:none;border:none;cursor:pointer;width:100%;position:relative;white-space:nowrap;overflow:hidden;border-left:2px solid transparent;background:linear-gradient(to right,var(--color-bg-hover) 50%,transparent 50%);background-size:200% 100%;background-position:right center;transition:background-position .2s ease,color var(--transition-fast),border-left-color var(--transition-fast)}.sidebar-item:hover{color:var(--color-text-primary);background-position:left center}.sidebar-item:hover .sidebar-item-icon{transform:translate(3px) scale(1.1);color:var(--color-gold)}.sidebar-item.active{color:var(--color-gold);background:linear-gradient(to right,var(--color-gold-muted) 50%,transparent 50%);background-size:200% 100%;background-position:left center;border-left-color:var(--color-gold)}.sidebar-item.active .sidebar-item-icon{color:var(--color-gold)}.sidebar-item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.sidebar-item-icon svg{width:100%;height:100%}.sidebar-item-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-item{justify-content:center;padding:var(--space-3);border-left-color:transparent;border-radius:var(--radius-md);background:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar.collapsed .sidebar-item:hover{background:var(--color-bg-hover);background-position:unset}.sidebar.collapsed .sidebar-item.active{background:var(--color-gold-muted);border-left-color:transparent;box-shadow:inset 0 0 0 1px #c9a9624d}.sidebar-logout{font-family:var(--font-sans);text-align:left}.sidebar-logout:hover{color:var(--color-error);background:linear-gradient(to right,rgba(199,74,90,.1) 50%,transparent 50%);background-size:200% 100%;background-position:left center}.sidebar-logout:hover .sidebar-item-icon{color:var(--color-error);transform:translate(3px) scale(1.1)}.sidebar-bottom{padding:var(--space-2);border-top:1px solid var(--color-border);flex-shrink:0}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);margin-top:var(--space-1);border-top:1px solid var(--color-border)}.sidebar-brand-name{font-family:var(--font-serif);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.03em}.sidebar-brand-copy{font-size:var(--text-xs);color:var(--color-text-tertiary);opacity:.6}.mobile-header,.mobile-drawer{display:none}@media (max-width: 767px){.sidebar{display:none}.app.has-sidebar .app-content{margin-left:0}.mobile-header{display:flex;position:fixed;top:0;left:0;right:0;z-index:100;height:56px;align-items:center;justify-content:space-between;padding:0 var(--space-3);background:#0d0608f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.mobile-drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(280px,85vw);z-index:201;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.mobile-drawer.open{transform:translate(0)}}.mobile-hamburger{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast);padding:0;flex-shrink:0}.mobile-hamburger:hover,.mobile-hamburger:active{color:var(--color-text-primary)}.mobile-hamburger svg{width:22px;height:22px}.mobile-header-logo{display:flex;align-items:center;gap:var(--space-2);position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.mobile-header-logo svg{width:18px;height:18px;color:var(--color-gold)}.mobile-header-logo span{font-family:var(--font-serif);font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);letter-spacing:.04em;white-space:nowrap}.mobile-header-bell{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);text-decoration:none;-webkit-tap-highlight-color:transparent;border-radius:var(--radius-md);transition:color var(--transition-fast);flex-shrink:0}.mobile-header-bell:hover,.mobile-header-bell:active,.mobile-header-bell.active{color:var(--color-gold)}.mobile-header-bell-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:22px;height:22px}.mobile-header-bell-wrap svg{width:100%;height:100%}.mobile-header-bell-wrap .notification-badge-inline{position:absolute;top:-5px;right:-8px;margin-left:0;font-size:9px;padding:1px 4px;min-width:14px}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fadeIn .2s ease}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.mobile-drawer-logo{display:flex;align-items:center;gap:var(--space-3)}.mobile-drawer-logo svg{width:22px;height:22px;color:var(--color-gold)}.mobile-drawer-logo span{font-family:var(--font-serif);font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);letter-spacing:.05em}.mobile-drawer-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition-fast);padding:0;flex-shrink:0}.mobile-drawer-close:hover,.mobile-drawer-close:active{border-color:var(--color-border-hover);color:var(--color-text-primary)}.mobile-drawer-close svg{width:14px;height:14px}.mobile-drawer-nav{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.mobile-drawer-nav::-webkit-scrollbar{width:3px}.mobile-drawer-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.drawer-section-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-tertiary);padding:var(--space-3) var(--space-3) var(--space-1);white-space:nowrap}.drawer-section-divider{height:1px;background:var(--color-border);margin:var(--space-3) var(--space-2)}.drawer-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-decoration:none;border:none;border-left:2px solid transparent;background:transparent;cursor:pointer;width:100%;transition:background var(--transition-fast),color var(--transition-fast),border-left-color var(--transition-fast)}.drawer-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.drawer-item:hover .drawer-item-icon{color:var(--color-gold)}.drawer-item.active{color:var(--color-gold);background:var(--color-gold-muted);border-left-color:var(--color-gold)}.drawer-item.active .drawer-item-icon{color:var(--color-gold)}.drawer-item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;transition:color var(--transition-fast)}.drawer-item-icon svg{width:100%;height:100%}.drawer-item-label{flex:1;text-align:left}.drawer-logout:hover{background:#c74a5a1a;color:var(--color-error)}.drawer-logout:hover .drawer-item-icon{color:var(--color-error)}.mobile-drawer-bottom{padding:var(--space-2);border-top:1px solid var(--color-border);flex-shrink:0}.app-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:var(--space-8) var(--space-6);animation:fadeIn var(--transition-slow)}@media (max-width: 767px){.app-main{padding:var(--space-5) var(--space-4);padding-top:calc(56px + var(--space-5))}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-wine-burgundy) 0%,var(--color-wine-merlot) 100%);color:var(--color-text-primary);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-wine-merlot) 0%,#9d4a52 100%);transform:translateY(-1px);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a}.btn-primary:active:not(:disabled){transform:scale(.96);transition:transform 60ms ease}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-danger{background:linear-gradient(135deg,var(--color-error) 0%,#a03040 100%);color:var(--color-text-primary)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#a03040,#b53a4d)}.btn-ghost{background:transparent;color:var(--color-text-secondary);padding:var(--space-2)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-label .required{color:var(--color-wine-rose);margin-left:var(--space-1)}.form-input,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:48px}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:focus,.form-select:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-muted)}.form-input.error,.form-select.error{border-color:var(--color-error);box-shadow:0 0 0 3px #c74a5a26}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23c9a962' stroke-width='1.5'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}.error-message{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-error)}.error-message:before{content:"!";display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;font-weight:600;background:var(--color-error);color:#fff;border-radius:var(--radius-full);flex-shrink:0}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:0 0 0 1px #c9a96214,var(--shadow-md)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.card-title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-fast)}.modal-content{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);animation:fadeInScale var(--transition-base);box-shadow:var(--shadow-xl)}.modal-content-large{max-width:600px}.modal-content h3{font-family:var(--font-serif);font-size:var(--text-2xl);margin-bottom:var(--space-4);color:var(--color-text-primary)}.modal-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);justify-content:flex-end}@media (max-width: 767px){.modal-content{max-width:100%;max-height:85vh;margin:auto var(--space-4);padding:var(--space-5)}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.page-header{margin-bottom:var(--space-8)}.page-title{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;color:var(--color-text-primary);margin-bottom:var(--space-2)}.page-subtitle{font-size:var(--text-base);color:var(--color-text-tertiary)}@media (max-width: 767px){.page-title{font-size:var(--text-2xl)}}.loading-state,.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-tertiary)}.loading-state{animation:pulse 1.5s ease-in-out infinite}.empty-state-icon,.error-state-icon{width:64px;height:64px;margin-bottom:var(--space-4);color:var(--color-text-tertiary)}.empty-state-title,.error-state-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.error-state{color:var(--color-error)}:root{--color-bg-primary: #0d0608;--color-bg-secondary: #140a0d;--color-bg-tertiary: #1a0f12;--color-bg-card: rgba(26, 15, 18, .85);--color-bg-elevated: rgba(35, 20, 25, .9);--color-bg-hover: rgba(45, 28, 33, .95);--color-wine-burgundy: #722f37;--color-wine-merlot: #8b3a42;--color-wine-rose: #c4727a;--color-wine-champagne: #f7e7ce;--color-gold: #c9a962;--color-gold-light: #dfc88a;--color-gold-muted: rgba(201, 169, 98, .15);--color-text-primary: #f5f0eb;--color-text-secondary: rgba(245, 240, 235, .7);--color-text-tertiary: rgba(245, 240, 235, .45);--color-text-inverse: #0d0608;--color-success: #4a9d6b;--color-error: #c74a5a;--color-warning: #d4a84b;--color-border: rgba(201, 169, 98, .12);--color-border-hover: rgba(201, 169, 98, .25);--color-border-active: rgba(201, 169, 98, .4);--font-serif: "Cormorant Garamond", "Georgia", serif;--font-sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .45);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(201, 169, 98, .15);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 220px;--sidebar-collapsed-width: 64px;--sidebar-transition: width .25s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{height:100%;font-size:16px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{height:100%;font-family:var(--font-sans);font-weight:400;line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;touch-action:pan-y pan-x;overflow-y:auto;overflow-x:hidden;-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(114,47,55,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(139,58,66,.06) 0%,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(26,15,18,.4) 0%,transparent 60%);pointer-events:none;z-index:0}body input,body textarea,body [contenteditable],body select{-webkit-user-select:text;user-select:text}#root{min-height:100vh;width:100%;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.3;color:var(--color-text-primary);letter-spacing:.01em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-active)}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input:focus,textarea:focus,select:focus,button:focus{outline:none}@media (max-width: 767px){input,textarea,select{font-size:16px!important}}@media (pointer: coarse),(hover: none){input[readonly],input[readonly]:focus{-webkit-user-select:text;user-select:text;caret-color:var(--color-gold)}input[readonly]{background-color:var(--color-bg-elevated);color:var(--color-text-primary);cursor:text}}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.loading-shimmer{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}
