.landing{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#d8ceca,#c8d2ce,#c0cac4)}.landing-hero{display:flex;align-items:center;justify-content:center;padding:48px 24px;min-height:80vh}.landing-content{max-width:800px;width:100%;text-align:center}.landing-login-note{font-size:.9rem;color:#666;margin:0 0 28px}.landing-login-link{color:#8b2635;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.landing-login-link:hover{color:#6a1e2a}.landing-section{padding:64px 24px;background:#ffffff4d;display:flex;align-items:center;justify-content:center}.landing-section-alt{background:#ffffff26}.landing-logo{display:block;width:100%;max-width:300px;height:auto;margin:0 auto 24px}.landing-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;color:#1a1a1a;line-height:1.25;margin:0 0 16px}.landing-tagline{font-size:1.1rem;color:#444;line-height:1.55;margin:0 0 20px}.landing-pricing{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:16px 0 12px;flex-wrap:wrap}.landing-pricing-price{font-size:2.5rem;font-weight:700;color:#8b2635;line-height:1}.landing-pricing-period{font-size:1.2rem;color:#666;font-weight:500}.landing-pricing-trial{font-size:.95rem;color:#666;width:100%;margin-top:8px}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.landing-cta{display:inline-block;padding:14px 28px;font-size:1rem;font-weight:600;color:#fff;background:#8b2635;text-decoration:none;border-radius:0;transition:background .2s ease;width:100%;max-width:260px;text-align:center}.landing-cta:hover{background:#6a1e2a}.landing-secondary{display:inline-block;padding:14px 28px;font-size:1rem;font-weight:600;color:#8b2635;background:transparent;text-decoration:none;border-radius:0;border:2px solid #8B2635;transition:background .2s ease,color .2s ease,border-color .2s ease;width:100%;max-width:260px;text-align:center;cursor:pointer}.landing-secondary:hover{color:#fff;background:#8b2635;border-color:#8b2635}.landing-secondary-link{display:inline-block;padding:14px 28px;font-size:1rem;font-weight:600;color:#8b2635;background:transparent;text-decoration:none;border-radius:0;border:2px solid #8B2635;transition:background .2s ease,color .2s ease,border-color .2s ease;width:100%;max-width:260px;text-align:center;cursor:pointer}.landing-secondary-link:hover{color:#fff;background:#8b2635;border-color:#8b2635}.landing-cta-large{max-width:300px;font-size:1.1rem;padding:16px 32px}.landing-note{font-size:.9rem;color:#666;margin:0}.landing-note+.landing-note{margin-top:20px}.landing-note a{color:#8b2635;text-decoration:underline;text-underline-offset:2px}.landing-note a:hover{color:#6a1e2a}.landing-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.landing-modal{position:relative;background:#fff;max-width:420px;width:100%;padding:28px 24px;box-shadow:0 8px 32px #0003;border-radius:8px}.landing-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;padding:0;font-size:24px;line-height:1;color:#666;background:transparent;border:none;cursor:pointer;border-radius:4px;transition:color .2s,background .2s}.landing-modal-close:hover{color:#1a1a1a;background:#f0f0f0}.landing-modal-title{margin:0 0 16px;font-size:1.35rem;font-weight:600;color:#1a1a1a}.landing-modal-text{margin:0 0 12px;font-size:.95rem;color:#444;line-height:1.5}.landing-modal-credentials{margin:0 0 4px;font-size:.95rem;color:#1a1a1a;font-weight:500;line-height:1.5}.landing-modal-credentials:last-of-type{margin-bottom:16px}.landing-modal-cta{display:inline-block;padding:12px 24px;font-size:1rem;font-weight:600;color:#fff;background:#8b2635;text-decoration:none;border-radius:0;transition:background .2s ease}.landing-modal-cta:hover{background:#6a1e2a}.landing-footer{margin-top:32px;padding:32px 24px;border-top:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;max-width:1200px;margin-left:auto;margin-right:auto}.landing-footer-link{font-size:.9rem;color:#666;text-decoration:none;transition:color .2s}.landing-footer-link:hover{color:#8b2635;text-decoration:underline}.landing-footer-separator{color:#999;font-size:.9rem}.landing-section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;color:#1a1a1a;margin:0 0 48px;text-align:center}.landing-cta-text{font-size:1.1rem;color:#444;margin:0 0 32px;text-align:center}.landing-features{display:flex;flex-direction:column;gap:32px;margin-top:32px;max-width:1200px;margin-left:auto;margin-right:auto}.landing-feature{display:flex;flex-direction:row;align-items:center;gap:32px;text-align:left}.landing-feature-icon{font-size:3rem;flex-shrink:0;width:80px;text-align:center;display:flex;align-items:center;justify-content:center}.landing-feature-content{flex:1}.landing-feature-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 12px}.landing-feature-text{font-size:1rem;color:#666;line-height:1.6;margin:0}.landing-steps{display:flex;flex-direction:column;gap:32px;margin-top:32px;max-width:1200px;margin-left:auto;margin-right:auto}.landing-step{display:flex;flex-direction:row;align-items:center;gap:32px;text-align:left;position:relative}.landing-step-number{width:64px;height:64px;border-radius:50%;background:#8b2635;color:#fff;font-size:1.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.landing-step-content{flex:1}.landing-step-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 12px}.landing-step-text{font-size:1rem;color:#666;line-height:1.6;margin:0}@media (max-width: 768px){.landing-hero{min-height:auto;padding:32px 24px}.landing-section{padding:48px 24px}.landing-feature{flex-direction:column;text-align:center;gap:16px}.landing-feature-icon{width:auto;margin-bottom:0}.landing-feature-content{text-align:center}.landing-step{flex-direction:column;text-align:center;gap:16px}.landing-step-number{margin:0 auto}.landing-step-content{text-align:center}}.signup{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px;background:linear-gradient(to bottom,#8b2635,#8b2635 50%,color-mix(in srgb,#8b2635 85%,white),color-mix(in srgb,#8b2635 70%,white))}.signup-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;max-width:400px;width:100%;gap:20px}.signup-logo{max-width:300px;width:100%;height:auto;margin:0 auto -8px;object-fit:contain;display:block}.signup-title{font-family:Dancing Script,cursive;font-size:40px;font-weight:500;color:#fff;letter-spacing:.03em;margin:-8px 0 0}.signup-subtitle,.signup-success-msg{font-size:16px;color:#ffffffe6;line-height:1.5;margin:0;text-align:center}.signup-pricing{width:100%;padding:16px 20px;background:#ffffff1f;border:2px solid rgba(255,255,255,.35);text-align:center;border-radius:4px}.signup-pricing-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffffd9;margin-bottom:4px}.signup-pricing-amount{font-size:28px;font-weight:700;color:#fff;letter-spacing:-.02em}.signup-pricing-period{font-size:16px;font-weight:500;color:#ffffffe6}.signup-pricing-note{font-size:13px;color:#fffc;margin:8px 0 0}.signup-form{display:flex;flex-direction:column;gap:20px;width:100%;text-align:left}.signup-field{display:flex;flex-direction:column;gap:6px}.signup-label{font-size:14px;font-weight:500;color:#fffffff2;letter-spacing:.02em}.signup-input{width:100%;padding:14px 16px;font-size:16px;background:#fffffff2;border:2px solid rgba(255,255,255,.3);border-radius:0;color:#1a1a1a;box-sizing:border-box;transition:all .2s ease}.signup-input:focus{outline:none;border-color:#fffc;background:#fff}.signup-input::placeholder{color:#999}.signup-hint{font-size:13px;color:#ffffffd9}.signup-hint strong{font-weight:600}.signup-error{padding:12px 16px;background:#ffffff26;border:2px solid rgba(255,255,255,.5);color:#fff;font-size:14px;border-radius:0;text-align:center}.signup-button{background:transparent;color:#fff;padding:16px 40px;font-size:16px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:2px solid rgba(255,255,255,.9);box-shadow:inset 0 0 0 2px #fff6,0 2px 4px #0003;border-radius:0;transition:all .2s ease;cursor:pointer;width:100%;margin-top:8px}.signup-button:hover:not(:disabled){border-color:#fff;background:#ffffff1a;box-shadow:inset 0 0 0 2px #fff9,0 3px 6px #0000004d}.signup-button:disabled{opacity:.6;cursor:not-allowed}.signup-cta{display:inline-block;padding:14px 28px;font-size:1rem;font-weight:600;color:#8b2635;background:#fff;text-decoration:none;border-radius:0;transition:background .2s,color .2s}.signup-cta:hover{background:#ffffffe6;color:#6a1e2a}.signup-footer{font-size:14px;color:#ffffffe6;margin:0}.signup-footer a{color:#fff;text-decoration:underline;text-underline-offset:2px}.signup-footer a:hover{color:#ffffffe6}.subscribe{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px;background:linear-gradient(to bottom,#8b2635,#8b2635 50%,color-mix(in srgb,#8b2635 85%,white),color-mix(in srgb,#8b2635 70%,white))}.subscribe-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;max-width:400px;width:100%;gap:24px}.subscribe-logo{max-width:280px;width:100%;height:auto;object-fit:contain;display:block}.subscribe-title{font-family:Dancing Script,cursive;font-size:40px;font-weight:500;color:#fff;letter-spacing:.03em;margin:0}.subscribe-msg{font-size:16px;color:#fffffff2;line-height:1.5;margin:0}.subscribe-msg-success{color:#fff}.subscribe-msg-error{color:#ffffffe6}.subscribe-cta{display:inline-block;padding:14px 28px;font-size:1rem;font-weight:600;color:#8b2635;background:#fff;text-decoration:none;border-radius:4px;transition:background .2s,color .2s}.subscribe-cta:hover{background:#fffffff2;color:#6a1e2a}.terms{min-height:100vh;min-height:100dvh;padding:40px 20px;background:#fafafa}.terms-content{max-width:800px;margin:0 auto;background:#fff;padding:48px 40px;box-shadow:0 2px 8px #0000001a}.terms-title{font-family:Dancing Script,cursive;font-size:48px;font-weight:600;color:#8b2635;margin:0 0 8px;text-align:center}.terms-updated{text-align:center;color:#666;font-size:14px;margin:0 0 40px}.terms-section{margin-bottom:32px}.terms-section h2{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.terms-section p{font-size:16px;line-height:1.7;color:#333;margin:0 0 12px}.terms-section ul{margin:12px 0;padding-left:24px}.terms-section li{font-size:16px;line-height:1.7;color:#333;margin-bottom:8px}.terms-section a{color:#8b2635;text-decoration:underline}.terms-section a:hover{color:#6a1e2a}.terms-footer{margin-top:48px;padding-top:32px;border-top:1px solid #e0e0e0;text-align:center}.terms-link{display:inline-block;padding:12px 24px;font-size:16px;font-weight:500;color:#8b2635;text-decoration:none;border:2px solid #8b2635;border-radius:4px;transition:all .2s}.terms-link:hover{background:#8b2635;color:#fff}@media (max-width: 768px){.terms-content{padding:32px 24px}.terms-title{font-size:36px}.terms-section h2{font-size:20px}.terms-section p,.terms-section li{font-size:15px}}.privacy{min-height:100vh;min-height:100dvh;padding:40px 20px;background:#fafafa}.privacy-content{max-width:800px;margin:0 auto;background:#fff;padding:48px 40px;box-shadow:0 2px 8px #0000001a}.privacy-title{font-family:Dancing Script,cursive;font-size:48px;font-weight:600;color:#8b2635;margin:0 0 8px;text-align:center}.privacy-updated{text-align:center;color:#666;font-size:14px;margin:0 0 40px}.privacy-section{margin-bottom:32px}.privacy-section h2{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.privacy-section h3{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:500;color:#333;margin:24px 0 12px}.privacy-section p{font-size:16px;line-height:1.7;color:#333;margin:0 0 12px}.privacy-section ul{margin:12px 0;padding-left:24px}.privacy-section li{font-size:16px;line-height:1.7;color:#333;margin-bottom:8px}.privacy-section strong{font-weight:600;color:#1a1a1a}.privacy-section a{color:#8b2635;text-decoration:underline}.privacy-section a:hover{color:#6a1e2a}.privacy-footer{margin-top:48px;padding-top:32px;border-top:1px solid #e0e0e0;text-align:center}.privacy-link{display:inline-block;padding:12px 24px;font-size:16px;font-weight:500;color:#8b2635;text-decoration:none;border:2px solid #8b2635;border-radius:4px;transition:all .2s}.privacy-link:hover{background:#8b2635;color:#fff}@media (max-width: 768px){.privacy-content{padding:32px 24px}.privacy-title{font-size:36px}.privacy-section h2{font-size:20px}.privacy-section h3{font-size:18px}.privacy-section p,.privacy-section li{font-size:15px}}.welcome{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px;position:relative;background:linear-gradient(to bottom,var(--primary-color) 0%,var(--primary-color) 50%,color-mix(in srgb,var(--primary-color) 85%,white) 75%,color-mix(in srgb,var(--primary-color) 70%,white) 100%)}.welcome-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;max-width:400px;width:100%;gap:48px}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.welcome-buttons{display:inline-flex;flex-direction:column;align-items:stretch;gap:16px;width:auto}.welcome-website-link{font-size:14px;color:#ffffffd9;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.welcome-website-link:hover{color:var(--secondary-color, rgba(255, 255, 255, 1))}.welcome-cta,.welcome-menu-button{width:100%;min-width:max-content;box-sizing:border-box}.welcome-logo{max-width:400px;width:100%;height:auto;margin-left:auto;margin-right:auto;object-fit:contain;display:block}.welcome-bar-name{font-family:Dancing Script,cursive;font-weight:500;color:#fff;letter-spacing:.03em}.welcome-message{font-size:16px;color:#ffffffe6;line-height:1.5;max-width:300px}.welcome-title{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:600;margin-bottom:48px;line-height:1.2}.welcome-cta{background:transparent;color:#fff;padding:16px 40px;font-size:16px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--secondary-color, rgba(255, 255, 255, .9));box-shadow:inset 0 0 0 2px #fff6,0 2px 4px #0003;border-radius:0;transition:all .3s ease;position:relative;overflow:hidden;white-space:nowrap}.welcome-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff1a;transition:left .3s ease}.welcome-cta:hover{border-color:var(--secondary-color, rgba(255, 255, 255, 1));box-shadow:inset 0 0 0 2px var(--secondary-color, rgba(255, 255, 255, .6)),0 3px 6px #0000004d;background:#ffffff0d}.welcome-cta:hover:before{left:0}.welcome-cta:active{transform:translateY(1px)}.welcome-menu-button{background:transparent;color:#fff;padding:16px 40px;font-size:16px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--secondary-color, rgba(255, 255, 255, .9));box-shadow:inset 0 0 0 2px #fff6,0 2px 4px #0003;border-radius:0;transition:all .3s ease;text-decoration:none;display:inline-block;position:relative;overflow:hidden;white-space:nowrap}.welcome-menu-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff1a;transition:left .3s ease}.welcome-menu-button:hover{border-color:var(--secondary-color, rgba(255, 255, 255, 1));box-shadow:inset 0 0 0 2px var(--secondary-color, rgba(255, 255, 255, .6)),0 3px 6px #0000004d;background:#ffffff0d}.welcome-menu-button:hover:before{left:0}.welcome-menu-button:active{transform:translateY(1px)}.welcome-footer{position:absolute;bottom:16px;left:0;right:0;text-align:center}.welcome-powered-by{color:#ffffffb3;font-size:16px;font-weight:400;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:4px}.welcome-link{color:var(--secondary-color, rgba(255, 255, 255, .9));text-decoration:underline;transition:color .2s ease;display:inline-flex;align-items:center;gap:6px}.welcome-link:hover{color:var(--secondary-color, rgba(255, 255, 255, 1));text-decoration-color:var(--secondary-color, rgba(255, 255, 255, 1))}.welcome-icon{width:24px;height:24px;object-fit:contain;display:block;flex-shrink:0}.welcome-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#666}.slider-container{display:flex;flex-direction:column;gap:8px}.slider-labels{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#ffffffe6;line-height:1.2}.slider-label-left,.slider-label-right{display:flex;align-items:center;line-height:1.2}.slider-wrapper{position:relative;width:100%}.slider-value{position:absolute;top:-28px;font-size:18px;font-weight:600;color:var(--secondary-color, white);width:24px;text-align:center;transform:translate(0);pointer-events:none;line-height:1}.slider{width:100%;height:8px;border-radius:4px;background:#e0e0e0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary-color, #8B2635);cursor:pointer;border:2px solid var(--secondary-color, white);box-shadow:0 2px 4px #0003}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary-color, #8B2635);cursor:pointer;border:2px solid var(--secondary-color, white);box-shadow:0 2px 4px #0003}.pills-container{display:flex;flex-wrap:wrap;gap:12px}.pill{padding:12px 24px;font-size:16px;font-weight:500;border-radius:50px;background:#fff;border:2px solid #e0e0e0;color:#333;transition:all .2s}.pill:active{transform:scale(.95)}.pill-active{background:var(--primary-color, #8B2635);border-color:var(--secondary-color, var(--primary-color, #8B2635));border-width:3px;color:#fff}.preferences{min-height:100vh;min-height:100dvh;background:linear-gradient(to bottom,var(--primary-color) 0%,var(--primary-color) 50%,color-mix(in srgb,var(--primary-color) 85%,white) 75%,color-mix(in srgb,var(--primary-color) 70%,white) 100%);padding:32px 16px 64px}.preferences-container{max-width:600px;margin:0 auto}.preferences-title{font-size:28px;font-weight:600;margin-bottom:32px;color:#fff;text-align:center}.preferences-form{display:flex;flex-direction:column;gap:2.5rem}.preference-group{display:flex;flex-direction:column;gap:16px}.preference-label{font-size:1rem;font-weight:500;color:#fff}.preferences-submit{margin-top:16px;background:var(--primary-color, #8B2635);color:#fff;padding:16px 32px;font-size:18px;font-weight:600;border:2px solid var(--secondary-color, transparent);border-radius:12px;transition:transform .2s,opacity .2s}.preferences-submit:active{transform:scale(.98);opacity:.9}.preferences-no-wines-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.preferences-no-wines-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;box-shadow:0 8px 32px #0000004d}.preferences-no-wines-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.preferences-no-wines-header h3{margin:0;font-size:1.35rem;font-weight:600;color:#1a1a1a}.preferences-no-wines-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s,color .2s}.preferences-no-wines-close:hover{background:#f5f5f5;color:#1a1a1a}.preferences-no-wines-content{padding:24px}.preferences-no-wines-content p{margin:0 0 24px;font-size:1rem;color:#444;line-height:1.6}.preferences-no-wines-actions{display:flex;flex-direction:column;gap:12px}.preferences-no-wines-button{padding:12px 24px;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:transform .2s,opacity .2s}.preferences-no-wines-button:active{transform:scale(.98);opacity:.9}.preferences-no-wines-primary{background:#8b2635;color:#fff}.preferences-no-wines-primary:hover{background:#6a1e2a}.preferences-no-wines-secondary{background:transparent;color:#8b2635;border:2px solid #8B2635}.preferences-no-wines-secondary:hover{background:#8b2635;color:#fff}.wine-card{position:relative;background:#fff;border-radius:12px;padding:24px;border:2px solid var(--secondary-color, transparent);box-shadow:0 2px 8px #0000001a}.wine-card--sold-out{opacity:.92}.wine-card-sold-out-stamp{position:absolute;top:16px;right:16px;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b2635;background:transparent;border:2px solid #8B2635;border-radius:4px;transform:rotate(8deg);box-shadow:0 1px 3px #0000001f;background:#ffffffe6;pointer-events:none}.wine-card--best-choice{border-width:3px;box-shadow:0 4px 16px #8b263533;background:linear-gradient(to bottom,#fff,snow)}.wine-card-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--primary-color, #8B2635);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--primary-color, #8B2635)}.wine-card-label--best{font-size:14px;padding:10px 16px;background:var(--primary-color, #8B2635);color:#fff;border-radius:8px;border:none;margin:-8px -8px 16px;display:inline-block;width:calc(100% + 16px);text-align:center;box-shadow:0 2px 8px #8b26354d}.wine-card-label-star{margin-right:6px;font-size:16px}.wine-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:16px}.wine-name{font-size:20px;font-weight:600;color:#1a1a1a;flex:1}.wine-price-container{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.wine-price{font-size:18px;font-weight:600;color:var(--primary-color, #8B2635);white-space:nowrap}.wine-price-bottle{font-size:.875rem;font-weight:400;color:#666;white-space:nowrap}.wine-producer{font-size:15px;color:#666;margin-bottom:8px}.wine-description{font-size:14px;color:#555;line-height:1.45;margin:0 0 8px}.wine-chilled{display:inline-block;font-size:12px;color:#4a90e2;background:#e8f4fd;padding:4px 8px;border-radius:4px;margin-top:8px;font-weight:500}.wine-reason{font-size:14px;color:#888;font-style:italic;margin-top:8px}.results{min-height:100vh;min-height:100dvh;background:linear-gradient(to bottom,var(--primary-color) 0%,var(--primary-color) 50%,color-mix(in srgb,var(--primary-color) 85%,white) 75%,color-mix(in srgb,var(--primary-color) 70%,white) 100%);padding:32px 16px 64px}.results-container{max-width:600px;margin:0 auto}.results-title{font-size:28px;font-weight:600;margin-bottom:32px;color:#fff;text-align:center}.results-grid{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.results-empty{text-align:center;padding:3rem 1rem;color:#ffffffe6}.results-footer{text-align:center;padding:32px 16px;margin-top:32px}.results-footer-text{color:#ffffffe6;font-size:15px;margin:0 0 8px}.results-hint{color:#ffffffd9;font-size:14px;margin:0 0 20px}.results-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.results-try-again{padding:12px 24px;font-size:15px;font-weight:600;color:var(--primary-color, #8B2635);background:#fff;border:2px solid white;border-radius:0;cursor:pointer;transition:background .2s ease,color .2s ease}.results-try-again:hover{background:transparent;color:#fff}.results-back{padding:10px 0;font-size:14px;font-weight:500;color:#fffffff2;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.7);cursor:pointer;transition:color .2s ease,border-color .2s ease}.results-back:hover{color:#fff;border-color:#fff}.results-menu-link{font-size:14px;font-weight:500;color:#fffffff2;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.results-menu-link:hover{color:#fff}.login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px;position:relative;background:linear-gradient(to bottom,#8b2635,#8b2635 50%,color-mix(in srgb,#8B2635 85%,white),color-mix(in srgb,#8B2635 70%,white))}.login-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;max-width:400px;width:100%;gap:20px}.login-logo{max-width:300px;width:100%;height:auto;margin-left:auto;margin-right:auto;object-fit:contain;display:block;margin-bottom:-8px}.login-title{font-family:Dancing Script,cursive;font-size:40px;font-weight:500;color:#fff;letter-spacing:.03em;margin:-8px 0 0}.login-subtitle{font-size:16px;color:#ffffffe6;line-height:1.5;margin:0}.login-demo-note{font-size:13px;color:#ffffffd9;line-height:1.4;margin:0;padding:10px 14px;background:#00000026;border-radius:4px}.login-form{display:flex;flex-direction:column;gap:24px;width:100%}.login-field{display:flex;flex-direction:column;gap:8px;text-align:left}.login-label{font-size:14px;font-weight:500;color:#fffffff2;letter-spacing:.02em}.login-input{width:100%;padding:16px;font-size:16px;background:#fffffff2;border:2px solid rgba(255,255,255,.3);border-radius:0;color:#1a1a1a;box-sizing:border-box;transition:all .3s ease}.login-input:focus{outline:none;border-color:#fffc;background:#fff;box-shadow:0 2px 8px #0000001a}.login-input::placeholder{color:#999}.login-error{padding:12px 16px;background:#ffffff26;border:2px solid rgba(255,255,255,.5);color:#fff;font-size:14px;border-radius:0;text-align:center}.login-button{background:transparent;color:#fff;padding:16px 40px;font-size:16px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:2px solid rgba(255,255,255,.9);box-shadow:inset 0 0 0 2px #fff6,0 2px 4px #0003;border-radius:0;transition:all .3s ease;position:relative;overflow:hidden;white-space:nowrap;cursor:pointer;width:100%;margin-top:8px}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff1a;transition:left .3s ease}.login-button:hover:not(:disabled){border-color:#fff;box-shadow:inset 0 0 0 2px #fff9,0 3px 6px #0000004d;background:#ffffff0d}.login-button:hover:not(:disabled):before{left:0}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-forgot-password{margin-top:16px;font-size:14px;color:#ffffffe6}.login-forgot-link{color:#fffffff2;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.login-forgot-link:hover{color:#fff}.forgot-password{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#d8ceca,#c8d2ce,#c0cac4)}.forgot-password-content{max-width:420px;width:100%;background:#fffffff2;padding:40px 32px;border-radius:8px;box-shadow:0 4px 16px #0000001a}.forgot-password-logo{display:block;width:100%;max-width:200px;height:auto;margin:0 auto 24px}.forgot-password-title{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin:0 0 12px;text-align:center}.forgot-password-subtitle{font-size:.95rem;color:#666;margin:0 0 32px;text-align:center;line-height:1.5}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.forgot-password-field{display:flex;flex-direction:column;gap:8px}.forgot-password-label{font-size:.9rem;font-weight:500;color:#333}.forgot-password-input{padding:12px 16px;font-size:1rem;border:1px solid #ddd;border-radius:4px;background:#fff;transition:border-color .2s}.forgot-password-input:focus{outline:none;border-color:#8b2635}.forgot-password-button{padding:14px 28px;font-size:1rem;font-weight:600;color:#fff;background:#8b2635;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.forgot-password-button:hover:not(:disabled){background:#6a1e2a}.forgot-password-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-error{padding:12px;background:#fee;color:#c33;border-radius:4px;font-size:.9rem}.forgot-password-success{text-align:center}.forgot-password-success-text{font-size:.95rem;color:#333;margin:0 0 24px;line-height:1.6}.forgot-password-footer{font-size:.9rem;color:#666;margin:0;text-align:center}.forgot-password-link{color:#8b2635;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.forgot-password-link:hover{color:#6a1e2a}.reset-password{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#d8ceca,#c8d2ce,#c0cac4)}.reset-password-content{max-width:420px;width:100%;background:#fffffff2;padding:40px 32px;border-radius:8px;box-shadow:0 4px 16px #0000001a}.reset-password-logo{display:block;width:100%;max-width:200px;height:auto;margin:0 auto 24px}.reset-password-title{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin:0 0 12px;text-align:center}.reset-password-subtitle{font-size:.95rem;color:#666;margin:0 0 32px;text-align:center;line-height:1.5}.reset-password-form{display:flex;flex-direction:column;gap:20px}.reset-password-field{display:flex;flex-direction:column;gap:8px}.reset-password-label{font-size:.9rem;font-weight:500;color:#333}.reset-password-input{padding:12px 16px;font-size:1rem;border:1px solid #ddd;border-radius:4px;background:#fff;transition:border-color .2s}.reset-password-input:focus{outline:none;border-color:#8b2635}.reset-password-button{padding:14px 28px;font-size:1rem;font-weight:600;color:#fff;background:#8b2635;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.reset-password-button:hover:not(:disabled){background:#6a1e2a}.reset-password-button:disabled{opacity:.6;cursor:not-allowed}.reset-password-error{padding:12px;background:#fee;color:#c33;border-radius:4px;font-size:.9rem}.reset-password-success{text-align:center}.reset-password-success-text{font-size:.95rem;color:#333;margin:0 0 24px;line-height:1.6}.reset-password-footer{font-size:.9rem;color:#666;margin:0;text-align:center}.reset-password-link{color:#8b2635;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.reset-password-link:hover{color:#6a1e2a}.dashboard{min-height:100vh;min-height:100dvh;background:#f5f5f5;padding:24px}.dashboard-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#666}.dashboard-pending{display:flex;align-items:center;justify-content:center;padding:24px}.dashboard-pending-content{max-width:420px;width:100%;text-align:center;background:#fff;padding:32px 24px;border-radius:12px;box-shadow:0 2px 12px #0000001a}.dashboard-pending-title{font-size:22px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.dashboard-pending-text{font-size:16px;color:#666;line-height:1.5;margin:0 0 24px}.dashboard-pending-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.dashboard-title{font-size:28px;font-weight:600;color:#1a1a1a;margin:0}.dashboard-logout{padding:10px 20px;font-size:14px;font-weight:500;color:#8b2635;background:transparent;border:2px solid #8B2635;border-radius:0;cursor:pointer;transition:all .2s ease}.dashboard-logout:hover{background:#8b2635;color:#fff}.dashboard-content{max-width:800px;margin:0 auto}.dashboard-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.dashboard-section-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.dashboard-section-text{font-size:16px;color:#666;line-height:1.5;margin:0}.dashboard-demo-section{border:1px solid #e0d0ce;background:#fdf8f7}.dashboard-demo-actions{margin-top:12px}.dashboard-reset-demo{background:#8b2635;color:#fff;border-color:#8b2635}.dashboard-reset-demo:hover:not(:disabled){background:#6d1e2a;border-color:#6d1e2a;color:#fff}.dashboard-reset-demo:disabled{opacity:.7;cursor:not-allowed}.dashboard-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.dashboard-action-button{padding:16px 24px;font-size:16px;font-weight:500;color:#fff;background:#8b2635;border:none;border-radius:0;cursor:pointer;transition:all .2s ease;text-align:left}.dashboard-action-button:hover{background:#6a1e2a;transform:translate(4px)}.manage-bar-panel{margin-top:8px}.manage-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.manage-bar-close{background:none;border:none;font-size:28px;line-height:1;color:#666;cursor:pointer;padding:0 4px}.manage-bar-close:hover{color:#1a1a1a}.manage-bar-error,.manage-bar-loading{color:#c00;margin:0 0 16px;font-size:14px}.manage-bar-loading{color:#666}.manage-bar-form{display:flex;flex-direction:column;gap:20px}.manage-bar-label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:#333}.manage-bar-input,.manage-bar-textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px;font-family:inherit}.manage-bar-input:focus,.manage-bar-textarea:focus{outline:none;border-color:#8b2635;box-shadow:0 0 0 2px #8b263526}.manage-bar-textarea{resize:vertical;min-height:72px}.manage-bar-char-count{font-size:12px;color:#888;align-self:flex-end}.manage-bar-hint{font-size:12px;color:#666;font-weight:400;display:block;margin-top:8px;line-height:1.4}.manage-bar-hint-error{color:#d32f2f;font-weight:500}.manage-bar-hint-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.manage-bar-png-link{background:none;border:none;color:#8b2635;font-size:12px;text-decoration:underline;cursor:pointer;padding:0;font-weight:500;transition:color .2s}.manage-bar-png-link:hover{color:#6a1e2a}.manage-bar-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.manage-bar-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.manage-bar-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.manage-bar-modal-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.manage-bar-modal-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s,color .2s}.manage-bar-modal-close:hover{background:#f5f5f5;color:#1a1a1a}.manage-bar-modal-content{padding:24px}.manage-bar-modal-content p{font-size:15px;line-height:1.6;color:#333;margin:0 0 16px}.manage-bar-modal-content p:last-of-type{margin-bottom:0}.manage-bar-modal-content strong{color:#1a1a1a;font-weight:600}.manage-bar-png-links{display:flex;flex-direction:column;gap:12px;margin:20px 0}.manage-bar-png-tool-link{display:block;padding:16px;border:2px solid #e0e0e0;border-radius:8px;text-decoration:none;color:#333;transition:all .2s}.manage-bar-png-tool-link:hover{border-color:#8b2635;background:#fafafa}.manage-bar-png-tool-link strong{display:block;font-size:16px;font-weight:600;color:#8b2635;margin-bottom:4px}.manage-bar-png-tool-link span{display:block;font-size:13px;color:#666}.manage-bar-modal-note{font-size:13px;color:#666;font-style:italic;margin-top:16px!important}.qr-code-modal{max-width:400px;overflow-y:visible;max-height:none}.qr-code-modal .manage-bar-modal-header{justify-content:center;position:relative}.qr-code-modal .manage-bar-modal-title{text-align:center}.qr-code-modal .manage-bar-modal-close{position:absolute;right:24px}.qr-code-description{text-align:center;margin-bottom:20px!important}.qr-code-logo-note{display:block;font-size:13px;color:#8b2635;font-weight:500;margin-top:8px}.qr-code-style-selector{display:flex;gap:16px;justify-content:center;margin-bottom:16px}.qr-code-branding-toggle{display:flex;justify-content:center;margin-bottom:24px}.qr-code-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.qr-code-toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#8b2635}.qr-code-style-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.qr-code-style-option input[type=radio]{cursor:pointer;width:18px;height:18px;accent-color:#8b2635}.qr-code-branded-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:400px}.qr-code-branded-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px;text-align:center}.qr-code-branded-logo{display:block}.qr-code-branded-name{font-size:20px;font-weight:600;margin:0;color:#fff}.qr-code-container{display:flex;justify-content:center;align-items:center;padding:24px;background:#fff;border:2px solid rgba(255,255,255,.3);margin-bottom:12px;margin-left:auto;margin-right:auto;width:fit-content}.qr-code-logo-overlay{display:flex;justify-content:center;align-items:center}.qr-code-branded-footer{font-size:14px;color:#ffffffe6;margin:0;text-align:center}.qr-code-square{border-radius:12px}.qr-code-square svg{border-radius:8px;display:block;margin:0 auto}.qr-code-circular{border-radius:12px}.qr-code-url{text-align:center;margin-bottom:20px;padding:12px;background:#f5f5f5;border-radius:6px;font-size:13px}.qr-code-url strong{display:block;margin-bottom:4px;color:#333}.qr-code-url code{font-size:12px;color:#8b2635;word-break:break-all}.qr-code-actions{display:flex;justify-content:center;gap:12px}.manage-bar-url-row{display:flex;align-items:center;flex-wrap:wrap;gap:0;border:1px solid #ddd;border-radius:6px;background:#fff;overflow:hidden}.manage-bar-url-prefix{padding:10px 12px;font-size:15px;color:#666;background:#f8f8f8;border-right:1px solid #ddd;flex-shrink:0}.manage-bar-url-slug{flex:1;min-width:120px;border:none;border-radius:0;box-shadow:none}.manage-bar-url-slug:focus{box-shadow:none;outline:none}.manage-bar-colors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.manage-bar-color-input{width:44px;height:44px;padding:2px;border:1px solid #ddd;border-radius:6px;cursor:pointer;background:#fff}.manage-bar-color-text{max-width:120px;margin-top:4px}.manage-bar-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.manage-bar-logo-preview{width:80px;height:80px;object-fit:contain;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa}.manage-bar-file{font-size:14px;padding:4px 0}.manage-bar-menu-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.manage-bar-menu-status{font-size:14px;color:#333}.manage-bar-menu-remove{background:none;border:none;font-size:22px;line-height:1;color:#888;cursor:pointer;padding:0 4px;flex-shrink:0}.manage-bar-menu-remove:hover{color:#b91c1c}.manage-bar-status{margin:0;padding:10px 12px;border-radius:6px;font-size:14px;text-align:center}.manage-bar-status-error{background:#fde8e8;color:#b91c1c}.manage-bar-status-success{background:#dcfce7;color:#166534}.manage-bar-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.manage-bar-save{padding:12px 24px;font-size:15px;font-weight:600;color:#fff;background:#8b2635;border:none;border-radius:6px;cursor:pointer}.manage-bar-save:hover{background:#6a1e2a}.manage-bar-cancel{padding:12px 24px;font-size:15px;font-weight:500;color:#555;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer}.manage-bar-cancel:hover{background:#e0e0e0}.manage-bar-preview-wrap{margin-top:8px}.manage-bar-preview-title{font-size:14px;font-weight:600;color:#333;margin:0 0 10px}.manage-bar-preview{min-height:260px;border-radius:12px;overflow:hidden;border:1px solid #e0e0e0;box-shadow:inset 0 0 0 1px #0000000d;background:linear-gradient(to bottom,var(--primary-color, #8B2635) 0%,var(--primary-color, #8B2635) 50%,color-mix(in srgb,var(--primary-color, #8B2635) 85%,white) 75%,color-mix(in srgb,var(--primary-color, #8B2635) 70%,white) 100%);display:flex;align-items:center;justify-content:center;padding:24px}.manage-bar-preview-content{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;max-width:100%;width:100%;gap:16px}.manage-bar-preview-logo{max-width:120px;max-height:60px;width:auto;height:auto;object-fit:contain;display:block}.manage-bar-preview-logo-placeholder{width:120px;height:48px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff9;border:1px dashed rgba(255,255,255,.5);border-radius:4px}.manage-bar-preview-bar-name{font-family:Dancing Script,cursive;font-size:22px;font-weight:500;color:#fff;letter-spacing:.03em;margin:0}.manage-bar-preview-message{font-size:12px;color:#ffffffe6;line-height:1.4;max-width:220px;margin:0}.manage-bar-preview-buttons{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:180px}.manage-bar-preview-cta,.manage-bar-preview-menu{padding:8px 20px;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--secondary-color, rgba(255, 255, 255, .9));border-radius:0;white-space:nowrap;background:transparent;color:#fff;width:100%;box-sizing:border-box;text-align:center}.manage-bar-preview-menu{border-color:var(--secondary-color, rgba(255, 255, 255, .9))}.manage-bar-preview-website{font-size:11px;color:#ffffffd9;text-decoration:underline;text-underline-offset:2px}.manage-wines-panel{margin-top:8px}.manage-wines-options{display:grid;gap:20px;margin-bottom:24px}@media (min-width: 640px){.manage-wines-options{grid-template-columns:1fr 1fr}}.manage-wines-option-card{padding:16px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.manage-wines-option-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.manage-wines-option-desc{font-size:13px;color:#666;line-height:1.45;margin:0 0 14px}.manage-wines-download-link{display:inline-block;font-size:14px;font-weight:600;color:#8b2635;margin-bottom:14px;padding:8px 0;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.manage-wines-download-link:hover{color:#6a1e2a}.manage-wines-upload-form{display:flex;flex-direction:column;gap:10px}.manage-wines-upload-form .manage-bar-file{margin-bottom:4px}.manage-wines-list-wrap{border-top:1px solid #e8e8e8;padding-top:20px}.manage-wines-list-title{font-size:15px;font-weight:600;color:#333;margin:0 0 12px}.manage-wines-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.manage-wines-list-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 14px;border-bottom:1px solid #eee;font-size:14px}.manage-wines-list-item:last-child{border-bottom:none}.manage-wines-list-name{font-weight:500;color:#1a1a1a}.manage-wines-list-producer{color:#666;font-size:13px}.manage-wines-list-meta{color:#888;font-size:13px;margin-left:auto}.manage-wines-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.manage-wines-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.manage-wines-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}.manage-wines-modal-form{display:flex;flex-direction:column;gap:14px;padding:20px}.manage-wines-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}.manage-wines-form-row .manage-bar-label{white-space:nowrap;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis}.manage-wines-form-row .manage-bar-input{width:100%;max-width:100%;box-sizing:border-box}.manage-wines-form-row.manage-wines-checkboxes{grid-template-columns:1fr 1fr;align-items:center}.manage-wines-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#333;cursor:pointer}.manage-wines-checkbox input{width:18px;height:18px;accent-color:#8B2635}.manage-analytics-panel .manage-bar-loading{margin-top:16px}.analytics-content{display:flex;flex-direction:column;gap:24px;margin-top:16px}.analytics-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f8f8f8;border-radius:8px}.analytics-total{font-size:16px;font-weight:600;color:#1a1a1a}.analytics-with-results{font-weight:500;color:#555}.analytics-period{display:flex;align-items:center;gap:8px;font-size:14px;color:#333}.analytics-period-select{width:auto;min-width:120px;padding:6px 10px}.analytics-chart-wrap{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:16px}.analytics-pie-wrap{min-height:360px}.analytics-pie-column{display:flex;flex-direction:column;align-items:center;gap:0}.analytics-pie-chart{width:100%;flex-shrink:0}.analytics-pie-legend{list-style:none;margin:12px 0 0;padding:0;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;color:#333}.analytics-pie-legend-item{display:flex;align-items:center;gap:8px}.analytics-pie-legend-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}.analytics-chart-title{font-size:15px;font-weight:600;color:#333;margin:0 0 12px}.analytics-charts-row{display:grid;gap:16px}@media (min-width: 640px){.analytics-charts-row{grid-template-columns:1fr 1fr}}.analytics-recommendations{padding:16px;background:#f0f7f0;border-radius:8px;border-left:4px solid #8B2635}.analytics-recommendations-title{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.analytics-recommendations-list{margin:0;padding-left:20px;font-size:14px;color:#333;line-height:1.6}.analytics-recommendations-list li{margin-bottom:6px}.analytics-recommendations-list li:last-child{margin-bottom:0}@media (min-width: 768px){.dashboard{padding:32px}.dashboard-actions{flex-direction:row;flex-wrap:wrap}.dashboard-action-button{flex:1;min-width:200px}}.demo-stats{min-height:100vh;background:#f5f5f5;padding:24px}.demo-stats-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:#666;font-size:18px}.demo-stats-gate{max-width:420px;margin:0 auto;padding:48px 24px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.demo-stats-gate .demo-stats-title{margin:0 0 8px;font-size:24px;color:#1a1a1a}.demo-stats-gate .demo-stats-subtitle{margin:0 0 24px;font-size:15px;color:#666;line-height:1.5}.demo-stats-error{margin:0 0 16px;padding:12px;background:#fde8e8;color:#8b2635;border-radius:6px;font-size:14px}.demo-stats-form{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.demo-stats-input{padding:14px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:6px;background:#fafafa}.demo-stats-input:focus{outline:none;border-color:#8b2635;background:#fff}.demo-stats-button{padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#8b2635;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.demo-stats-button:hover{background:#6d1e2a}.demo-stats-hint{margin:0;font-size:14px;color:#888}.demo-stats-hint a{color:#8b2635;text-decoration:none}.demo-stats-hint a:hover{text-decoration:underline}.demo-stats-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.demo-stats-header .demo-stats-title{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.demo-stats-header-actions{display:flex;align-items:center;gap:12px}.demo-stats-period{padding:10px 14px;font-size:14px;border:2px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer}.demo-stats-logout{padding:10px 18px;font-size:14px;font-weight:500;color:#8b2635;background:transparent;border:2px solid #8B2635;border-radius:6px;cursor:pointer;transition:all .2s}.demo-stats-logout:hover{background:#8b2635;color:#fff}.demo-stats-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:32px}.demo-stats-kpi{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f;text-align:center}.demo-stats-kpi-value{display:block;font-size:28px;font-weight:700;color:#8b2635;line-height:1.2}.demo-stats-kpi-label{display:block;margin-top:4px;font-size:13px;color:#666;line-height:1.3}.demo-stats-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.demo-stats-section-title{margin:0 0 16px;font-size:18px;font-weight:600;color:#1a1a1a}.demo-stats-empty{margin:0;color:#888;font-size:15px}.demo-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:24px}.demo-stats-card{margin-bottom:0}.demo-stats-list{margin:0;padding:0;list-style:none}.demo-stats-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.demo-stats-list-item:last-child{border-bottom:none}.demo-stats-list-label{color:#333}.demo-stats-list-value{font-weight:600;color:#8b2635}.demo-stats-wines .demo-stats-list-item{padding:10px 0}.demo-stats-sales-note{background:#fdf8f7;border:1px solid #e0d0ce}.demo-stats-sales-note .demo-stats-section-title{font-size:16px}.demo-stats-bullets{margin:0;padding-left:20px;color:#555;font-size:14px;line-height:1.7}.demo-stats-bullets li{margin-bottom:6px}.demo-stats-bullets strong{color:#1a1a1a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#1a1a1a;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,select{font-family:inherit;outline:none}
