@layer reset{:where(*){box-sizing:border-box;margin:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.6}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{color:inherit;font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;padding:0}ul,ol{padding:0;list-style:none}}@layer theme{:root{--stone-50:#fafaf9;--stone-100:#f5f5f4;--stone-200:#e7e5e4;--stone-300:#d6d3d1;--stone-400:#a8a29e;--stone-500:#78716c;--stone-600:#57534e;--stone-700:#44403c;--stone-800:#292524;--stone-900:#1c1917;--rose-50:#fff1f2;--rose-100:#ffe4e6;--rose-200:#fecdd3;--rose-300:#fda4af;--rose-400:#fb7185;--rose-500:#f43f5e;--rose-700:#be123c;--rose-800:#9f1239;--rose-900:#881337;--rose-950:#4c0519;--yellow-100:#fef9c3;--yellow-200:#fef08a;--yellow-300:#fde047;--yellow-400:#facc15;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-300:#fcd34d;--amber-400:#fbbf24;--color-background:var(--stone-50);--color-surface:#fff;--color-text:var(--stone-800);--color-text-muted:var(--stone-500);--color-text-subtle:var(--stone-400);--color-border:var(--stone-200);--color-border-subtle:var(--stone-100);--color-primary:var(--rose-900);--color-primary-hover:var(--rose-800);--color-primary-light:var(--rose-50);--color-sidebar-bg:var(--stone-900);--color-sidebar-text:var(--stone-300);--color-sidebar-text-active:#fff;--color-sidebar-hover:var(--stone-800);--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", roboto, sans-serif;--font-serif:"Playfair Display", georgia, "Times New Roman", 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:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-slower:.5s ease;--sidebar-width:16rem;--header-height:4rem;--mobile-nav-height:4rem}}@layer global{@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100 900;src:url(/assets/front/v/InterVariable-DiVDrmQJ.woff2)format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400 700;src:url(/assets/front/v/PlayfairRomanVF-wLBuyzMO.woff2)format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:italic;font-weight:400;src:url(/assets/front/v/PlayfairItalicVF-DuaqlhuK.woff2)format("woff2")}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--rose-200);color:var(--rose-900)}}@layer layout{.app{flex-direction:column;min-height:100vh;display:flex}@media (min-width:768px){.app{flex-direction:row}}.sidebar{z-index:20;width:var(--sidebar-width);background-color:var(--color-sidebar-bg);height:100vh;box-shadow:var(--shadow-lg);color:var(--color-sidebar-text);flex-direction:column;display:none;position:fixed;top:0;left:0}@media (min-width:768px){.sidebar{display:flex}}.sidebar__logo{padding:var(--space-8)}.sidebar__brand{color:#fff;font-family:var(--font-sans);font-size:var(--text-2xl);align-items:center;gap:var(--space-4);font-weight:600;display:flex}.app-brand__logo{filter:invert();object-fit:contain}.sidebar__brand .app-brand__logo{width:2.5rem;height:2.5rem}.sidebar__nav{padding:0 var(--space-4);margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;flex-grow:1;display:flex}.sidebar__link{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-sidebar-text);align-items:center;gap:var(--space-3);transition:all var(--transition-base);display:flex}.sidebar__link:hover{background-color:var(--color-sidebar-hover);color:var(--stone-100)}.sidebar__link:hover .v-icon{transform:scale(1.1)}.sidebar__link.active{background-color:var(--color-sidebar-hover);box-shadow:var(--shadow-md);color:var(--color-sidebar-text-active)}.sidebar__link .v-icon{width:1.25rem;height:1.25rem;transition:transform var(--transition-base)}.sidebar__footer{padding:var(--space-6);border-top:1px solid var(--stone-800)}.sidebar__capacity{padding:var(--space-4);border-radius:var(--radius-xl);text-align:center;background-color:#29252480}.sidebar__capacity-label{margin-bottom:var(--space-2);color:var(--stone-400);font-size:var(--text-xs)}.sidebar__capacity-bar{border-radius:var(--radius-full);width:100%;height:6px;margin-bottom:var(--space-1);background-color:var(--stone-700);overflow:hidden}.sidebar__capacity-fill{background-color:var(--rose-700);height:100%;transition:width var(--transition-slow)}.sidebar__capacity-count{color:var(--stone-500);font-size:10px}.mobile-header{z-index:30;padding:var(--space-4);background-color:var(--color-sidebar-bg);color:var(--stone-100);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@media (min-width:768px){.mobile-header{display:none}}.mobile-header__brand{align-items:center;display:flex}.mobile-header__brand span{display:none}.mobile-header__brand .app-brand__logo{width:2.25rem;height:2.25rem}.mobile-header__avatar{border:1px solid var(--stone-600);border-radius:var(--radius-full);background-color:var(--stone-700);width:2rem;height:2rem;font-family:var(--font-serif);font-size:var(--text-xs);justify-content:center;align-items:center;display:flex}.mobile-nav{z-index:50;padding:var(--space-2) var(--space-6);padding-bottom:max(var(--space-2), env(safe-area-inset-bottom));border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#fffffff2;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 6px -1px #0000000d}@media (min-width:768px){.mobile-nav{display:none}}.mobile-nav__link{padding:var(--space-2);border-radius:var(--radius-lg);color:var(--stone-400);font-size:var(--text-xs);align-items:center;gap:var(--space-1);transition:color var(--transition-base);flex-direction:column;font-weight:500;display:flex}.mobile-nav__link:hover{color:var(--stone-600)}.mobile-nav__link.active{background-color:var(--rose-50);color:var(--color-primary)}.mobile-nav__link .v-icon{width:1.5rem;height:1.5rem;transition:all var(--transition-base)}.mobile-nav__link.active .v-icon{stroke-width:2px}.main{width:100%;max-width:80rem;padding:var(--space-4);padding-bottom:calc(var(--mobile-nav-height) + var(--space-6));transition:all var(--transition-slower);flex-grow:1;margin:0 auto}@media (min-width:768px){.main{padding:var(--space-10);padding-bottom:var(--space-10);margin-left:var(--sidebar-width)}}.page-header{padding-bottom:var(--space-4);margin-bottom:var(--space-8);gap:var(--space-4);border-bottom:1px solid #e7e5e499;flex-direction:column;display:flex}.page-header.racks{flex-direction:row;justify-content:space-between;align-items:center}@media (min-width:768px){.page-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.page-header__title{margin-bottom:var(--space-1);color:var(--stone-900);font-size:var(--text-3xl)}@media (min-width:768px){.page-header__title{font-size:var(--text-4xl)}}.page-header__subtitle{color:var(--color-text-muted);font-weight:300}.page-header__avatar{border-radius:var(--radius-full);background-color:var(--stone-200);width:2.5rem;height:2.5rem;box-shadow:var(--shadow-sm);color:var(--stone-600);font-family:var(--font-serif);border:2px solid #fff;justify-content:center;align-items:center;display:none}@media (min-width:768px){.page-header__avatar{display:flex}}.container{width:100%;max-width:64rem;margin:0 auto}.animate-fade-in{animation:fade-in var(--transition-slow) ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.guest{min-height:100dvh;padding:var(--space-4);background:linear-gradient(135deg, var(--rose-50) 0%, var(--stone-100) 50%, var(--rose-100) 100%);justify-content:center;align-items:center;display:flex}.guest__card{width:100%;max-width:24rem;padding:var(--space-8);border-radius:var(--radius-2xl);background-color:var(--color-surface);box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #00000014,0 20px 25px -5px #0000000d}.guest__logo{margin-bottom:var(--space-8);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.guest__logo span{display:none}.guest__logo-image{object-fit:contain;width:2.5rem;height:2.5rem}.guest-form{gap:var(--space-5);flex-direction:column;display:flex}.guest-form__group{gap:var(--space-2);flex-direction:column;display:flex}.guest-form__label{color:var(--stone-700);font-size:var(--text-sm);font-weight:500}.guest-form__input-wrapper{position:relative}.guest-form__input-wrapper .v-icon{top:50%;left:var(--space-3);width:1.25rem;height:1.25rem;color:var(--stone-400);transition:color var(--transition-base);position:absolute;transform:translateY(-50%)}.guest-form__input-wrapper:focus-within .v-icon{color:var(--color-primary)}.guest-form__input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);font-size:var(--text-base);transition:all var(--transition-base)}.guest-form__input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #9f12391a}.guest-form__input::placeholder{color:var(--stone-400)}.guest-form__input--no-icon{padding-left:var(--space-4)}.guest-form__input[readonly]{background-color:var(--stone-100);cursor:not-allowed}.guest-form__checkbox{cursor:pointer;align-items:center;gap:var(--space-2);display:flex}.guest-form__checkbox input[type=checkbox]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:1rem;height:1rem;accent-color:var(--color-primary)}.guest-form__checkbox span{color:var(--stone-600);font-size:var(--text-sm)}.guest-form__submit{width:100%;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);margin-top:var(--space-2);background-color:var(--color-primary);color:#fff;cursor:pointer;font-size:var(--text-base);justify-content:center;align-items:center;gap:var(--space-2);transition:all var(--transition-base);border:none;font-weight:500;display:flex}.guest-form__submit:hover{background-color:var(--color-primary-hover)}.guest-form__submit:focus{outline:none;box-shadow:0 0 0 3px #9f12394d}.guest-form__submit:disabled{background-color:var(--stone-300);cursor:not-allowed}div.guest-footer{margin-top:var(--space-10);justify-content:center;align-items:center;gap:var(--space-4);display:flex}.guest-footer a{color:var(--stone-500);font-size:var(--text-sm);transition:color var(--transition-base)}.guest-footer a:hover{color:var(--color-primary)}.form-error{margin-top:var(--space-1);color:#dc2626;font-size:var(--text-sm)}.guest-form__hint{margin-top:var(--space-1);color:var(--stone-500);font-size:var(--text-xs)}.guest-form__suggestion{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin-top:var(--space-2);background-color:var(--stone-100);color:var(--stone-600);cursor:pointer;font-family:monospace;font-size:var(--text-sm);text-align:center;transition:all var(--transition-base)}.guest-form__suggestion:hover{background-color:var(--stone-200)}.guest-flash{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);color:#166534;font-size:var(--text-sm);background-color:#dcfce7}.guest-flash--error{color:#dc2626;background-color:#fef2f2}.guest__card--wide{max-width:28rem}.guest__icon{border-radius:var(--radius-full);width:4rem;height:4rem;margin:0 auto var(--space-6);justify-content:center;align-items:center;display:flex}.guest__icon--success{color:#16a34a;background-color:#dcfce7}.guest__icon--success .v-icon{width:2rem;height:2rem}.guest__title{margin-bottom:var(--space-4);color:var(--stone-800);font-size:var(--text-xl);text-align:center;font-weight:600}.guest__text{margin-bottom:var(--space-6);color:var(--stone-600);font-size:var(--text-sm);text-align:center;line-height:1.6}.guest__text strong{color:var(--stone-800)}.guest__info{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);background-color:var(--stone-50);text-align:center}.guest__info-label{margin-bottom:var(--space-1);color:var(--stone-500);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.guest__info-value{color:var(--color-primary);font-size:var(--text-sm);word-break:break-all;font-weight:500}.guest__info-value:hover{text-decoration:underline}.guest__hint{color:var(--stone-500);font-size:var(--text-xs);text-align:center;line-height:1.5}}@layer components{.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);justify-content:center;align-items:center;gap:var(--space-2);transition:all var(--transition-base);border:none;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{background-color:var(--color-primary);box-shadow:var(--shadow-md);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-lg)}.btn--secondary{border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--stone-600)}.btn--secondary:hover:not(:disabled){border-color:var(--stone-300);background-color:var(--stone-50)}.btn--icon{width:2.5rem;height:2.5rem;padding:var(--space-2)}.btn--icon .v-icon{width:1.25rem;height:1.25rem}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn--link{box-shadow:none;color:var(--color-primary);background:0 0;border:none;padding:0;font-weight:500}.btn--link:hover{text-decoration:underline}.btn--link .v-icon{width:.75rem;height:.75rem}.wine-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);height:100%;box-shadow:var(--shadow-sm);transition:all var(--transition-slow);flex-direction:column;display:flex;overflow:hidden}.wine-card:hover{border-color:var(--rose-100);box-shadow:var(--shadow-lg)}.wine-card__visual{height:11rem;padding-bottom:var(--space-4);background-color:var(--stone-50);justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.wine-card__photo{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slower)}.wine-card:hover .wine-card__photo{transform:scale(1.05)}.wine-card__bottle-svg{filter:drop-shadow(0 4px 6px #0000001a);height:100%;transition:transform var(--transition-slower);transform:translateY(0)}.wine-card:hover .wine-card__bottle-svg{transform:translateY(-.5rem)}.wine-card__bottle-cap{color:var(--stone-800);opacity:.2}.wine-card__bottle-label{width:5rem;padding:var(--space-2) var(--space-1);text-align:center;background-color:#fdfbf7;border-top:1px solid #d6d3d180;border-bottom:1px solid #d6d3d180;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:2.5rem;box-shadow:0 4px 12px #00000014,inset 0 0 20px #00000005}.wine-card__bottle-label-name{color:var(--stone-900);font-family:var(--font-serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.wine-card__bottle-label-year{color:var(--stone-400);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:6px}.wine-card__content{padding:var(--space-4);flex-direction:column;flex-grow:1;display:flex}.wine-card__header{margin-bottom:var(--space-1);justify-content:space-between;align-items:flex-start;display:flex}.wine-card__name{color:var(--stone-800);font-family:var(--font-serif);font-size:var(--text-lg);transition:color var(--transition-base);font-weight:700;line-height:1.2}.wine-card:hover .wine-card__name{color:var(--color-primary)}.wine-card__rating{align-items:center;gap:2px;display:flex}.wine-card__rating-value{color:var(--stone-700);font-size:var(--text-xs);font-weight:700}.wine-card__rating .v-icon{width:.75rem;height:.75rem;color:var(--amber-400);fill:currentColor}.wine-card__past-peak{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background-color:var(--amber-100);color:var(--amber-800);font-size:var(--text-xs);letter-spacing:.025em;flex-shrink:0;font-weight:600}.wine-card__region{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-1);letter-spacing:.05em;text-transform:uppercase;display:flex}.wine-card__details{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.wine-card__varietal{color:var(--stone-600);font-size:var(--text-sm);align-items:center;gap:var(--space-2);display:flex}.wine-card__varietal-dot{border-radius:var(--radius-full);width:.5rem;height:.5rem}.wine-card__varietal-dot--red{background-color:var(--rose-800)}.wine-card__varietal-dot--white{background-color:var(--yellow-400)}.wine-card__varietal-dot--rose{background-color:var(--rose-400)}.wine-card__varietal-dot--sparkling{background-color:var(--amber-300)}.wine-card__footer{padding-top:var(--space-3);border-top:1px solid var(--stone-100);justify-content:space-between;align-items:center;display:flex}.wine-card__quantity{color:var(--stone-400);font-size:var(--text-xs);font-weight:500}.wine-card__quantity-value{color:var(--stone-800);font-size:var(--text-sm);font-weight:600}.stat-card{padding:var(--space-5);border-radius:var(--radius-xl);transition:transform var(--transition-slow)}.stat-card:hover{transform:translateY(-.25rem)}.stat-card--dark{background-color:var(--stone-900);box-shadow:var(--shadow-lg);color:var(--stone-50);position:relative}.stat-card--light{border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.stat-card--light:hover{box-shadow:var(--shadow-md)}.stat-card--accent{background-color:var(--rose-900);box-shadow:var(--shadow-lg);color:var(--rose-50);cursor:pointer;position:relative;overflow:hidden}.stat-card--accent:hover{background-color:var(--rose-950)}.stat-card__label{margin-bottom:var(--space-2);font-size:var(--text-xs);align-items:center;gap:var(--space-2);letter-spacing:.1em;text-transform:uppercase;display:flex}.stat-card--dark .stat-card__label,.stat-card--light .stat-card__label{color:var(--stone-400)}.stat-card--accent .stat-card__label{color:var(--rose-200)}.stat-card__label .v-icon{width:.75rem;height:.75rem}.stat-card__value{font-family:var(--font-serif);font-size:var(--text-3xl)}.stat-card--light .stat-card__value{color:var(--stone-800)}.stat-card__decor{color:#4c05194d;position:absolute;bottom:-1.5rem;right:-1.5rem}.stat-card__decor .v-icon{fill:currentColor;width:8rem;height:8rem}.filter-pills{gap:var(--space-2);display:flex;overflow-x:auto}.filter-pill{padding:var(--space-1) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);color:var(--stone-600);font-size:var(--text-sm);transition:all var(--transition-base);white-space:nowrap;font-weight:500}.filter-pill:hover:not(.filter-pill--active){border-color:var(--stone-300);background-color:var(--stone-50)}.filter-pill--active{border-color:var(--stone-800);background-color:var(--stone-800);box-shadow:var(--shadow-md);color:#fff}.food-tags{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.food-tag{padding:var(--space-3) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);color:var(--stone-600);font-size:var(--text-base);align-items:center;gap:var(--space-2);transition:all var(--transition-slow);display:flex}.food-tag:hover:not(.food-tag--selected){border-color:var(--stone-400);box-shadow:var(--shadow-sm)}.food-tag--selected{border-color:var(--color-primary);background-color:var(--color-primary);box-shadow:var(--shadow-lg);color:#fff;transform:scale(1.05)}.food-tag .v-icon{width:1rem;height:1rem}.search-wrapper{flex-grow:1;position:relative}@media (min-width:768px){.search-wrapper{flex-grow:0;width:16rem}}.search-wrapper .v-icon{top:50%;left:var(--space-3);width:1rem;height:1rem;color:var(--stone-400);transition:color var(--transition-base);position:absolute;transform:translateY(-50%)}.search-wrapper:focus-within .v-icon{color:var(--color-primary)}.search-input{width:100%;padding:var(--space-2) var(--space-4) var(--space-2) 2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm);font-size:var(--text-sm);transition:all var(--transition-base)}.search-input::placeholder{color:var(--stone-400)}.search-input:focus{border-color:#9f12394d;outline:none;box-shadow:0 0 0 3px #9f12391a}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{color:var(--stone-700);font-size:var(--text-sm);font-weight:500}.form-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);font-size:var(--text-base);transition:all var(--transition-base)}.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #9f12391a}.form-input::placeholder{color:var(--stone-400)}select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}select.form-input:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239f1239' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.action-bar{gap:var(--space-2);width:100%;display:flex}@media (min-width:768px){.action-bar{width:auto}}.section{margin-bottom:var(--space-8)}.section__header{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-end;display:flex}.section__title{color:var(--stone-800);font-family:var(--font-serif);font-size:var(--text-xl)}.empty-state{border:2px dashed var(--stone-200);border-radius:var(--radius-2xl);height:16rem;margin-top:var(--space-4);color:var(--stone-300);background-color:#fafaf980;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state .v-icon{width:4rem;height:4rem;margin-bottom:var(--space-4);opacity:.2}.empty-state__text{font-family:var(--font-serif);font-size:var(--text-xl);opacity:.6;font-style:italic}.divider{margin:var(--space-8) 0;align-items:center;gap:var(--space-4);display:flex}.divider:before,.divider:after{background-color:var(--stone-200);content:"";flex:1;height:1px}.divider__text{color:var(--color-text-muted);font-family:var(--font-serif);font-size:var(--text-lg);font-style:italic}.results-grid{gap:var(--space-6);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (min-width:768px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.no-results{padding:var(--space-16) var(--space-4);border:1px dashed var(--stone-300);border-radius:var(--radius-xl);background-color:var(--color-surface);text-align:center}.no-results .v-icon{width:2.5rem;height:2.5rem;margin:0 auto var(--space-3);color:var(--stone-300)}.no-results__text{margin-bottom:var(--space-4);color:var(--color-text-muted);font-size:var(--text-lg)}.sommelier-hero{padding:var(--space-8) 0;text-align:center}.sommelier-hero__title{margin-bottom:var(--space-4);color:var(--stone-900);font-size:var(--text-4xl)}@media (min-width:768px){.sommelier-hero__title{font-size:var(--text-5xl)}}.sommelier-hero__subtitle{color:var(--color-text-muted);font-size:var(--text-lg)}.alert{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.alert--success{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.alert--error{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.alert--warning{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.wine-detail{gap:var(--space-6);flex-direction:column;display:flex}.wine-detail__back{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:var(--space-2);transition:color var(--transition-base);background:0 0;border:none;padding:0;text-decoration:none;display:flex}.wine-detail__back:hover{color:var(--color-primary)}.wine-detail__back-icon{padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);transition:border-color var(--transition-base);justify-content:center;align-items:center;display:flex}.wine-detail__back:hover .wine-detail__back-icon{border-color:var(--rose-200)}.wine-detail__back-icon .v-icon{width:1.25rem;height:1.25rem}.wine-detail__back-text{font-size:var(--text-sm);font-weight:500}.wine-detail__card{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background-color:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.wine-detail__grid{grid-template-columns:1fr;display:grid}@media (min-width:768px){.wine-detail__grid{grid-template-columns:5fr 7fr}}.wine-detail__visual{padding:var(--space-8);border-bottom:1px solid var(--stone-100);background-color:var(--stone-50);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.wine-detail__visual{border-right:1px solid var(--stone-100);border-bottom:0}}.wine-detail__visual-decor{opacity:.05;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.wine-detail__visual-decor .v-icon{width:16rem;height:16rem;color:var(--stone-900)}.wine-detail__visual-content{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:20rem;display:flex;position:relative}.wine-detail__bottle-container{width:100%;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex;position:relative}.wine-detail__bottle-container--svg{height:24rem;padding-bottom:var(--space-8);align-items:flex-end}.wine-detail__bottle-photo{object-fit:contain;max-width:100%;max-height:28rem;transition:transform var(--transition-slower);box-shadow:0 25px 25px #00000026}.wine-detail__bottle-container:hover .wine-detail__bottle-photo{transform:scale(1.03)}.wine-detail__bottle-svg{filter:drop-shadow(0 25px 25px #00000026);height:100%;transition:transform var(--transition-slower);overflow:visible}.wine-detail__bottle-container:hover .wine-detail__bottle-svg{transform:scale(1.03)}.wine-detail__bottle-shadow{filter:blur(4px)}.wine-detail__bottle-cap{color:var(--stone-900);opacity:.2}.wine-detail__bottle-cap-line{color:var(--stone-900);opacity:.3}.wine-detail__bottle-label{width:10rem;height:7rem;padding:var(--space-4) var(--space-3);text-align:center;background-color:#fdfbf7;border-top:1px solid #d6d3d180;border-bottom:1px solid #d6d3d180;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:6rem;box-shadow:0 4px 12px #00000014,inset 0 0 20px #00000005}.wine-detail__bottle-label-estate{margin-bottom:var(--space-2);color:var(--stone-400);letter-spacing:.2em;text-transform:uppercase;font-size:8px}.wine-detail__bottle-label-name{margin-bottom:var(--space-1);color:var(--stone-900);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:700;line-height:1.1}.wine-detail__bottle-label-divider{width:2rem;height:1px;margin:var(--space-2) 0;background-color:var(--stone-300)}.wine-detail__bottle-label-region{color:var(--color-text-muted);font-family:var(--font-serif);font-size:var(--text-xs);font-style:italic}.wine-detail__bottle-label-year{margin-top:var(--space-2);color:var(--rose-900);font-size:10px;font-weight:700}.wine-detail__actions{gap:var(--space-3);width:100%;margin-block-start:var(--space-6);display:flex}.wine-detail__action-drink{padding:var(--space-3);border-radius:var(--radius-xl);background-color:var(--rose-900);box-shadow:var(--shadow-md);color:var(--color-surface);cursor:pointer;font-size:var(--text-sm);justify-content:center;align-items:center;gap:var(--space-2);transition:background-color var(--transition-base);border:none;flex:1;font-weight:500;display:flex}.wine-detail__action-drink:hover{background-color:var(--rose-800)}.wine-detail__action-drink .v-icon{width:1rem;height:1rem}.wine-detail__action-edit{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--stone-600);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:background-color var(--transition-base);text-decoration:none;display:flex}.wine-detail__action-edit--full{flex:1}.wine-detail__action-edit:hover{background-color:var(--stone-50)}.wine-detail__action-edit .v-icon{width:1rem;height:1rem}.wine-detail__info{padding:var(--space-8);gap:var(--space-8);flex-direction:column;display:flex}@media (min-width:768px){.wine-detail__info{padding:var(--space-10)}}.wine-detail__header{justify-content:space-between;align-items:flex-start;display:flex}.wine-detail__badges{margin-bottom:var(--space-2);align-items:center;gap:var(--space-3);display:flex}.wine-detail__badge{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--stone-100);color:var(--stone-600);font-size:var(--text-xs);align-items:center;gap:var(--space-1);letter-spacing:.05em;text-transform:uppercase;font-weight:700;display:inline-flex}.wine-detail__badge .v-icon{width:.75rem;height:.75rem;color:var(--amber-500);fill:currentColor}.wine-detail__title{margin-bottom:var(--space-1);color:var(--stone-900);font-family:var(--font-serif);font-size:var(--text-4xl);line-height:1.1}@media (min-width:768px){.wine-detail__title{font-size:var(--text-5xl)}}.wine-detail__subtitle{color:var(--color-text-muted);font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic}.wine-detail__quantity{text-align:right;display:none}@media (min-width:768px){.wine-detail__quantity{display:block}}.wine-detail__quantity-label{margin-bottom:var(--space-1);color:var(--stone-400);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.wine-detail__quantity-value{color:var(--stone-800);font-family:var(--font-serif);font-size:var(--text-4xl)}.wine-detail__key-details{padding:var(--space-6) 0;border-top:1px solid var(--stone-100);border-bottom:1px solid var(--stone-100);gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:768px){.wine-detail__key-details{grid-template-columns:repeat(3,1fr)}}.wine-detail__detail{gap:var(--space-1);flex-direction:column;display:flex}.wine-detail__detail--full{grid-column:span 2}@media (min-width:768px){.wine-detail__detail--full{grid-column:span 3}}.wine-detail__detail-label{color:var(--stone-400);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.wine-detail__detail-value{color:var(--stone-800);font-weight:500}.wine-detail__drink-window{padding-top:var(--space-1)}.wine-detail__drink-window-bar{border-radius:var(--radius-base);background:linear-gradient(to right, var(--rose-200), var(--rose-500), var(--rose-200));width:100%;height:.5rem;position:relative}.wine-detail__drink-window-now-marker{flex-direction:column;align-items:center;display:flex;position:absolute;top:-.375rem;transform:translate(-50%)}.wine-detail__drink-window-now-label{padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-sm);margin-bottom:var(--space-0-5);background-color:var(--stone-800);color:#fff;font-size:var(--text-xs);white-space:nowrap;padding-inline:.25em;font-weight:600}.wine-detail__drink-window-labels{margin-top:var(--space-1);color:var(--stone-500);font-size:var(--text-xs);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.wine-detail__drink-window-note{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs)}.wine-detail__section{gap:var(--space-3);flex-direction:column;display:flex}.wine-detail__section-title{color:var(--stone-800);font-family:var(--font-serif);font-size:var(--text-xl)}.wine-detail__section-text{color:var(--stone-600);font-size:var(--text-sm);line-height:1.7}.wine-detail__pairings{gap:var(--space-2);flex-wrap:wrap;display:flex}.wine-detail__pairing-tag{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--stone-50);color:var(--stone-600);font-size:var(--text-sm);align-items:center;gap:var(--space-2);display:flex}.wine-detail__pairing-tag .v-icon{width:.75rem;height:.75rem;color:var(--stone-400)}.wine-detail__history{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}@media (min-width:768px){.wine-detail__history{padding:var(--space-8)}}.wine-detail__history-title{margin-bottom:var(--space-4);color:var(--stone-800);font-family:var(--font-serif);font-size:var(--text-lg)}.wine-detail__history-list{gap:var(--space-4);flex-direction:column;display:flex}.wine-detail__history-item{align-items:flex-start;gap:var(--space-4);display:flex}.wine-detail__history-dot{border-radius:var(--radius-full);flex-shrink:0;width:.5rem;height:.5rem;margin-top:.25rem}.wine-detail__history-dot--purchase{background-color:var(--rose-900);box-shadow:0 0 0 4px var(--rose-50)}.wine-detail__history-dot--consume{background-color:var(--stone-300)}.wine-detail__history-content{flex:1}.wine-detail__history-text{color:var(--stone-800);font-size:var(--text-sm);font-weight:500}.wine-detail__history-item--consume .wine-detail__history-text{color:var(--stone-600)}.wine-detail__history-meta{color:var(--stone-400);font-size:var(--text-xs)}.wine-detail__history-note{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic}.wine-detail__inventory{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}@media (min-width:768px){.wine-detail__inventory{padding:var(--space-8)}}.wine-detail__inventory-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.wine-detail__inventory-header-right{align-items:center;gap:var(--space-4);display:flex}.wine-detail__inventory-title{color:var(--stone-800);font-family:var(--font-serif);font-size:var(--text-lg)}.wine-detail__inventory-total{color:var(--green-600);font-size:var(--text-sm);font-weight:600}.wine-detail__inventory-total--zero{color:var(--red-600)}.wine-detail__inventory-add{padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background-color:var(--rose-900);color:var(--color-surface);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:var(--space-2);transition:background-color var(--transition-base);border:none;font-weight:500;display:flex}.wine-detail__inventory-add:hover{background-color:var(--rose-800)}.wine-detail__inventory-add .v-icon{width:1rem;height:1rem}.wine-detail__inventory-list{gap:var(--space-3);flex-direction:column;display:flex}.wine-detail__inventory-item{padding:var(--space-4);border-radius:var(--radius-md);background-color:var(--stone-50);justify-content:space-between;align-items:center;display:flex}.wine-detail__inventory-item-info{gap:var(--space-1);flex-direction:column;display:flex}.wine-detail__inventory-location{color:var(--stone-800);font-weight:500}.wine-detail__inventory-quantity{color:var(--green-600);font-size:var(--text-sm)}.wine-detail__inventory-item-actions{align-items:center;gap:var(--space-2);display:flex}.wine-detail__inventory-action{border:1px solid var(--color-border);border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--stone-500);cursor:pointer;transition:all var(--transition-base);background-color:#0000;justify-content:center;align-items:center;padding:0;display:flex}.wine-detail__inventory-action:hover{background-color:var(--stone-100);color:var(--stone-700)}.wine-detail__inventory-action--save{border-color:var(--green-300);color:var(--green-600)}.wine-detail__inventory-action--save:hover{background-color:var(--green-50);color:var(--green-700)}.wine-detail__inventory-action--cancel{border-color:var(--stone-300)}.wine-detail__inventory-action--danger:hover{border-color:var(--red-300);background-color:var(--red-50);color:var(--red-600)}.wine-detail__inventory-action .v-icon{width:1rem;height:1rem}.wine-detail__inventory-edit-input{width:4rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.wine-detail__inventory-edit-input:focus{border-color:var(--rose-300);outline:none;box-shadow:0 0 0 3px #f43f5e1a}.wine-detail__inventory-empty{padding:var(--space-6);color:var(--color-text-muted);text-align:center}.wine-detail__modal-overlay{z-index:50;background-color:#00000080;animation:.15s ease-out fade-in;position:fixed;inset:0}.wine-detail__modal{z-index:51;width:calc(100% - var(--space-8));max-width:28rem;padding:var(--space-6);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-xl);animation:.2s ease-out slide-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.wine-detail__modal-title{margin-bottom:var(--space-2);color:var(--stone-900);font-family:var(--font-serif);font-size:var(--text-xl)}.wine-detail__modal-description{margin-bottom:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm)}.wine-detail__modal-form{gap:var(--space-4);flex-direction:column;display:flex}.wine-detail__modal-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.wine-detail__modal-field{gap:var(--space-2);flex-direction:column;display:flex}.wine-detail__modal-label{color:var(--stone-700);font-size:var(--text-sm);font-weight:500}.wine-detail__modal-select,.wine-detail__modal-input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);font-size:var(--text-base);transition:border-color var(--transition-base), box-shadow var(--transition-base)}.wine-detail__modal-select:focus,.wine-detail__modal-input:focus{border-color:var(--rose-300);outline:none;box-shadow:0 0 0 3px #f43f5e1a}.wine-detail__modal-select--error,.wine-detail__modal-input--error{border-color:var(--red-500)}.wine-detail__modal-error{color:var(--red-600);font-size:var(--text-sm)}.wine-detail__modal-actions{margin-top:var(--space-4);justify-content:flex-end;gap:var(--space-3);display:flex}.wine-detail__modal-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-base);font-weight:500}.wine-detail__modal-btn--primary{background-color:var(--rose-900);color:var(--color-surface);border:none}.wine-detail__modal-btn--primary:hover:not(:disabled){background-color:var(--rose-800)}.wine-detail__modal-btn--primary:disabled{cursor:not-allowed;opacity:.6}.wine-detail__modal-btn--secondary{border:1px solid var(--color-border);color:var(--stone-600);background-color:#0000}.wine-detail__modal-btn--secondary:hover{background-color:var(--stone-50)}.wine-detail__alert{padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm)}.wine-detail__alert--success{border:1px solid var(--green-200);background-color:var(--green-50);color:var(--green-800)}.wine-detail__alert--error{border:1px solid var(--red-200);background-color:var(--red-50);color:var(--red-800)}.v-icon{flex-shrink:0;width:1.5rem;height:1.5rem}}@layer utilities{.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-uppercase{text-transform:uppercase}.text-tracking-wide{letter-spacing:.05em}.text-tracking-wider{letter-spacing:.1em}.font-serif{font-family:var(--font-serif)}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-grow{flex-grow:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.hidden{display:none}@media (min-width:768px){.md\:hidden{display:none}.md\:flex{display:flex}.md\:inline{display:inline}.md\:block{display:block}}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.overflow-x-auto{overflow-x:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.relative{position:relative}.absolute{position:absolute}.w-full{width:100%}.h-full{height:100%}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.z-10{z-index:10}.z-20{z-index:20}.cursor-pointer{cursor:pointer}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-8>*+*{margin-top:var(--space-8)}}
