@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff")}:root{font-family:DM Sans,sans-serif;color:#302c29;background:#f7f4ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f7f4ee;--surface: #fffdfa;--surface2: #eee9e0;--text: #302c29;--muted: #756e65;--line: #e0d9ce;--accent: #733548;--accent-hover: #5f283a;--soft: #f0e4e5;--green: #486651;--error: #a13137;--serif: "Cormorant Garamond", Georgia, serif;color-scheme:light}:root[data-theme=dark]{--bg: #211f1c;--surface: #292621;--surface2: #35312b;--text: #f0e9df;--muted: #b6aa9d;--line: #494139;--accent: #d8a0ae;--accent-hover: #e7b5c2;--soft: #473039;--green: #a4c5a8;--error: #f59d9d;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled,.disabled{opacity:.45;cursor:not-allowed}button:disabled{pointer-events:none}button,input,select,textarea{border-radius:8px}input,select,textarea{min-width:0;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(40px,5vw,58px);line-height:1.08}h2{font-size:29px;line-height:1.15}p{line-height:1.65}ul{list-style:none;padding:0;margin:0}svg{flex-shrink:0}button{transition:background .15s,color .15s,transform .15s}button:active:not(:disabled),.button:active:not(.disabled){transform:translateY(1px)}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:12px 14px;min-height:47px;outline-offset:2px;font-size:15px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1;font-weight:400}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{accent-color:var(--accent);width:19px;height:19px;cursor:pointer}select{padding-right:30px}.muted{color:var(--muted);font-size:14px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;color:var(--muted);text-transform:uppercase;margin-bottom:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 20px;border:1px solid transparent;font-size:13px;font-weight:500;border-radius:7px;white-space:nowrap;text-align:center}.button.primary{background:var(--accent);color:var(--surface)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.button.secondary:hover:not(:disabled){background:var(--surface2)}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--accent);padding:8px 0;min-height:42px;font-size:13px;font-weight:500}.icon-button{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--muted);border-radius:50%}.icon-button:hover,.icon-button.active{background:var(--surface2);color:var(--accent)}.danger{color:var(--error)!important}.app-header{max-width:1120px;height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--accent)}.brand span{font-family:var(--serif);font-size:31px;letter-spacing:-.02em;font-weight:600}.header-right{display:flex;align-items:center;gap:25px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.connection>span{height:5px;width:5px;background:var(--green);border-radius:50%}.connection.disconnected>span{background:var(--error)}.main-content{max-width:1120px;padding:51px 36px 145px;margin:auto;min-height:calc(100dvh - 98px);outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px}.page-heading h1+p{margin-top:13px;font-size:14px;color:var(--muted)}.page-heading .count-line{display:flex;align-items:center;gap:6px}.count-line span{padding:0 7px}.count-line strong{font-weight:500;color:var(--text)}.search-area{display:flex;gap:12px}.search-box{border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:row;align-items:center;gap:12px;flex:1;padding:0 17px;border-radius:8px;color:var(--muted)}.search-box input{background:transparent;border:0;padding:15px 0;min-height:54px;outline:none!important}.search-box:focus-within{outline:2px solid var(--accent);outline-offset:2px}.filter-toggle{border:1px solid var(--line);border-radius:8px;width:54px;height:56px;background:var(--surface)}.filter-row{display:flex;align-items:center;gap:8px;margin:18px 0 28px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:none}.chip{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;padding:9px 14px;min-height:42px;border-radius:24px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:12px}.chip.selected{background:var(--text);color:var(--bg);border-color:var(--text)}.color-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#80374b}.dot-white{background:#b9ac65}.dot-rose{background:#d1919e}.dot-sparkling{background:#7c9277}.dot-dessert{background:#b68646}.dot-fortified{background:#764c3c}.advanced-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:18px;background:var(--surface2);border-radius:9px;margin:-8px 0 20px}.results-info{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin:0 0 10px}.wine-list{border-top:1px solid var(--line)}.wine-row{display:flex;gap:23px;align-items:center;padding:23px 7px 23px 0;border-bottom:1px solid var(--line);transition:background .15s}.wine-photo{width:80px;height:106px;border-radius:5px;background:#eae5d9;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.wine-photo img{width:100%;height:100%;object-fit:cover}.wine-photo.wine-white{background:#e9e7d8}.wine-photo.wine-rose{background:#efdfda}.wine-photo.wine-sparkling{background:#e2e7db}.bottle-art{height:86%;max-width:80%}.bottle-art.small{height:84%}.wine-row-info{min-width:0;flex:1}.wine-row-meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;line-height:1.5}.wine-row h2{font-size:28px;margin:5px 0 4px;line-height:1.15}.wine-row h2 span{font-weight:400;color:var(--muted);font-size:.83em;white-space:nowrap}.wine-row-info>p{font-size:12px;color:var(--muted)}.wine-row-location{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;margin-top:10px;line-height:1.45}.wine-row-stock{text-align:right;min-width:75px;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.wine-row-stock>strong{font-family:var(--serif);font-size:31px;font-weight:500;line-height:1}.wine-row-stock>span{font-size:10px;color:var(--muted)}.wine-row-stock .drink-pill{margin-top:9px}.drink-pill{font-size:10px;color:var(--accent)!important;background:var(--soft);border-radius:4px;padding:4px 7px;white-space:nowrap}.drink-pill.ready{color:var(--green)!important;background:var(--surface2)}.drink-pill.aging{color:var(--muted)!important;background:var(--surface2)}.row-chevron{margin-left:8px;color:var(--muted);opacity:.65}.bottom-nav{position:fixed;bottom:22px;left:50%;transform:translate(-50%);display:flex;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:7px 13px;z-index:30;box-shadow:0 7px 25px #2e22100a;gap:15px}.bottom-nav a{display:flex;align-items:center;gap:9px;padding:11px 21px;color:var(--muted);font-size:12px;white-space:nowrap;border-radius:7px}.bottom-nav a.active{background:var(--soft);color:var(--accent)}.empty-state{text-align:center;padding:38px 20px 50px}.empty-state h2{font-size:37px}.empty-state p{max-width:370px;margin:13px auto 25px;font-size:14px;color:var(--muted)}.empty-art{height:190px;display:flex;justify-content:center;align-items:flex-end;margin:10px 0 24px;position:relative}.empty-art:after{content:"";height:1px;width:240px;position:absolute;bottom:0;background:var(--line)}.empty-art .bottle-art{height:155px;width:74px;margin:0 -7px}.empty-art .bottle-art:nth-child(2){height:180px;transform:rotate(4deg)}.empty-art .bottle-art:first-child{transform:rotate(-9deg)}.empty-art .bottle-art:last-child{transform:rotate(9deg)}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);min-height:40px;margin-top:-16px;margin-bottom:22px}.location-ribbon{display:flex;align-items:center;gap:8px;margin-bottom:23px;color:var(--accent);font-size:13px;padding:11px 17px;background:var(--soft);border-radius:7px}.location-ribbon .text-button{margin-left:auto;font-size:11px;min-height:25px;padding:0}.detail-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.detail-photo{position:relative}.detail-photo .wine-photo{width:100%;height:480px}.detail-photo .bottle-art{height:82%}.photo-caption{display:block;text-align:center;margin-top:13px;font-size:9px;letter-spacing:.15em;color:var(--muted)}.detail-info{padding-top:8px}.detail-info h1{font-size:clamp(40px,4.5vw,54px);margin-top:18px}.detail-vintage{font-family:var(--serif);font-size:33px;color:var(--muted);margin-top:5px}.producer{color:var(--muted);font-size:14px;margin-top:8px}.detail-stock{display:flex;gap:15px;align-items:center;margin:27px 0 23px}.detail-stock>strong{font-family:var(--serif);font-size:55px;font-weight:500;line-height:1}.detail-stock>div{font-size:13px}.detail-stock small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.take-button{width:100%;min-height:50px;font-size:14px}.take-button svg:last-child{margin-left:auto}.detail-secondary{display:flex;gap:10px;margin-top:11px}.detail-secondary button{flex:1;padding-left:9px;padding-right:9px;font-size:12px}.wine-facts{margin:25px 0 7px}.wine-facts>div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.55}.wine-facts dt{color:var(--muted)}.wine-facts dd{margin:0}.detail-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;margin-top:45px;padding-top:30px;border-top:1px solid var(--line)}.detail-bottom h2{font-size:27px;margin-bottom:18px}.location-list{border-top:1px solid var(--line)}.location-item{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.location-item svg{color:var(--muted)}.location-item span{flex:1}.location-item strong{font-weight:500}.notes-section{margin-top:30px}.notes-section p{white-space:pre-wrap;font-size:14px;color:var(--muted)}.activity-list li{display:flex;gap:11px;padding:0 0 17px;align-items:flex-start}.activity-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--surface2);color:var(--muted)}.activity-list li>div{flex:1}.activity-list strong{font-size:11px;font-weight:500;display:block;line-height:1.5}.activity-list small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.activity-list .icon-button{width:31px;height:31px}.owner-actions{margin-top:35px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.sheet{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:15px;padding:0;width:min(560px,calc(100% - 32px));max-height:90dvh;box-shadow:0 20px 90px #18100f26}.sheet::backdrop{background:#17120e66}.sheet-inner{padding:27px}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.sheet-header h2{font-size:31px}.sheet-header .icon-button{flex-shrink:0;margin-right:-8px}.form-stack{display:flex;flex-direction:column;gap:20px}.form-stack>.button{align-self:flex-start}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.sheet .form-actions{width:100%;margin-top:7px}.wine-form-page{max-width:720px;margin:auto}.wine-form{background:var(--surface);padding:30px;border:1px solid var(--line);border-radius:10px}.catalogue-section{margin-bottom:27px;padding-bottom:27px;border-bottom:1px solid var(--line)}.catalogue-section>label{margin-bottom:8px}.catalogue-section .search-box input{font-size:13px}.catalogue-results{border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-top:7px;max-height:300px;overflow-y:auto}.catalogue-results li+li{border-top:1px solid var(--line)}.catalogue-results button{width:100%;display:flex;gap:12px;align-items:center;background:var(--surface);border:0;padding:13px;text-align:left;border-radius:0}.catalogue-results button:hover{background:var(--surface2)}.catalogue-results button>div{flex:1}.catalogue-results strong{font-weight:500;font-size:13px;display:block}.catalogue-results small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.catalogue-section>.muted{margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.span-2{grid-column:1/-1}.duplicate-notice,.conflict-notice{padding:17px;background:var(--soft);border:1px solid var(--line);border-radius:7px;margin:20px 0;font-size:13px;line-height:1.6}.duplicate-notice strong,.duplicate-notice span{display:block}.conflict-notice dl{display:grid;grid-template-columns:100px 1fr;gap:8px}.conflict-notice dd{margin:0}.photo-editor{display:flex;align-items:center;gap:18px;margin:27px 0}.photo-editor>img,.photo-editor-placeholder{width:80px;height:98px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.photo-editor-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--bg)}.photo-editor>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.upload-label{cursor:pointer;position:relative;flex-direction:row;overflow:hidden}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-label:focus-within{outline:3px solid var(--accent);outline-offset:3px}.more-details{border-top:1px solid var(--line);padding-top:21px}.more-details summary{font-size:14px;font-weight:500;cursor:pointer;min-height:35px;color:var(--accent)}.more-details .form-grid{padding-top:20px}.label-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.checkbox-label{display:flex;flex-direction:row;gap:9px;align-items:center;min-height:44px;font-size:12px}.locations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:24px}.location-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;position:relative;overflow:hidden}.location-card>a{display:block;padding:23px}.location-card-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;align-items:center;margin-bottom:28px}.location-card:has(.location-check) .location-card-top{padding-left:28px}.location-check{position:absolute;top:20px;left:19px;z-index:1;padding:3px}.location-card h2{font-size:27px;margin-bottom:17px}.location-card-wine{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5}.location-card-wine>span:not(.color-dot){flex:1}.location-card-wine svg{color:var(--muted)}.location-card-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:2px 18px}.location-card-actions .text-button{font-size:11px}.print-controls{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:25px}#print-labels{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.print-label{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--line);padding:10px;background:#fff;color:#302c29;break-inside:avoid}.print-label img{width:120px;height:120px}.print-label>div{text-align:center}.print-label strong{display:block;font-size:12px;overflow-wrap:anywhere}.print-label small{display:block;font-size:8px;letter-spacing:.17em;margin-top:5px}.scanner-page{max-width:520px;margin:auto;text-align:center}.scanner-page h1{font-size:47px}.scanner-page>p{color:var(--muted);font-size:14px;margin-top:15px}.camera-view{position:relative;background:#252622;border-radius:13px;aspect-ratio:1;margin:30px 0 20px;overflow:hidden}.camera-view video{width:100%;height:100%;object-fit:cover}.camera-placeholder{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#cdc4b5}.scan-frame{position:absolute;inset:20%;pointer-events:none}.scan-frame>span{position:absolute;width:29px;height:29px;border:2px solid #f1e9db}.scan-frame>span:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.scan-frame>span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.scan-frame>span:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.scan-frame>span:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}.scanner-page>.text-button{margin:20px auto;display:flex;width:fit-content}.camera-select{text-align:left;margin-top:20px}.settings-page{max-width:700px;margin:auto}.settings-page>.page-heading{display:block}.settings-section{padding:28px 0;border-top:1px solid var(--line)}.settings-section h2{font-size:29px;margin-bottom:23px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;font-size:14px}.setting-row select{width:185px}.settings-section .form-stack{max-width:430px}.logout{margin-top:20px}.owner-status{display:flex;align-items:center;gap:10px;color:var(--green);font-size:14px}.device-list li{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.device-list li>span{flex:1;font-size:13px}.device-list small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.device-list svg{color:var(--muted)}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.settings-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}.settings-footer a{display:flex;align-items:center;gap:5px}.status-banner{display:flex;gap:13px;align-items:center;justify-content:space-between;padding:15px 18px;background:var(--surface2);border:1px solid var(--line);border-radius:7px;margin-bottom:25px;font-size:13px}.status-banner>div{flex:1}.status-banner strong{font-weight:500}.status-banner p{font-size:11px;color:var(--muted);margin-top:3px}.pending-banner{background:var(--soft)}.inline-error{color:var(--error);font-size:13px;margin:13px 0}.toast{position:fixed;z-index:100;bottom:110px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:13px 17px;display:flex;align-items:center;gap:11px;max-width:min(560px,calc(100% - 28px));border-radius:9px;box-shadow:0 8px 35px #0002;font-size:13px;line-height:1.5}.toast>span{flex:1}.toast button{border:0;background:transparent;color:inherit;font-size:13px;font-weight:600;min-width:40px;min-height:40px}.toast.error{background:#713a3c;color:#fff}.toast .toast-close{display:flex;align-items:center;justify-content:center;margin-right:-7px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100dvh;color:var(--accent);font-size:13px}.tiny-spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.skip-link{position:fixed;top:-70px;left:20px;background:var(--accent);color:var(--surface);padding:15px;z-index:200}.skip-link:focus{top:10px}.login-page{min-height:100dvh;max-width:1260px;margin:auto;padding:0 60px}.login-page>header{display:flex;align-items:center;justify-content:space-between;height:110px}.login-main{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;min-height:calc(100dvh - 200px);padding:30px 0}.login-copy{max-width:440px}.login-copy h1{font-size:clamp(48px,6vw,76px);line-height:1}.login-copy>p{font-size:15px;color:var(--muted);max-width:335px;margin:23px 0 35px}.login-copy form{max-width:360px}.login-copy form>.button{width:100%;margin-top:17px;justify-content:space-between}.login-note{display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--muted);font-size:11px}.login-art{background:#ede5d7;border-radius:48% 48% 7px 7px;min-height:515px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 25px;color:#5a5042}.bottle-group{height:270px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:32px;width:100%}.bottle-group .bottle-art{height:210px;max-width:105px;margin:0 -8px;filter:drop-shadow(3px 8px 3px #4d362411)}.bottle-group .bottle-art:first-child{transform:rotate(-11deg)}.bottle-group .bottle-art:nth-child(2){height:260px;z-index:1}.bottle-group .bottle-art:last-child{transform:rotate(11deg)}.login-art>p{text-align:center;font-family:var(--serif);font-size:29px;line-height:1.3}.login-art em{font-weight:400}.login-page>footer{border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:10px;letter-spacing:.06em}.login-page>footer span{padding:0 10px}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1200px){.detail-info{padding-right:15px}}@media(max-width:800px){.app-header{padding:0 24px;height:80px}.main-content{padding:34px 24px 130px;min-height:calc(100dvh - 80px)}.detail-layout,.detail-bottom{gap:32px}.detail-photo .wine-photo{height:390px}.locations-grid{grid-template-columns:repeat(2,1fr)}.detail-secondary{flex-direction:column}.login-page{padding:0 30px}.login-main{gap:35px}.login-art{min-height:430px}.login-art .bottle-art{max-width:85px}.login-copy h1{font-size:57px}.header-right{gap:12px}}@media(max-width:600px){h1{font-size:42px}.app-header{height:73px;padding:0 21px}.brand span{font-size:28px}.brand svg{width:22px}.connection{font-size:0;gap:0}.connection>span{width:6px;height:6px}.main-content{padding:29px 20px 122px}.page-heading{align-items:flex-end;gap:12px;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:11px}.page-heading>.button{padding:11px 12px;font-size:11px;min-height:43px;margin-bottom:2px}.page-heading>.button svg{width:15px}.page-heading h1+p{font-size:12px;margin-top:11px}.search-box{padding:0 13px;gap:9px}.search-box input{font-size:14px;min-height:50px}.filter-toggle{width:49px;height:52px}.filter-row{gap:6px;margin:15px -20px 22px;padding-left:20px;padding-right:20px}.chip{font-size:11px;padding:8px 12px;min-height:40px}.wine-row{gap:13px;padding:18px 0}.wine-photo{width:64px;height:89px}.wine-row h2{font-size:22px;margin-top:5px}.wine-row-meta{font-size:9px}.wine-row-info>p{font-size:10px}.wine-row-location{font-size:9px;margin-top:7px}.wine-row-stock{min-width:36px}.wine-row-stock>strong{font-size:27px}.wine-row-stock>span{font-size:9px}.wine-row-stock .drink-pill{font-size:8px;padding:3px 5px}.row-chevron{display:none}.bottom-nav{bottom:0;left:0;right:0;transform:none;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:none;justify-content:space-around}.bottom-nav a{flex-direction:column;gap:5px;font-size:10px;padding:9px 14px;min-width:88px;flex:1;border-radius:7px}.bottom-nav a svg{width:21px;height:21px}.bottom-nav a.active{background:transparent;color:var(--accent)}.bottom-nav a.active svg{stroke-width:2.5}.empty-state{padding:22px 5px 40px}.empty-art{height:165px;margin-bottom:25px}.empty-art .bottle-art{height:135px}.empty-art .bottle-art:nth-child(2){height:160px}.empty-state h2{font-size:33px}.empty-state p{font-size:13px;max-width:280px}.detail-layout{grid-template-columns:120px 1fr;gap:21px;align-items:start}.detail-photo .wine-photo{height:190px}.detail-info{padding-top:1px}.detail-info h1{font-size:32px;margin-top:10px}.detail-vintage{font-size:27px;margin-top:4px}.producer{font-size:12px;margin-top:7px}.detail-stock{margin:19px 0 18px;gap:10px}.detail-stock>strong{font-size:43px}.detail-stock>div{font-size:11px}.detail-stock small{font-size:10px}.detail-info>.take-button,.detail-secondary,.wine-facts,.detail-info>.text-button{position:relative;left:-141px;width:calc(100% + 141px)}.take-button{margin-top:14px;font-size:13px}.detail-secondary{flex-direction:row;margin-top:10px}.detail-secondary .button{font-size:11px;padding:11px 7px}.wine-facts{margin-top:23px}.wine-facts>div{grid-template-columns:120px 1fr;font-size:12px}.detail-info>.text-button{width:auto}.detail-bottom{grid-template-columns:1fr;gap:30px;margin-top:25px;padding-top:26px}.detail-bottom h2{font-size:27px}.location-ribbon{margin-bottom:23px;padding:10px 12px}.location-ribbon .text-button{font-size:0}.photo-caption{font-size:8px;margin-top:11px}.detail-info .wine-row-meta{flex-wrap:wrap}.sheet{max-height:94dvh;width:100%;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0}.sheet-inner{padding:22px 21px calc(25px + env(safe-area-inset-bottom))}.sheet-header{margin-bottom:20px}.sheet-header h2{font-size:31px}.form-actions .button{flex:1;padding-left:10px;padding-right:10px}.wine-form{padding:23px 19px;margin:0 -3px}.form-grid{gap:20px 13px}input:not([type=checkbox]),select,textarea{font-size:16px}.wine-form .form-grid label{font-size:12px}.wine-form .form-actions{gap:8px}.wine-form .form-actions .button{font-size:12px}.wine-form .form-actions .secondary{flex:0}.advanced-filters{grid-template-columns:1fr;padding:16px;gap:13px}.locations-grid{grid-template-columns:1fr;gap:13px;margin-top:20px}.location-card>a{padding:19px}.location-card-top{margin-bottom:20px}.location-card h2{font-size:29px;margin-bottom:13px}.location-card:has(.location-check) .location-card-top{padding-left:29px}.location-check{top:17px;left:16px}.location-card-actions{padding:2px 15px}.label-toolbar .button{font-size:11px;padding:10px}.label-toolbar{gap:9px}.checkbox-label{font-size:11px}.settings-section{padding:25px 0}.setting-row{font-size:13px}.setting-row select{width:155px}.backup-actions{flex-direction:column;align-items:flex-start}.settings-page .page-heading{margin-top:0}.settings-section .form-stack{max-width:none}.scanner-page h1{font-size:39px}.scanner-page>p{font-size:13px}.camera-view{margin-top:25px}.status-banner{padding:13px;gap:9px;font-size:12px}.status-banner p{font-size:10px}.status-banner .text-button{font-size:11px}.toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:12px;padding:10px 13px;min-width:250px}.login-page{padding:0 25px}.login-page>header{height:85px}.login-main{display:flex;flex-direction:column-reverse;gap:30px;min-height:auto;padding:18px 0 40px}.login-art{border-radius:90px 90px 5px 5px;min-height:0;height:190px;width:170px;align-self:center;padding:15px}.bottle-group{height:165px;margin:0}.login-art .bottle-art{height:118px;max-width:60px;margin:0 -8px}.login-art .bottle-art:nth-child(2){height:145px}.login-art>p{display:none}.login-copy{width:100%;max-width:360px}.login-copy .eyebrow{display:none}.login-copy h1{font-size:48px;max-width:330px}.login-copy>p{font-size:13px;margin:17px 0 24px}.login-copy form{max-width:none}.login-page>footer{font-size:9px;padding:20px 0}.back-link{margin-top:-13px;margin-bottom:18px}}@media(max-width:370px){.main-content{padding-left:16px;padding-right:16px}.page-heading h1{font-size:37px}.detail-layout{grid-template-columns:98px 1fr;gap:17px}.detail-photo .wine-photo{height:161px}.detail-info h1{font-size:29px}.detail-info>.take-button,.detail-secondary,.wine-facts,.detail-info>.text-button{left:-115px;width:calc(100% + 115px)}.wine-row h2{font-size:20px}.wine-row{gap:10px}.wine-photo{width:55px;height:79px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{@page{size:A4;margin:12mm}body{background:#fff!important;color:#222!important}#root,.sheet-header,.print-controls,.toast{display:none!important}dialog.sheet{position:static!important;display:block!important;max-width:none;max-height:none;width:100%;margin:0;padding:0;box-shadow:none;border:0;overflow:visible;background:#fff}dialog.sheet::backdrop{background:#fff}.sheet-inner{padding:0}#print-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm;width:100%}.print-label{height:42mm;border:1px dashed #ccc;padding:2mm;break-inside:avoid}.print-label img{width:28mm;height:28mm}.print-label strong{font-size:9pt}.print-label small{font-size:6pt}.sheet:has(#print-labels){display:block!important}}.detail-info{min-width:0}.detail-info h1{overflow-wrap:anywhere}.search-box{min-width:0}@media(max-width:600px){.detail-info>.take-button,.detail-secondary,.wine-facts,.detail-info>.text-button{left:0;margin-left:-141px}}@media(max-width:370px){.detail-info>.take-button,.detail-secondary,.wine-facts,.detail-info>.text-button{left:0;margin-left:-115px}}.rack-list{display:grid;gap:12px;margin:24px 0 16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.rack-card{display:flex;align-items:center;gap:16px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--text);text-decoration:none;min-width:0}.rack-card>div{flex:1;min-width:0}.rack-card h2{margin:0 0 5px;overflow-wrap:anywhere;font-size:26px}.rack-card p{margin:0;color:var(--muted);font-size:13px}.rack-card>svg{flex-shrink:0;color:var(--accent)}.rack-card:hover{border-color:var(--accent)}.rack-actions,.rack-selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rack-actions{margin-bottom:20px}.individual-labels{margin:8px 0 24px}.rack-selection{flex-wrap:wrap;gap:12px}.rack-map{display:grid;gap:24px;margin-bottom:30px}.rack-row-heading{font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);margin:0 0 10px}.rack-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.rack-slot{position:relative;border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0}.rack-slot.stocked{border-top:3px solid var(--accent)}.rack-slot a{display:flex;flex-direction:column;color:var(--text);text-decoration:none;padding:16px 12px;min-height:96px;gap:5px}.rack-slot:has(.slot-selection) a{padding-top:45px}.rack-slot strong{font-size:16px;overflow-wrap:anywhere}.rack-slot span,.rack-slot small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.rack-slot small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.slot-selection{position:absolute;top:0;left:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}.slot-selection input{width:18px;height:18px;accent-color:var(--accent)}.slot-rename{position:absolute;right:0;top:0}.rack-slot:has(input:checked){background:var(--soft);border-color:var(--accent)}.rack-map-hint{font-size:13px;margin:0 0 18px}.rack-builder{gap:20px}.rack-generator{padding:14px;background:var(--surface2);border-radius:12px}.rack-generator summary{cursor:pointer;min-height:32px;font-weight:600;font-size:14px}.rack-generate-controls{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px;margin-top:8px}.rack-generate-controls button{grid-column:1/-1}.rack-rows{display:grid;gap:20px}.rack-edit-row{padding-bottom:20px;border-bottom:1px solid var(--line)}.rack-row-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:end;gap:12px;margin-bottom:12px}.slot-preview{display:flex;flex-wrap:wrap;gap:6px}.slot-toggle{min-width:44px;min-height:44px;padding:6px 8px;border:1px solid var(--accent);border-radius:8px;color:var(--accent);background:var(--soft);font-family:inherit;font-weight:600;font-size:12px;cursor:pointer}.slot-toggle.omitted{border:1px dashed var(--muted);background:transparent;color:var(--muted);text-decoration:line-through}.slot-toggle.locked{background:var(--surface2);border-color:var(--line);color:var(--muted)}.numbered-preview{max-height:260px;overflow-y:auto;padding:3px}.rack-build-summary{display:grid;gap:10px;position:sticky;bottom:-24px;padding:16px 0;background:var(--surface);border-top:1px solid var(--line);z-index:1}.rack-build-summary>span{font-size:12px;overflow-wrap:anywhere}.rack-builder .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.rack-card{padding:18px}.rack-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.individual-slot-list .rack-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-slot a{padding:12px 9px}.rack-selection-actions{width:100%}.rack-selection-actions .button{font-size:12px;padding:10px 12px}.rack-build-summary{bottom:-20px}}.rack-map .rack-slot-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.rack-map .rack-slot a{min-height:68px;padding:12px 7px}.rack-map .rack-slot strong{font-size:14px}.rack-map .rack-slot span{font-size:11px}.rack-map .rack-slot:has(.slot-selection) a{padding-top:42px}.rack-map .rack-slot small{-webkit-line-clamp:1}@media(max-width:480px){.rack-map .rack-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.rack-map .rack-slot span{font-size:10px}}.rack-map .rack-slot.custom{grid-column:span 3}.physical-rack,.allocation-picker{min-width:0;margin:24px 0}.map-tools,.layout-row,.allocation-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.map-pan{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:16px;background:var(--surface2);padding:16px;overscroll-behavior-x:contain}.map-canvas{min-width:0}.physical-row{margin-bottom:18px}.physical-row h3{position:sticky;left:0;font:600 14px DM Sans,sans-serif;color:var(--muted);margin:0 0 8px}.physical-slots{display:grid;width:max-content}.map-slot{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:3px;overflow:hidden}.map-slot a,.map-slot button{padding:10px;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:4px;min-height:100px;width:100%;text-decoration:none;color:var(--text);border:0;background:none}.map-slot strong{font-size:15px;overflow-wrap:anywhere}.map-slot span{font-size:11px;color:var(--muted)}.map-slot small{font-size:11px;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-slot.occupied{border-top:3px solid var(--accent)}.map-slot.highlight,.map-slot.selected{background:var(--soft);box-shadow:inset 0 0 0 2px var(--accent)}.map-slot button:disabled{opacity:.4;cursor:not-allowed}.map-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px}.map-list .map-canvas{grid-column:1/-1}.layout-row{flex-wrap:nowrap;border-bottom:1px solid var(--line);padding:10px 0}.layout-row strong{min-width:24px}.layout-row label{flex:1;min-width:0}.layout-row input{width:100%}.allocation-picker{border-top:1px solid var(--line);padding-top:16px}.allocation-picker h2{font-size:26px}.allocation-picker>label{display:block;margin:12px 0}.allocation-picker select{width:100%}.allocation-count{font-weight:600;color:var(--accent);padding:12px 0}.allocation-individual{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.allocation-selected{padding:12px!important;border:1px solid var(--line)!important;border-radius:12px}.allocation-line{flex-wrap:nowrap;margin:8px 0}.allocation-line label{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;overflow-wrap:anywhere}.allocation-line input{width:80px;flex-shrink:0}.suggestion-preview{border:1px solid var(--accent);border-radius:12px;padding:12px;margin:12px 0}.count-list{display:grid;gap:14px;margin:16px 0}.count-slot{border:1px solid var(--line);border-radius:12px;padding:16px}.count-slot>a{font-weight:600;color:var(--accent)}.count-slot>label{display:block;margin:12px 0}.count-slot label input[type=number]{display:block;width:100%}.count-slot p{margin:6px 0}.save-another{margin-top:24px}#print-labels.v3-labels{display:block;overflow:auto}.v3-labels .label-page{display:grid;grid-template-columns:repeat(var(--label-columns),var(--label-width));column-gap:var(--label-gap-x);row-gap:var(--label-gap-y);padding:var(--label-margin-y) var(--label-margin-x);width:210mm;min-height:297mm;background:#fff;color:#25231f;box-sizing:border-box;margin-top:16px}.v3-labels .print-label{width:var(--label-width);height:var(--label-height);padding:1mm;display:flex;gap:1mm;flex-direction:row;justify-content:flex-start;align-items:center;box-sizing:border-box;border:1px dashed #ddd;overflow:hidden}.v3-labels .print-label img{width:25mm;height:25mm;flex-shrink:0}.v3-labels .label-identity{flex:1;min-width:0;max-height:100%;text-align:left;font-family:DM Sans,sans-serif;line-height:1.15}.v3-labels .print-label strong{font-size:inherit;font-weight:600;overflow-wrap:anywhere;display:block}.v3-labels .print-label small{display:block;font-size:6pt}.v3-labels .blank{border:0}.calibration-page{display:none;padding:20mm;width:210mm;height:297mm;box-sizing:border-box;background:#fff;color:#222}.calibration-square{width:25mm;height:25mm;border:1px solid black;box-sizing:border-box}@media print{.v3-labels.calibrating .label-page{display:none}.v3-labels.calibrating .calibration-page{display:block}@page{size:A4;margin:0}#print-labels.v3-labels{overflow:visible}.v3-labels .label-page{margin:0;height:297mm;min-height:0;align-content:start;break-after:page}.v3-labels .label-page:last-of-type{break-after:auto}.v3-labels .print-label{height:var(--label-height)}}.member-picker{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.member-picker label{flex:1;min-width:190px;max-width:360px}.enjoyment-actions,.rack-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:12px 0}.cellar-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 28px}.cellar-destination{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-height:90px}.cellar-destination:hover{background:var(--soft);border-color:var(--accent)}.cellar-destination>svg{color:var(--accent)}.cellar-destination>span{flex:1;min-width:0}.cellar-destination strong{display:block;font-size:16px;font-weight:500}.cellar-destination small{display:block;color:var(--muted);margin-top:4px;font-size:13px;line-height:1.45}.view-tabs{display:flex;border-bottom:1px solid var(--line);margin:0 0 24px;gap:8px}.view-tabs [role=tab]{flex:1;min-width:0;min-height:48px;padding:10px 8px;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:4px 4px 0 0;font-size:14px;color:var(--muted)}.view-tabs [role=tab]:hover{background:var(--surface2)}.view-tabs [role=tab][aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.tonight-page{max-width:1040px;margin:auto}.tonight-page>.view-tabs{max-width:540px}.chooser-intro{max-width:65ch}.choice-refinements{border-bottom:1px solid var(--line);padding-bottom:8px;margin:16px 0 24px}.choice-refinements summary,.context-helper summary{cursor:pointer;min-height:48px;padding:14px 4px;color:var(--accent);font-size:14px;font-weight:500}.refinement-active{margin-left:12px;font-size:12px;color:var(--muted);font-weight:400}.suggestion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.suggestion-heading h2{font-size:28px}.dinner-question{max-width:740px}.dinner-question-label{font-size:23px;font-family:var(--serif)}.dinner-question textarea{font-family:DM Sans,sans-serif;font-size:16px}.dinner-question .choice-refinements{margin:0}.dinner-question .helper-note{font-size:12px;line-height:1.6}.dinner-question>.button{justify-self:start}.advice-state{padding:20px;background:var(--surface2);border-radius:8px;margin:20px 0}.advice-state .button{margin-top:16px}.advice-state h2{margin-bottom:8px}.generated-heading{margin-top:28px}.context-helper{border:1px solid var(--line);border-radius:8px;padding:0 16px;margin:20px 0;background:var(--surface)}.context-helper summary>span{display:inline-block;vertical-align:middle}.context-helper summary small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.context-helper-body{padding:0 4px 20px;display:grid;gap:16px}.wine-enjoyment{margin:28px 0;padding:24px 0;border-top:1px solid var(--line)}.enjoyment-record{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.enjoyment-record p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.enjoyment-record small{opacity:.7}.tonight-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.tonight-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}.tonight-card{border:1px solid var(--line);padding:20px;border-radius:12px;background:var(--surface);min-width:0;overflow-wrap:anywhere}.tonight-card a{color:inherit;text-decoration:none}.tonight-card .wine-photo{width:100%;height:160px}.tonight-card h2{font-size:27px;margin-top:14px}.tonight-card p{font-size:14px}.tonight-card .suggestion-reason{margin:16px 0 12px}.ai-advice{padding-top:24px;border-top:1px solid var(--line)}.pairing-tags{display:flex;flex-wrap:wrap;gap:12px;border:0;padding:0}.pairing-tags legend{margin-bottom:10px}.pairing-tags label,.dinner-options label{display:flex;align-items:center;gap:10px}.pairing-tags input,.dinner-options input,.settings-section input[type=checkbox]{width:20px;height:20px}.dinner-options{display:grid;gap:12px;margin:20px 0}.dinner-controls{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.dinner-wine-list{max-width:720px;margin:auto}.dinner-wine-list>article{display:flex;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.dinner-wine-list .wine-photo{width:100px;height:150px;flex-shrink:0}.dinner-wine-list h2{margin:0}.dinner-wine-list p{margin:6px 0}@media(max-width:650px){.cellar-destinations{grid-template-columns:1fr;gap:8px;margin-bottom:20px}.cellar-destination{padding:14px 16px;min-height:78px}.view-tabs{gap:0;margin-bottom:20px}.view-tabs [role=tab]{font-size:12px;padding:10px 3px}.tonight-page .view-tabs [role=tab]{font-size:14px}.suggestion-heading{flex-wrap:wrap}.suggestion-heading h2{font-size:25px}.suggestion-heading .button{padding:10px 12px}.tonight-card .suggestion-wine{display:flex;gap:16px;align-items:center}.tonight-card .wine-photo{width:64px;height:90px;flex-shrink:0}.tonight-card h2{margin-top:0}.dinner-question>.button{width:100%;white-space:normal}.tonight-controls,.tonight-cards{grid-template-columns:1fr}.member-picker select{max-width:100%}.tonight-card{display:block}.dinner-controls{flex-wrap:wrap}}@media(max-width:370px){[id^=collection-panel-] .filter-row{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.view-tabs:has(#collection-tab-allWines){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body:has(.dinner-display) #root{display:block!important}body:has(.dinner-display) #root *{visibility:hidden}body:has(.dinner-display) #root .dinner-wine-list,body:has(.dinner-display) #root .dinner-wine-list *{visibility:visible}body:has(.dinner-display) #root .dinner-wine-list{position:absolute;inset:0;padding:20px;background:#fff;color:#000;width:100%;max-width:none}body:has(.dinner-display) .dinner-controls{display:none!important}.dinner-wine-list>article{break-inside:avoid}body:has(.dinner-display) #root .dinner-wine-list .wine-photo{display:block!important}}:root{--muted: #6b635b}:root[data-theme=dark]{--muted: #b6aa9d}.button,.icon-button,.text-button,.chip{min-height:44px}.icon-button{min-width:44px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.button,.text-button{overflow-wrap:anywhere}.cellar-page .page-heading{margin-bottom:20px}.cellar-page .page-heading .eyebrow{display:none}.cellar-page .page-heading h1{font-size:clamp(34px,4vw,48px)}.cellar-page .view-tabs{margin-bottom:16px}.cellar-page .filter-row{margin-top:12px;margin-bottom:12px}.cellar-page .cellar-destinations{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 8px;padding-bottom:0}.cellar-page .cellar-destination{padding:4px 0;gap:8px;border:0;border-radius:0;background:transparent;min-height:44px}.cellar-page .cellar-destination:hover{color:var(--accent)}.cellar-page .cellar-destination strong{font-size:14px;font-weight:500}.cellar-page .cellar-destination small{display:none}.cellar-page .cellar-destination>svg{width:17px}.cellar-page .cellar-destination>svg:last-child{width:14px}.cellar-page .results-info{margin:0;min-height:44px}.wine-row{transition:background .15s}.wine-row:hover{background:var(--surface)}.wine-row-location{overflow-wrap:anywhere}.wine-row-stock{font-variant-numeric:tabular-nums}.wine-row-stock>strong{color:var(--text)}.wine-row-stock .drink-pill{white-space:normal;text-align:right}.detail-locations{margin:22px 0}.detail-locations h2{font-size:23px}.detail-locations .location-item{min-height:48px}.detail-locations .location-item small{display:block;color:var(--muted);font-size:12px}.detail-locations .rack-links{gap:4px 16px}.detail-locations .rack-links a{min-height:44px;display:inline-flex;align-items:center}.family-help{margin:24px 0;padding:18px 0;border-block:1px solid var(--line)}.family-help summary{cursor:pointer;min-height:44px;align-content:center;font-size:20px}.help-content{display:grid;gap:24px;padding:18px 0 8px;max-width:680px}.help-content h3{font-size:16px;margin-bottom:8px}.help-content p{font-size:15px}.help-content p+p{margin-top:8px}.location-lookup{margin:22px 0;text-align:left}.location-lookup>p{font-size:14px;margin-bottom:10px}.location-lookup .search-box{margin-top:10px}.lookup-status{color:var(--muted);font-size:13px;margin-top:12px}.lookup-results{margin:8px 0}.lookup-results a{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 0;border-bottom:1px solid var(--line)}.lookup-results a:hover{background:var(--surface)}.lookup-results a>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.lookup-results strong{font-size:15px;font-weight:500}.lookup-results small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.lookup-quantity{text-align:right;font-variant-numeric:tabular-nums}.entry-heading{margin:0 0 20px}.entry-heading p,.catalogue-hint{font-size:14px;margin-top:6px}.field-error{color:var(--error);font-size:13px;line-height:1.5}input[aria-invalid=true]{border-color:var(--error)}.wine-form>.inline-error{margin:0 0 20px}.wine-form label:has(.field-error){scroll-margin:24px}.wine-form-page .page-heading p{max-width:38em}@media(max-width:600px){.app-header{height:64px}.main-content{padding-top:22px}.page-heading>.button{font-size:13px;min-height:44px;padding:10px 12px}.cellar-page .page-heading h1+p{margin-top:6px}.cellar-page .view-tabs [role=tab]{font-size:13px}.chip{font-size:12px}.wine-row{gap:12px;padding:16px 0}.wine-row h2{font-size:24px;line-height:1.2}.wine-row-meta,.wine-row-info>p,.wine-row-location{font-size:12px}.wine-row-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wine-row-stock>span{font-size:11px}.wine-row-stock .drink-pill{font-size:10px}.detail-layout{grid-template-columns:88px minmax(0,1fr);gap:18px 16px}.detail-photo{grid-column:1;grid-row:1}.detail-photo .wine-photo{height:140px}.photo-caption{display:none}.detail-info{display:contents}.detail-info>*{grid-column:1 / -1}.detail-info>.detail-heading{grid-column:2;grid-row:1}.detail-info>.take-button,.detail-secondary,.wine-facts,.detail-info>.text-button{position:static;margin-left:0;left:auto;width:100%}.detail-info h1{font-size:30px}.detail-stock{margin:0}.detail-stock>div,.detail-stock small,.producer{font-size:14px}.detail-info>.take-button{margin:0;font-size:15px}.detail-locations,.detail-secondary,.wine-facts{margin:0}.detail-secondary{flex-wrap:wrap;gap:8px}.detail-secondary .button{font-size:13px;flex:1}.wine-facts>div{font-size:14px}.detail-bottom{margin-top:24px}.scanner-page .camera-view{max-height:280px}.sheet-inner{padding-bottom:max(24px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.wine-row{transition:none}}.page-heading{flex-wrap:wrap}.page-heading>div{min-width:0}.page-heading .count-line{flex-wrap:wrap}.wine-facts:empty,.rack-links:empty{display:none}@media(max-width:370px){.cellar-page .page-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.cellar-page .page-heading>.button{justify-self:start}}.detail-bottom>section>.wine-enjoyment:first-child{margin-top:0;padding-top:0;border-top:0}.wine-form .save-another{width:100%;white-space:normal}.wine-form .form-actions{flex-wrap:wrap}.catalogue-section{margin-bottom:20px;padding-bottom:16px}.catalogue-section>.catalogue-hint{margin:0 0 8px;font-size:12px}.put-away-complete,.shopping-complete{margin:16px 0;padding:16px 0;border-block:1px solid var(--line)}.put-away-complete p,.shopping-complete p{margin-bottom:12px;font-size:14px}.put-away-page .page-heading p{max-width:38em}.put-away-row .wine-row-info{min-width:0;flex:1}.put-away-row .button{flex-shrink:0}@media(max-width:600px){.put-away-row{display:grid;grid-template-columns:55px minmax(0,1fr);align-items:start}.put-away-row>.button{grid-column:2;justify-self:start;font-size:14px}.put-away-row h2{overflow-wrap:anywhere}}.wine-assistance,.draft-resume{border-block:1px solid var(--line);padding:16px 0;margin:18px 0}.wine-assistance h2,.profile-fields h2{font-size:24px}.wine-assistance p,.draft-resume p{font-size:14px}.assist-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:8px}.suggestion-list{margin:12px 0}.suggestion-list li{display:flex;align-items:start;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.suggestion-list li>div{min-width:0;flex:1;overflow-wrap:anywhere}.suggestion-list small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.suggestion-list .icon-button{flex-shrink:0}.identity-choices{display:grid;gap:8px;margin:12px 0}.identity-choices button{white-space:normal;text-align:left;justify-content:flex-start}.profile-fields{display:grid;gap:18px;padding-block:20px}.profile-fields p{font-size:14px}.wine-profile{margin-block:24px;padding-block:20px;border-top:1px solid var(--line)}.wine-profile p{margin-bottom:12px;overflow-wrap:anywhere}.wine-profile summary{min-height:44px;align-content:center;cursor:pointer;color:var(--muted)}.wine-profile li{padding:6px 0;font-size:13px;color:var(--muted)}.draft-resume .assist-actions button{white-space:normal}@media(max-width:600px){.wine-assistance h2{font-size:22px}.suggestion-list li{gap:6px}.profile-fields .form-grid{grid-template-columns:1fr}}.detail-bottom>section>.wine-profile:first-child{margin-top:0;padding-top:0;border-top:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:899.98px){.bottom-nav .nav-owner{display:none}}@media(min-width:900px){.app-shell{padding-left:224px}.bottom-nav{position:fixed;top:0;left:0;bottom:0;width:224px;transform:none;flex-direction:column;justify-content:flex-start;border-radius:0;border:0;border-right:1px solid var(--line);background:var(--surface);padding:40px 14px 24px;gap:4px;box-shadow:none}.bottom-nav:before{content:"LA CAVE";font-size:11px;letter-spacing:.14em;color:var(--muted);padding:0 14px 18px}.bottom-nav a{padding:12px 14px;font-size:14px;border-radius:9px}.bottom-nav a svg{flex-shrink:0}.bottom-nav .nav-owner{margin-top:auto;border-top:1px solid var(--line);border-radius:0 0 9px 9px;padding-top:18px}.main-content{padding-bottom:60px}.toast{left:calc(50% + 112px);bottom:32px}.wine-row{padding:14px 7px 14px 0;gap:18px}.wine-row .wine-photo{width:56px;height:74px}.wine-row-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,320px);column-gap:24px;align-items:center}.wine-row-info>*{grid-column:1}.wine-row h2{font-size:22px;margin:3px 0 2px}.wine-row-location{grid-column:2;grid-row:1 / 4;margin:0;font-size:12px;align-items:flex-start;border-left:1px solid var(--line);padding-left:18px;min-height:100%}.wine-row-stock>strong{font-size:26px}}.manage-page .page-heading p{max-width:48em}.manage-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 28px}.metric{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface);min-height:92px}.metric strong{display:block;font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.metric span,.metric small{display:block;font-size:12px;color:var(--muted)}.metric small{margin-top:2px;font-size:11px}.manage-section{margin:0 0 32px}.manage-section h2{font-size:22px;margin:0 0 12px}.manage-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px}.manage-warnings{list-style:none;padding:0;margin:0;display:grid;gap:8px}.manage-warnings li{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:10px;background:var(--soft);color:var(--accent);font-size:13px}.manage-warnings li span{flex:1;color:var(--text)}.manage-warnings li a{display:inline-flex;align-items:center;gap:3px;min-height:44px;font-weight:600}.manage-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.manage-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}.manage-table th,.manage-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.manage-table thead th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.manage-table tbody tr:last-child td,.manage-table tbody tr:last-child th{border-bottom:0}.manage-table tbody th a{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-height:44px}.manage-table .num{text-align:right;font-variant-numeric:tabular-nums}.manage-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 20px}.manage-toolbar .button.danger{border-color:var(--error)}.manage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.manage-panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:16px;min-width:0}.manage-panel h2{font-size:20px;margin:0 0 10px}.manage-panel .search-box{margin:0}.manage-panel .rack-selection{margin:10px 0}.slot-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.slot-rows{list-style:none;margin:0;padding:0;display:grid;gap:2px}.slot-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;min-height:48px}.slot-row input{width:18px;height:18px;accent-color:var(--accent)}.slot-row:hover,.slot-row.selected{background:var(--surface2)}.slot-row.occupied strong:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:middle}.slot-row-main{min-width:0;color:var(--text);text-decoration:none;display:flex;flex-direction:column;min-height:44px;justify-content:center}.slot-row strong{font-size:14px}.slot-row small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-row-actions{display:flex;gap:2px}.move-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--soft);border-radius:10px;margin:0 0 12px;font-size:13px}.manage-map .map-tools .muted{font-size:12px}.manage-map .map-slot button{cursor:grab;min-height:92px}.manage-map .map-slot:not(.occupied) button{cursor:pointer}.manage-map .map-slot.source{background:var(--soft);box-shadow:inset 0 0 0 2px var(--accent)}.manage-map .map-slot.drop-ok{box-shadow:inset 0 0 0 2px var(--green)}.manage-map .map-slot.drop-ok button{cursor:copy}.manage-map .map-slot.drop-over{background:var(--surface2);box-shadow:inset 0 0 0 3px var(--green)}.manage-map .map-slot.drop-no{opacity:.45}.manage-map .map-slot.drop-no button{cursor:not-allowed}.manage-map .map-slot button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.allocation-single{display:block;font-size:12px}.manage-link{align-self:flex-start}@media(min-width:900px){.manage-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.manage-panel{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto}.manage-map{margin-top:0}}
