:root{--bg:#fbf7f4;--card:#fff;--text:#221d22;--muted:#7d6f73;--line:#eadedb;--accent:#b97869;--accent-dark:#7f1830;--soft:#f2dfdb;--shadow:0 18px 45px rgba(73,36,31,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}.hidden{display:none!important}.app-shell{max-width:1120px;margin:0 auto;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 18px}.brand{font-size:28px;font-weight:900;color:var(--text)}nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}nav a{font-weight:700;color:var(--muted)}.page{padding:8px 18px 90px}.auth-card,.hero-card,.form-card,.location-card,.stat-card,.detail-card,.empty-card,.inline-card,.wine-list-card{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.auth-card{max-width:520px;margin:48px auto;padding:34px}.hero-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px;margin-bottom:22px}.hero-card.compact{display:block}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:900;font-size:12px}h1{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:8px 0 12px}h2{font-size:28px;margin:0}h3{font-size:22px;margin:10px 0 6px}.muted{color:var(--muted);font-size:18px;line-height:1.45}.muted-small{color:var(--muted);font-size:14px;font-weight:800}.form-card{padding:22px;display:grid;gap:18px}.form-card.wide{max-width:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:grid;gap:8px;font-weight:800;color:#402a31}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:17px 18px;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(185,120,105,.12)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:18px;padding:15px 22px;font-weight:900;font-size:16px;cursor:pointer}.btn.primary{background:var(--accent-dark);color:#fff}.grid{display:grid;gap:18px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:28px}.stat-card{padding:22px}.stat-card strong{display:block;font-size:42px;color:var(--accent-dark)}.stat-card span{color:var(--muted);font-weight:800}.section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.location-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.location-card{position:relative;display:block;padding:24px;transition:.18s ease;color:var(--text)}.location-card:hover{transform:translateY(-3px);box-shadow:0 24px 55px rgba(73,36,31,.12)}.location-main{display:block;color:inherit}.location-card .icon{width:48px;height:48px;border-radius:16px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--accent-dark);font-size:24px}.location-card p{color:var(--muted);font-weight:700}.location-edit-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:16px}.mini-ok{border:0;border-radius:16px;background:var(--accent-dark);color:#fff;font-weight:900;padding:0 16px}.icon-btn{width:38px;height:38px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:900}.edit-location-btn{position:absolute;right:18px;top:18px}.empty-card{padding:24px;color:var(--muted)}.inline-card{display:flex;gap:12px;padding:14px;margin-bottom:20px}.flash{border-radius:18px;padding:14px 18px;margin:0 0 16px;font-weight:800}.flash-success{background:#eaf7ee;color:#246b3d}.flash-error{background:#ffe9e7;color:#9b1c1c}.flash-warning{background:#fff4df;color:#8a5b13}.centered{text-align:center}.fab{position:fixed;right:calc(24px + var(--safe-area-inset-right,env(safe-area-inset-right,0px)));bottom:calc(24px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));z-index:20;width:66px;height:66px;border-radius:24px;background:var(--accent-dark);color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 35px rgba(127,24,48,.28)}.detail-card{padding:26px;font-size:18px;line-height:1.55;margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.span-2{grid-column:span 2}.wine-list-card{padding:10px}.wine-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid var(--line)}.wine-row:last-child{border-bottom:0}.wine-row-main{display:flex;align-items:center;gap:14px;min-width:0;color:var(--text);flex:1}.wine-row-main h3{margin:0 0 4px;font-size:21px}.wine-row-main p{margin:0;color:var(--muted);font-weight:700;line-height:1.35}.wine-thumb{width:62px;height:62px;flex:0 0 62px;border-radius:20px;background:linear-gradient(135deg,var(--soft),#fff);display:flex;align-items:center;justify-content:center;color:var(--accent-dark);font-size:28px;font-weight:900;border:1px solid var(--line)}.wine-thumb.library{background:linear-gradient(135deg,#fff,#f7ece8)}.wine-row-side{display:flex;align-items:center;gap:8px;color:var(--muted)}.wine-row-side strong{font-size:28px;color:var(--accent-dark)}.stars{color:var(--accent-dark);letter-spacing:2px;font-weight:900}.round-add{width:44px;height:44px;border-radius:16px;border:0;background:var(--accent-dark);color:#fff;font-size:28px;font-weight:900;cursor:pointer}.library-results{margin-top:16px}@media(max-width:760px){.topbar{padding:18px}.brand{font-size:24px}nav{gap:10px;font-size:14px}.hero-card{align-items:flex-start;flex-direction:column;border-radius:26px;padding:24px}.auth-card{margin:20px 0;padding:24px}.stats-grid,.location-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:auto}h1{font-size:40px}.muted{font-size:16px}.inline-card{border-radius:24px}.page{padding-left:14px;padding-right:14px}.wine-row{align-items:flex-start}.wine-row-main h3{font-size:19px}.wine-thumb{width:54px;height:54px;flex-basis:54px}.wine-row-side{flex-direction:column;align-items:flex-end}.topbar{align-items:flex-start;gap:12px;flex-direction:column}}
.btn.dark{background:#221d22;color:#fff}.btn:disabled{opacity:.65;cursor:wait}.scan-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px}.scan-backdrop{position:absolute;inset:0;background:rgba(20,14,17,.62)}.scan-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.24);padding:22px}.scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.scan-head h2{margin:0 0 6px}.scan-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scan-slot{display:grid;gap:12px}.scan-drop{position:relative;display:grid;place-items:center;gap:8px;min-height:220px;width:100%;border:2px dashed var(--line);border-radius:20px;background:#fff;color:var(--text);font:inherit;font-weight:900;cursor:pointer;overflow:hidden}.scan-drop small{color:var(--muted);font-weight:800}.scan-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scan-drop.has-image span,.scan-drop.has-image small{position:relative;z-index:1;background:rgba(255,255,255,.86);border-radius:12px;padding:5px 9px}.camera-panel{margin-top:18px;display:grid;gap:12px}.camera-panel video{width:100%;max-height:360px;object-fit:cover;border-radius:20px;background:#111}.camera-actions,.scan-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.scan-status{min-height:24px;margin:16px 0 0;color:var(--accent-dark);font-weight:900}.scan-submit{width:100%;margin-top:10px}@media(max-width:760px){.scan-slots{grid-template-columns:1fr}.scan-dialog{border-radius:20px;padding:16px}.scan-drop{min-height:190px}}
.scan-modal.camera-active .camera-panel{display:grid}.scan-modal.camera-active .camera-panel video{max-height:min(64vh,620px)}html.camera-capture-active,html.camera-capture-active body{overflow:hidden;background:#000}@media(max-width:760px){.scan-modal.camera-active{padding:0;place-items:stretch;background:#000}.scan-modal.camera-active .scan-backdrop{background:#000}.scan-modal.camera-active .scan-dialog{width:100%;height:100dvh;max-height:none;border-radius:0;border:0;box-shadow:none;background:#000;padding:calc(12px + var(--safe-area-inset-top,env(safe-area-inset-top,0px))) calc(10px + var(--safe-area-inset-right,env(safe-area-inset-right,0px))) calc(12px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))) calc(10px + var(--safe-area-inset-left,env(safe-area-inset-left,0px)));display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.scan-modal.camera-active .scan-head,.scan-modal.camera-active .scan-slots,.scan-modal.camera-active .scan-actions,.scan-modal.camera-active .scan-status{display:none}.scan-modal.camera-active .camera-panel{margin:0;min-height:0;grid-row:1;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}.scan-modal.camera-active .camera-panel video{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:18px}.scan-modal.camera-active .camera-actions{display:flex;justify-content:stretch}.scan-modal.camera-active .camera-actions .btn{flex:1;min-height:50px}.scan-modal.camera-active .camera-actions .btn.dark{border:1px solid #5f565b}}
.field-error{color:#9b1c1c}.invalid-field{border-color:#9b1c1c!important;box-shadow:0 0 0 4px rgba(155,28,28,.12)!important}.form-validation-message{margin:0;color:#9b1c1c;font-weight:900}.storage-link{display:inline-flex;width:max-content;margin:8px 0 7px;padding:7px 11px;border-radius:12px;background:#f8ece9;color:var(--accent-dark);font-weight:900}.storage-link.missing{background:#ffe9e7;color:#9b1c1c}.library-add-modal{position:fixed;inset:0;z-index:32;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(20,14,17,.62)}.modal-dialog{position:relative;width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.24);padding:22px;display:grid;gap:16px}.compact-dialog .btn{width:100%}.scan-wait{display:none;text-align:center;padding:62px 18px;cursor:wait}.scan-wait h2{font-size:34px;margin:0 0 12px;color:var(--accent-dark)}.scan-wait p{margin:0 0 8px;font-size:20px;font-weight:900}.scan-wait span{color:var(--muted);font-weight:800}.scan-modal.scan-loading,.scan-modal.scan-loading *{cursor:wait!important}.scan-modal.scan-loading .scan-head,.scan-modal.scan-loading .scan-slots,.scan-modal.scan-loading .camera-panel,.scan-modal.scan-loading .scan-status,.scan-modal.scan-loading .scan-actions{display:none!important}.scan-modal.scan-loading .scan-dialog{overflow:hidden}.scan-modal.scan-loading .scan-wait{display:block}@media(max-width:760px){.modal-dialog{border-radius:20px;padding:18px}.scan-wait{padding:80px 12px}.storage-link{font-size:14px}}
.dashboard-actions{display:grid;flex:0 0 220px;width:220px;gap:10px}.dashboard-actions .btn{width:100%}.btn.cellar-action{border:1px solid var(--accent-dark);background:#fff;color:var(--accent-dark)}.scan-ad-confirm{display:none;max-width:480px;margin:0 auto;padding:48px 18px;text-align:center}.scan-ad-confirm h2{margin:0 0 12px;font-size:28px;color:var(--accent-dark)}.scan-ad-confirm p{margin:0 0 24px;color:var(--muted);font-size:18px;line-height:1.5;font-weight:800}.scan-ad-confirm-actions{display:flex;justify-content:center;gap:10px}.scan-modal.scan-ad-confirming .scan-head,.scan-modal.scan-ad-confirming .scan-slots,.scan-modal.scan-ad-confirming .camera-panel,.scan-modal.scan-ad-confirming .scan-status,.scan-modal.scan-ad-confirming .scan-wait,.scan-modal.scan-ad-confirming .scan-actions{display:none!important}.scan-modal.scan-ad-confirming .scan-ad-confirm{display:block}@media(max-width:760px){.dashboard-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;flex-basis:auto}.dashboard-actions .btn{padding-left:12px;padding-right:12px}.scan-ad-confirm{padding:44px 6px}.scan-ad-confirm-actions .btn{flex:1}}
.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:13px;font-weight:800}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}.google-auth{display:grid;justify-items:center}.google-web-button{min-height:44px}.google-native-button{width:min(360px,100%);height:44px;border:1px solid #747775;border-radius:4px;background:#fff;color:#1f1f1f;font:500 14px Arial,sans-serif;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}.google-native-button img{width:18px;height:18px}.google-auth-status{min-height:20px;margin:8px 0 0;color:#9b1c1c;font-size:14px;font-weight:700;text-align:center}
.apple-auth{display:grid;justify-items:center;margin-bottom:10px}.apple-native-button{width:min(360px,100%);height:46px;border:1px solid #000;border-radius:6px;background:#000;color:#fff;font:600 16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.apple-native-button:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:2px}.apple-mark{font-size:21px;line-height:1}.apple-auth-status{min-height:18px;margin:6px 0 0;color:#9b1c1c;font-size:14px;font-weight:700;text-align:center}.provider-link-card{margin-bottom:18px}.provider-link-card .apple-native-button{width:100%}
.welcome-page{display:grid;gap:42px;padding-top:18px}.welcome-primary{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,430px);align-items:center;gap:clamp(28px,6vw,76px);max-width:1040px;margin:0 auto;width:100%}.welcome-copy{max-width:600px}.welcome-copy h1{max-width:680px;margin:10px 0 16px}.welcome-copy p{max-width:620px;margin:0;color:var(--muted);font-size:19px;line-height:1.55}.welcome-auth{width:100%;max-width:none;margin:0;padding:28px;border-radius:22px}.welcome-auth h2{margin:0 0 18px;font-size:26px}.welcome-login-form{display:grid;gap:14px}.welcome-login-form input{padding:14px 16px;border-radius:14px}.welcome-login-form .btn{width:100%;min-height:50px}.welcome-account-actions{display:grid;gap:12px;margin-top:14px;text-align:center}.welcome-register{min-height:48px;border:1px solid var(--accent-dark);background:#fff;color:var(--accent-dark);border-radius:16px}.welcome-forgot{display:inline-block;padding:8px;font-weight:700}.welcome-benefits{max-width:1040px;margin:0 auto;width:100%;padding-top:28px;border-top:1px solid var(--line)}.welcome-benefits>h2{font-size:26px;margin-bottom:18px}.welcome-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.welcome-benefit{min-width:0;padding:4px 8px 4px 0}.welcome-benefit>span{display:block;color:var(--accent-dark);font-size:13px;font-weight:900}.welcome-benefit h3{font-size:20px;margin:8px 0}.welcome-benefit p{margin:0;color:var(--muted);line-height:1.55}.welcome-auth .google-auth{justify-items:stretch}.welcome-auth .google-web-button{display:flex;justify-content:center;width:100%}.welcome-auth .google-native-button{width:100%}@media(max-width:760px){.welcome-page{gap:34px;padding-top:2px}.welcome-primary{grid-template-columns:1fr;gap:22px}.welcome-copy h1{font-size:34px;line-height:1.08;margin-bottom:10px}.welcome-copy p{font-size:16px;line-height:1.45}.welcome-auth{padding:20px 18px;border-radius:20px}.welcome-auth h2{font-size:23px;margin-bottom:14px}.welcome-benefits{padding-top:24px}.welcome-benefits>h2{font-size:23px}.welcome-benefit-grid{grid-template-columns:1fr;gap:22px}.welcome-benefit{padding-right:0}.welcome-benefit h3{font-size:19px}.welcome-benefit p{font-size:15px}.welcome-account-actions{gap:6px}}

/* Public welcome experience */
.guest-view .page{padding-top:0}.welcome-page{gap:72px;padding-top:0}.welcome-hero{position:relative;isolation:isolate;min-height:640px;overflow:hidden;border-radius:8px;background:#171316 url('/assets/welcome/cellar-hero.webp') center/cover no-repeat;box-shadow:0 24px 64px rgba(32,20,23,.2)}.welcome-hero::before{position:absolute;z-index:-1;inset:0;content:"";background:rgba(15,12,14,.58)}.welcome-primary{min-height:640px;max-width:none;padding:48px;gap:48px}.welcome-copy{color:#fff;text-shadow:0 2px 22px rgba(0,0,0,.32)}.welcome-copy .eyebrow{color:#f0b9a8}.welcome-copy h1{font-size:54px;line-height:1.04;letter-spacing:0;margin:12px 0 18px}.welcome-copy p{max-width:560px;color:#f3ece9;font-size:19px;line-height:1.55}.welcome-auth{align-self:center;margin:0;padding:28px;border:1px solid rgba(255,255,255,.58);border-radius:8px;background:rgba(255,255,255,.95);box-shadow:0 22px 62px rgba(0,0,0,.3);backdrop-filter:blur(14px)}.welcome-auth h2{letter-spacing:0}.welcome-auth input{border-radius:6px;background:rgba(255,255,255,.92)}.welcome-auth .btn{border-radius:6px}.welcome-register{border-radius:6px}.welcome-benefits{max-width:1040px;padding-top:0;border-top:0}.welcome-benefits-head{max-width:620px;margin-bottom:36px}.welcome-benefits-head h2{margin-top:8px;font-size:34px;letter-spacing:0}.welcome-feature-list{display:grid;gap:76px}.welcome-feature{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:64px}.welcome-feature-reverse .welcome-feature-copy{grid-column:2;grid-row:1}.welcome-feature-reverse .welcome-feature-media{grid-column:1;grid-row:1}.welcome-feature-copy h3{margin:0 0 14px;font-size:30px;line-height:1.15;letter-spacing:0}.welcome-feature-copy p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}.welcome-feature-media{margin:0;aspect-ratio:3/2;overflow:hidden;border-radius:8px;background:#e7dfdc}.welcome-feature-media img{display:block;width:100%;height:100%;object-fit:cover}.guest-view .site-footer{margin-top:72px}

/* First-run onboarding for guest users in the native Android WebView */
.app-onboarding{display:none}.onboarding-pending,.onboarding-pending body{overflow:hidden}.onboarding-pending .app-onboarding{position:fixed;z-index:100;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:calc(16px + var(--safe-area-inset-top,env(safe-area-inset-top,0px))) calc(18px + var(--safe-area-inset-right,env(safe-area-inset-right,0px))) calc(18px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))) calc(18px + var(--safe-area-inset-left,env(safe-area-inset-left,0px)));background:#f7f4f2;color:var(--text)}.onboarding-skip{position:absolute;z-index:2;top:calc(18px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)));right:calc(18px + var(--safe-area-inset-right,env(safe-area-inset-right,0px)));min-height:44px;padding:0 12px;border:0;background:rgba(255,255,255,.92);color:var(--accent-dark);font:inherit;font-weight:900;cursor:pointer}.onboarding-slides{min-height:0}.onboarding-slide{height:100%;min-height:0;grid-template-rows:minmax(250px,54vh) auto}.onboarding-slide.is-active{display:grid}.onboarding-slide[hidden]{display:none}.onboarding-slide>img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px}.onboarding-copy{align-self:center;padding:26px 4px 18px}.onboarding-kicker{margin:0 0 8px;color:var(--accent-dark);font-size:13px;font-weight:900;text-transform:uppercase}.onboarding-copy h1{margin:0 0 12px;font-size:34px;line-height:1.08;letter-spacing:0}.onboarding-copy>p:last-child{max-width:620px;margin:0;color:var(--muted);font-size:17px;line-height:1.55}.onboarding-controls{display:grid;grid-template-columns:1fr minmax(140px,auto);align-items:center;gap:20px;padding:8px 4px 0}.onboarding-progress{display:flex;gap:8px}.onboarding-progress span{width:9px;height:9px;border-radius:50%;background:#d5c8c6}.onboarding-progress span.is-active{width:28px;border-radius:5px;background:var(--accent-dark)}.onboarding-next{min-height:50px;border-radius:6px}

@media(max-width:760px){.guest-view .topbar{padding-bottom:14px}.guest-view .page{padding-left:10px;padding-right:10px}.welcome-page{gap:46px}.welcome-hero{min-height:0;background-position:58% center}.welcome-hero::before{background:rgba(15,12,14,.66)}.welcome-primary{min-height:0;padding:28px 14px 16px;gap:20px}.welcome-copy h1{font-size:34px;line-height:1.08;margin:8px 0 10px}.welcome-copy p{font-size:16px;line-height:1.45}.welcome-auth{padding:19px 17px}.welcome-auth h2{font-size:22px;margin-bottom:13px}.welcome-login-form{gap:12px}.welcome-login-form input{min-height:48px;padding:12px 14px}.welcome-login-form .btn,.welcome-register{min-height:48px}.welcome-account-actions{margin-top:10px;gap:4px}.welcome-forgot{padding:7px}.welcome-benefits{padding:0 8px}.welcome-benefits-head{margin-bottom:26px}.welcome-benefits-head h2{font-size:27px}.welcome-feature-list{gap:48px}.welcome-feature,.welcome-feature-reverse{grid-template-columns:1fr;gap:20px}.welcome-feature .welcome-feature-media,.welcome-feature-reverse .welcome-feature-media{grid-column:1;grid-row:1}.welcome-feature .welcome-feature-copy,.welcome-feature-reverse .welcome-feature-copy{grid-column:1;grid-row:2}.welcome-feature-copy h3{font-size:24px}.welcome-feature-copy p{font-size:16px;line-height:1.55}.guest-view .site-footer{margin-top:52px}.onboarding-slide{grid-template-rows:minmax(220px,47vh) auto}.onboarding-copy{padding:22px 2px 12px}.onboarding-copy h1{font-size:30px}.onboarding-copy>p:last-child{font-size:16px}.onboarding-controls{grid-template-columns:1fr minmax(132px,auto)}}

@media(max-width:390px),(max-height:700px){.onboarding-pending .app-onboarding{padding-top:calc(12px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)));padding-bottom:calc(12px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}.onboarding-skip{top:calc(12px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)))}.onboarding-slide{grid-template-rows:minmax(180px,40vh) auto}.onboarding-copy{padding-top:16px}.onboarding-copy h1{font-size:26px;margin-bottom:8px}.onboarding-copy>p:last-child{font-size:14px;line-height:1.45}.onboarding-next{min-height:46px;padding:12px 16px}}
.onboarding-slide{align-content:start}.onboarding-copy{align-self:start}

/* Premium public hero and welcome navigation */
.welcome-view .app-shell{max-width:none}.welcome-view .topbar{position:absolute;z-index:50;top:0;left:50%;width:min(100%,1360px);transform:translateX(-50%);padding:28px 32px}.welcome-view .brand{width:280px}.welcome-view .main-nav a{color:rgba(255,250,247,.84);text-shadow:0 1px 14px rgba(0,0,0,.34)}.welcome-view .main-nav a:hover,.welcome-view .main-nav a:focus-visible{color:#fff}.welcome-view .language-menu summary{border-color:rgba(255,255,255,.38);background:rgba(20,14,17,.34);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.welcome-view .page{padding:0 0 90px}.welcome-view .welcome-page{gap:clamp(54px,7vw,76px)}.welcome-view .welcome-hero{display:grid;min-height:calc(100svh - 96px);border-radius:0;background-position:center 54%;box-shadow:none}.welcome-view .welcome-hero::before{background:rgba(13,9,12,.62)}.welcome-view .welcome-primary{min-height:inherit;max-width:1280px;padding:108px clamp(32px,6vw,82px) 30px;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:clamp(42px,7vw,96px)}.welcome-view .welcome-copy{max-width:640px}.welcome-view .welcome-copy h1{max-width:630px;font-size:clamp(48px,5vw,68px);line-height:1.02;margin:12px 0 18px}.welcome-view .welcome-copy p{max-width:580px;color:#f7efeb;font-size:19px;line-height:1.58}.welcome-view .welcome-auth{padding:24px;border:1px solid rgba(255,255,255,.46);background:rgba(248,245,243,.84);box-shadow:0 28px 74px rgba(0,0,0,.38);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}.welcome-view .welcome-auth h2{margin-bottom:14px}.welcome-view .welcome-auth label{gap:6px}.welcome-view .welcome-login-form{gap:10px}.welcome-view .welcome-login-form input{min-height:48px;padding:12px 14px;background:#fff;border-color:#dfd2d0;box-shadow:0 1px 0 rgba(255,255,255,.75)}.welcome-view .welcome-login-form .btn{min-height:48px}.welcome-view .welcome-auth .auth-divider{margin:14px 0}.welcome-view .welcome-account-actions{gap:3px;margin-top:10px}.welcome-view .welcome-register{min-height:46px;background:#fff}.welcome-view .welcome-forgot{padding:7px}.welcome-view .welcome-benefits{max-width:1120px;padding-right:24px;padding-left:24px}.welcome-view .welcome-benefits-head{max-width:680px}.welcome-view .site-footer{width:calc(100% - 36px);max-width:1120px;margin-right:auto;margin-left:auto}

@media(max-width:760px){.welcome-view .topbar{top:0;width:100%;padding:16px 16px 12px}.welcome-view .brand{width:min(215px,100%)}.welcome-view .main-nav{padding-top:1px}.welcome-view .main-nav a{font-size:14px}.welcome-view .language-menu summary{background:rgba(20,14,17,.46)}.welcome-view .page{padding-right:0;padding-left:0}.welcome-view .welcome-page{gap:42px}.welcome-view .welcome-hero{min-height:calc(100svh - 84px);background-position:58% center}.welcome-view .welcome-hero::before{background:rgba(13,9,12,.69)}.welcome-view .welcome-primary{min-height:inherit;padding:108px 14px 16px;grid-template-columns:1fr;gap:18px}.welcome-view .welcome-copy h1{font-size:34px;line-height:1.06;margin:7px 0 9px}.welcome-view .welcome-copy p{font-size:15px;line-height:1.42}.welcome-view .welcome-auth{padding:18px 16px;background:rgba(248,245,243,.88);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.welcome-view .welcome-auth h2{margin-bottom:11px}.welcome-view .welcome-auth .auth-divider{margin:11px 0}.welcome-view .welcome-login-form{gap:9px}.welcome-view .welcome-account-actions{margin-top:8px}.welcome-view .welcome-benefits{padding-right:18px;padding-left:18px}.welcome-view .site-footer{width:calc(100% - 28px)}}

@media(max-width:390px),(max-height:720px){.welcome-view .topbar{padding-top:12px}.welcome-view .brand{width:min(196px,100%)}.welcome-view .welcome-primary{padding-top:96px}.welcome-view .welcome-copy .eyebrow{font-size:11px}.welcome-view .welcome-copy h1{font-size:30px}.welcome-view .welcome-copy p{font-size:14px}.welcome-view .welcome-auth{padding:15px 14px}.welcome-view .welcome-auth h2{font-size:21px}.welcome-view .welcome-login-form input{min-height:44px}.welcome-view .welcome-login-form .btn,.welcome-view .welcome-register{min-height:44px}}

/* Final public hero refinement */
.welcome-view .welcome-page{gap:0}.welcome-view .welcome-hero{min-height:calc(100svh - 28px)}.welcome-view .welcome-primary{align-content:center}.welcome-view .welcome-auth{background:rgba(244,240,238,.94);border-color:rgba(255,255,255,.58);box-shadow:0 26px 68px rgba(0,0,0,.34);backdrop-filter:blur(10px) saturate(108%);-webkit-backdrop-filter:blur(10px) saturate(108%)}.welcome-view .welcome-benefits{padding-top:64px}

@media(max-width:760px){.welcome-view .topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 12px}.welcome-view .brand{width:clamp(128px,32vw,178px)}.welcome-view .topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.welcome-view .main-nav{display:flex;flex:0 1 auto;grid-column:auto;grid-row:auto;flex-wrap:nowrap;gap:8px;padding:0;white-space:nowrap}.welcome-view .main-nav a{font-size:12px}.welcome-view .language-menu{grid-column:auto;grid-row:auto}.welcome-view .language-menu summary{width:38px;min-width:38px;height:38px}.welcome-view .welcome-primary{padding-top:86px}.welcome-view .welcome-auth{width:calc(100% - 20px);justify-self:center;background:rgba(244,240,238,.95);box-shadow:0 22px 54px rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.welcome-view .welcome-benefits{padding-top:52px}}

@media(max-width:360px){.welcome-view .topbar{gap:6px;padding-right:10px;padding-left:10px}.welcome-view .brand{width:122px}.welcome-view .topbar-actions{gap:5px}.welcome-view .main-nav{gap:6px}.welcome-view .main-nav a{font-size:11px}.welcome-view .language-menu summary{width:36px;min-width:36px;height:36px}.welcome-view .language-menu summary svg{width:18px;height:18px}.welcome-view .welcome-primary{padding-top:78px}.welcome-view .welcome-auth{width:calc(100% - 14px)}}

@media(max-width:760px){.welcome-view .topbar{flex-direction:row;flex-wrap:nowrap}}

/* Prominent status messages above every navigation layer */
.flash-stack{position:fixed;z-index:10000;top:0;right:0;left:0;width:100%;pointer-events:none}.flash-stack .flash{width:100%;margin:0;padding:16px clamp(18px,4vw,52px);border:0;border-radius:0;color:#fff;font-weight:900;line-height:1.35;text-align:center;box-shadow:0 8px 28px rgba(20,14,17,.28);pointer-events:auto}.flash-stack .flash-success{background:#167044;color:#fff}.flash-stack .flash-error{background:#b4232d;color:#fff}.flash-stack .flash-warning{background:#956600;color:#fff}.native-app .flash-stack .flash:first-child{padding-top:calc(16px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)))}

/* Premium authentication panel */
.welcome-view .welcome-auth{position:relative;overflow:hidden;padding:26px;background:rgba(229,220,214,.95);border:1px solid rgba(255,252,249,.68);box-shadow:0 34px 86px rgba(10,6,8,.42),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:blur(7px) saturate(105%);-webkit-backdrop-filter:blur(7px) saturate(105%);color:#2b2025}.welcome-view .welcome-auth::before{position:absolute;top:0;right:0;left:0;height:3px;background:#8f1638;content:""}.welcome-view .welcome-auth h2{margin:0;padding:2px 0 16px;border-bottom:1px solid rgba(91,64,68,.18);font-family:Baskerville,"Baskerville Old Face","Palatino Linotype",Georgia,serif;font-size:30px;line-height:1.1;color:#2b2025}.welcome-view .welcome-auth .google-auth{padding-top:16px}.welcome-view .welcome-auth .google-auth-status{min-height:16px;margin:5px 0 0}.welcome-view .welcome-auth .auth-divider{margin:15px 0;color:#6f5c61}.welcome-view .welcome-auth .auth-divider::before,.welcome-view .welcome-auth .auth-divider::after{background:rgba(91,64,68,.18)}.welcome-view .welcome-login-form{gap:12px}.welcome-view .welcome-login-form label{gap:7px;color:#4b343d;font-size:13px}.welcome-view .welcome-login-form input{border-color:#cdbdb7;background:#fff;box-shadow:inset 0 1px 2px rgba(58,35,40,.05),0 1px 0 rgba(255,255,255,.72)}.welcome-view .welcome-login-form input:focus{border-color:#8f1638;box-shadow:0 0 0 3px rgba(143,22,56,.11)}.welcome-view .welcome-login-form .btn.primary{box-shadow:0 10px 24px rgba(127,24,48,.2)}.welcome-view .welcome-account-actions{gap:5px;margin-top:15px;padding-top:14px;border-top:1px solid rgba(91,64,68,.18)}.welcome-view .welcome-register{background:rgba(255,255,255,.88);border-color:#8f1638}.welcome-view .welcome-forgot{color:#713348}

@media(max-width:760px){.welcome-view .welcome-auth{padding:21px 19px;background:rgba(229,220,214,.96);box-shadow:0 26px 62px rgba(10,6,8,.38);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.welcome-view .welcome-auth h2{padding-bottom:13px;font-size:27px}.welcome-view .welcome-auth .google-auth{padding-top:13px}.welcome-view .welcome-auth .auth-divider{margin:12px 0}.welcome-view .welcome-login-form{gap:10px}.welcome-view .welcome-account-actions{margin-top:12px;padding-top:11px}}

@media(max-width:390px),(max-height:720px){.welcome-view .welcome-auth{padding:17px 16px}.welcome-view .welcome-auth h2{font-size:24px}.welcome-view .welcome-auth .google-auth{padding-top:10px}.welcome-view .welcome-auth .google-auth-status{min-height:12px}.welcome-view .welcome-auth .auth-divider{margin:9px 0}.welcome-view .welcome-account-actions{margin-top:9px;padding-top:8px}}

/* Smoked-glass authentication panel */
.welcome-view .welcome-auth{position:relative;overflow:hidden;padding:25px;background:rgba(22,15,19,.61);border:1px solid rgba(255,245,240,.23);box-shadow:0 34px 90px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(15px) saturate(112%);-webkit-backdrop-filter:blur(15px) saturate(112%);color:#fff7f3}.welcome-view .welcome-auth::before{height:3px;background:#a12648}.welcome-view .welcome-auth h2{padding:2px 0 15px;border-bottom-color:rgba(255,247,243,.15);color:#fff7f1}.welcome-view .welcome-auth .google-auth{padding-top:15px}.welcome-view .welcome-auth .google-auth-status{color:#ffd2db}.welcome-view .welcome-auth .auth-divider{margin:14px 0;color:#d9cbc8}.welcome-view .welcome-auth .auth-divider::before,.welcome-view .welcome-auth .auth-divider::after{background:rgba(255,247,243,.18)}.welcome-view .welcome-login-form label{color:#ebdfdc}.welcome-view .welcome-login-form input{border-color:#d9ccc6;background:#fcf9f7;color:#281d22;box-shadow:inset 0 1px 2px rgba(42,24,31,.06),0 1px 0 rgba(255,255,255,.14)}.welcome-view .welcome-login-form input:focus{border-color:#c44b6c;box-shadow:0 0 0 3px rgba(214,116,143,.23)}.welcome-view .welcome-login-form .btn.primary{background:#941d40;color:#fffaf7;box-shadow:0 11px 26px rgba(0,0,0,.24)}.welcome-view .welcome-login-form .btn.primary:hover,.welcome-view .welcome-login-form .btn.primary:focus-visible{background:#a62449}.welcome-view .welcome-account-actions{border-top-color:rgba(255,247,243,.15)}.welcome-view .welcome-register{border-color:rgba(236,142,164,.74);background:transparent;color:#fff4f0}.welcome-view .welcome-register:hover,.welcome-view .welcome-register:focus-visible{border-color:#f1a4b6;background:rgba(148,29,64,.25);color:#fff}.welcome-view .welcome-forgot{color:#ddc9c5}.welcome-view .welcome-forgot:hover,.welcome-view .welcome-forgot:focus-visible{color:#fff7f3}

@media(min-width:761px){.welcome-view .welcome-auth{width:400px;justify-self:end}}
@media(max-width:760px){.welcome-view .welcome-auth{padding:20px 18px;background:rgba(22,15,19,.63);box-shadow:0 28px 68px rgba(0,0,0,.5);backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%)}.welcome-view .welcome-auth h2{padding-bottom:13px}.welcome-view .welcome-auth .google-auth{padding-top:13px}}
@media(max-width:390px),(max-height:720px){.welcome-view .welcome-auth{padding:17px 16px}.welcome-view .welcome-auth .google-auth{padding-top:10px}}
.scan-ai-consent{display:none;max-width:520px;margin:0 auto;padding:42px 18px;text-align:center}.scan-ai-consent h2{margin:0 0 12px;color:var(--accent-dark)}.scan-ai-consent p{color:var(--muted);font-size:17px;line-height:1.55;font-weight:700}.scan-ai-consent>a{display:inline-block;margin:2px 0 22px;font-weight:800}.scan-ai-consent-actions{display:flex;justify-content:center;gap:10px}.scan-modal.scan-ai-consenting .scan-head,.scan-modal.scan-ai-consenting .scan-slots,.scan-modal.scan-ai-consenting .camera-panel,.scan-modal.scan-ai-consenting .scan-status,.scan-modal.scan-ai-consenting .scan-wait,.scan-modal.scan-ai-consenting .scan-ad-confirm,.scan-modal.scan-ai-consenting .scan-actions{display:none!important}.scan-modal.scan-ai-consenting .scan-ai-consent{display:block}@media(max-width:760px){.scan-ai-consent{padding:38px 4px}.scan-ai-consent-actions .btn{flex:1}}

/* Wine form visual polish */
.wine-form{gap:0;padding:clamp(28px,3.4vw,40px);background:rgba(255,255,255,.91)}.wine-form input,.wine-form select,.wine-form textarea{min-width:0;border-color:#ded4d0;border-radius:14px;background:#fffdfa;padding:13px 15px;color:#211b1e;font-size:16px;line-height:1.35;box-shadow:inset 0 1px 1px rgba(65,42,47,.025);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.wine-form input,.wine-form select{height:50px}.wine-form input::placeholder,.wine-form textarea::placeholder{color:#aa9c99;opacity:1}.wine-form input:hover,.wine-form select:hover,.wine-form textarea:hover{border-color:#cdbfbb}.wine-form input:focus,.wine-form select:focus,.wine-form textarea:focus{border-color:#9b3651;background:#fff;box-shadow:0 0 0 3px rgba(143,22,56,.1)}.wine-form label{display:flex;min-width:0;flex-direction:column;gap:7px;color:#493a3f;font-size:13.5px;font-weight:600;line-height:1.25}.wine-field-label{display:inline-flex;min-height:17px;align-items:baseline;gap:3px;white-space:normal}.required-mark{display:inline;color:#a12648;font-size:.9em;font-weight:800;line-height:1}.wine-form-section{display:grid;gap:23px}.wine-form-section+.wine-form-section{margin-top:43px;padding-top:39px;border-top:1px solid #eee5e2}.wine-form-section-head{display:grid;gap:5px}.wine-form-section-head h2{margin:0;color:#271e22;font-size:27px;font-weight:850;line-height:1.15}.wine-form-section-head p{max-width:760px;margin:0;color:#85777a;font-size:14.5px;font-weight:400;line-height:1.5}.wine-master-grid,.wine-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.wine-personal-grid{grid-template-columns:1fr;gap:19px}.wine-field-group{display:grid;min-width:0;align-items:end}.wine-price-group{grid-template-columns:minmax(0,4fr) minmax(104px,1fr);gap:8px}.wine-stock-group,.wine-rating-date-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wine-duration-group{min-width:0;margin:2px 0 0;padding:17px 18px 18px;border:1px solid #ece2df;border-radius:16px;background:rgba(250,246,244,.58)}.wine-duration-group legend{margin:0;padding:0 6px;color:#37292e;font-size:15px;font-weight:750;line-height:1.25}.wine-duration-group>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wine-duration-group .wine-field-label{color:#74666a;font-size:12.5px;font-weight:600}.wine-notes-field{width:100%;margin-top:5px}.wine-notes-field textarea{min-height:104px;resize:vertical}.wine-form>.form-validation-message{margin:20px 0 0}.wine-form>button[type="submit"]{width:auto;min-width:190px;min-height:52px;margin-top:24px;padding-right:30px;padding-left:30px;border-radius:15px;box-shadow:0 9px 22px rgba(127,24,48,.16)}.wine-form>button[type="submit"]:hover,.wine-form>button[type="submit"]:focus-visible{background:#941d40;box-shadow:0 12px 26px rgba(127,24,48,.23)}
@media(max-width:760px){.wine-form{padding:24px 18px}.wine-form-section{gap:20px}.wine-form-section+.wine-form-section{margin-top:34px;padding-top:31px}.wine-form-section-head h2{font-size:24px}.wine-master-grid{grid-template-columns:1fr;gap:14px}.wine-personal-grid{gap:17px}.wine-price-group{grid-template-columns:minmax(0,4fr) minmax(88px,1fr);gap:8px}.wine-stock-group,.wine-rating-date-group{gap:12px}.wine-duration-group{padding:15px 14px 16px}.wine-duration-group>div{gap:9px}.wine-duration-group input{padding-right:11px;padding-left:11px}.wine-form>button[type="submit"]{width:100%;margin-top:21px}}
@media(max-width:430px){.wine-stock-group,.wine-rating-date-group{grid-template-columns:1fr;gap:14px}.wine-price-group{grid-template-columns:minmax(0,1fr) 92px}}
@media(max-width:350px){.wine-duration-group>div{grid-template-columns:1fr;gap:12px}}
.wine-form>button[type="submit"]{justify-self:start}@media(max-width:760px){.wine-form>button[type="submit"]{justify-self:stretch}}
.wine-stock-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.wine-stock-readout{display:flex;min-width:0;flex-direction:column;gap:7px;color:#493a3f;font-size:13.5px;font-weight:600;line-height:1.25}.wine-stock-readout output{display:flex;height:50px;align-items:center;border:1px solid #eadfdb;border-radius:14px;background:#f8f1ef;padding:0 15px;color:#7f1830;font-size:20px;font-weight:850;line-height:1}@media(max-width:350px){.wine-stock-amounts{grid-template-columns:1fr}}
