@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{color:#292522;font-synthesis:none;text-rendering:optimizelegibility;--chardonnay:#f5edda;--chardonnay-deep:#eadfca;--ivory:#fffaf0;--paper:#fbf5e8;--charcoal:#292522;--muted:#756c63;--line:#ded2bd;--burgundy:#6d1833;--burgundy-dark:#4a1023;--burgundy-soft:#f2dfe4;--brass:#a97e37;--brass-light:#d8bd7a;--green:#47624c;--danger:#a22d3e;--shadow-sm:0 7px 20px #4a351c14;--shadow:0 18px 50px #4a351c21;--radius:10px;--max-width:940px;background:#f5edda;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--chardonnay);min-width:320px;height:100%;min-height:100%}body{min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}#root{min-width:320px;height:100dvh;min-height:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #a97e3747}h1,h2,h3,p{margin-top:0}body:before{content:"";pointer-events:none;opacity:.24;mix-blend-mode:multiply;background-image:linear-gradient(90deg,#684d2706 1px,#0000 1px),linear-gradient(#684d2706 1px,#0000 1px);background-size:5px 5px;position:fixed;inset:0}.app-shell{background:var(--chardonnay);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.app-header{z-index:5;padding:calc(18px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 17px max(20px, env(safe-area-inset-left));color:var(--ivory);background:var(--burgundy);position:relative;box-shadow:0 10px 28px #4a10232e}.app-header:after{content:"";background:linear-gradient(90deg, transparent, var(--brass-light));opacity:.8;width:30%;height:1px;position:absolute;bottom:0;right:7%}.header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:18px;margin:0 auto;display:flex}.app-header h1{letter-spacing:-.025em;margin:1px 0 0;font:700 clamp(28px,5vw,39px)/1.05 Playfair Display,serif}.header-subtitle{color:#ead9dd;margin:5px 0 0;font-size:13px}.eyebrow{color:var(--brass-light);letter-spacing:.18em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:700;line-height:1.2}.eyebrow.burgundy{color:var(--burgundy)}.brand-mark{background:#fffaf014;border:1px solid #d8bd7ab8;flex:none;place-items:center;width:50px;height:50px;display:grid;position:relative}.brand-mark:before,.brand-mark:after{content:"";width:13px;height:13px;position:absolute}.brand-mark:before{border-top:2px solid var(--brass-light);border-left:2px solid var(--brass-light);top:-5px;left:-5px}.brand-mark:after{border-right:2px solid var(--brass-light);border-bottom:2px solid var(--brass-light);bottom:-5px;right:-5px}.brand-mark span{color:var(--ivory);font:700 26px/1 Playfair Display,serif}.app-scroll{overscroll-behavior-y:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.screen{width:min(100%, var(--max-width));padding:22px max(18px, env(safe-area-inset-right)) 32px max(18px, env(safe-area-inset-left));margin:0 auto}.preview-banner{z-index:4;text-align:center;color:#6e5225;background:#f1dfaf;border-bottom:1px solid #dcc17f;padding:7px 14px;font-size:11px;font-weight:700;position:relative}.update-banner{z-index:6;color:#fff;background:var(--green);border:0;padding:9px 14px;font-size:12px;font-weight:700;position:relative}.data-error{z-index:6;color:#fff;background:var(--danger);text-align:center;border:0;border-bottom:1px solid #c67a84;padding:9px 14px;font-size:12px;position:relative}.data-error span{margin-left:8px;text-decoration:underline}.brass-corners{position:relative}.brass-corners:before,.brass-corners:after{content:"";pointer-events:none;width:18px;height:18px;position:absolute}.brass-corners:before{border-top:1.5px solid var(--brass);border-left:1.5px solid var(--brass);top:8px;left:8px}.brass-corners:after{border-right:1.5px solid var(--brass);border-bottom:1.5px solid var(--brass);bottom:8px;right:8px}.hero{min-height:245px;color:var(--ivory);border-radius:var(--radius);box-shadow:var(--shadow);background:radial-gradient(circle at 75% 22%,#dbb9743b,#0000 20%),linear-gradient(125deg,#2b151959,#4a1023f0),repeating-linear-gradient(90deg,#522031 0 68px,#451925 68px 72px);border:1px solid #5c2134;flex-direction:column;justify-content:flex-end;padding:34px 28px 26px;display:flex;overflow:hidden}.hero:after{bottom:11px;right:11px}.hero-copy{max-width:540px}.hero h2{letter-spacing:-.03em;max-width:430px;margin:0 0 10px;font:700 clamp(31px,8vw,49px)/1.02 Playfair Display,serif}.hero p:not(.eyebrow){color:#eadde0;max-width:510px;margin-bottom:21px;line-height:1.55}.hero-action{width:max-content;color:var(--ivory);background:#fffaf017;border:1px solid #d8bd7a8c;border-radius:7px;align-items:center;gap:7px;padding:10px 14px;font-weight:700;display:inline-flex}.snapshot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0 28px;display:grid}.snapshot-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fffaf0db;border-radius:8px;padding:14px 12px}.snapshot-card strong{color:var(--burgundy);text-overflow:ellipsis;font:700 clamp(19px,4vw,25px)/1.1 Playfair Display,serif;display:block;overflow:hidden}.snapshot-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;margin-top:4px;font-size:10px;font-weight:600;display:block}.section-heading{justify-content:space-between;align-items:end;gap:15px;margin:27px 2px 11px;display:flex}.section-heading h2{margin:0;font:700 23px/1.15 Playfair Display,serif}.section-heading button{color:var(--burgundy);background:0 0;border:0;padding:4px;font-size:12px;font-weight:700}.empty-feature{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fffaf0c2;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:14px;padding:18px;display:grid}.empty-icon{width:44px;height:44px;color:var(--burgundy);background:#f7e9d9;border:1px solid #dbc7b0;place-items:center;display:grid}.empty-feature h3{margin:0 0 4px;font-size:15px}.empty-feature p{color:var(--muted);margin:0;font-size:13px;line-height:1.48}.empty-feature button{color:var(--burgundy);background:0 0;border:0;margin:9px 0 0;padding:0;font-size:12px;font-weight:700}.future-card{background:#eee1c480;border:1px dashed #cbb990;border-radius:8px;margin:28px 0 5px;padding:20px}.future-card span{color:var(--brass);letter-spacing:.16em;font-size:9px;font-weight:700}.future-card h3{margin:4px 0;font:700 19px Playfair Display,serif}.future-card p{color:var(--muted);margin:0;font-size:13px}.wine-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.wine-card{border:1px solid var(--line);border-radius:var(--radius);min-width:0;color:inherit;background:var(--ivory);box-shadow:var(--shadow-sm);text-align:left;overflow:hidden}.wine-visual{min-height:128px;color:var(--burgundy);background:radial-gradient(circle at 50% 38%,#fffaf0 0 16%,#0000 17%),linear-gradient(135deg,#eedfc6,#dfcba8);border-bottom:1px solid #d7c5a7;align-content:center;place-items:center;gap:9px;display:grid}.wine-visual span{color:#745f3c;letter-spacing:.18em;font-size:8px;font-weight:700}.wine-card-copy{padding:14px}.wine-card-copy h3{margin:0 0 4px;font:700 18px/1.18 Playfair Display,serif}.wine-card-copy>p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px}.wine-card-copy>p.wine-card-vintage{color:#554a3d;letter-spacing:.02em;font-weight:750}.wine-card-copy>strong{color:var(--burgundy);margin-top:11px;font-size:11px;display:block}.wine-indicators{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.wine-indicators>span{color:#6d5314;letter-spacing:.025em;background:#f4ead0;border:1px solid #d9c49a;border-radius:999px;align-items:center;min-height:23px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.wine-row .wine-indicators{margin-top:5px}.cellar-results{margin-top:13px}.wine-list,.compact-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);box-shadow:var(--shadow-sm);overflow:hidden}.wine-row,.winery-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #e7ddca;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.wine-row:last-child,.winery-row:last-child{border-bottom:0}.row-icon{width:40px;height:40px;color:var(--burgundy);background:#f3e3d5;place-items:center;display:grid}.wine-row strong,.wine-row small,.winery-row strong,.winery-row small{display:block}.wine-row small,.winery-row small{color:var(--muted);margin-top:2px;font-size:11px}.quantity-pill{color:var(--burgundy);background:var(--burgundy-soft);border-radius:99px;padding:5px 8px;font-size:10px;font-weight:700}.screen-lead{justify-content:space-between;align-items:end;gap:16px;margin-bottom:17px;display:flex}.screen-lead h2{margin:0;font:700 26px Playfair Display,serif}.small-primary{color:#fff;background:var(--burgundy);border:0;border-radius:7px;align-items:center;gap:6px;min-height:40px;padding:9px 13px;font-weight:700;display:inline-flex}.search-box{height:49px;color:var(--muted);background:var(--ivory);box-shadow:var(--shadow-sm);border:1px solid #cfbfa7;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box input{width:100%;min-width:0;color:var(--charcoal);background:0 0;border:0;outline:0;font-size:16px}.search-box input::placeholder{color:#9a8f82}.view-toolbar{justify-content:space-between;align-items:center;gap:10px;margin:14px 0 10px;display:flex}.segmented{border:1px solid var(--line);background:#e9dfcf;border-radius:8px;flex:1;grid-template-columns:repeat(3,1fr);max-width:390px;padding:3px;display:grid}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:8px 9px;font-size:12px;font-weight:700}.segmented button.active{color:var(--burgundy);background:var(--ivory);box-shadow:0 2px 8px #44311a1a}.mode-switch{border:1px solid var(--line);background:#e9dfcf;border-radius:8px;gap:3px;padding:3px;display:flex}.mode-switch button{width:35px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.mode-switch button.active{color:var(--burgundy);background:var(--ivory)}.filter-button{border:1px solid var(--line);width:100%;color:var(--charcoal);text-align:left;background:#fffaf0b8;border-radius:8px;align-items:center;gap:9px;padding:11px 13px;font-weight:700;display:flex}.filter-button svg{margin-left:auto}.filter-count{color:#fff;background:var(--burgundy);border-radius:99px;place-items:center;min-width:21px;height:21px;font-size:10px;display:grid}.filter-panel{border:1px solid var(--line);background:var(--ivory);box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:9px 0 14px;padding:14px;display:grid}.filter-panel label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.filter-panel select{background:#fff;border:1px solid #cbbba4;border-radius:6px;min-width:0;padding:9px;font-size:14px}.filter-panel>button{color:var(--burgundy);text-align:left;background:0 0;border:0;font-weight:700}.inventory-empty{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:#fffaf09e;align-content:center;place-items:center;min-height:335px;margin-top:13px;padding:35px 24px;display:grid}.collection-loading{align-content:center;place-items:center;gap:var(--space-3);min-height:180px;margin-top:var(--space-3);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:#fffaf09e;display:grid}.collection-loading p{margin:0;font-size:13px}.collection-loading .loading-line:after{animation:1.1s ease-in-out infinite loading}.bottle-silhouette{width:76px;height:76px;color:var(--burgundy);background:#f4e8d5;border:1px solid #d5c4a8;place-items:center;margin-bottom:15px;display:grid}.inventory-empty h3{margin:0 0 7px;font:700 23px Playfair Display,serif}.inventory-empty p{max-width:520px;color:var(--muted);margin-bottom:20px;line-height:1.55}.winery-empty{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);box-shadow:var(--shadow-sm);margin-top:17px;padding:43px 26px 35px}.winery-mark{width:70px;height:70px;color:var(--burgundy);border:1px solid var(--brass-light);background:#f6e9d8;place-items:center;margin:0 auto 17px;display:grid}.winery-empty h3{margin:4px 0 7px;font:700 26px Playfair Display,serif}.winery-empty>p:not(.eyebrow){max-width:510px;color:var(--muted);margin:0 auto 22px;line-height:1.55}.button-row{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.winery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px;display:grid}.winery-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);box-shadow:var(--shadow-sm);grid-template-columns:88px minmax(0,1fr);gap:16px;padding:17px;display:grid}.winery-card-visual{min-height:112px;color:var(--burgundy);background:linear-gradient(145deg,#f4e8d5,#ead6b7);border:1px solid #dbc7a6;place-items:center;display:grid}.winery-card h3{margin:0 0 4px;font:700 20px Playfair Display,serif}.winery-card p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.winery-meta{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.winery-meta span{color:#6d522c;text-transform:capitalize;background:#f2e3c7;padding:4px 7px;font-size:9px;font-weight:700}.winery-card button{color:var(--burgundy);background:0 0;border:0;margin-top:12px;padding:0;font-size:11px;font-weight:700}.primary-button,.secondary-button{border-radius:7px;min-height:45px;padding:11px 17px;font-weight:700}.primary-button{border:1px solid var(--burgundy);color:#fff;background:var(--burgundy);box-shadow:0 7px 16px #6d183329}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{color:var(--burgundy);background:var(--ivory);border:1px solid #c9b697}.account-card{color:#fff;border-radius:var(--radius);background:var(--burgundy);box-shadow:var(--shadow);align-items:center;gap:17px;margin-bottom:14px;padding:19px;display:flex}.account-card .brand-mark{width:44px;height:44px}.account-card h2{margin:0 0 2px;font:700 21px Playfair Display,serif}.account-card p:last-child{color:#e5d2d7;margin:0;font-size:12px}.more-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);box-shadow:var(--shadow-sm);overflow:hidden}.more-list button{width:100%;color:var(--charcoal);text-align:left;background:0 0;border:0;border-bottom:1px solid #e7ddca;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:13px 15px;display:grid}.more-list button:last-child{border-bottom:0}.more-icon{width:39px;height:39px;color:var(--burgundy);background:#f5e8d8;place-items:center;display:grid}.more-list strong,.more-list small{display:block}.more-list strong{font-size:14px}.more-list small{color:var(--muted);margin-top:2px;font-size:11px}.more-list button>svg{color:#a99b88}.import-note{background:#f3e6c7;border:1px solid #d9c69f;border-radius:8px;margin-top:15px;padding:18px}.import-note h3{margin:0 0 4px;font-size:15px}.import-note p:last-child{color:#75654d;margin:0;font-size:12px;line-height:1.5}.sign-out-button{width:100%;color:var(--danger);background:0 0;border:1px solid #d8cbbb;border-radius:7px;margin-top:18px;padding:12px;font-weight:700}.version-label{color:#998e80;text-align:center;gap:2px;margin:14px 0 0;font-size:10px;display:grid}.version-label strong{color:#756a5d;font-size:11px}.bottom-nav{z-index:20;min-height:calc(78px + env(safe-area-inset-bottom));padding:8px max(5px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf0f7;border-top:1px solid #d1c3ac;flex:none;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(72px,1.15fr) repeat(2,minmax(0,1fr));display:grid;position:relative;overflow:visible;box-shadow:0 -10px 30px #4a351c1f}.bottom-nav>button{color:#8a7d70;background:0 0;border:0;border-radius:8px;align-content:center;place-items:center;gap:2px;min-width:0;display:grid;position:relative}.bottom-nav>button.active{color:var(--burgundy)}.bottom-nav>button.active:before{content:"";background:var(--brass);width:26px;height:2px;position:absolute;top:0}.bottom-nav small{font-size:9px;font-weight:700}.bottom-nav .quick-button{z-index:2;color:var(--burgundy-dark);font-weight:800;overflow:visible;transform:translateY(-15px)}.quick-button>span{border:4px solid var(--ivory);outline:2px solid var(--brass);outline-offset:0;color:#fff;background:var(--burgundy-dark);border-radius:50%;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 10px 28px #4a102361,0 0 0 1px #4a10231a}.quick-button>small{color:var(--burgundy-dark);background:var(--ivory);border-radius:999px;margin-top:1px;padding:1px 7px 2px;font-size:10px;line-height:1.25;box-shadow:0 2px 8px #4a351c1a}.modal-backdrop{z-index:50;overscroll-behavior:contain;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2c1e1b7a;align-items:end;display:grid;position:fixed;inset:0;overflow:hidden}.modal-layer-action{background:#2c1e1b94}.action-sheet{width:min(100%,650px);max-height:min(84dvh,720px);padding:10px 18px calc(22px + env(safe-area-inset-bottom));background:var(--paper);border:1px solid #d8c9b2;border-bottom:0;border-radius:16px 16px 0 0;margin:0 auto;animation:.22s ease-out sheet-in;overflow-y:auto;box-shadow:0 -24px 70px #291d163d}.sheet-handle{background:#c8bba8;border-radius:99px;width:42px;height:4px;margin:0 auto 18px}.sheet-header{justify-content:space-between;align-items:start;gap:14px;display:flex}.sheet-header h2{margin:0;font:700 26px Playfair Display,serif}.icon-close{border:1px solid var(--line);width:39px;height:39px;color:var(--muted);background:var(--ivory);border-radius:50%;place-items:center;display:grid}.action-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);margin-top:18px;overflow:hidden}.action-list button{width:100%;color:var(--charcoal);text-align:left;background:0 0;border:0;border-bottom:1px solid #e7ddca;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:13px 14px;display:grid}.action-list button:last-child{border-bottom:0}.action-list button>span:first-child{width:40px;height:40px;color:var(--burgundy);background:#f3e3d5;place-items:center;display:grid}.action-list strong,.action-list small{display:block}.action-list small{color:var(--muted);margin-top:2px;font-size:11px}.action-list button>svg{color:#aa9a84}.workflow-modal{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-self:center;width:min(100% - 30px,520px);margin:auto;padding:23px;box-shadow:0 30px 90px #291d1647}.workflow-icon{width:72px;height:72px;color:var(--burgundy);border:1px solid var(--brass-light);background:#f6e6d7;place-items:center;margin:26px auto 15px;display:grid}.workflow-modal>h3,.workflow-modal>p{text-align:center}.workflow-modal>h3{margin-bottom:6px;font:700 22px Playfair Display,serif}.workflow-modal>p{color:var(--muted);line-height:1.5}.workflow-modal>.primary-button{width:100%;margin-top:7px}.workflow-form-modal{overscroll-behavior:contain;max-height:min(90dvh,780px);scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom));padding:23px 23px calc(23px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.workflow-form{gap:14px;margin-top:21px;display:grid}.workflow-form label{color:#50483f;gap:6px;font-size:11px;font-weight:700;display:grid}.workflow-form input:not([type=checkbox]),.workflow-form select,.workflow-form textarea{width:100%;min-width:0;color:var(--charcoal);background:#fff;border:1px solid #cbbba4;border-radius:7px;padding:10px 11px;font-size:16px}.workflow-form textarea{resize:vertical;line-height:1.45}.choice-toggle{border:0;gap:7px;margin:0;padding:0;display:grid}.choice-toggle legend{color:#50483f;margin-bottom:7px;font-size:11px;font-weight:700}.choice-toggle>div{background:#e9dfcf;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.choice-toggle label{min-height:44px;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border-radius:6px;font-size:14px;font-weight:700;display:block;position:relative}.choice-toggle label.active{color:var(--burgundy);background:var(--ivory);box-shadow:var(--shadow-sm)}.choice-toggle input{opacity:0;width:1px;height:1px;position:absolute}.choice-toggle span{place-items:center;min-height:44px;display:grid}.choice-toggle input:focus-visible+span{outline:2px solid var(--burgundy);outline-offset:-2px;border-radius:6px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.check-field{background:#f7efdf;border:1px solid #d6c7b0;border-radius:7px;grid-template-columns:auto 1fr;align-content:center;align-items:center;min-height:48px;padding:11px}.check-field input{width:18px;height:18px;accent-color:var(--burgundy)}.paired-check-field{align-self:end;min-height:42px}.paired-check-field input{width:22px;height:22px}.photo-picker{border:1px dashed var(--brass);min-height:72px;color:var(--burgundy);cursor:pointer;background:#f7ecdb;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;padding:11px 13px;position:relative}.photo-picker-icon{background:var(--ivory);border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.photo-picker strong,.photo-picker small{display:block}.photo-picker strong{font-size:14px}.photo-picker small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:500}.workflow-form .photo-picker input{opacity:0;width:1px;height:1px;padding:0;position:absolute}.form-actions{background:linear-gradient(transparent, var(--paper) 20%);grid-template-columns:1fr 1fr;gap:9px;margin:5px -7px -8px;padding:14px 7px 8px;display:grid;position:sticky;bottom:-23px}.prerequisite{background:#f3e6c7;border:1px solid #d9c69f;border-radius:8px;padding:18px}.prerequisite strong{color:var(--burgundy)}.prerequisite p{color:#75654d;margin:5px 0 0;font-size:12px;line-height:1.5}.detail-tabs{background:#e9dfcf;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:17px;padding:4px;display:grid}.detail-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:9px;font-weight:700}.detail-tabs button.active{color:var(--burgundy);background:var(--ivory);box-shadow:var(--shadow-sm)}.form-section-title{margin:8px 0 -3px;font:700 19px Playfair Display,serif}.preference-card{border:1px solid #d8c8ae;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0;padding:13px;display:grid}.preference-card legend{color:var(--burgundy);padding:0 6px;font-weight:700}.preference-card label:last-child{grid-column:1/-1}.history-list{gap:9px;margin-top:18px;display:grid}.history-list article{border:1px solid var(--line);background:var(--ivory);border-radius:8px;padding:14px}.history-list p{color:var(--muted);margin:5px 0;font-size:12px}.history-list small{color:var(--burgundy);font-weight:700}.empty-copy,.media-panel{color:var(--muted);border:1px solid var(--line);background:var(--ivory);border-radius:8px;margin-top:18px;padding:22px;line-height:1.5}.upload-button{color:#fff;background:var(--burgundy);cursor:pointer;border-radius:7px;margin-top:10px;padding:11px 16px;font-weight:700;display:inline-flex}.upload-button input{opacity:0;width:1px;height:1px;position:absolute}.workflow-form hr{border:0;border-top:1px solid var(--line);width:100%}.detail-hero{text-align:center;border:1px solid var(--line);background:var(--ivory);border-radius:8px;justify-items:center;gap:7px;margin:18px 0;padding:18px;display:grid}.detail-hero>div,.photo-tap-target{width:min(100%,290px);height:210px;color:var(--burgundy);background:linear-gradient(145deg,#f4e8d5,#ead6b7);place-items:center;font-size:54px;display:grid;overflow:hidden}.detail-hero img{object-fit:cover;width:100%;height:100%}.photo-tap-target{cursor:pointer;position:relative}.photo-tap-target input{opacity:0;width:1px;height:1px;position:absolute}.photo-placeholder{font-size:54px}.detail-hero p{color:var(--muted);margin:0}.detail-hero>strong{color:var(--burgundy)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0;display:grid}.gallery figure{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;margin:0;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:180px;display:block}.gallery figcaption{color:var(--muted);padding:8px 9px;font-size:11px}.gallery figure>div{gap:6px;padding:0 8px 8px;display:flex}.gallery button,.history-list button{color:var(--burgundy);background:var(--ivory);border:1px solid #cbbba4;border-radius:5px;padding:6px 8px;font-size:10px;font-weight:700}.breakdown{border:1px solid var(--line);background:var(--ivory);border-radius:8px;margin-top:16px;padding:17px}.breakdown h3{margin:0 0 13px;font:700 19px Playfair Display,serif}.breakdown>div{color:var(--muted);grid-template-columns:minmax(90px,1fr) 2fr auto;align-items:center;gap:9px;margin:8px 0;font-size:11px;display:grid}.breakdown i{background:var(--burgundy);border-radius:99px;min-width:2px;height:8px}.history-list article{gap:3px;display:grid}.history-list article>small:first-child{color:var(--brass);text-transform:uppercase}.auth-page,.setup-page,.loading-page{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 10%, #d8bd7a3d, transparent 32%), var(--chardonnay);place-items:center;display:grid}.auth-card,.setup-card{border-radius:var(--radius);width:min(100%,430px);box-shadow:var(--shadow);background:#fffaf0f0;border:1px solid #d5c4a9;padding:33px 29px 28px}.auth-card .brand-mark,.setup-card .brand-mark{border-color:var(--brass);background:var(--burgundy);width:58px;height:58px;margin-bottom:25px}.auth-card h1,.setup-card h1{margin:0 0 5px;font:700 37px Playfair Display,serif}.auth-intro,.setup-card>p:not(.eyebrow){color:var(--muted);margin-bottom:25px;line-height:1.5}.auth-card label{color:#50483f;gap:7px;margin-top:14px;font-size:12px;font-weight:700;display:grid}.auth-card input{width:100%;min-height:48px;color:var(--charcoal);background:#fff;border:1px solid #cbbba4;border-radius:7px;padding:11px 12px;font-size:16px}.auth-card .primary-button{width:100%;margin-top:22px}.auth-card>small{color:var(--muted);text-align:center;margin-top:16px;display:block}.form-message{margin:12px 0 0;font-size:12px}.form-message.error{color:var(--danger)}.loading-page{color:var(--muted);align-content:center;gap:15px}.loading-page .brand-mark{background:var(--burgundy)}.loading-line{background:#ddcdaa;width:90px;height:2px;overflow:hidden}.loading-line:after{content:"";background:var(--burgundy);width:40%;height:100%;animation:1.1s ease-in-out infinite loading;display:block}@keyframes sheet-in{0%{opacity:.7;transform:translateY(28px)}}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (width<=620px){.screen{padding-top:18px}.hero{min-height:228px;padding:31px 21px 22px}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-card{padding:13px}.view-toolbar{align-items:stretch}.segmented{max-width:none}.mode-switch{flex:none}.wine-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.winery-grid,.filter-panel,.gallery{grid-template-columns:1fr}}@media (width<=390px){.app-header{padding-left:max(15px, env(safe-area-inset-left));padding-right:max(15px, env(safe-area-inset-right))}.screen{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.hero{min-height:218px;padding-left:18px;padding-right:18px}.hero h2{font-size:31px}.segmented button{padding-left:5px;padding-right:5px;font-size:11px}.bottom-nav small{font-size:8px}.quick-button>span{width:58px;height:58px}.field-grid{grid-template-columns:1fr}}@media (orientation:landscape) and (height<=620px){.app-header{padding-top:max(10px, env(safe-area-inset-top));padding-bottom:10px}.app-header h1{font-size:26px}.header-subtitle{display:none}.bottom-nav{min-height:calc(68px + env(safe-area-inset-bottom))}.bottom-nav .quick-button{transform:translateY(-11px)}.quick-button>span{width:54px;height:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--page-pad:clamp(16px, 4vw, 24px);--card-pad:16px;--section-gap:24px;--control-height:48px;--radius:8px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:not(:disabled):active{transform:translateY(1px)}.screen{padding:var(--space-5) max(var(--page-pad), env(safe-area-inset-right)) var(--space-6) max(var(--page-pad), env(safe-area-inset-left))}.hero{min-height:210px;padding:var(--space-6) var(--space-5) var(--space-5)}.hero p:not(.eyebrow){margin-bottom:0}.snapshot-grid{gap:var(--space-2);margin:var(--space-3) 0 var(--space-6)}.section-heading{margin:var(--section-gap) 0 var(--space-3)}.wine-card-grid,.winery-grid{gap:var(--space-3)}.home-wine-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wine-card,.winery-card,.record-link,.history-card,.memory-row,.more-list button{transition:border-color .16s,background .16s,box-shadow .16s}.wine-card:hover,.winery-card:hover,.record-link:hover,.history-card:hover,.memory-row:hover{border-color:#c5ad83;box-shadow:0 10px 26px #4a351c1f}.wine-visual{aspect-ratio:4/3;min-height:0;overflow:hidden}.wine-visual img,.winery-card-visual img{object-fit:cover;width:100%;height:100%;display:block}.wine-visual,.wine-card-copy{width:100%;color:inherit;text-align:left;background:0 0;border:0}.wine-visual{cursor:pointer}.wine-card-copy{padding:var(--card-pad);cursor:pointer}.wine-card-copy h3{min-height:2.35em}.wine-card-copy>strong{line-height:1.35}.memory-row{align-items:center;gap:var(--space-3);width:100%;min-height:62px;padding:var(--space-3) var(--space-4);color:var(--charcoal);text-align:left;background:0 0;border:0;border-bottom:1px solid #e7ddca;grid-template-columns:1fr auto;display:grid}.memory-row:last-child{border-bottom:0}.memory-row strong,.memory-row small{display:block}.memory-row small{margin-top:var(--space-1);color:var(--muted);font-size:12px}.memory-row>svg{color:#a4937b}.screen-lead{margin-bottom:var(--space-4)}.search-box{height:var(--control-height)}.filter-button{min-height:44px;margin-top:var(--space-2)}.view-toolbar{margin:var(--space-3) 0}.cellar-results,.winery-grid{margin-top:var(--space-3)}.wine-row{min-height:64px}.winery-card{align-items:center;gap:var(--space-4);border:1px solid var(--line);width:100%;padding:var(--card-pad);color:var(--charcoal);text-align:left;grid-template-columns:104px minmax(0,1fr);position:relative}.winery-card-visual{aspect-ratio:1;width:104px;min-height:0;overflow:hidden}.winery-card .winery-card-visual{cursor:pointer;margin:0;padding:0}.winery-card-copy{align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 20px;min-width:0;display:grid;color:inherit!important;margin:0!important;padding:0!important}.winery-card .card-chevron{color:#a4937b}.primary-button,.secondary-button{min-height:var(--control-height);border-radius:7px}.full-button{width:100%}.workflow-modal{padding:var(--space-5)}.workflow-form-modal{padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom))}.workflow-form{gap:var(--space-4);margin-top:var(--space-5)}.workflow-form input:not([type=checkbox]),.workflow-form select,.workflow-form textarea{min-height:var(--control-height);border-radius:7px;padding:11px 12px}.workflow-form textarea{min-height:92px}.field-grid{gap:var(--space-3)}.form-actions{gap:var(--space-2)}.more-details{border:1px solid var(--line);border-radius:var(--radius);background:#fffaf0b8}.more-details>summary{min-height:46px;padding:0 var(--space-4);color:var(--burgundy);cursor:pointer;align-items:center;font-size:13px;font-weight:700;list-style:none;display:flex}.more-details>summary::-webkit-details-marker{display:none}.more-details>summary:after{content:"+";margin-left:auto;font-size:20px;font-weight:400}.more-details[open]>summary:after{content:"−"}.details-fields{gap:var(--space-4);padding:0 var(--space-4) var(--space-4);display:grid}.standalone-details{margin-top:var(--space-4)}.check-field{min-height:var(--control-height)}.management-modal{width:min(100% - 24px,700px)}.detail-header{grid-template-columns:44px minmax(0,1fr) minmax(44px,84px);align-items:start;display:grid}.detail-header>div{text-align:center;min-width:0}.detail-header h2{overflow-wrap:anywhere}.detail-header .icon-close{width:44px;height:44px;font-size:27px;line-height:1}.text-button{min-height:44px;color:var(--burgundy);white-space:nowrap;background:0 0;border:0;justify-self:end;padding:0;font-size:13px;font-weight:700}.header-spacer{width:44px}.detail-tabs{margin-top:var(--space-4)}.detail-tabs button{min-height:44px}.record-hero{justify-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-5);text-align:center;display:grid}.record-hero-media{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius);width:min(100%,360px);color:var(--burgundy);background:linear-gradient(145deg,#f4e8d5,#ead6b7);place-items:center;font-size:52px;display:grid;overflow:hidden}.record-hero-media.has-photo{cursor:zoom-in}.record-hero-media.can-add-photo{cursor:pointer}.record-hero-media:disabled{cursor:default;opacity:1}.record-hero-media img{object-fit:contain;background:#f2eadc;width:100%;height:100%;display:block}.record-hero p{color:var(--muted);margin:0;font-size:13px}.record-hero strong{color:var(--burgundy);font-size:13px}.detail-content{gap:var(--section-gap);display:grid}.detail-section{padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);box-shadow:var(--shadow-sm)}.detail-section h3{margin:0 0 var(--space-3);font:700 19px Playfair Display,serif}.detail-section p{margin:var(--space-2) 0 0;color:var(--muted);font-size:13px;line-height:1.55}.detail-section p:first-of-type{margin-top:0}.inline-link{margin-top:var(--space-3);color:var(--burgundy);font-size:13px;font-weight:700;display:inline-block}.read-more{margin-top:var(--space-3);color:var(--muted);font-size:13px}.read-more summary{color:var(--burgundy);cursor:pointer;font-weight:700}.fact-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.fact-grid div{min-width:0;padding:var(--space-3);background:#f6edde}.fact-grid dt{margin-bottom:var(--space-1);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.fact-grid dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:700}.record-list{gap:var(--space-2);display:grid}.standalone-list{margin-top:var(--space-5)}.record-link{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3);color:var(--charcoal);text-align:left;background:#fffdf7;border:1px solid #e1d5c2;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;display:grid}.record-link strong,.record-link small{display:block}.record-link small{margin-top:var(--space-1);color:var(--muted);font-size:11px;line-height:1.4}.record-link>span:last-child{color:var(--brass);font-size:24px}.static-record{gap:var(--space-1);padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);display:grid}.static-record small{color:var(--muted)}.empty-copy.compact{padding:var(--space-3);margin:0}.review-grid{gap:var(--space-2);display:grid}.review-grid article{padding:var(--space-3);background:#fffdf7;border:1px solid #e1d5c2;border-radius:7px}.review-rating{margin-top:var(--space-2)}.issue-note{color:var(--danger)!important}.record-rating-summary{justify-content:center;align-items:center;gap:var(--space-1);display:inline-flex}.star-rating-display{align-items:center;gap:var(--space-2);color:var(--brass);vertical-align:middle;display:inline-flex}.star-rating-glyphs{gap:2px;display:inline-flex}.star-glyph{width:1em;height:1em;font-size:20px;line-height:1;display:inline-block;position:relative}.star-empty{color:#c8b99f}.star-filled{color:var(--brass);white-space:nowrap;position:absolute;inset:0 auto auto 0;overflow:hidden}.star-rating-display.compact .star-glyph{font-size:14px}.star-rating-value{color:var(--muted);font-size:12px;font-weight:700}.wine-card-copy>.star-rating-display,.wine-row .star-rating-display{margin-top:var(--space-1)}.star-rating-field{border:0;min-width:0;margin:0;padding:0}.star-rating-field legend{color:#50483f;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800}.star-rating-input{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.star-rating-input>button:not(.star-rating-clear){color:#b7a88f;background:0 0;border:0;width:44px;height:44px;padding:0;font-size:32px;line-height:1}.star-rating-input>button.selected{color:var(--brass)}.star-rating-input .star-rating-clear{min-width:44px;min-height:44px;padding:0 var(--space-2);color:var(--muted);background:0 0;border:0;font-size:11px;font-weight:700}.edit-record-form{gap:var(--space-4)}.edit-form-section{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:#fffaf0c7;display:grid}.edit-form-section>h3{color:var(--burgundy);margin:0;font:700 19px Playfair Display,serif}.edit-section-fields{gap:var(--space-4);display:grid}.edit-form-actions{margin-top:0}.workflow-context{padding:var(--space-3);border-left:3px solid var(--brass);background:#fffaf0;gap:3px;display:grid}.workflow-context small{color:var(--muted);line-height:1.4}.section-action-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.section-action-heading h3{margin:0}.section-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.compact-button{width:auto;min-height:44px;padding:8px 12px}.delete-record-section{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line);display:grid}.delete-record-button{min-height:44px;color:var(--danger);background:0 0;border:1px solid #d7a5ab;border-radius:7px;font-weight:700}.delete-record-button:disabled{color:var(--muted);border-color:var(--line);cursor:not-allowed}.delete-record-section small{color:var(--muted);line-height:1.45}.visit-card-list{gap:var(--space-2);display:grid}.visit-card{align-items:center;gap:var(--space-3);width:100%;min-height:76px;padding:var(--space-2) var(--space-3);color:var(--charcoal);text-align:left;background:#fffdf7;border:1px solid #e1d5c2;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.visit-card-photo{aspect-ratio:4/3;width:72px;color:var(--muted);background:#eee5d7;place-items:center;display:grid;overflow:hidden}.visit-card-photo img{object-fit:cover;width:100%;height:100%}.visit-card-copy{gap:2px;min-width:0;display:grid}.visit-card-copy strong,.visit-card-copy small{display:block}.visit-card-copy small{color:var(--muted);font-size:11px}.visit-card-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;margin:2px 0!important}.visit-card>span:last-child{color:var(--brass);font-size:24px}.visit-link-form{gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:#fffaf0;display:grid}.visit-link-form .form-actions{margin-top:0}.visit-purchase-list{gap:var(--space-2);display:grid}.visit-purchase-line{align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:66px;padding:var(--space-2) var(--space-3);color:var(--charcoal);background:var(--ivory);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.visit-purchase-line>span:nth-child(2){gap:3px;min-width:0;display:grid}.visit-purchase-line small{color:var(--muted)}.visit-purchase-line>span:last-child{color:var(--brass);font-size:24px}.visit-purchase-photo{background:#eee5d7;width:48px;height:60px;overflow:hidden}.visit-purchase-photo img{object-fit:cover;width:100%;height:100%}.history-list{gap:var(--space-2);margin-top:var(--space-5)}.history-card{gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:78px;padding:var(--card-pad) 40px var(--card-pad) var(--card-pad);color:var(--charcoal);background:var(--ivory);text-align:left;display:grid;position:relative}.history-card>small{color:var(--brass);text-transform:uppercase;font-size:10px;font-weight:700}.history-card>p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.history-card>span{right:var(--space-4);color:var(--brass);font-size:25px;position:absolute;top:50%;transform:translateY(-50%)}.photo-panel{margin-top:var(--space-5)}.photo-panel-lead{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.photo-panel-lead p{color:var(--muted);margin:0;font-size:13px}.camera-button{color:#fff;background:var(--burgundy);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:24px;display:grid;position:relative;overflow:hidden}.camera-button input{opacity:0;width:1px;height:1px;position:absolute}.gallery{gap:var(--space-3);margin:var(--space-4) 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery figure{border-radius:var(--radius)}.gallery figcaption small{margin-top:3px;display:block}.gallery-image{background:#eee5d7;border:0;width:100%;padding:0;display:block}.gallery-image img{aspect-ratio:4/3;object-fit:cover;height:auto}.photo-actions{gap:var(--space-2);padding:0 var(--space-2) var(--space-2);display:flex}.photo-actions button{min-height:36px;color:var(--burgundy);background:var(--ivory);border:1px solid #cbbba4;border-radius:6px;flex:1;font-size:11px;font-weight:700}.photo-empty{align-content:center;place-items:center;gap:var(--space-2);width:100%;min-height:220px;margin-top:var(--space-4);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);font:inherit;cursor:pointer;display:grid}.photo-empty:disabled{cursor:default}.photo-empty span{color:var(--brass);font-size:40px}.photo-empty p{margin:0}.photo-add-form{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory)}.photo-viewer{z-index:80;padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));background:#191311f0;place-items:center;display:grid;position:fixed;inset:0}.photo-viewer figure{gap:var(--space-3);justify-items:center;max-width:min(100%,1000px);max-height:100%;margin:0;display:grid}.photo-viewer img{object-fit:contain;max-width:100%;max-height:78dvh}.photo-viewer figcaption{color:var(--ivory)}.photo-viewer-loading{color:var(--ivory);margin:0}.photo-viewer-close{top:calc(var(--space-3) + env(safe-area-inset-top));right:var(--space-3);color:#fff;background:#0000004d;border:1px solid #ffffff59;border-radius:50%;width:48px;height:48px;font-size:30px;position:absolute}.photo-viewer-nav{z-index:1;color:#fff;background:#00000059;border:1px solid #ffffff47;border-radius:999px;width:48px;height:56px;font-size:34px;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-nav.previous{left:max(var(--space-3), env(safe-area-inset-left))}.photo-viewer-nav.next{right:max(var(--space-3), env(safe-area-inset-right))}.app-toast{z-index:100;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#3b5f48;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:11px 16px;font-size:13px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 10px 28px #1e140f47}.app-toast.warning{background:#78571d}:where(button,a,input,select,textarea,summary):focus-visible{outline-offset:2px;outline:3px solid #a27a2e8c}.document-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.document-row button{min-height:58px;padding:var(--space-3);color:var(--charcoal);text-align:left;background:0 0;border:0}.document-row strong,.document-row small{display:block}.document-row small{margin-top:var(--space-1);color:var(--muted)}.document-row .document-purchase{color:var(--burgundy);font-weight:700}.modal-snapshot{margin-top:var(--space-5)}.stat-row{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--muted);grid-template-columns:minmax(90px,1fr) 2fr auto;font-size:12px;display:grid}.stat-row i{background:var(--burgundy);border-radius:999px;min-width:2px;height:8px}.modal-empty{margin-top:var(--space-5)}.online-info{border-top:3px solid var(--brass)}.online-heading{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.online-heading h3{margin-bottom:0}.online-heading .eyebrow,.detail-section>.eyebrow{margin:0 0 var(--space-1)}.confidence-badge{color:#6b5b45;letter-spacing:.06em;text-transform:uppercase;background:#eee4d4;border-radius:999px;flex:none;padding:5px 8px;font-size:9px;font-weight:800}.confidence-badge.high{color:#315d42;background:#e0eee2}.confidence-badge.medium{color:#775b18;background:#f4e9c8}.confidence-badge.low{color:#81402f;background:#f3ded6}.online-description{color:var(--charcoal)!important;font-size:14px!important}.online-facts{gap:var(--space-2);margin:var(--space-4) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.online-facts div{min-width:0;padding:var(--space-3);background:#f6edde}.online-facts .wide{grid-column:1/-1}.online-facts dt{margin-bottom:var(--space-1);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.online-facts dd{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.source-details{margin-top:var(--space-4);color:var(--muted);font-size:12px}.source-details summary{min-height:40px;color:var(--burgundy);cursor:pointer;align-items:center;font-weight:800;display:flex}.source-details>div{gap:var(--space-2);display:grid}.source-details a{padding:var(--space-2) var(--space-3);color:var(--charcoal);background:#fffdf7;border:1px solid #e1d5c2;border-radius:6px;display:block}.source-details strong,.source-details small{display:block}.source-details small{color:var(--muted);margin-top:2px}.enrichment-button{width:100%;margin-top:var(--space-4)}.enrichment-review{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.review-lead{align-items:start;gap:var(--space-2);display:flex}.review-lead p{margin:0}.online-facts.proposed{margin-top:var(--space-3)}.enrichment-actions{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.enrichment-actions .text-action{min-height:44px;color:var(--muted);background:0 0;border:0;font-weight:700}.enrichment-edit{gap:var(--space-3);margin-top:var(--space-3);display:grid}.enrichment-edit label{color:#50483f;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.enrichment-edit input,.enrichment-edit textarea{width:100%;min-height:44px;color:var(--charcoal);text-transform:none;background:#fff;border:1px solid #cbbba4;border-radius:7px;padding:10px 11px;font:400 16px/1.45 inherit}.enrichment-edit textarea{resize:vertical;min-height:96px}.enrichment-edit label small{color:var(--muted);text-transform:none;font-weight:400}.enrichment-dashboard{gap:var(--space-4);margin-top:var(--space-5);display:grid}.enrichment-kind{background:#e9dfcf;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.enrichment-kind button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:800}.enrichment-kind button.selected{color:var(--burgundy);background:var(--ivory);box-shadow:var(--shadow-sm)}.enrichment-counts{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.enrichment-counts button{border:1px solid var(--line);border-radius:var(--radius);min-width:0;min-height:78px;padding:var(--space-2);color:var(--charcoal);background:var(--ivory);align-content:center;place-items:center;gap:3px;display:grid}.enrichment-counts button.active{border-color:var(--burgundy);box-shadow:0 0 0 1px var(--burgundy)}.enrichment-counts strong{color:var(--burgundy);font:700 22px Playfair Display,serif}.enrichment-counts span{color:var(--muted);text-align:center;font-size:9px;line-height:1.2}.batch-progress{color:var(--muted);text-align:center;margin:0;font-size:12px}.enrichment-list{gap:var(--space-2);display:grid}.batch-job-status{gap:var(--space-2);border:1px solid var(--brass);border-radius:var(--radius);padding:var(--space-3);background:var(--ivory);display:grid}.batch-job-status strong{color:var(--burgundy)}.batch-job-status span{color:var(--muted);font-size:13px}.enrichment-list>button{align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:62px;padding:var(--space-3);color:var(--charcoal);background:var(--ivory);text-align:left;grid-template-columns:minmax(0,1fr) auto;display:grid}.enrichment-list strong,.enrichment-list small{display:block}.enrichment-list small{max-width:48ch;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.status-dot{color:#6b5b45;text-align:center;text-transform:uppercase;background:#eee4d4;border-radius:999px;max-width:110px;padding:5px 7px;font-size:8px;font-weight:800}.status-dot.enriched{color:#315d42;background:#e0eee2}.status-dot.ready_for_review{color:#775b18;background:#f4e9c8}.status-dot.failed{color:#813025;background:#f3d8d4}@media (width<=700px){.home-wine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-modal{width:min(100% - 20px,700px);padding:var(--space-4)}.workflow-form-modal{max-height:calc(100dvh - 20px);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.detail-header{grid-template-columns:44px minmax(0,1fr) minmax(44px,78px)}.enrichment-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.field-grid,.preference-card{grid-template-columns:1fr}.preference-card label:last-child{grid-column:auto}.departure-primary-fields{gap:var(--space-4)}.workflow-form input[type=date]{min-width:0;max-width:100%}.edit-form-section,.photo-add-form{padding:var(--space-3)}.photo-viewer-nav{top:auto;bottom:calc(var(--space-3) + env(safe-area-inset-bottom));transform:none}}@media (width<=420px){.section-action-heading{flex-direction:column;align-items:stretch}.section-actions{justify-content:stretch}.section-actions>button{flex:auto}.app-header,.screen{padding-left:max(var(--page-pad), env(safe-area-inset-left));padding-right:max(var(--page-pad), env(safe-area-inset-right))}.hero{padding:var(--space-5) var(--space-4)}.wine-card-copy{padding:var(--space-3)}.wine-card-copy h3{font-size:17px}.winery-card{gap:var(--space-3);padding:var(--space-3);grid-template-columns:84px minmax(0,1fr)}.winery-card-visual{width:84px}.fact-grid{grid-template-columns:1fr 1fr}.gallery,.online-facts{grid-template-columns:1fr}.online-facts .wide{grid-column:auto}}.aging-section{border-color:color-mix(in srgb, var(--brass) 45%, var(--line));background:linear-gradient(145deg,#b88b3614,#0000 55%)}.aging-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.aging-heading h3{margin-bottom:.2rem}.aging-heading p,.guidance-source{color:var(--muted);margin:0;font-size:.86rem}.guidance-status{letter-spacing:.035em;text-transform:uppercase;color:#6d5314;background:#ece4cc;border-radius:999px;flex:none;padding:.38rem .65rem;font-size:.76rem;font-weight:800}.guidance-status.drinking-well{color:#315d3c;background:#dcecdf}.guidance-status.drink-soon{color:#7f263b;background:#f2dddd}.guidance-rationale{margin-bottom:.45rem}.guidance-source a{color:var(--burgundy);font-weight:700}.aging-control{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);display:grid}.aging-control details{gap:var(--space-2);display:grid}.aging-control summary{color:var(--burgundy);cursor:pointer;align-items:center;min-height:44px;font-weight:750;display:flex}.aging-control small{color:var(--muted)}.aging-departure-warning{border:1px solid var(--brass);border-radius:var(--radius-card);color:var(--charcoal);background:#fff7df;align-items:flex-start;gap:.7rem;padding:1rem;flex-direction:row!important;display:flex!important}.aging-departure-warning input{width:22px;height:22px;accent-color:var(--burgundy);flex:none;margin-top:.1rem}.aging-departure-warning strong{color:var(--burgundy);display:block}.workflow-fields{border:0;min-width:0;margin:0;padding:0;display:contents}.workflow-fields[hidden]{display:none}.header-tools{align-items:center;gap:12px;display:flex}.data-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.data-error button,.toast-actions button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;padding:8px 12px}.toast-actions{gap:12px;margin-top:10px;display:flex}.acquisition-body,.new-wine-fields,.acquisition-lines,.acquisition-line{gap:14px;min-width:0;display:grid}.acquisition-body[hidden],.acquisition-form [hidden]{display:none}.acquisition-line{border:1px solid var(--line,#d8cbb7);border-radius:12px;padding:16px}.acquisition-line h3{overflow-wrap:anywhere;margin:0}.acquisition-line .field-grid{min-width:0}.acquisition-form select,.acquisition-form input,.bottle-wine-picker select{min-width:0;max-width:100%}.bottle-wine-picker{gap:12px;display:grid}.classification-source{color:var(--muted,#766b60);font-size:12px;font-weight:400;display:block}@media (width<=420px){.acquisition-line{padding:12px}.acquisition-line .field-grid{grid-template-columns:1fr}}.icon-close,.photo-actions button,.photo-viewer-close,.photo-viewer-nav,.compact-button,.text-action{min-width:44px;min-height:44px}.photo-actions button,.guidance-source,.classification-source,.results-context,.queue-reason{font-size:13px}.management-modal .detail-header{z-index:3;background:var(--ivory);border-bottom:1px solid var(--line);margin-bottom:0;padding-top:12px;padding-bottom:12px;position:sticky;top:0}.detail-header h2{font-size:clamp(20px,4vw,28px)}.management-modal{scroll-padding-top:110px}.home-screen .hero{min-height:0;padding:22px 26px}.home-screen .hero h2{margin:6px 0;font-size:clamp(26px,4vw,36px)}.home-screen .hero p:last-child{margin-bottom:0}.wine-visual:not(.has-photo){height:100px;min-height:88px}.record-hero-media:not(.has-photo){aspect-ratio:1;width:100px;font-size:36px}.search-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 16px;display:flex}.search-actions label{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.search-actions select{border:1px solid var(--line);background:var(--ivory);border-radius:8px;max-width:100%;min-height:44px;padding:8px}.results-context{color:var(--muted);margin:8px 0}.contact-actions{flex-wrap:wrap;gap:10px;display:flex}.contact-actions a{border:1px solid var(--line);min-height:44px;color:var(--burgundy);overflow-wrap:anywhere;border-radius:8px;align-items:center;padding:8px 12px;display:flex}.personal-experience{border-bottom:1px solid var(--line);padding:12px 0}.photo-picker{flex-wrap:wrap}.selected-photo-preview{object-fit:contain;border-radius:8px;width:100%;max-height:240px;margin-top:10px}.photo-unavailable{min-height:64px;color:var(--muted);place-items:center;padding:12px;font-size:14px;display:grid}.photo-recovery{background:var(--ivory);border:1px solid var(--line);padding:12px}.photo-recovery button{min-height:44px;color:var(--burgundy)}.queue-search{gap:6px;margin-top:16px;display:grid}.queue-search input{min-height:44px;padding:10px;font-size:16px}.queue-reason{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.enrichment-review .enrichment-actions{z-index:2;background:var(--ivory);padding:12px 0;position:sticky;top:96px}.enrichment-list button,.enrichment-list button>span:first-child{min-width:0}.detail-section>.more-details,.aging-section .more-details{margin:12px 0}.correction-warning{border:1px solid var(--brass);background:#fff1d4;border-radius:8px;padding:12px}@media (width<=600px){.search-actions label{width:100%;margin-left:0}.home-screen .hero{padding:18px}.contact-actions a{width:100%}.enrichment-actions{flex-wrap:wrap;gap:8px}.photo-actions{flex-wrap:wrap}}.photo-recovery{bottom:calc(80px + env(safe-area-inset-bottom));z-index:10000;width:min(90vw,480px);position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #24151c33}.wine-entry-modal{max-width:640px}.wine-entry-form{gap:16px}.entry-section{border-bottom:1px solid var(--line);gap:14px;padding:16px 0;display:grid}.entry-suggestions{gap:6px;max-height:240px;display:grid;overflow:auto}.entry-suggestions button{min-height:44px;color:var(--burgundy);text-align:left;font:inherit;background:#fffaf0;border:1px solid #ded2bc;border-radius:8px;padding:10px 12px}.entry-context{background:#eee5d3;border-radius:8px;padding:10px 12px;font-size:14px}.entry-context p{margin:4px 0}.entry-match{border:1px solid #cbb996;border-radius:10px;gap:10px;padding:14px;display:grid}.entry-match dl{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.entry-match dt{text-transform:capitalize;color:#75604b;font-size:13px}.entry-match dd{margin:0}.entry-match small{font-size:13px}.entry-save{z-index:4;background:#faf4e6;border-top:1px solid #d9cdb6;padding:12px 0;position:sticky;bottom:0}.entry-receipt{z-index:85;bottom:calc(80px + env(safe-area-inset-bottom));background:#faf4e6;border:1px solid #c7af83;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;width:min(94vw,540px);padding:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #24151c33}.entry-receipt button{background:var(--burgundy);color:#fff;min-width:44px;min-height:44px;font:inherit;border:0;border-radius:8px;padding:8px 12px}.wine-entry-form input,.wine-entry-form select,.wine-entry-form textarea{min-height:44px;font-size:16px}.wine-entry-form summary{min-height:44px;padding:12px 0;font-size:14px}@media (width<=600px){.wine-entry-modal{padding:14px}.wine-entry-form .field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wine-entry-form .check-field{align-self:center}.wine-entry-form input,.wine-entry-form select{width:100%;min-width:0}.wine-entry-form input[type=checkbox]{width:24px;min-height:24px}}.inventory-audit{gap:16px;padding:0 18px 24px;display:grid}.inventory-audit label{gap:6px;font-size:15px;display:grid}.inventory-audit input,.inventory-audit select{width:100%;min-height:48px;font:inherit;box-sizing:border-box;background:#fffdf7;border:1px solid #cbbb9c;border-radius:8px;padding:10px;font-size:16px}.inventory-audit button{white-space:normal;min-height:48px}.inventory-audit p{margin:6px 0;line-height:1.5}.audit-location,.audit-counter,.audit-exception{background:#fffdf7;border:1px solid #dfd2bb;border-radius:12px;min-width:0;padding:16px}.audit-context{z-index:2;background:#f8f4e9;padding:8px 0;position:sticky;top:78px}.audit-context h3,.audit-location h3{margin:6px 0}.audit-actions{flex-wrap:wrap;gap:10px;display:flex}.audit-hint{color:#665b4f;font-size:14px}.audit-stepper{grid-template-columns:56px minmax(80px,1fr) 56px;align-items:end;gap:14px;margin:16px 0;display:grid}.audit-stepper input{text-align:center;height:56px;font-size:24px}.audit-stepper button{height:56px;font-size:28px}.audit-wine-identity{align-items:center;gap:16px;display:flex}.audit-wine-identity img{object-fit:contain;border-radius:8px;width:65px;height:90px}.audit-wine-identity h3{margin:4px 0}.audit-search{grid-template-columns:minmax(0,1fr) 120px;gap:10px;display:grid}.audit-result{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-bottom:1px solid #dfd2bb;gap:4px;padding:12px;display:grid}.audit-result small{font-size:14px}.audit-confirm{width:100%;margin-top:14px}.audit-counter details,.audit-missing{margin:14px 0}.audit-counter details label,.audit-missing label{margin-top:10px}.audit-cancel{justify-self:start}@media (width<=400px){.inventory-audit{padding-left:10px;padding-right:10px}.audit-search{grid-template-columns:1fr}}:is(.wine-entry-modal,.visit-entry-modal) .entry-header{min-height:44px;padding-right:56px;display:block;position:relative}:is(.wine-entry-modal,.visit-entry-modal) .entry-header>div{text-align:left;min-width:0}:is(.wine-entry-modal,.visit-entry-modal) .entry-header h2{overflow-wrap:normal;word-break:normal;font-size:clamp(22px,5vw,28px);line-height:1.2}:is(.wine-entry-modal,.visit-entry-modal) .entry-header .eyebrow{margin-top:0;margin-bottom:6px}:is(.wine-entry-modal,.visit-entry-modal) .entry-header .icon-close{width:44px;min-width:44px;height:44px;position:absolute;top:0;right:0}:is(.wine-entry-modal,.visit-entry-modal) .wine-entry-form{margin-top:12px}:is(.wine-entry-modal,.visit-entry-modal) .winery-suggestions{max-height:none;overflow:visible}:is(.wine-entry-modal,.visit-entry-modal){scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom))}.wine-entry-form>.workflow-fields{gap:inherit;padding-bottom:calc(88px + env(safe-area-inset-bottom));display:grid}.wine-entry-form .entry-save{padding-bottom:calc(12px + env(safe-area-inset-bottom));margin:0}.wine-entry-form :is(input,select,textarea,summary,button){scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom))}.more-groups{gap:20px;display:grid}.more-group h2{color:var(--burgundy);margin:0 0 8px;font-size:17px}.more-group .more-list{box-shadow:none}.more-group .more-list button{min-height:56px;padding-block:11px}.more-group .more-list small{font-size:12px}
