/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#35362e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f5f2e9;--paper:#fcfaf4;--sidebar:#eeeee3;--ink:#35362e;--muted:#7c7f70;--line:#deded0;--green:#294536;--green-soft:#e5ebdf;--copper:#a65d34;--amber:#e1b46a;--shadow:0 9px 30px #35351e07;--radius:7px;background:#f5f2e9;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:360px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{letter-spacing:-1.1px;font-size:36px;line-height:1.15}h2{letter-spacing:-.45px;font-size:25px}h3{letter-spacing:-.35px;font-size:22px}p{line-height:1.7}small{color:var(--muted);font-size:12px;line-height:1.65}hr{background:var(--line);border:0;height:1px;margin:22px 0}a,button,input,textarea,select{outline-offset:4px}:focus-visible{outline:2px solid var(--copper)}::selection{background:#d8b87855}.eyebrow{letter-spacing:1.7px;color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.muted{color:var(--muted);font-size:13px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.push-right{margin-left:auto}.full-width{width:100%}.text-link{color:var(--green);background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.text-link:hover{text-decoration:underline}.back-link{margin-bottom:24px}.button-group{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.button{white-space:normal;text-align:center;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:11px 17px;font-size:12px;font-weight:600;line-height:1.2;transition:transform .14s,background .16s,box-shadow .16s;display:inline-flex}.button.primary{background:var(--green);color:#fffdf3;border-color:var(--green);box-shadow:0 2px #182e2580}.button.primary:hover{background:#38583e;box-shadow:0 3px 8px #20362b20}.button.secondary{background:var(--paper);border-color:var(--line);box-shadow:0 2px #373d2910}.button.secondary:hover{background:var(--green-soft);border-color:#b8c0a9}.button.ghost{color:var(--muted);background:0 0;padding:10px 11px}.button.ghost:hover{background:var(--green-soft);color:var(--green)}.button.danger{color:#fff;background:#a14130}.button:active:not(:disabled),.icon-button:active:not(:disabled){box-shadow:none;transform:translateY(2px)scale(.98)}.button.amber{background:var(--amber);color:#26372b;border-color:var(--amber);box-shadow:0 2px #aa7c3e}.icon-button{background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:34px;height:34px;padding:6px;transition:background .15s,transform .13s;display:inline-flex}.icon-button:hover{background:var(--green-soft)}.spin{animation:1s linear infinite spin}.badge{color:#747763;white-space:nowrap;background:#eaeadd;border-radius:3px;align-items:center;padding:5px 8px;font-size:10px;font-weight:600;line-height:1.2;display:inline-flex}.badge.ready{color:#49603f;background:#e3ebdd}.badge.brewing{color:#936332;background:#f3e0c4}.badge.fermenting{color:#7d7b36;background:#e8e9d1}.badge.conditioning{color:#8b733b;background:#f0e8d7}.badge.planned{color:#627578;background:#e4e8ea}.badge.archived{color:#8a8277;background:#e6e3de}.app-layout{min-height:100vh;display:flex}.sidebar{z-index:30;background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:225px;padding:34px 20px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--green);align-items:center;gap:12px;padding:0 7px;display:flex}.brand-mark{border:1.4px solid;border-radius:50%;justify-content:center;align-items:center;width:47px;height:47px;display:flex;position:relative}.brand-mark:after{content:"";opacity:.35;border:1px dashed;border-radius:50%;position:absolute;top:4px;right:4px;bottom:4px;left:4px}.brand strong{letter-spacing:2px;font-family:Georgia,serif;font-size:19px;font-weight:600;line-height:1.4;display:block}.brand span{letter-spacing:2.2px;font-size:9px;font-weight:600;display:block}.brand.small .brand-mark{width:35px;height:35px}.sidebar-rule{background:var(--line);height:1px;margin:31px 7px 27px}.nav-label{letter-spacing:1.5px;color:#8d9180;padding:0 14px 13px;font-size:9px;font-weight:600}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:#6b715e;border-radius:5px;align-items:center;gap:13px;padding:12px 14px;font-size:12px;font-weight:500;transition:background .16s,color .16s;display:flex}.sidebar nav a.active{color:#324c35;background:#dfe6d6;font-weight:700;box-shadow:inset 3px 0 #536a43}.sidebar nav a:hover:not(.active){color:#334a32;background:#e6e8d9}.live-dot{background:#93a967;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 4px #a6bc7b14}.sidebar nav a .live-dot{margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:35px}.brewery-sign{color:#7c8664;align-items:center;gap:12px;margin:0 12px;padding:16px 0 25px;display:flex}.brewery-sign p{font-family:Georgia,serif;font-size:12px;line-height:1.7}.brewery-sign strong{color:#4e6247;font-weight:400}.sidebar-bottom>button{border:0;border-top:1px solid var(--line);width:100%;color:var(--muted);background:0 0;align-items:center;gap:10px;padding:15px 12px 4px;font-size:11px;display:flex}.workspace{flex:1;min-width:0;margin-left:225px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:70px;padding:0 39px;display:flex}.topbar>div{align-items:center;gap:15px;display:flex}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb span{color:#b8b9a8;margin:0 10px}.breadcrumb strong{color:#5f6954;font-weight:500}.topbar-right{gap:18px!important}.connection{color:#788568;align-items:center;gap:6px;font-size:10px;display:flex}.connection.warning{color:#a97837}.avatar{color:#7d725b;background:#e9e1d1;border:1px solid #ded4bd;border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;font-size:10px;font-weight:700;display:flex}.mobile-menu,.bottom-nav{display:none}.main-content{max-width:1600px;margin:0 auto;padding:35px 40px 55px;animation:.25s ease-out page-in}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.page-title .eyebrow{margin-bottom:11px}.page-title h1+p{color:var(--muted);margin-top:12px;font-size:12px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-title h2{font-size:23px}.section-title p{color:var(--muted);margin-top:7px;font-size:11px}.paper-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:22px;padding:26px}.app-footer{border-top:1px solid var(--line);color:#9b9e8a;align-items:center;gap:13px;max-width:1520px;margin:0 40px;padding:21px 0;font-size:10px;display:flex}.app-footer span:first-child{color:#687358;font-family:Georgia,serif;font-size:12px}.app-footer span:nth-child(2){margin-left:auto}.active-brew{color:#506544;background:#e5ebdc;border:1px solid #c7d4b7;border-radius:5px;align-items:center;gap:10px;margin:18px 40px -10px;padding:10px 15px;font-size:11px;display:flex}.active-brew .push-right{align-items:center;gap:8px;display:flex}.connection-banner,.conflict-banner{color:#886b37;background:#f2e7cf;border-bottom:1px solid #e1cfa7;padding:12px 40px;font-size:12px}.conflict-banner{background:#f7e2cf;flex-wrap:wrap;align-items:center;gap:13px;display:flex}.skip-link{z-index:1000;background:var(--green);color:#fff;padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.dashboard-hero{color:#f0e5c9;background:#293f34;border-radius:8px;justify-content:space-between;align-items:center;min-height:308px;padding:36px 39px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #102d1c20}.dashboard-hero:before{content:"";pointer-events:none;border:1px solid #c5c5a018;border-radius:3px;position:absolute;top:9px;right:9px;bottom:9px;left:9px}.dashboard-hero>div:first-child{z-index:1;max-width:390px;position:relative}.dashboard-hero .eyebrow{color:#c2b58c;letter-spacing:1.9px;font-size:9px}.dashboard-hero h2{letter-spacing:-.5px;margin:15px 0 14px;font-size:39px;line-height:1.17}.dashboard-hero h2 em{color:#dfbc80;font-style:italic}.dashboard-hero p{color:#bcbfac;max-width:315px;margin-bottom:23px;font-size:12px;line-height:1.8}.dashboard-hero .button{min-height:38px;padding:10px 15px;font-size:11px}.brewery-art{width:44%;min-width:250px;max-width:460px;position:relative;overflow:visible}.hero-stamp{color:#c8be8e;opacity:.7;border:1px solid #bfbc8b3a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:64px;height:64px;display:flex;position:absolute;top:23px;right:25px;transform:rotate(10deg)}.hero-stamp span{text-align:center;letter-spacing:1px;font-size:7px}.art-steam{animation:5s ease-in-out infinite steam}.art-bubbles{animation:4s ease-in-out infinite bubbles}.metric-grid{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:7px;grid-template-columns:repeat(4,1fr);margin:22px 0 36px;display:grid}.metric{grid-template-columns:37px 1fr;align-content:center;column-gap:11px;min-height:103px;padding:22px 24px;display:grid;position:relative}.metric+.metric{border-left:1px solid var(--line)}.metric-icon{color:#87946b;grid-row:1/3;align-items:center;display:flex}.metric-value{color:#3e4b36;font-family:Georgia,serif;font-size:31px;line-height:1.1;animation:.25s ease-out number-pop}.metric>span:not(.metric-value){color:var(--muted);margin-top:8px;font-size:10px}.metric>svg{color:#afb49c;position:absolute;top:20px;right:16px}.metric:hover{background:#f2f4e9}.dashboard-columns{grid-template-columns:minmax(0,1fr) 285px;gap:30px;margin-bottom:33px;display:grid}.beer-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;display:grid}.beer-card{min-width:0;transition:transform .22s;display:block;overflow:hidden}.beer-card:hover{transform:translateY(-4px)}.beer-card-art{background:#ebe9dd;border:1px solid #e0dfcf;border-radius:5px;padding:17px 22px 32px;position:relative;overflow:hidden}.beer-card:nth-child(3n+2) .beer-card-art{background:#e8ebdf}.beer-card:nth-child(3n) .beer-card-art{background:#ece5dc}.label-art{aspect-ratio:3/4;justify-content:center;align-items:center;width:100%;min-height:160px;display:flex;position:relative;overflow:hidden}.label-art img{object-fit:contain;filter:drop-shadow(0 5px 5px #35352a12);width:100%;height:100%;transition:transform .3s}.beer-card:hover .label-art img{transform:scale(1.025)rotate(-.5deg)}.label-art.small{aspect-ratio:3/4;flex-shrink:0;width:68px;min-height:80px}.no-label{color:#979b80;text-align:center;width:100%;height:100%;min-height:inherit;background:repeating-linear-gradient(135deg,#0000,#0000 10px,#a3a68b0a 10px,#a3a68b0a 11px);border:1px dashed #a5aa8f66;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.no-label span{letter-spacing:.5px;font-size:9px}.label-art.small .no-label{gap:6px}.label-art.small .no-label span{font-size:8px}.stock-tag{color:#97947c;background:#fbfaf1cf;border:1px solid #eeeade88;border-radius:3px;align-items:center;gap:5px;padding:4px 6px;font-size:9px;display:flex;position:absolute;bottom:10px;left:12px}.stock-tag i{background:#b7b6a1;border-radius:50%;width:4px;height:4px}.stock-tag.available{color:#5a6b49}.stock-tag.available i{background:#829654}.beer-card-info{padding:16px 2px 4px}.beer-card-info .eyebrow{letter-spacing:1.2px;font-size:8px}.beer-card-info h3{margin-top:6px;font-size:21px;line-height:1.2}.beer-card-info p{color:var(--muted);margin-top:5px;font-size:11px}.beer-card-info>div{border-top:1px solid var(--line);color:#90997d;justify-content:space-between;align-items:center;margin-top:13px;padding-top:10px;display:flex}.beer-card-info small{font-size:10px}.calendar-empty{color:#8c9678;text-align:center;background:#f0f1e6;border:1px dashed #d0d5bf;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:225px;display:flex}.calendar-empty p{color:#6f7e5d;font-family:Georgia,serif;font-size:19px;line-height:1.4}.calendar-empty small{font-size:10px}.notebook-link{color:#907853;background:#eee7d8;border:1px solid #e2dac7;border-radius:5px;align-items:center;gap:13px;margin-top:18px;padding:18px 16px;display:flex}.notebook-link>div{flex:1}.notebook-link strong{color:#786747;font-family:Georgia,serif;font-size:17px;font-weight:400;display:block}.notebook-link span{margin-top:4px;font-size:10px;line-height:1.6;display:block}.timeline{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:8px 18px}.timeline>a{align-items:center;gap:12px;padding:15px 0;display:flex}.timeline>a+a{border-top:1px solid var(--line)}.calendar-tile{color:#8b9371;background:#eeecdd;border-radius:4px;padding:10px}.timeline strong,.timeline span{display:block}.timeline strong{margin:4px 0;font-family:Georgia,serif;font-size:16px;font-weight:400}.timeline span,.timeline small{font-size:10px}.timeline>a>svg{color:#a1a58f;margin-left:auto}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:270px;padding:50px 22px;display:flex}.empty-icon{color:#839063;justify-content:center;align-items:center;width:88px;height:75px;margin-bottom:15px;display:flex;position:relative}.empty-icon:before{content:"";z-index:0;background:#edf0e1;border-radius:48% 52% 46% 54%;position:absolute;top:4px;right:4px;bottom:4px;left:4px;transform:rotate(-15deg)}.empty-icon svg{position:relative}.empty-icon i{background:#cabb7c;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:3px}.empty-icon i:last-child{width:3px;height:3px;top:auto;bottom:8px;left:4px}.empty h3{margin:2px 0 12px;font-size:24px}.empty p{max-width:350px;color:var(--muted);margin-bottom:23px;font-size:12px}.paper-panel .empty{min-height:250px;padding:24px 12px 30px}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0 24px;display:flex}.search{background:var(--paper);border:1px solid var(--line);color:#8f987d;border-radius:5px;flex:1;align-items:center;gap:9px;min-width:200px;max-width:430px;padding:10px 12px;display:flex}.search input{width:100%;min-width:0;font-size:12px;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.search input:focus{outline:none}.inline-check{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:11px;display:flex}.inline-check input{accent-color:var(--green);width:16px;height:16px}.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{letter-spacing:1px;text-transform:uppercase;color:#969b83;text-align:left;border-bottom:1px solid var(--line);background:#eeefe4;padding:15px 19px;font-size:9px;font-weight:600}td{color:#68705a;white-space:normal;padding:16px 19px}tbody tr+tr{border-top:1px solid #e5e6d9}tbody tr:hover{background:#f3f5e9}td a{color:var(--green);font-weight:600}td a:hover{text-decoration:underline}td .badge{font-size:9px}td .button{min-height:30px;padding:7px;font-size:10px}.batch-name strong{font-size:12px;font-weight:600;display:block}.batch-name span{color:var(--muted);margin-top:5px;font-size:10px;display:block}.record-list{border-top:1px solid var(--line);margin-bottom:26px}.record-list>a{border-bottom:1px solid var(--line);color:#7b8967;align-items:center;gap:14px;padding:18px 4px;display:flex}.record-list>a>div{flex:1;min-width:0}.record-list strong{color:var(--ink);font-size:13px;font-weight:600;display:block}.record-list small{margin-top:5px;display:block}.record-list>a:hover{background:#e6ebdd44}.modal{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;width:570px;max-width:calc(100vw - 32px);max-height:90dvh;margin:auto;padding:0;animation:.22s cubic-bezier(.2,.8,.2,1) modal-in;box-shadow:0 30px 100px #12241f40}.modal.wide{width:880px}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#192c2366}.modal-inner{padding:28px 30px}.modal header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px;display:flex}.modal header .eyebrow{margin-bottom:7px;font-size:8px}.modal h2{font-size:29px}.modal ul{margin-bottom:20px;font-size:13px;line-height:1.8}.field{flex-direction:column;gap:8px;min-width:0;margin-bottom:18px;display:flex}.field>span{color:#687059;font-size:11px;font-weight:600}.field small{color:var(--muted);font-size:10px;font-weight:400}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{color:var(--ink);background:#fffdf6;border:1px solid #d9ddcd;border-radius:4px;min-width:0;max-width:100%;padding:11px 12px;font-size:13px;line-height:1.4;transition:border-color .14s,box-shadow .14s}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea:focus,select:focus{border-color:#8a9c6d;box-shadow:0 0 0 3px #8a9c6d15}input::placeholder,textarea::placeholder{color:#a6a890;font-size:12px}input[type=range]{accent-color:var(--green);width:100%;height:25px}textarea{resize:vertical;line-height:1.7}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:12px;margin-top:15px;padding-top:22px;display:flex}.form-actions>.muted{margin-right:auto;font-size:10px}.field-note{color:var(--muted);margin:14px 0 20px;font-size:11px;line-height:1.8}.error-box{color:#914b34;overflow-wrap:anywhere;background:#f6e5d9;border:1px solid #e9c9b1;border-radius:5px;align-items:flex-start;gap:9px;margin:15px 0;padding:13px;font-size:12px;line-height:1.65;display:flex}.error-box svg{margin-top:2px}.upload{cursor:pointer;margin:15px 0 8px;position:relative;overflow:hidden}.upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.upload:focus-within{outline:2px solid var(--copper);outline-offset:3px}.disabled{pointer-events:none;opacity:.5}.beer-detail-grid{grid-template-columns:250px minmax(0,1fr);gap:43px;display:grid}.beer-detail-grid>aside>.label-art{border:1px solid var(--line);background:#e9e9dd;border-radius:6px;padding:20px}.beer-detail-grid aside>.button{width:100%;font-size:11px}.detail-intro{padding:10px 0 25px}.inline-metrics{gap:34px;margin-top:28px;display:flex}.inline-metrics>div{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.inline-metrics strong{color:#526044;font-family:Georgia,serif;font-size:31px;font-weight:400}.inline-metrics strong small{font-size:15px}.inline-metrics span{color:var(--muted);font-size:10px}.tasting{background:#eee7d64a;border-left:2px solid #c4ae7a;margin-bottom:30px;padding:22px 26px}.tasting p{margin-top:12px}.source-details{color:var(--muted);margin-top:17px;font-size:11px;line-height:1.8}.source-details summary{cursor:pointer;color:#7e8969;padding:12px 0}.source-details pre{white-space:pre-wrap;word-break:break-word;background:#eaeadd77;max-height:400px;padding:15px;font-size:10px;overflow:auto}.source-details p{margin:8px 0;font-size:12px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:25px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.recipe-card:before{content:"";background:#a8b18b;height:3px;position:absolute;inset:0 0 auto}.recipe-card:nth-child(3n+2):before{background:#bda378}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #2a342011}.recipe-heading{color:#a3ad8c;justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.recipe-card .eyebrow{font-size:9px}.recipe-card h2{margin:10px 0;font-size:25px}.recipe-card>p{color:var(--muted);font-size:11px}.recipe-stats{justify-content:space-between;margin:25px 0;display:flex}.recipe-stats>div{flex-direction:column;gap:6px;display:flex}.recipe-stats strong{color:#596949;font-family:Georgia,serif;font-size:25px;font-weight:400}.recipe-stats small{font-size:12px}.recipe-stats span{color:var(--muted);font-size:9px}.recipe-card footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;padding-top:16px;font-size:9px;display:flex}.recipe-card footer span{color:#6c8052}.editor-layout{grid-template-columns:minmax(0,1fr) 265px;gap:27px;display:grid}.recipe-form{min-width:0}.recipe-sidebar{align-self:start;position:sticky;top:25px}.estimate-panel{background:#eeeee1;border:1px solid #d9ddc9;border-radius:6px;padding:25px}.estimate-panel>.eyebrow{font-size:9px}.beer-colour{color:#fff4ce;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:13px;width:108px;height:125px;margin:22px auto;display:flex;box-shadow:inset 0 0 25px #20180020}.beer-colour span{font-size:9px}.estimate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:12px 0 22px;display:grid}.estimate-grid>div{text-align:center;flex-direction:column;gap:6px;display:flex}.estimate-grid strong{color:#576947;font-family:Georgia,serif;font-size:27px;font-weight:400}.estimate-grid span{letter-spacing:.7px;color:#8b9479;font-size:9px}.estimate-panel p,.estimate-panel small{color:#8b9479;font-size:10px;line-height:1.8}.cost-line{justify-content:space-between;align-items:baseline;gap:15px;padding:12px 0;font-size:12px;display:flex}.cost-line+.cost-line{border-top:1px solid var(--line)}.cost-line span{color:var(--muted)}.cost-line strong{white-space:nowrap;color:#5e6d4b;font-weight:600}.estimate-panel .cost-line{font-size:10px}.guide{color:var(--muted);padding:24px 10px;font-size:11px;line-height:1.8}.guide summary{color:#6f7e59;cursor:pointer;margin-bottom:16px;font-family:Georgia,serif;font-size:18px}.guide p{margin-bottom:14px}.guide strong{color:#697953;font-weight:600}.ingredient-section{background:var(--paper);border:1px solid var(--line);border-radius:6px;margin-bottom:22px;padding:22px 25px}.ingredient-section .section-title{margin-bottom:12px}.ingredient-section .section-title h2{font-size:24px}.ingredient-row{border:1px solid #e0e3d6;border-radius:5px;margin-bottom:13px;padding:15px 13px 0;animation:.22s ease-out ingredient-in;box-shadow:0 2px #333b2804}.ingredient-top{align-items:center;gap:5px;display:flex}.ingredient-top>.field{flex:1}.ingredient-top>.icon-button{width:26px}.ingredient-top>.drag-handle{margin:8px 2px 0 0}.ingredient-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;display:grid}.ingredient-fields .field{margin-bottom:14px}.ingredient-fields .field>span{font-size:9px;line-height:1.5}.ingredient-fields input,.ingredient-fields select{padding:9px;font-size:12px}.ingredient-top .field>span{font-size:9px}.add-ingredient-empty{color:#8b9879;background:#f2f4e9;border:1px dashed #d0d9bd;border-radius:5px;justify-content:center;align-items:center;gap:10px;width:100%;padding:19px;font-size:12px;display:flex}.add-ingredient-empty:hover{background:#e7eddd}.add-ingredient-empty svg:last-child{margin-left:20px}.save-bar{z-index:15;background:#edeedf;border:1px solid #dce0ca;border-radius:6px;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;display:flex;position:sticky;bottom:15px;box-shadow:0 5px 20px #27351c0c}.save-bar>span{color:#7b8b67;align-items:center;gap:8px;font-size:11px;display:flex}.save-bar i{background:#7d985a;border-radius:50%;width:5px;height:5px}.save-bar .unsaved i{background:#ba8d45}.save-bar .unsaved{color:#9a7c48}.batch-overview{border:1px solid var(--line);background:#eeeee0;border-radius:6px;align-items:center;gap:28px;margin-bottom:28px;padding:23px 27px;display:flex}.batch-overview .inline-metrics{flex:1;margin:0}.detail-columns{grid-template-columns:minmax(0,1fr) 310px;gap:25px;display:grid}.snapshot-ingredients{margin-top:20px}.snapshot-ingredients>div{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:13px 0;font-size:11px;display:flex}.snapshot-ingredients strong{white-space:nowrap;color:#7e8e65;font-weight:500}.expense-editor{margin-top:22px;font-size:12px}.expense-editor summary{cursor:pointer;color:var(--muted);margin-bottom:15px}.expense-row{grid-template-columns:minmax(0,1fr) 90px 35px;gap:8px;margin-bottom:10px;display:grid}.measurement-form{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0 14px;display:grid}.measurement-form>.button{align-self:center}.measurement-form .field:last-of-type{grid-column:1/2}.history-timeline>div{grid-template-columns:10px 1fr;gap:5px 9px;padding:0 0 20px;font-size:12px;display:grid;position:relative}.history-timeline>div:not(:last-child):before{content:"";background:var(--line);width:1px;position:absolute;top:7px;bottom:0;left:3px}.history-timeline i{z-index:1;background:#96a775;border-radius:50%;width:7px;height:7px;margin-top:5px}.history-timeline small{grid-column:2;font-size:10px}.comparison{grid-template-columns:1fr 1fr;gap:25px;display:grid}.comparison>section{border:1px solid var(--line);background:#eef0e3;border-radius:5px;min-width:0;padding:20px;font-size:12px}.comparison h3{overflow-wrap:anywhere;font-size:21px}.comparison p{margin:12px 0}.comparison dl{grid-template-columns:1fr 1fr;gap:12px;padding:20px 0;font-size:11px;display:grid}.comparison dt{color:var(--muted)}.comparison dd{text-align:right;margin:0}.bottling-layout{grid-template-columns:1.15fr 1fr;gap:25px;display:grid}.bottle-input-row{grid-template-columns:1fr 1fr 35px;align-items:center;gap:10px;display:grid}.bottling-layout .section-title{margin-top:20px}.bottling-layout .form-grid{margin-top:25px}.priming-panel{background:#eeeedf;border:1px solid #d7dcc5;border-radius:6px;padding:25px}.priming-panel h3{margin:13px 0 24px;font-size:26px}.priming-result{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px;padding:20px 10px}.priming-result strong{color:#70834f;font-family:Georgia,serif;font-size:52px;font-weight:400;display:block}.priming-result span{color:var(--muted);font-size:10px;display:block}.priming-panel small{font-size:10px;line-height:1.8}.check-row{text-align:left;background:0 0;border:0;align-items:flex-start;gap:13px;width:100%;padding:13px 0;font-size:13px;line-height:1.6;display:flex}.check-box{background:#fffdf5;border:1.5px solid #c5ccb3;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:23px;height:23px;margin-top:0;transition:background .14s,border-color .14s;display:flex}.checked .check-box{color:#fffdf0;background:#6e8850;border-color:#6e8850;animation:.24s cubic-bezier(.3,1.5,.5,1) check-pop}.check-row.checked>span:last-child{color:#82916c}.check-row:hover .check-box{border-color:#829c5f}.brew-progress{background:#e2e6d4;border-radius:3px;height:4px;margin-bottom:30px;overflow:hidden}.brew-progress>div{background:#899e65;height:100%;transition:width .35s}.brew-layout{grid-template-columns:200px minmax(0,1fr) 260px;gap:25px;display:grid}.stages-panel{align-self:start}.stages-panel>.eyebrow{margin:8px 10px 20px;font-size:8px}.stages-panel nav{flex-direction:column;gap:5px;display:flex}.stages-panel nav button{text-align:left;color:#929c7f;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:12px;width:100%;padding:12px 10px;display:flex}.stages-panel nav button>span{color:#929b81;border:1px solid #d2d8c3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;font-size:10px;display:flex}.stages-panel nav button strong{font-size:11px;font-weight:600;display:block}.stages-panel nav button small{margin-top:4px;font-size:9px;display:block}.stages-panel nav button.current{color:#596f42;background:#e3e9d7;border-color:#d5dec4}.stages-panel nav button.current>span{color:#fff;background:#78925b;border-color:#78925b}.stages-panel nav button.completed>span{color:#789557;background:#dfe8d2;border-color:#cdd8bc}.stages-panel nav button>svg{margin-left:auto}.stages-panel>.button{margin-top:12px;font-size:10px}.brewing-help{border-top:1px solid var(--line);color:#a0a88c;margin-top:22px;padding:20px 10px}.brewing-help p{margin-top:10px;font-size:10px;line-height:1.85}.stage-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:7px;margin-bottom:23px;overflow:hidden}.stage-heading{border-bottom:1px solid var(--line);background:#f0f2e6;align-items:center;gap:15px;padding:28px;display:flex}.stage-number{color:#98a77c;font-family:Georgia,serif;font-size:34px}.stage-heading h2{margin-top:5px;font-size:31px}.stage-heading .eyebrow{font-size:8px}.stage-heading .badge{margin-left:auto}.stage-context{color:#9d8b5f;background:#f8f6ea;align-items:center;gap:9px;padding:17px 26px;font-size:11px;display:flex}.stage-context:empty{display:none}.stage-checklist{padding:8px 27px 20px}.step{border-bottom:1px solid #e5e8da;padding:9px 0}.step:last-child{border:0}.step time{color:#a0aa8f;margin-bottom:8px;margin-left:36px;font-size:9px;display:block}.step-value{margin:0 0 13px 36px}.step-input{flex-direction:column;align-items:flex-start;gap:9px;width:100%;display:flex}.step-input textarea{width:100%;min-height:120px}.step-input .button{min-height:32px;padding:8px 12px;font-size:10px}.measurement-input{color:#929c81;align-items:center;gap:12px;max-width:220px;font-size:11px;display:flex}.measurement-input input{width:145px!important;padding:9px!important;font-size:12px!important}.stage-actions{border-top:1px solid var(--line);background:#f2f3e9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:20px 23px;display:flex}.stage-actions .button{font-size:11px}.session-notes{padding:24px}.session-notes .section-title h2{font-size:22px}.session-notes svg{color:#a0a789}.brew-day-finish{text-align:center;flex-direction:column;align-items:center;gap:13px;padding:15px 10px 30px;display:flex}.brew-day-finish small{max-width:280px;font-size:10px}.timer-sidebar>.section-title{margin-bottom:13px}.timer-sidebar>.section-title h2{font-size:22px}.timer-shortcuts{gap:7px;margin-bottom:16px;display:flex}.timer-shortcuts .button{flex:1;min-height:35px;padding:9px;font-size:10px}.timer-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:7px;margin-bottom:17px;padding:17px 18px}.timer-label{justify-content:space-between;align-items:center;font-size:12px;display:flex}.timer-label .badge{font-size:8px}.timer-dial{width:172px;height:172px;margin:15px auto 3px;position:relative}.timer-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-dial circle{fill:none;stroke-width:4px}.ring-track{stroke:#e9eddf}.ring-progress{stroke:#9dac72;stroke-linecap:round;transition:stroke-dashoffset .9s linear}.timer-dial>div{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.timer-dial strong{color:#667c4d;font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:37px;font-weight:400}.timer-dial span{color:#9ba58b;font-size:9px}.timer-controls{justify-content:center;align-items:center;gap:3px;margin-bottom:8px;display:flex}.timer-controls .icon-button{color:#849c61;background:#e8eddd;border:1px solid #d7dfc8;width:34px;height:31px}.timer-controls .button{min-height:30px;padding:6px;font-size:10px}.timer-card>.button{min-height:33px;margin:4px auto;font-size:10px;display:flex}.timer-card.due{background:#faf0dc;border-color:#c99d60}.timer-card.due .ring-progress{stroke:#b47a3d}.timer-card.due .timer-dial strong{color:#a46b35}.timer-card.complete .timer-dial{width:110px;height:110px}.timer-card.complete{background:#f0f3e9}.timer-empty{color:#a3ad8b;text-align:center;background:#eef0e4;border:1px dashed #d2dbc1;border-radius:6px;padding:32px 15px 35px}.timer-empty>svg{margin:0 auto 17px}.timer-empty p{color:#8b9b70;margin-bottom:8px;font-family:Georgia,serif;font-size:21px}.timer-empty small{font-size:10px}.hop-events{margin:25px 0}.hop-events .section-title{margin-bottom:10px}.hop-events h2{font-size:21px}.hop-event{border-bottom:1px solid #e1e5d6;border-left:1px solid #d6ddc8;align-items:flex-start;gap:10px;margin-left:4px;padding:15px 12px;display:flex}.event-dot{width:7px;height:7px;box-shadow:0 0 0 3px var(--bg);background:#9cae7b;border-radius:50%;flex-shrink:0;margin:5px 0 0 -16px}.hop-event strong{font-size:11px;font-weight:600;line-height:1.65;display:block}.hop-event small{margin-top:4px;font-size:9px;display:block}.hop-event .button{min-height:30px;margin-top:10px;padding:7px 10px;font-size:9px}.hop-event.due{color:#986c34;background:#f7e8cc;border-color:#d9b780}.hop-event.due .event-dot{background:#bf8a44}.hop-event.complete{color:#8f9e79}.ingredient-pocket{border:1px solid var(--line);background:#eeeee2;border-radius:5px;margin-top:25px}.ingredient-pocket>button{background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:15px;font-size:11px;display:flex}.ingredient-pocket>div{padding:0 15px 10px}.ingredient-pocket>div>div{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;font-size:10px;display:flex}.ingredient-pocket strong{font-weight:600}.workflow-stage{border:1px solid var(--line);background:#f0f2e6;border-radius:5px;margin:20px 0;padding:16px}.workflow-stage-heading{align-items:center;gap:8px;margin-bottom:16px;display:flex}.workflow-stage-heading>input{flex:1;font-weight:600}.workflow-step{align-items:center;gap:6px;margin-bottom:9px;display:flex}.workflow-step>input{flex:1}.workflow-step select{width:130px;padding:10px;font-size:11px}.workflow-step .icon-button{width:25px}.brew-empty-hero{border:1px solid var(--line);color:#98a77c;background:#edeee0;border-radius:7px;flex-direction:column;align-items:center;padding:35px 20px;display:flex}.brew-empty-hero .empty{padding-top:10px}.brew-empty-hero .empty-icon{display:none}.inventory-summary{border:1px solid var(--line);background:#eeeee0;border-radius:7px;align-items:center;gap:55px;margin-bottom:18px;padding:25px 30px;display:flex}.inventory-summary>div{flex-direction:column;gap:8px;display:flex}.inventory-summary>div:first-child{grid-template-columns:35px 1fr;align-items:center;gap:6px 15px;display:grid}.inventory-summary svg{color:#9ca980;grid-row:1/3}.inventory-summary strong{color:#64774b;font-family:Georgia,serif;font-size:35px;font-weight:400;animation:.24s number-pop}.inventory-summary span{color:#949d82;font-size:10px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.inventory-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;gap:23px;min-width:0;padding:24px;display:flex}.inventory-card>.label-art{align-self:flex-start;width:82px;min-height:110px}.inventory-card-body{flex:1;min-width:0}.inventory-card h3{margin:8px 0 5px;font-size:25px}.inventory-card p{color:var(--muted);font-size:11px}.inventory-card .eyebrow{font-size:8px}.bottle-count{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:20px;display:flex}.bottle-count strong{color:#6d8054;font-family:Georgia,serif;font-size:35px;font-weight:400;animation:.3s cubic-bezier(.2,1.5,.4,1) number-pop}.bottle-count>span{color:var(--muted);font-size:10px}.bottle-count>.badge{margin-left:auto;font-size:8px}.bottle-visual{align-items:flex-end;gap:4px;min-height:60px;padding:16px 0 22px;display:flex}.bottle-visual>span{background:#8c9d66;border-radius:2px;width:10px;height:25px;animation:.26s ease-out backwards bottle-in;position:relative;box-shadow:inset -3px 0 #66774c}.bottle-visual>span:before{content:"";background:#8c9d66;border-radius:1px;width:5px;height:9px;position:absolute;top:-7px;left:2px}.bottle-visual>span:after{content:"";background:#e3d4a6;border:1px solid #cfbe92;width:8px;height:9px;position:absolute;top:9px;left:1px}.bottle-visual small{margin-left:3px;font-size:9px}.inventory-card .button{min-height:34px;padding:8px 11px;font-size:10px}.notebook-layout{grid-template-columns:270px minmax(0,1fr);gap:27px;display:grid}.notebook-layout>aside,.notebook-layout .search{min-width:0}.note-list{flex-direction:column;gap:7px;padding:17px 0;display:flex}.note-list>button{text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:flex-start;gap:11px;width:100%;min-width:0;padding:16px 12px;display:flex}.note-list>button.active{background:#e7ecdb;border-color:#dce3cc}.note-list>button:hover{background:#e8ecdf}.note-list svg{color:#a1ad88;margin-top:2px}.note-list>button>div{min-width:0}.note-list strong{font-family:Georgia,serif;font-size:17px;font-weight:400;line-height:1.4;display:block}.note-list span{color:#8d967d;text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:10px;line-height:1.7;display:block;overflow:hidden}.note-list small{margin-top:8px;font-size:8px;display:block}.note-editor{background:var(--paper);border:1px solid var(--line);border-radius:6px;min-width:0;padding:25px 30px}.note-editor-toolbar{align-items:center;gap:12px;margin-bottom:25px;display:flex}.note-editor-toolbar .eyebrow{margin-right:auto;font-size:8px}.save-state{color:#93a178;font-size:9px}.note-editor-toolbar .button{min-height:30px;padding:8px;font-size:10px}.note-title-input{width:100%;margin-bottom:23px;border:0!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:12px 0 22px!important;font-family:Georgia,serif!important;font-size:31px!important}.notebook-paper{width:100%;min-height:380px;margin-bottom:25px;background:repeating-linear-gradient(var(--paper),var(--paper) 31px,#d4dcc333 32px)!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:4px 0!important;font-size:13px!important;line-height:32px!important}.markdown{min-height:380px;padding:15px 0}.markdown p{margin:7px 0}.markdown h2,.markdown h3,.markdown h4{margin:23px 0 13px}.markdown-list{padding-left:20px}.stats .metric{flex-direction:column;gap:8px;display:flex}.stats .metric-value{font-size:30px}.statistics-columns{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.bar-chart{padding-top:15px}.bar-chart>div{color:var(--muted);align-items:center;gap:15px;margin-bottom:25px;font-size:12px;display:flex}.bar-chart>div>div{background:#e9eddf;border-radius:3px;flex:1;height:24px;overflow:hidden}.bar-chart i{transform-origin:0;background:#9bac7a;border-radius:3px;height:100%;animation:.5s ease-out bar-in;display:block}.bar-chart strong{color:#7f9164;min-width:15px;font-weight:500}.settings-layout{grid-template-columns:minmax(0,1fr) 290px;gap:28px;display:grid}.settings-layout .section-title:not(:first-child){margin-top:35px}.settings-layout .full-width{margin:15px 0 0;font-size:10px}.settings-layout small{margin-top:18px;font-size:10px;display:block}.settings-layout .check-row{font-size:12px}.theme-picker{grid-template-columns:1fr 1fr;gap:15px;margin:10px 0 20px;display:grid}.theme-picker>button{color:#7a8a62;background:#f8f5eb;border:1px solid #dce0d0;border-radius:5px;align-items:center;gap:10px;padding:17px;font-size:11px;display:flex}.theme-picker>button:nth-child(2){color:#d7d8b9;background:#314336;border-color:#314336}.theme-picker .selected{box-shadow:0 0 0 2px #94a274!important}.theme-picker i{border:1px solid #b9c3a7;border-radius:50%;width:10px;height:10px;margin-left:auto}.theme-picker .selected i{background:#8fa66d;border-color:#8fa66d;box-shadow:0 0 0 2px #ecefde}.equipment-profile{border-top:1px solid var(--line);padding:23px 0 3px}.equipment-profile .button-group{justify-content:space-between}.settings-footnote{text-align:center;color:#9caa7d;padding:28px 20px}.settings-footnote svg{margin-bottom:17px}.settings-footnote h3{color:#7d9060;font-size:23px}.settings-footnote p{color:#98a282;margin:13px 0 24px;font-size:11px}.settings-footnote>span{letter-spacing:1.8px;font-size:8px}.toast{z-index:100;color:#f6f1dc;background:#314b37;border:1px solid #556b42;border-radius:6px;align-items:center;gap:11px;width:max-content;max-width:calc(100vw - 40px);padding:16px 23px;font-size:12px;animation:.22s cubic-bezier(.1,.8,.3,1) toast-in;display:flex;position:fixed;bottom:27px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 6px 30px #172a2026}.toast svg{color:#c7d69e}.toast.celebration{color:#5f623e;background:#ecdfb9;border-color:#d7c892}.toast.celebration>svg{color:#768c4c}.confetti{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.confetti i{width:5px;height:8px;transform:rotate(calc(var(--i) * 30deg));--angle:calc(var(--i) * 22.5deg);background:#8e9f60;animation:1.3s cubic-bezier(.1,.7,.5,1) both confetti;position:absolute;top:50%;left:50%}.confetti i:nth-child(3n){background:#d1a464}.confetti i:nth-child(3n+1){background:#ddc28b}.startup{flex-direction:column;justify-content:center;align-items:center;gap:25px;min-height:100vh;padding:30px;display:flex}.startup p{color:var(--muted);font-size:12px}.loading-bar{background:#d8dfc8;border-radius:5px;width:220px;height:6px}.skeleton{animation:1.3s ease-in-out infinite skeleton}.login-layout{grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.login-story{color:#eadcb9;background:#293f34;flex-direction:column;justify-content:space-between;padding:45px 55px 30px;display:flex;position:relative;overflow:hidden}.login-story .brand{color:#e0c38f}.login-story .brand-mark{width:51px;height:51px}.login-story>div:nth-child(2){width:100%;max-width:420px;margin:50px auto 15px}.login-story .eyebrow{color:#b4b997;font-size:9px}.login-story h1{color:#eedebc;margin:22px 0;font-size:48px;line-height:1.2}.login-story p{color:#bfc4ad;font-size:13px;line-height:1.8}.login-story .brewery-art{width:100%;max-width:390px;margin:30px auto 10px;display:block}.login-footer{letter-spacing:2px;color:#a2ae87;font-size:8px}.login-form{place-self:center;width:100%;max-width:440px;padding:50px 45px}.private-seal{color:#85985f;background:#e6ebd9;border:1px solid #dce1cc;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:35px;display:flex}.login-form>.eyebrow{font-size:9px}.login-form h2{white-space:nowrap;margin:14px 0 10px;font-size:35px}.login-form>p{color:var(--muted);margin-bottom:35px;font-size:12px}.login-form .field{margin-bottom:22px}.login-form .field>span{font-size:11px}.login-form input{padding:13px!important}.login-form .button{width:100%;min-height:45px;margin-top:8px}.login-form>small{color:#a1a58e;justify-content:center;align-items:center;gap:6px;margin-top:30px;font-size:9px;display:flex}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes steam{0%,to{opacity:.3;transform:translateY(2px)}50%{opacity:.55;transform:translateY(-5px)}}@keyframes bubbles{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.8;transform:translateY(-6px)}}@keyframes check-pop{0%{transform:scale(.8)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes ingredient-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes number-pop{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes bottle-in{0%{opacity:0;transform:scale(.8)translateY(6px)}to{opacity:1;transform:none}}@keyframes bar-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes skeleton{50%{opacity:.4}}@keyframes confetti{0%{transform:rotate(var(--angle)) translate(0) rotate(0);opacity:1}to{transform:rotate(var(--angle)) translate(160px) rotate(300deg);opacity:0}}[data-theme=dark]{--bg:#242d25;--paper:#2c382c;--sidebar:#263127;--ink:#e3e1cc;--muted:#a1ad91;--line:#43503c;--green:#88a46d;--green-soft:#3a4a32;background:var(--bg);color:var(--ink)}[data-theme=dark] .brand{color:#b8c897}[data-theme=dark] .sidebar nav a{color:#a7b496}[data-theme=dark] .sidebar nav a.active{color:#d8e4bc;background:#3e5134}[data-theme=dark] .sidebar nav a:hover{background:#3b4a32}[data-theme=dark] .button.primary{color:#23311d}[data-theme=dark] .button.secondary{background:#34422f}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=dark] textarea,[data-theme=dark] select{color:var(--ink);background:#293426;border-color:#536047}[data-theme=dark] .field>span{color:#b0bd9b}[data-theme=dark] .paper-panel,[data-theme=dark] .recipe-card,[data-theme=dark] .note-editor{box-shadow:none}[data-theme=dark] .metric-value,[data-theme=dark] .inline-metrics strong,[data-theme=dark] .cost-line strong,[data-theme=dark] .recipe-stats strong{color:#c4d3a8}[data-theme=dark] .metric:hover,[data-theme=dark] tbody tr:hover{background:#35442f}[data-theme=dark] th{color:#b0be9b;background:#34432c}[data-theme=dark] td{color:#bbc5aa}[data-theme=dark] .estimate-panel,[data-theme=dark] .batch-overview,[data-theme=dark] .inventory-summary,[data-theme=dark] .timer-empty,[data-theme=dark] .save-bar,[data-theme=dark] .calendar-empty,[data-theme=dark] .brew-empty-hero,[data-theme=dark] .stage-heading,[data-theme=dark] .priming-panel,[data-theme=dark] .ingredient-pocket,[data-theme=dark] .workflow-stage{background:#33432c;border-color:#4c5e3d}[data-theme=dark] .beer-card-art{border-color:#4b5940;background:#37432e!important}[data-theme=dark] .notebook-link,[data-theme=dark] .tasting{background:#45432f;border-color:#626043}[data-theme=dark] .stage-context,[data-theme=dark] .stage-actions{background:#303d28}[data-theme=dark] .note-list>button.active,[data-theme=dark] .stages-panel nav button.current{background:#3b4d31;border-color:#536741}[data-theme=dark] .add-ingredient-empty{background:#34442b;border-color:#546943}[data-theme=dark] .ingredient-row{border-color:#4a5a3d}[data-theme=dark] .check-box{background:#304028;border-color:#6a7c51}[data-theme=dark] .checked .check-box{color:#21321d;background:#829d60}[data-theme=dark] .badge{color:#c0c9a8;background:#3e4b33}[data-theme=dark] .timer-card.due{background:#4b422a;border-color:#8b7444}[data-theme=dark] .timer-card.complete{background:#34472b}[data-theme=dark] .comparison>section{background:#36472c}@media(min-width:1550px){.main-content{padding:42px 55px 60px}.dashboard-hero{min-height:330px}.dashboard-hero h2{font-size:45px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 320px}.beer-shelf{gap:25px}.brew-layout{grid-template-columns:225px minmax(0,1fr) 280px}.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1250px){.sidebar{width:200px;padding:30px 15px 18px}.workspace{margin-left:200px}.brand{gap:9px}.brand-mark{width:41px;height:41px}.brand strong{font-size:17px}.brand span{font-size:8px}.topbar{padding:0 27px}.main-content{padding:30px 27px 40px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 245px;gap:25px}.metric{grid-template-columns:28px 1fr;column-gap:8px;padding:20px 16px}.metric-value{font-size:28px}.metric>svg{display:none}.beer-shelf{gap:12px}.beer-card-art{padding:12px 12px 30px}.beer-card-info h3{font-size:19px}.dashboard-hero{padding:33px}.dashboard-hero h2{font-size:36px}.dashboard-hero p{max-width:280px}.brewery-art{width:42%;min-width:220px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.ingredient-section{padding:20px}.estimate-panel{padding:21px}.detail-columns{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.paper-panel{padding:23px}.brew-layout{grid-template-columns:160px minmax(0,1fr) 220px;gap:17px}.stages-panel nav button{gap:8px;padding:12px 5px}.stages-panel nav button strong{font-size:10px}.stages-panel nav button small{font-size:8px}.stages-panel nav button>span{width:24px;height:24px}.stages-panel>.eyebrow{letter-spacing:1px;font-size:7px}.stage-heading{padding:23px}.stage-checklist{padding:6px 20px 17px}.stage-actions{padding:17px 12px}.stage-actions .button{padding:9px;font-size:10px}.timer-card{padding:15px 12px}.timer-dial{width:155px;height:155px}.timer-label{font-size:11px}.timer-shortcuts .button{gap:4px;padding:8px 6px;font-size:9px}.settings-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.inventory-grid{grid-template-columns:1fr}.inventory-card{gap:25px;padding:25px}.inventory-card>.label-art{width:100px;min-height:140px}.notebook-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.note-editor{padding:23px}.active-brew{margin-left:27px;margin-right:27px}.app-footer{margin:0 27px}}@media(max-width:1050px){.dashboard-columns{grid-template-columns:1fr}.timeline-section{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.timeline-section>.section-title{grid-column:1/-1}.calendar-empty{min-height:170px}.notebook-link{margin:0}.beer-shelf .label-art{min-height:160px;max-height:230px}.brew-layout{grid-template-columns:minmax(0,1fr) 240px;gap:22px}.stages-panel{grid-column:1/-1}.stages-panel>.eyebrow,.stages-panel .brewing-help{display:none}.stages-panel nav{flex-direction:row;gap:10px;padding-bottom:5px;overflow-x:auto}.stages-panel nav button{flex-shrink:0;width:auto;min-width:145px;padding:12px}.stages-panel>.button{float:right;margin:4px 0 0}.stage-heading h2{font-size:30px}.recipe-sidebar{position:static}.beer-detail-grid{grid-template-columns:195px minmax(0,1fr);gap:30px}.settings-layout{grid-template-columns:1fr}.settings-layout>aside{grid-template-columns:1fr 1fr;gap:20px;display:grid}.settings-layout>aside .paper-panel{margin:0}.settings-footnote{display:none}.detail-columns{grid-template-columns:1fr}.detail-columns>aside{grid-template-columns:1fr 1fr;align-items:start;gap:0 20px;display:grid}.detail-columns>aside .source-details{grid-column:1/-1;margin-bottom:22px}.detail-columns>aside .history-timeline{max-height:300px;overflow:auto}.batch-overview .inline-metrics{gap:16px}.inline-metrics strong{font-size:26px}.batch-overview{padding:20px}.metric-grid{margin-bottom:30px}.stats{grid-template-columns:1fr 1fr}.stats .metric:nth-child(3){border-left:0;border-top:1px solid var(--line)}.stats .metric:nth-child(4){border-top:1px solid var(--line)}}@media(max-width:850px){.sidebar{width:180px;padding:28px 10px 18px}.workspace{margin-left:180px}.brand-mark{width:36px;height:36px}.brand strong{letter-spacing:1.5px;font-size:15px}.brand span{letter-spacing:1.8px;font-size:7px}.brand-mark svg{width:23px}.sidebar nav a{gap:10px;padding:12px 11px;font-size:11px}.main-content{padding:28px 23px 40px}.topbar{padding:0 23px}.page-title{align-items:flex-start}.page-title h1{font-size:31px}.page-title>.button-group{justify-content:flex-end}.page-title>.button{min-width:110px;padding:10px;font-size:10px}.dashboard-hero{padding:28px}.dashboard-hero h2{font-size:33px}.dashboard-hero .brewery-art{opacity:.65;width:230px;position:absolute;bottom:3px;right:-35px}.dashboard-hero p{max-width:280px}.dashboard-hero>div:first-child{max-width:75%}.hero-stamp{width:53px;height:53px;top:18px;right:19px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric:nth-child(3){border-left:0;border-top:1px solid var(--line)}.metric:nth-child(4){border-top:1px solid var(--line)}.metric{grid-template-columns:35px 1fr;padding:20px 21px}.editor-layout{grid-template-columns:1fr}.recipe-sidebar{grid-template-columns:1fr 1fr;gap:20px;display:grid}.estimate-panel{padding:22px}.guide{padding:20px 5px}.catalog-grid{gap:20px}.recipe-grid{gap:17px}.recipe-card{padding:21px}.brew-layout{grid-template-columns:minmax(0,1fr)}.timer-sidebar{grid-template-columns:1fr 1fr;gap:15px;display:grid}.timer-sidebar>.section-title,.timer-shortcuts,.hop-events,.ingredient-pocket{grid-column:1/-1}.timer-shortcuts{justify-content:flex-start}.timer-shortcuts .button{flex:0}.timer-card{margin:0}.timer-empty{grid-column:1/-1}.timer-sidebar>.section-title{margin:7px 0 0}.hop-events{margin-top:15px}.hop-events .hop-event{margin-left:10px}.notebook-layout{grid-template-columns:1fr}.notebook-layout>aside{flex-direction:column;gap:15px;display:flex}.note-list{flex-direction:row;padding:0 0 8px;display:flex;overflow-x:auto}.note-list>button{min-width:200px;max-width:230px}.note-list span{max-width:170px}.note-editor-toolbar{gap:7px}.statistics-columns{grid-template-columns:1fr}.login-story{padding:40px}.login-story h1{font-size:40px}.login-form{padding:35px}.login-form h2{font-size:30px}.bottling-layout{grid-template-columns:1fr 1fr;gap:20px}}@media(max-width:680px){body{min-width:360px}.sidebar{width:255px;padding:28px 23px 25px;transition:transform .2s;transform:translate(-100%);box-shadow:15px 0 50px #172e2120}.sidebar.open{transform:none}.brand strong{font-size:20px}.brand span{font-size:9px}.brand-mark{width:48px;height:48px}.brand-mark svg{width:29px}.sidebar nav a{gap:14px;padding:13px 15px;font-size:13px}.sidebar nav a svg{width:20px}.sidebar-rule{margin:25px 7px}.sidebar-bottom{padding-top:18px}.sidebar .brewery-sign{padding:10px 0 20px}.menu-scrim{z-index:25;background:#1c2f2366;border:0;position:fixed;top:0;right:0;bottom:0;left:0}.workspace{width:100%;margin-left:0}.topbar{height:61px;padding:0 19px}.topbar>div{gap:10px}.mobile-menu{width:29px;height:29px;padding:3px;display:flex}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 6px}.topbar-right{gap:11px!important}.connection{font-size:9px}.connection>span{display:none}.avatar{width:27px;height:27px;font-size:9px}.main-content{padding:27px 20px 35px}.page-title{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:23px;display:flex}.page-title .eyebrow{letter-spacing:1.5px;margin-bottom:10px;font-size:8px}.page-title h1{letter-spacing:-.8px;font-size:29px}.page-title h1+p{margin-top:10px;font-size:11px;line-height:1.7}.page-title>.button{min-width:auto;min-height:35px;padding:9px 12px;font-size:10px}.page-title>.button-group{justify-content:flex-start}.page-title .button-group>.button{min-height:35px;padding:10px 12px;font-size:10px}.page-title>select{padding:9px;font-size:11px}.bottom-nav{height:65px;padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:20;background:#f5f4eaf5;border-top:1px solid #d9dfca;justify-content:space-around;min-height:65px;display:flex;position:fixed;inset:auto 0 0}.bottom-nav>a,.bottom-nav>button{color:#9da58e;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;font-size:8px;display:flex}.bottom-nav>a.active{color:#5d7741}.bottom-nav>a.active svg{stroke-width:2.5px}.workspace{padding-bottom:70px}.dashboard-hero{min-height:277px;padding:27px 25px}.dashboard-hero h2{margin:16px 0 12px;font-size:32px}.dashboard-hero p{max-width:215px;margin-bottom:20px;font-size:11px;line-height:1.85}.dashboard-hero>div:first-child{max-width:92%}.dashboard-hero>.brewery-art{opacity:.5;width:190px;min-width:0;bottom:3px;right:-45px}.dashboard-hero .eyebrow{letter-spacing:1.5px;font-size:7px}.dashboard-hero .button{padding:11px 14px;font-size:10px}.hero-stamp{opacity:.35;width:43px;height:43px;top:20px;right:19px}.hero-stamp svg{width:16px}.hero-stamp span{font-size:5px}.dashboard-hero:before{top:7px;right:7px;bottom:7px;left:7px}.metric-grid{margin:18px 0 28px}.metric{grid-template-columns:25px 1fr;column-gap:10px;min-height:91px;padding:20px}.metric-icon svg{width:19px}.metric-value{font-size:29px}.metric>span:not(.metric-value){margin-top:6px;font-size:9px}.section-title{margin-bottom:18px}.section-title h2{font-size:23px}.section-title p{max-width:230px;font-size:10px;line-height:1.7}.section-title>.text-link{gap:4px;font-size:9px}.section-title>.text-link svg{width:12px}.dashboard-columns{gap:28px;margin-bottom:30px}.beer-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.beer-shelf>.beer-card:nth-child(3){display:none}.beer-card-art{padding:13px 14px 30px}.beer-shelf .label-art{min-height:150px;max-height:none}.beer-card-info{padding:13px 2px 3px}.beer-card-info h3{font-size:21px}.beer-card-info .eyebrow{font-size:7px}.beer-card-info p{font-size:10px}.beer-card-info small{font-size:9px}.stock-tag{padding:3px 4px;font-size:8px;bottom:8px;left:9px}.beer-card-info>div{margin-top:11px;padding-top:10px}.timeline-section{grid-template-columns:1fr;gap:15px}.timeline-section>.section-title{margin-bottom:0}.calendar-empty{min-height:170px}.notebook-link{margin-top:0;padding:18px}.calendar-empty p br,.calendar-empty small br{display:none}.calendar-empty{gap:12px}.calendar-empty p{font-size:21px}.app-footer{gap:8px;margin:0 20px;padding:19px 0;font-size:8px}.app-footer span:first-child{font-size:10px}.app-footer svg{width:12px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 17px}.catalog-grid .label-art{min-height:150px}.toolbar{gap:13px;padding:7px 0 24px}.toolbar>.search{flex-basis:100%;max-width:none}.toolbar>select{padding:9px;font-size:10px}.toolbar .button{min-height:33px;padding:8px;font-size:10px}.inline-check{font-size:10px}.toolbar .inline-check{gap:6px}.toolbar .inline-check input{width:15px;height:15px}th{padding:12px 14px;font-size:8px}td{padding:15px 14px;font-size:11px}table{min-width:460px}.table-wrap{margin-bottom:6px}.empty{min-height:260px;padding:35px 12px}.empty h3{font-size:25px;line-height:1.3}.empty p{font-size:11px;line-height:1.85}.empty .button{font-size:11px}.paper-panel{margin-bottom:20px;padding:21px}.paper-panel .empty{padding:16px 0 22px}.empty-icon{margin-bottom:12px}.modal{border-radius:7px;max-width:calc(100vw - 24px);max-height:92dvh}.modal-inner{padding:24px 21px}.modal header{margin-bottom:24px}.modal h2{font-size:26px}.modal header .eyebrow{font-size:7px}.field>span{font-size:10px}.field{margin-bottom:18px}.form-grid{gap:0 13px}.form-grid .field>span{line-height:1.55}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{padding:11px 10px;font-size:14px}input,textarea,select{scroll-margin-bottom:100px}.field small{font-size:9px}.form-actions{flex-wrap:wrap;gap:8px;padding-top:18px}.form-actions .button{font-size:11px}.beer-detail-grid{grid-template-columns:1fr;gap:23px}.beer-detail-grid>aside{max-width:240px;margin:0 auto}.beer-detail-grid>aside>.label-art{max-height:300px}.beer-detail-grid>aside>small{text-align:center;font-size:9px;display:block}.inline-metrics{gap:20px;margin-top:25px}.inline-metrics strong{font-size:29px}.inline-metrics span{font-size:9px}.detail-intro{padding:0 0 24px}.tasting{padding:20px 23px}.prose{font-size:13px}.record-list>a{gap:11px;padding:18px 0}.record-list strong{font-size:12px}.record-list small{font-size:10px}.record-list .badge{font-size:8px}.recipe-grid{grid-template-columns:1fr;gap:20px}.recipe-card{padding:24px}.recipe-card h2{font-size:28px}.recipe-heading{margin-bottom:20px}.recipe-stats{margin:24px 0}.recipe-card footer{font-size:10px}.recipe-sidebar{grid-template-columns:1fr}.guide{padding:7px 4px 15px}.estimate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px}.estimate-grid strong{font-size:23px}.beer-colour{width:85px;height:105px}.ingredient-section{margin-bottom:20px;padding:20px 17px}.ingredient-row{padding:13px 11px 0}.ingredient-top{flex-wrap:wrap;gap:4px}.ingredient-top>.field{flex-basis:calc(100% - 22px);margin-bottom:5px}.ingredient-top>.drag-handle{width:12px}.ingredient-top>.icon-button{width:30px;margin-bottom:9px}.ingredient-top>.icon-button:first-of-type{margin-left:auto}.ingredient-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}.ingredient-fields .field>span{font-size:9px}.ingredient-fields input,.ingredient-fields select{padding:9px!important;font-size:13px!important}.ingredient-section .section-title{margin-bottom:12px}.ingredient-section .section-title h2{font-size:25px}.ingredient-section .section-title .button{font-size:10px}.recipe-form .paper-panel .section-title h2{font-size:24px}.save-bar{padding:12px 13px;bottom:77px}.save-bar>span{gap:6px;font-size:9px}.save-bar .button{min-height:35px;padding:10px 13px;font-size:10px}.batch-overview{gap:18px;padding:18px}.batch-overview>.label-art{display:none}.batch-overview .inline-metrics{grid-template-columns:1fr 1fr;gap:20px;display:grid}.batch-overview .inline-metrics strong{font-size:29px}.detail-columns>aside{display:block}.measurement-form{gap:0 12px}.measurement-form .button{font-size:10px}.expense-row{grid-template-columns:minmax(0,1fr) 75px 30px;gap:6px}.expense-row input{padding:9px!important;font-size:12px!important}.bottling-layout{grid-template-columns:1fr}.bottling-layout .check-row{font-size:12px}.priming-panel{padding:23px}.comparison{gap:13px}.comparison>section{padding:15px}.comparison h3{font-size:18px}.comparison p{font-size:10px}.comparison dl{grid-template-columns:1fr;gap:7px}.comparison dd{text-align:left;margin-bottom:8px}.active-brew{flex-wrap:wrap;gap:7px;margin:14px 20px -7px;padding:10px 12px;font-size:10px}.active-brew .push-right,.active-brew>span:not(.push-right):not(.live-dot){font-size:9px}.active-brew .push-right svg{width:13px}.connection-banner,.conflict-banner{padding:12px 20px;font-size:10px;line-height:1.7}.conflict-banner .button{min-height:30px;padding:8px 11px;font-size:9px}.brew-layout{gap:21px}.stages-panel nav button{min-width:140px}.stages-panel nav button strong{font-size:10px}.stage-heading{gap:15px;padding:23px}.stage-heading h2{font-size:31px}.stage-number{font-size:36px}.stage-context{padding:16px 22px;font-size:10px;line-height:1.7}.stage-checklist{padding:5px 22px 17px}.check-row{gap:13px;min-height:48px;padding:14px 0;font-size:13px}.check-box{width:24px;height:24px}.stage-actions{justify-content:center;gap:8px;padding:18px 12px}.stage-actions .button{font-size:10px}.stage-actions .button.ghost{padding:8px}.session-notes{padding:22px}.timer-sidebar{gap:15px}.timer-card{padding:15px 10px}.timer-dial{width:140px;max-width:100%;height:140px}.timer-dial strong{font-size:30px}.timer-label{flex-direction:column;justify-content:center;gap:8px;font-size:12px}.timer-controls{flex-wrap:wrap;gap:3px}.timer-controls .button{min-height:28px;padding:5px;font-size:9px}.timer-controls .icon-button{width:27px;height:28px}.timer-card>.button{min-height:30px;padding:8px;font-size:9px}.timer-shortcuts .button{min-height:37px;padding:10px 15px;font-size:10px}.hop-event strong{font-size:12px}.hop-event small,.hop-event .button{font-size:10px}.workflow-stage{padding:13px}.workflow-stage-heading>input{padding:10px!important;font-size:12px!important}.workflow-step{border-top:1px solid var(--line);flex-wrap:wrap;margin-bottom:13px;padding-top:10px}.workflow-step>input{flex-basis:100%;width:100%;font-size:12px!important}.workflow-step select{flex:1;padding:9px!important;font-size:11px!important}.workflow-stage .button,.brew-day-finish small{font-size:10px}.inventory-summary{flex-wrap:wrap;gap:25px;padding:23px 20px}.inventory-summary>div:first-child{flex-basis:100%;grid-template-columns:30px 1fr;gap:5px 15px}.inventory-summary>div:first-child>strong{font-size:45px}.inventory-summary>div:not(:first-child){flex:1}.inventory-summary strong{font-size:29px}.inventory-summary span{font-size:9px;line-height:1.6}.inventory-card{gap:17px;padding:20px}.inventory-card>.label-art{width:65px;min-height:90px}.inventory-card-body{min-width:0}.inventory-card h3{font-size:25px}.bottle-count{gap:5px;margin-top:17px}.bottle-count>.badge{flex-basis:auto;margin-left:0}.bottle-count>strong{font-size:33px}.bottle-count>span{font-size:9px}.inventory-card .button{min-height:33px;padding:8px 10px;font-size:9px}.inventory-card .button-group{gap:7px}.bottle-visual{gap:3px}.bottle-visual>span{width:8px;height:21px}.bottle-visual>span:before{width:4px;left:2px}.bottle-visual>span:after{width:6px;height:8px;left:1px}.note-editor{padding:22px 20px}.note-editor-toolbar .eyebrow{letter-spacing:1.3px;font-size:7px}.note-editor-toolbar{flex-wrap:wrap}.note-title-input{font-size:28px!important}.save-state{font-size:8px}.notebook-paper{min-height:330px;font-size:13px!important}.note-editor-toolbar .button{padding:7px;font-size:9px}.notebook-layout{gap:20px}.note-list>button{min-width:200px;padding:14px 10px}.stats .metric{padding:22px 18px}.stats .metric-value{font-size:29px}.settings-layout>aside{grid-template-columns:1fr}.settings-layout .section-title{flex-wrap:wrap}.settings-layout .section-title h2{font-size:24px}.settings-layout .section-title .button{font-size:10px}.settings-layout .check-row{font-size:12px}.theme-picker{gap:12px}.theme-picker>button{gap:8px;padding:15px;font-size:10px}.theme-picker svg{width:18px}.settings-layout>aside .paper-panel{margin-bottom:0}.settings-layout .upload{width:100%;font-size:10px}.toast{max-width:calc(100vw - 32px);padding:14px 17px;font-size:11px;line-height:1.6;bottom:83px;left:50%}.toast svg{width:17px}.login-layout{grid-template-columns:1fr}.login-story{min-height:250px;padding:28px 30px 20px}.login-story .brand-mark{width:40px;height:40px}.login-story .brand strong{font-size:17px}.login-story .brand span{font-size:8px}.login-story>div:nth-child(2){margin:28px 0 12px}.login-story h1{margin:12px 0 10px;font-size:34px;line-height:1.2}.login-story .eyebrow{font-size:7px}.login-story p{max-width:220px;font-size:11px}.login-story .brewery-art{opacity:.5;width:200px;min-width:0;position:absolute;bottom:10px;right:-30px}.login-footer{display:none}.login-form{max-width:420px;padding:35px 30px 45px}.private-seal{width:43px;height:43px;margin-bottom:25px}.private-seal svg{width:19px}.login-form h2{font-size:32px}.login-form>p{margin-bottom:25px}.login-form .eyebrow{font-size:8px}.login-form .button{font-size:12px}.login-form input{font-size:16px!important}[data-theme=dark] .bottom-nav{background:#2c392bf2;border-color:#47553c}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.art-steam,.art-bubbles,.confetti{animation:none!important}.confetti{display:none}}[data-effects=false] .art-steam,[data-effects=false] .art-bubbles,[data-effects=false] .confetti,[data-effects=false] .bottle-visual>span,[data-effects=false] .bottle-count strong,[data-effects=false] .metric-value,[data-effects=false] .checked .check-box{animation:none!important}[data-effects=false] .confetti{display:none}.comparison dl:has(.comparison-metric){display:block}.comparison-metric{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.comparison-metric[data-different=true]{color:var(--copper);font-weight:700}.stock-size-button{color:var(--muted);margin-top:6px;font-size:10px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
