:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--ink:#2d2422;--ink-soft:#675b56;--ink-faint:#8d817a;--wine:#722944;--wine-deep:#531a31;--wine-pale:#f4e8ec;--cream:#f7f2e9;--cream-deep:#eee5d8;--paper:#fffdf9;--white:#fff;--line:#e4dbd1;--line-strong:#cec1b4;--gold:#b98a46;--orange:#c75f2c;--orange-deep:#a9471e;--sage:#617365;--sage-pale:#e8efe9;--danger:#a23c35;--danger-pale:#fbeceb;--warning:#9c6727;--warning-pale:#fbf0d9;--shadow-sm:0 1px 2px #2e1f190d, 0 5px 18px #2e1f190a;--shadow-md:0 16px 40px #2e1f191f;--radius-sm:10px;--radius:16px;--radius-lg:24px;--page-width:1120px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 4%, #b98a4614, transparent 28rem), var(--cream);margin:0;font-size:16px;line-height:1.5}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p,dl,dd,blockquote{margin:0}h1,h2,h3,.brand strong,.summary-card strong,.wine-card h2,.detail-stock strong,.detail-location strong{font-family:Georgia,Times New Roman,serif}h1{letter-spacing:-.035em;font-size:clamp(2rem,8vw,3.55rem);line-height:1.04}h2{font-size:1.35rem;line-height:1.2}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #72294440}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;color:var(--white);background:var(--wine-deep);border-radius:8px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf9f0;border-bottom:1px solid #cec1b4b8;position:sticky;top:0}.header-inner{width:min(100%, var(--page-width));justify-content:space-between;align-items:center;gap:14px;min-height:68px;margin:0 auto;padding:0 16px;display:flex}.brand{align-items:center;gap:10px;min-width:0;min-height:44px;display:inline-flex}.brand-mark{width:40px;height:40px;color:var(--white);background:var(--wine);border-radius:13px 13px 13px 5px;flex:none;place-items:center;display:grid;box-shadow:0 5px 14px #72294433}.brand strong{font-size:1.18rem;line-height:1.1}.brand small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.71rem;display:none;overflow:hidden}.header-actions{align-items:center;gap:8px;display:flex}.header-actions .header-add,.header-actions .header-export,.header-actions .header-pairing{display:none}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:700;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{color:var(--white);background:var(--wine);box-shadow:0 7px 18px #7229442e}.button-primary:hover:not(:disabled){background:var(--wine-deep)}.button-secondary{color:var(--wine);background:var(--wine-pale);border-color:#e6ccd5}.button-ghost{color:var(--ink-soft);border-color:var(--line);background:0 0}.button-ghost:hover:not(:disabled){color:var(--ink);background:var(--white)}.button-danger{color:var(--danger);background:var(--danger-pale);border-color:#efc3bf}.button-danger:hover:not(:disabled){color:var(--white);background:var(--danger)}main{flex:1}.page{width:min(100%, var(--page-width));margin:0 auto;padding:26px 16px 100px}.narrow-page{max-width:720px}.eyebrow{color:var(--wine);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font-size:.72rem;font-weight:800}.back-link{min-height:40px;color:var(--ink-soft);align-items:center;gap:7px;margin:-5px 0 20px;font-size:.9rem;font-weight:700;display:inline-flex}.back-link:hover{color:var(--wine)}.site-footer{color:var(--ink-faint);text-align:center;padding:24px;font-size:.8rem;display:none}.mobile-add{z-index:40;right:16px;bottom:max(16px, env(safe-area-inset-bottom));min-height:52px;color:var(--white);background:var(--orange);border-radius:18px;align-items:center;gap:8px;padding:0 19px;font-weight:800;display:flex;position:fixed;box-shadow:0 13px 30px #4619294d}.inventory-hero{gap:14px;margin-bottom:16px;display:grid}.inventory-hero h1{max-width:650px}.hero-copy{max-width:560px;color:var(--ink-soft);margin-top:12px}.summary-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.summary-card{border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);background:#fffdf9bf;align-items:center;gap:10px;padding:15px 12px;display:flex}.summary-primary{color:var(--white);background:var(--wine-deep);border-color:var(--wine-deep)}.summary-icon{width:36px;height:36px;color:var(--wine);background:var(--wine-pale);border-radius:11px;flex:none;place-items:center;display:grid}.summary-primary .summary-icon{color:#f2d7df;background:#ffffff1f}.summary-card>div{min-width:0;display:grid}.summary-card strong{font-size:1.75rem;line-height:1}.summary-card span:last-child{color:var(--ink-soft);text-overflow:ellipsis;margin-top:3px;font-size:.69rem;line-height:1.25;overflow:hidden}.summary-primary span:last-child{color:#e6ced6}.inventory-controls{margin-bottom:18px}.view-tabs{background:#eae1d7;border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;padding:4px;display:grid}.view-tabs button{cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:8px 12px;font-weight:750;display:flex}.view-tabs button.active{color:var(--wine);background:var(--paper);box-shadow:0 2px 7px #2f231d14}.view-tabs button span{min-width:23px;height:23px;color:var(--ink-soft);background:#0000000e;border-radius:999px;place-items:center;padding:0 6px;font-size:.73rem;display:inline-grid}.view-tabs button.active span{color:var(--wine);background:var(--wine-pale)}.search-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.search-box{background:var(--paper);border:1px solid var(--line-strong);min-width:0;min-height:50px;box-shadow:var(--shadow-sm);border-radius:13px;align-items:center;gap:10px;padding:0 13px;display:flex}.search-box:focus-within{border-color:var(--wine);box-shadow:0 0 0 3px #7229441a}.search-box>svg{color:var(--ink-faint);flex:none}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:12px 0}.search-box input::placeholder{color:var(--ink-faint);text-overflow:ellipsis}.search-box button{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.button-filter{min-width:50px;color:var(--ink-soft);background:var(--paper);border-color:var(--line-strong);padding-inline:13px}.button-filter.has-filter{color:var(--wine);border-color:#d8b3c0}.button-filter>span{min-width:20px;height:20px;color:var(--white);background:var(--wine);border-radius:999px;place-items:center;font-size:.7rem;display:grid}.filter-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:12px;margin-top:10px;padding:16px;display:none}.filter-panel-open{display:grid}.filter-panel label{gap:6px;display:grid}.filter-panel label>span{color:var(--ink-soft);align-items:center;gap:5px;font-size:.76rem;font-weight:750;display:inline-flex}.filter-panel select{width:100%;min-height:44px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px 34px 8px 11px}.clear-filters,.results-heading button{min-height:36px;color:var(--wine);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:.82rem;font-weight:750;display:inline-flex}.results-heading{min-height:38px;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;font-size:.83rem;display:flex}.results-heading strong{color:var(--ink)}.wine-list{gap:10px;display:grid}.wine-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .16s,box-shadow .16s,transform .16s;overflow:hidden}.wine-card:hover{border-color:#ccb8ad;transform:translateY(-1px);box-shadow:0 9px 26px #2e1f1917}.wine-card>a{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:126px;padding:14px 12px;display:grid}.wine-accent{color:#ead8dd;background:var(--wine);border-radius:12px 12px 5px;align-self:stretch;place-items:center;width:40px;height:88px;display:grid}.category-blanc{color:#745e31;background:#efe3bc}.category-rose{color:#813d51;background:#eebdca}.category-orange{color:#7c3b1a;background:#edae70}.category-effervescent{color:#6a5632;background:#eee1ad}.category-doux-liquoreux{color:#6b4a13;background:#e8c778}.category-fortifie{color:#e4d1b4;background:#795232}.category-doux-liquoreux-non-fortifie{color:#6b4a13;background:#e8c778}.category-vin-fortifie-vin-doux-naturel{color:#e4d1b4;background:#795232}.category-autre{color:#f3e8dc;background:#6d635d}.wine-card-main{min-width:0}.wine-card-topline{align-items:baseline;gap:8px;display:flex}.wine-producer{color:var(--wine);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.73rem;font-weight:800;overflow:hidden}.wine-vintage{color:var(--ink-faint);flex:none;font-size:.72rem;font-weight:700}.wine-card h2{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:1.17rem;line-height:1.25;overflow:hidden}.wine-card-tags{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;margin-top:7px;font-size:.71rem;display:flex;overflow:hidden}.category-label{color:var(--ink-soft);background:var(--cream);border-radius:999px;padding:3px 7px}.note-indicator{color:var(--gold);align-items:center;display:inline-flex}.wine-card-location{min-width:0;color:var(--ink-soft);align-items:center;gap:5px;margin-top:8px;font-size:.76rem;display:flex}.wine-card-location svg{color:var(--wine);flex:none}.wine-card-location span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stock-pill{min-width:72px;color:var(--wine);background:var(--wine-pale);border-radius:12px;align-content:center;justify-items:center;padding:8px;display:grid}.stock-pill strong{font-family:Georgia,serif;font-size:1.35rem;line-height:1}.stock-pill>span:not(.sr-only){text-transform:uppercase;white-space:nowrap;margin-top:3px;font-size:.57rem;font-weight:800}.stock-pill.stock-empty{color:var(--ink-soft);background:#ede9e3}.wine-chevron{color:var(--ink-faint);display:none}.tasting-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-family:Inter,ui-sans-serif,sans-serif;font-size:.69rem;font-weight:800;line-height:1;display:inline-flex}.tasting-late{color:#8c312b;background:#f8dfdd}.tasting-priority{color:#855817;background:#f8e8c6}.tasting-ready{color:#42604a;background:#e3ede5}.tasting-wait{color:#4f5d7e;background:#e8ebf4}.tasting-unknown{color:var(--ink-soft);background:#eee9e3}.page-loader,.state-card{text-align:center;justify-items:center;gap:9px;max-width:620px;margin:42px auto;padding:38px 20px;display:grid}.page-loader{color:var(--ink-soft)}.loader-mark,.state-icon{width:55px;height:55px;color:var(--wine);background:var(--wine-pale);border-radius:18px 18px 18px 6px;place-items:center;display:grid}.loader-mark{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.72;transform:scale(1.07)}}.state-card{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:#fffdf9a6}.state-card h2{margin-top:3px}.state-card p{max-width:460px;color:var(--ink-soft)}.state-card .button{margin-top:8px}.state-card .empty-inline-add{display:none}.state-error .state-icon{color:var(--danger);background:var(--danger-pale)}.detail-page{max-width:980px}.wine-detail-header{gap:20px;margin-bottom:23px;display:grid}.detail-kicker{color:var(--wine);letter-spacing:.08em;text-transform:uppercase;gap:8px;margin-bottom:7px;font-size:.76rem;font-weight:800;display:flex}.detail-identity h1{max-width:760px}.detail-producer{color:var(--ink-soft);margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.detail-origin{color:var(--ink-faint);margin-top:5px;font-size:.88rem}.edit-button{width:fit-content}.detail-essentials{gap:10px;margin-bottom:14px;display:grid}.detail-stock,.detail-location{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-height:82px;box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:15px;display:flex}.detail-stock{color:var(--white);background:var(--wine-deep);border-color:var(--wine-deep)}.detail-stock-empty{color:var(--ink);background:#e9e4de;border-color:#ddd3c9}.detail-icon{width:43px;height:43px;color:var(--wine);background:var(--wine-pale);border-radius:13px;flex:none;place-items:center;display:grid}.detail-stock .detail-icon{color:#f1dce3;background:#ffffff1f}.detail-stock-empty .detail-icon{color:var(--ink-soft);background:#ffffff94}.detail-stock>div,.detail-location>div{min-width:0;display:grid}.detail-stock strong{font-size:1.8rem;line-height:1}.detail-stock div span,.detail-location div span{color:#ffffffb8;margin-top:2px;font-size:.73rem}.detail-stock-empty div span,.detail-location div span{color:var(--ink-faint)}.detail-location strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:1.06rem;overflow:hidden}.exhausted-label{color:var(--ink-soft);text-transform:uppercase;background:#ffffffa6;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:.7rem;font-weight:800}.detail-actions{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:28px;display:grid}.detail-actions .button{text-align:left;justify-content:flex-start;min-height:76px;padding:13px}.detail-actions .button>svg{flex:none}.detail-actions .button>span{min-width:0;display:grid}.detail-actions strong{font-size:.82rem}.detail-actions small{color:currentColor;opacity:.72;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.67rem;font-weight:500;overflow:hidden}.action-drink{color:var(--white);background:var(--wine);box-shadow:0 8px 18px #72294429}.action-card{color:var(--ink);background:var(--paper);border-color:var(--line)}.action-card>svg{color:var(--wine)}.action-ai{color:#425348;background:var(--sage-pale);border-color:#cbdacd}.detail-columns{gap:14px;display:grid}.detail-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:21px 17px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.section-heading .eyebrow,.wine-info-section .eyebrow{margin-bottom:4px}.period-row{color:var(--ink-soft);background:var(--cream);border-radius:13px;align-items:center;gap:12px;padding:14px;display:flex}.period-row>svg{color:var(--gold);flex:none}.period-row>div{display:grid}.period-row span{font-size:.73rem}.period-row strong{color:var(--ink)}.section-help{color:var(--ink-soft);margin-top:13px;font-size:.82rem}.wine-info-section h2{margin-bottom:18px}.wine-facts{grid-template-columns:1fr 1fr;gap:13px;display:grid}.wine-facts div{border-bottom:1px solid var(--line);gap:2px;padding-bottom:10px;display:grid}.wine-facts dt{color:var(--ink-faint);text-transform:uppercase;font-size:.7rem;font-weight:750}.wine-facts dd{font-size:.88rem}.wine-note{border-left:3px solid var(--gold);background:#faf5ea;border-radius:3px 12px 12px 3px;margin-top:18px;padding:14px 15px}.wine-note span{color:var(--warning);text-transform:uppercase;font-size:.7rem;font-weight:800}.wine-note p{color:var(--ink-soft);white-space:pre-wrap;margin-top:5px;font-size:.88rem}.history-section{margin-top:14px}.movement-count{color:var(--ink-faint);font-size:.75rem}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:38px minmax(0,1fr);gap:12px;padding-bottom:20px;display:grid;position:relative}.timeline li:not(:last-child):before{background:var(--line);content:"";width:1px;position:absolute;top:36px;bottom:1px;left:18px}.timeline-icon{z-index:1;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.timeline-icon.positive{color:var(--sage);background:var(--sage-pale)}.timeline-icon.negative{color:var(--wine);background:var(--wine-pale)}.timeline-content{min-width:0;padding-top:3px}.timeline-title{justify-content:space-between;gap:12px;display:flex}.timeline-title>span{font-weight:850}.movement-positive{color:var(--sage)}.movement-negative{color:var(--wine)}.timeline-date{color:var(--ink-faint);margin-top:2px;font-size:.74rem}.timeline-note{color:var(--ink-soft);margin-top:7px;font-size:.84rem}.movement-meta{flex-wrap:wrap;gap:8px 14px;margin-top:8px;display:flex}.movement-meta span{color:var(--ink-soft);align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.movement-meta svg{color:var(--gold)}.history-empty{color:var(--ink-faint);text-align:center;padding:28px 10px}.form-page{max-width:900px}.form-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:23px;display:flex}.form-header>div>p:last-child{max-width:640px;color:var(--ink-soft);margin-top:10px}.form-header-icon{width:58px;height:58px;color:var(--wine);background:var(--wine-pale);border-radius:18px 18px 18px 6px;flex:none;place-items:center;display:none}.form-alert{color:var(--danger);background:var(--danger-pale);border:1px solid #efc8c4;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:13px 14px;font-size:.86rem;display:flex}.form-alert svg{flex:none}.wine-form{gap:14px;display:grid}.form-section,.more-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.form-section{padding:20px 16px}.form-section-heading{gap:11px;margin-bottom:20px;display:flex}.form-section-heading>span,.summary-number{width:29px;height:29px;color:var(--white);background:var(--wine);border-radius:10px 10px 10px 4px;flex:none;place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.form-section-heading h2{font-size:1.2rem}.form-section-heading p,.more-section summary small{color:var(--ink-faint);margin-top:2px;font-size:.74rem;display:block}.form-grid{gap:15px;display:grid}.field,.vintage-field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>span,.vintage-field legend{color:var(--ink-soft);font-size:.78rem;font-weight:750}.field span b,.vintage-field b{color:var(--wine);font-style:normal}.field em{color:var(--ink-faint);font-size:.69rem;font-style:normal;font-weight:500}.field input,.field select,.field textarea,.vintage-field>input,.period-fields input,.stock-comparison input{width:100%;min-height:47px;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:11px;outline:0;padding:10px 12px;transition:border-color .14s,box-shadow .14s}.field textarea{resize:vertical;min-height:86px}.field input:focus,.field select:focus,.field textarea:focus,.vintage-field>input:focus,.period-fields input:focus,.stock-comparison input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #7229441a}.field input::placeholder,.field textarea::placeholder{color:#a99d95}.field input:disabled,.vintage-field>input:disabled{color:var(--ink-faint);background:#f0ece7}.vintage-field{grid-template-columns:1fr}.vintage-field legend{margin-bottom:6px}.check-row{cursor:pointer;align-items:center;min-height:38px;display:inline-flex}.check-row input{opacity:0;width:1px;height:1px;position:absolute}.check-row span{color:var(--ink-soft);background:var(--cream);border:1px solid var(--line);border-radius:9px;align-items:center;gap:6px;padding:7px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.check-row svg{opacity:0}.check-row input:checked+span{color:var(--wine);background:var(--wine-pale);border-color:#dfbdc9}.check-row input:checked+span svg{opacity:1}.check-row input:focus-visible+span{outline:3px solid #72294433}.input-with-icon,.input-with-suffix{align-items:center;display:flex;position:relative}.input-with-icon>svg{z-index:1;color:var(--wine);pointer-events:none;position:absolute;left:11px}.input-with-icon>input{padding-left:36px}.input-with-suffix>span{color:var(--ink-faint);font-weight:700;position:absolute;right:12px}.input-with-suffix>input{padding-right:33px}.quantity-control{grid-template-columns:46px minmax(58px,1fr) 46px;display:grid}.quantity-control button{min-height:47px;color:var(--wine);background:var(--wine-pale);border:1px solid var(--line-strong);cursor:pointer;font-size:1.25rem;font-weight:700}.quantity-control button:first-child{border-radius:11px 0 0 11px}.quantity-control button:last-child{border-radius:0 11px 11px 0}.quantity-control input{text-align:center;-moz-appearance:textfield;border-left:0;border-right:0;border-radius:0}.quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.duplicate-alert{background:var(--warning-pale);border-radius:var(--radius);border:1px solid #e8cb91;padding:17px 15px}.duplicate-heading{color:var(--warning);gap:10px;display:flex}.duplicate-heading>svg{flex:none}.duplicate-heading h2{font-family:Inter,ui-sans-serif,sans-serif;font-size:.95rem}.duplicate-heading p{color:#735e42;margin-top:3px;font-size:.76rem}.duplicate-card{background:#ffffffa8;border:1px solid #b98a4657;border-radius:11px;gap:10px;margin-top:13px;padding:12px;display:grid}.duplicate-card>div{display:grid}.duplicate-card strong{font-size:.83rem}.duplicate-card span{color:var(--ink-soft);align-items:center;gap:4px;margin-top:3px;font-size:.73rem;display:inline-flex}.duplicate-card .button{min-height:39px;padding:8px 11px;font-size:.76rem}.create-anyway{width:100%;min-height:52px;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;margin-top:10px;padding:9px 11px;display:flex}.create-anyway.selected{color:var(--wine);background:#ffffffa6;border-color:#d8b888}.radio-dot{border:2px solid #b89b70;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.selected .radio-dot{color:var(--white);background:var(--wine);border-color:var(--wine)}.create-anyway>span:last-child{display:grid}.create-anyway strong{font-size:.8rem}.create-anyway small{margin-top:2px;font-size:.7rem}.more-section{overflow:hidden}.more-section summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:78px;padding:16px;list-style:none;display:flex}.more-section summary::-webkit-details-marker{display:none}.more-section summary>span{align-items:center;gap:11px;display:flex}.more-section summary>svg{color:var(--ink-faint);flex:none;transition:transform .18s}.more-section[open] summary>svg{transform:rotate(180deg)}.more-content{border-top:1px solid var(--line);gap:16px;padding:4px 16px 20px;display:grid}.more-content>.form-grid{margin-top:18px}.period-fields>div{grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;display:grid}.period-fields>div>span{color:var(--ink-faint);font-size:.75rem}.entry-fields{border-top:1px solid var(--line);margin-top:4px;padding-top:18px}.subsection-heading{gap:9px;margin-bottom:16px;display:flex}.subsection-heading>svg{color:var(--gold);flex:none;margin-top:2px}.subsection-heading h3{font-family:Inter,ui-sans-serif,sans-serif;font-size:.9rem}.subsection-heading p{color:var(--ink-faint);margin-top:2px;font-size:.72rem}.form-submit-bar{z-index:30;padding:11px 16px max(11px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f2e9f2;justify-content:flex-end;align-items:center;gap:15px;margin:3px -16px -8px;display:flex;position:sticky;bottom:0}.form-submit-bar>p{color:var(--ink-faint);align-items:center;gap:6px;font-size:.72rem;display:none}.form-submit-bar>div{gap:8px;width:100%;display:flex}.form-submit-bar .button-primary{flex:1}.danger-zone{border-radius:var(--radius);background:#fbeceb8c;border:1px solid #ebcac7;gap:14px;margin-top:35px;padding:18px;display:grid}.danger-zone h2{color:var(--danger);font-family:Inter,ui-sans-serif,sans-serif;font-size:.9rem}.danger-zone p{color:var(--ink-soft);margin-top:3px;font-size:.76rem}.danger-zone .button{width:fit-content}.modal-layer{z-index:100;place-items:end stretch;display:grid;position:fixed;inset:0}.modal-backdrop{cursor:default;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2418178a;border:0;width:100%;height:100%;padding:0;animation:.16s ease-out fade-in;position:absolute;inset:0}.modal-panel{background:var(--paper);width:100%;max-height:min(92vh,820px);box-shadow:var(--shadow-md);border-radius:22px 22px 0 0;flex-direction:column;animation:.19s ease-out sheet-in;display:flex;position:relative}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(25px)}}.modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 18px 15px;display:flex}.modal-heading h2{font-size:1.42rem}.modal-heading p{color:var(--ink-soft);margin-top:5px;font-size:.78rem}.icon-button{width:40px;height:40px;color:var(--ink-soft);background:var(--cream);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;margin:-6px -7px 0 0;display:grid}.modal-body{overscroll-behavior:contain;padding:18px;overflow-y:auto}.modal-body form{gap:16px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal-actions .button-primary{flex:1}.modal-callout,.privacy-note,.delete-warning{background:var(--cream);border-radius:12px;align-items:flex-start;gap:10px;padding:13px;font-size:.82rem;display:flex}.modal-callout>svg,.privacy-note>svg,.delete-warning>svg{color:var(--wine);flex:none}.privacy-note{color:#46564b;background:var(--sage-pale)}.privacy-note>svg{color:var(--sage)}.delete-warning{color:#7a302c;background:var(--danger-pale)}.delete-warning>svg{color:var(--danger)}.form-error{color:var(--danger);background:var(--danger-pale);border-radius:10px;padding:10px 12px;font-size:.8rem}.stock-comparison{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;display:grid}.stock-comparison>div,.stock-comparison>label{gap:5px;display:grid}.stock-comparison span{color:var(--ink-faint);font-size:.71rem}.stock-comparison strong{background:var(--cream);border-radius:11px;place-items:center;min-height:47px;font-family:Georgia,serif;font-size:1.3rem;display:grid}.stock-comparison input{text-align:center;font-weight:800}.delta-preview{color:var(--wine);text-align:center;font-size:.8rem}.delta-preview.neutral{color:var(--ink-soft)}.field-help{color:var(--ink-faint);margin-top:-7px;font-size:.73rem}.prompt-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.prompt-heading>div{align-items:center;gap:8px;display:flex}.success-dot{width:25px;height:25px;color:var(--white);background:var(--sage);border-radius:50%;place-items:center;display:grid}.prompt-heading button{min-height:38px;color:var(--wine);cursor:pointer;background:0 0;border:0;padding:5px;font-size:.75rem;font-weight:750}.prompt-preview{color:#3d3531;border:1px solid var(--line);white-space:pre-wrap;background:#f2eee8;border-radius:12px;max-height:47vh;margin:0;padding:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;line-height:1.55;overflow:auto}.copy-confirmation{color:var(--sage);align-items:center;gap:6px;margin-top:10px;font-size:.79rem;font-weight:750;display:flex}.toast-region{z-index:150;right:12px;bottom:max(78px, calc(env(safe-area-inset-bottom) + 68px));pointer-events:none;gap:8px;display:grid;position:fixed;left:12px}.toast{width:min(100%,500px);min-height:54px;color:var(--white);pointer-events:auto;background:#3c5143;border:1px solid #ffffff26;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;margin-left:auto;padding:10px 10px 10px 13px;font-size:.82rem;animation:.18s ease-out toast-in;display:grid;box-shadow:0 13px 35px #221e1b3b}.toast-info{background:#544b45}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast>button:not(.toast-close){color:#fff5d9;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:8px;min-height:36px;padding:4px 9px;font-weight:800}.toast-close{width:34px;height:34px;color:var(--white);cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.main-navigation{display:none}.mobile-menu-toggle{width:44px;height:44px;color:var(--ink-soft);background:var(--cream);border:1px solid var(--line);cursor:pointer;border-radius:12px;place-items:center;display:grid}.mobile-navigation{background:var(--paper);border:1px solid var(--line);border-radius:0 0 16px 16px;gap:5px;padding:10px;display:none;position:absolute;top:100%;left:10px;right:10px;box-shadow:0 18px 38px #2e1f192e}.mobile-navigation.open{display:grid}.mobile-navigation a,.mobile-navigation button{width:100%;min-height:46px;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-weight:750;display:flex}.mobile-navigation a.active{color:var(--wine);background:var(--wine-pale)}.mobile-navigation .mobile-nav-add{color:var(--white);background:var(--orange);justify-content:center}.header-actions .header-add,.mobile-add{background:var(--orange);box-shadow:0 9px 22px #a9471e3d}.header-actions .header-add:hover,.mobile-add:hover,.mobile-navigation .mobile-nav-add:hover{background:var(--orange-deep)}.pairing-advice{color:#3a312c;background:linear-gradient(135deg, #ffffffc2, #fcf2e0d6), var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #e2cba7;margin-bottom:18px;padding:15px}.pairing-intro{align-items:flex-start;gap:10px;margin-bottom:13px;display:flex}.pairing-icon{color:#8a4d27;background:#f7dfbd;border-radius:12px 12px 12px 5px;flex:none;place-items:center;width:38px;height:38px;display:grid}.pairing-intro h2{font-size:1.12rem}.pairing-intro p{color:var(--ink-soft);margin-top:2px;font-size:.76rem}.pairing-advice form{gap:11px;display:grid}.pairing-place,.place-choice{border:0;flex-wrap:wrap;gap:7px;margin:0;padding:0;display:flex}.pairing-place legend,.place-choice legend,.completion-choices legend{width:100%;color:var(--ink-soft);margin-bottom:6px;font-size:.76rem;font-weight:750}.pairing-place legend b,.place-choice legend b,.completion-choices legend b{color:var(--wine)}.pairing-place label,.place-choice label{cursor:pointer;flex:110px}.pairing-place input,.place-choice input{opacity:0;width:1px;height:1px;position:absolute}.pairing-place label span,.place-choice label span{min-height:44px;color:var(--ink-soft);border:1px solid var(--line-strong);background:#ffffffc2;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:.8rem;font-weight:750;display:flex}.pairing-place input:checked+span,.place-choice input:checked+span{color:var(--wine);background:var(--wine-pale);border-color:#ce9eae;box-shadow:inset 0 0 0 1px #ce9eae}.pairing-place input:focus-visible+span,.place-choice input:focus-visible+span{outline-offset:2px;outline:3px solid #72294433}.pairing-submit{color:var(--white);background:var(--orange)}.pairing-submit:hover:not(:disabled){background:var(--orange-deep)}.pairing-error{color:var(--danger);background:#fbecebd1;border-radius:9px;margin-top:10px;padding:9px 11px;font-size:.76rem}.pairing-modal-form{gap:16px;display:grid}.pairing-modal-intro{justify-content:center;margin:-2px 0 1px;display:flex}.select-with-icon{display:block;position:relative}.select-with-icon>svg{z-index:1;color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field .select-with-icon>select{padding-left:38px}.pairing-loading{color:var(--ink-faint);font-size:.76rem}.pairing-modal-form .modal-actions{margin-top:0}.locations-page{max-width:980px}.locations-header{gap:17px;margin-bottom:26px;display:grid}.locations-header>div>p:last-child{max-width:620px;color:var(--ink-soft);margin-top:9px}.place-location-workspace{gap:20px;display:grid}.places-management,.locations-management{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8c;align-content:start;gap:14px;padding:16px;display:grid}.management-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.management-heading>div{align-items:center;gap:10px;min-width:0;display:flex}.management-step{width:32px;height:32px;color:var(--white);background:var(--wine);border-radius:10px 10px 10px 4px;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.management-heading h2{font-size:1.14rem}.management-heading>div>div>p{color:var(--ink-faint);margin-top:2px;font-size:.72rem}.management-heading>.button{min-height:42px;padding:8px 12px;font-size:.76rem}.place-list{gap:8px;display:grid}.place-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:border-color .14s,box-shadow .14s;display:grid;overflow:hidden}.place-card.selected{box-shadow:inset 3px 0 0 var(--wine), var(--shadow-sm);border-color:#ce9eae}.place-select{min-width:0;min-height:64px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 8px 10px 12px;display:flex}.place-select>span:last-child{gap:2px;min-width:0;display:grid}.place-select strong,.place-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.place-select strong{font-size:.9rem}.place-select small{color:var(--ink-faint);font-size:.68rem}.place-actions{gap:2px;padding-right:7px;display:flex}.place-actions button{width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.place-actions button:last-child{color:var(--danger)}.place-actions button:hover{background:var(--cream)}.place-card-unassigned{border-style:dashed}.location-add-button{width:100%}.location-groups{gap:22px;display:grid}.location-group{gap:10px;display:grid}.location-group-heading{align-items:center;gap:10px;display:flex}.place-mark{width:38px;height:38px;color:var(--wine);background:var(--wine-pale);border-radius:12px;place-items:center;display:grid}.place-houlgate{color:#3f6570;background:#e3eff1}.place-unknown{color:var(--warning);background:var(--warning-pale)}.location-group-heading h2{font-size:1.18rem}.location-group-heading p{color:var(--ink-faint);font-size:.72rem}.location-list{gap:9px;display:grid}.location-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:12px;padding:14px;display:grid}.location-identity{align-items:center;gap:10px;min-width:0;display:flex}.location-pin{width:38px;height:38px;color:var(--wine);background:var(--cream);border-radius:11px;flex:none;place-items:center;display:grid}.location-identity>div{min-width:0}.location-identity h3{text-overflow:ellipsis;white-space:nowrap;font-family:Inter,ui-sans-serif,sans-serif;font-size:.94rem;overflow:hidden}.location-identity p{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.7rem;overflow:hidden}.location-counts{flex-wrap:wrap;gap:7px;display:flex}.location-counts span{color:var(--ink-soft);background:var(--cream);border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:.71rem;display:inline-flex}.location-counts svg{color:var(--wine)}.location-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:7px;padding-top:10px;display:flex}.location-actions .button{min-height:44px;padding:8px 11px;font-size:.76rem}.location-delete-button{width:44px;height:44px;color:var(--danger);background:var(--danger-pale);margin:0}.location-preview{color:var(--ink-soft);background:var(--cream);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.location-preview span{text-transform:uppercase;font-size:.68rem}.location-preview strong{color:var(--ink);font-size:.84rem}.deletion-destination{margin-top:15px}.deletion-destination small,.empty-location-confirmation{color:var(--ink-faint);font-size:.73rem}.empty-location-confirmation{background:var(--cream);border-radius:9px;margin-top:13px;padding:10px 12px}.location-picker-row{gap:7px;display:grid}.location-picker-row .input-with-icon>select{width:100%;min-height:47px;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:11px;padding:10px 34px 10px 36px}.quick-location-button{min-height:44px;padding:8px 10px;font-size:.73rem}.field-inline-error{color:var(--danger);font-size:.7rem}.field-inline-error button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.category-help{color:var(--ink-faint);font-size:.68rem;font-weight:500}.ai-completion-card{color:#425348;background:var(--sage-pale);border:1px solid #cadacb;border-radius:13px;gap:11px;padding:14px;display:grid}.ai-completion-card>div{align-items:flex-start;gap:9px;display:flex}.ai-completion-icon{width:34px;height:34px;color:var(--sage);background:#ffffffb3;border-radius:10px;flex:none;place-items:center;display:grid}.ai-completion-card h3{font-family:Inter,ui-sans-serif,sans-serif;font-size:.86rem}.ai-completion-card p,.ai-completion-card>small{color:#66776b;margin-top:2px;font-size:.71rem}.ai-completion-card .button{color:#3f5c47;background:#ffffffc2;border-color:#b9cfbd;width:100%}.completion-choices{border:0;gap:8px;margin:16px 0 0;padding:0;display:grid}.completion-choices label{background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:11px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;min-height:58px;padding:10px 11px;display:grid}.completion-choices input{opacity:0;width:1px;height:1px;position:absolute}.completion-check{color:#0000;border:2px solid var(--line-strong);border-radius:7px;place-items:center;width:23px;height:23px;display:grid}.completion-choices input:checked+.completion-check{color:var(--white);background:var(--wine);border-color:var(--wine)}.completion-choices input:focus-visible+.completion-check{outline-offset:2px;outline:3px solid #72294433}.completion-choices label>span:last-child{display:grid}.completion-choices small{color:var(--ink-faint);margin-top:2px;font-size:.69rem}.manual-entry-reminder{color:var(--ink-faint);margin-top:10px;font-size:.73rem}@media (width>=560px){.form-header-icon{display:grid}.state-card .empty-inline-add{display:inline-flex}.mobile-add{display:none}.site-footer{display:block}.page{padding-left:24px;padding-right:24px}.summary-card{padding:18px}.summary-card span:last-child{font-size:.76rem}.wine-card>a{grid-template-columns:44px minmax(0,1fr) auto 18px;gap:15px;min-height:116px;padding:14px 17px}.wine-accent{width:44px;height:82px}.wine-chevron{display:block}.stock-pill{min-width:78px}.stock-pill>span:not(.sr-only){font-size:.62rem}.detail-essentials,.two-columns,.danger-zone{grid-template-columns:1fr 1fr}.detail-actions{grid-template-columns:repeat(3,1fr)}.detail-actions .button{flex-direction:column;align-content:flex-start;align-items:flex-start;min-height:92px}.detail-actions strong{font-size:.85rem}.danger-zone{align-items:center}.danger-zone .button{justify-self:end}.duplicate-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.form-submit-bar>div{width:auto}.pairing-advice form{grid-template-columns:minmax(0,1fr) 220px;align-items:end}.pairing-submit{grid-column:1/-1;justify-self:end}.locations-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.location-add-button{width:auto}.location-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.location-actions{border-top:0;padding-top:0}.location-picker-row{grid-template-columns:minmax(0,1fr) auto}.quick-location-button{min-height:47px}.ai-completion-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.ai-completion-card .button{width:auto}.ai-completion-card>small{grid-column:1/-1}.modal-layer{place-items:center;padding:22px}.modal-panel{border-radius:var(--radius-lg)}.modal-small{max-width:500px}.modal-medium{max-width:650px}.modal-large{max-width:790px}.modal-heading{padding:22px 24px 16px}.modal-body{padding:21px 24px 24px}.modal-actions .button-primary{flex:0 auto}.toast-region{width:min(500px,100vw - 40px);bottom:20px;left:auto;right:20px}}@media (width>=760px){.header-inner{min-height:76px;padding-inline:24px}.brand{flex:none}.main-navigation{align-items:center;gap:4px;margin-right:auto;display:flex}.main-navigation a{min-height:42px;color:var(--ink-soft);border-radius:10px;align-items:center;gap:6px;padding:8px 11px;font-size:.8rem;font-weight:750;display:inline-flex}.main-navigation a.active{color:var(--wine);background:var(--wine-pale)}.mobile-menu-toggle,.mobile-navigation{display:none!important}.header-actions .header-export,.header-actions .header-add,.header-actions .header-pairing{display:inline-flex}.header-export span{display:none}.page{padding-top:42px;padding-bottom:72px}.inventory-hero{grid-template-columns:minmax(0,1fr) 390px;align-items:end;margin-bottom:18px}.summary-cards{align-self:end}.pairing-advice{padding:17px 18px}.pairing-advice form{grid-template-columns:minmax(0,1fr) 230px auto}.pairing-submit{grid-column:auto;justify-self:stretch;min-height:47px}.location-list{grid-template-columns:1fr}.place-location-workspace{grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr);align-items:start}.inventory-controls{grid-template-columns:250px minmax(0,1fr);gap:12px;display:grid}.view-tabs{margin:0}.search-row{grid-area:1/2}.button-filter{display:none}.filter-panel,.filter-panel-open{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;display:grid}.clear-filters{grid-column:1/-1;justify-self:end;margin-bottom:-7px}.wine-list{grid-template-columns:1fr 1fr;gap:12px}.wine-card>a{grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding-inline:14px}.wine-chevron{display:none}.stock-pill{min-width:78px}.wine-detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.detail-columns{grid-template-columns:.9fr 1.1fr}.detail-section{padding:24px}.history-section{margin-top:16px}.form-section{padding:26px}.more-section summary{padding:20px 26px}.more-content{padding:5px 26px 26px}.form-submit-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:4px 0 0;padding:15px 0;position:static}.form-submit-bar>p{margin-right:auto;display:flex}}@media (width>=760px) and (width<=1023px){.main-navigation{display:none}.mobile-menu-toggle{display:grid!important}.mobile-navigation{display:none!important}.mobile-navigation.open{display:grid!important}.header-actions .header-export,.header-actions .header-pairing,.header-actions .header-add{display:none}}@media (width>=1040px){.header-export span{display:inline}.wine-list{grid-template-columns:repeat(2,1fr)}.wine-card>a{grid-template-columns:44px minmax(0,1fr) 80px 18px}.wine-chevron{display:block}}@media (width<=390px){.header-inner{padding-inline:12px}.brand-mark{width:37px;height:37px}.header-export{padding-inline:11px}.summary-card{padding:13px 9px}.summary-icon{width:31px;height:31px}.detail-actions{grid-template-columns:1fr}.detail-actions .button{min-height:66px}.modal-actions{flex-wrap:wrap}.modal-actions .button{flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
