:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211f;background:#f3f5f4;font-synthesis:none;--ink:#17211f;--muted:#68746f;--line:#dfe5e2;--soft:#f7f9f8;--green:#a8c73c;--green-dark:#6f8f15;--teal:#157c74;--red:#c94f4f;--amber:#d8942a;letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f3f5f4}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin:0}input,select,textarea{width:100%;border:1px solid #ccd5d1;border-radius:5px;background:#fff;color:var(--ink);padding:9px 10px;outline:none;min-height:38px}input:focus,select:focus,textarea:focus{border-color:#7d9f20;box-shadow:0 0 0 3px #a8c73c22}textarea{resize:vertical}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#202826;color:#d9e0dd;padding:18px 13px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:2px 6px 24px}.brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.brand div{display:flex;flex-direction:column}.brand strong{font-size:21px;color:#fff}.brand span{font-size:11px;color:#99a7a1;text-transform:uppercase}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav button,.logout{border:0;background:transparent;color:#b9c4bf;display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:5px;text-align:left;min-height:42px}.sidebar nav button:hover,.sidebar nav button.active{background:#323d3a;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--green)}.sidebar nav b{margin-left:auto;background:var(--amber);color:#fff;font-size:11px;border-radius:10px;padding:2px 6px}.logout{margin-top:auto}.logout:hover{background:#382b2b;color:#fff}.workspace{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:15}.topbar p{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:700}.topbar h1{font-size:21px;line-height:1.2}.top-status{display:flex;align-items:center;gap:10px}.top-status span{display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:6px 9px;border-radius:5px;font-size:12px;color:var(--muted)}.status-ok{color:var(--teal)!important;background:#e9f6f4}.status-muted{background:#f7f7f7}.page{padding:24px 28px 60px;max-width:1540px;margin:auto}.stack{display:flex;flex-direction:column;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 1px 2px #17211f08}.panel-title{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.panel-title>div{display:flex;align-items:center;gap:9px}.panel-title svg{color:var(--green-dark)}.panel-title h3{font-size:15px}.page-actions{display:flex;align-items:center;justify-content:space-between}.page-actions h2{font-size:22px}.page-actions p{font-size:13px;color:var(--muted);margin-top:3px}.page-actions>div:last-child{display:flex;gap:8px}.primary,.secondary,.small-button,.text-button,.back-button{border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;min-height:38px;padding:8px 13px}.primary{background:#77991c;color:#fff}.primary:hover{background:#648216}.secondary{background:#edf1ef;color:#31403b}.secondary:hover{background:#e2e8e5}.secondary.compact{min-height:34px;padding:6px 9px;font-size:12px}.small-button{min-height:32px;padding:5px 9px;background:#eef2f0;color:#37443f;font-size:12px}.small-button:hover{background:#e2e8e5}.text-button,.back-button{background:transparent;color:#587713;padding:4px;font-size:12px;min-height:auto}.back-button{margin-bottom:5px;margin-left:-5px}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:5px;background:#fff;color:#53605b;flex:0 0 auto}.icon-button:hover{background:#f0f4f2;color:var(--ink)}.icon-button.danger{color:var(--red)}.icon-button.danger:hover{background:#fff0f0}.row-actions{display:flex;align-items:center;gap:5px}.toast{position:fixed;right:24px;top:88px;z-index:100;display:flex;gap:8px;align-items:center;padding:12px 15px;border-radius:6px;box-shadow:0 8px 30px #17211f24;color:#fff;font-weight:700;font-size:13px}.toast.success{background:#287967}.toast.error{background:#a83f3f}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:17px;text-align:left;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:4px 8px;color:var(--ink)}.stat-card:hover{border-color:#afc96a;box-shadow:0 3px 12px #17211f0d}.stat-card svg{grid-row:1/3;color:var(--teal)}.stat-card span{font-size:12px;color:var(--muted)}.stat-card strong{font-size:24px}.split-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.timeline,.compact-list,.brew-strip{padding:4px 18px 12px}.timeline-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0ef}.timeline-row div,.compact-list div{display:flex;flex-direction:column}.timeline-row strong,.compact-list span{font-size:13px}.timeline-row small,.compact-list small{font-size:11px;color:var(--muted);margin-top:2px}.timeline-row time{font-size:12px;color:var(--muted)}.action-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:block}.action-dot.temperature{background:#3d8fb5}.action-dot.dry_hop{background:#79a61b}.action-dot.fermentation_end{background:#d8942a}.compact-list>div{position:relative;padding:11px 90px 11px 0;border-bottom:1px solid #edf0ef}.compact-list strong{position:absolute;right:0;top:11px;font-size:13px}.danger-text{color:var(--red)}.brew-strip>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto 110px;align-items:center;gap:9px;padding:13px 0;border-bottom:1px solid #edf0ef}.brew-strip svg{color:var(--amber)}.brew-strip div{display:flex;flex-direction:column}.brew-strip strong{font-size:13px}.brew-strip span,.brew-strip time{font-size:12px;color:var(--muted)}.status{font-size:11px;padding:4px 8px;border-radius:4px;background:#eef1f0;color:#52605b;font-weight:700}.status.fermenting{background:#e8f2fa;color:#2773a0}.status.brewing{background:#fff2da;color:#92640e}.status.completed{background:#e5f2eb;color:#24704f}.status.conditioning{background:#eeeaf7;color:#665096}.recipe-list{display:flex;flex-direction:column;gap:9px}.recipe-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px 14px;display:grid;grid-template-columns:46px minmax(180px,1.6fr) repeat(6,minmax(62px,.5fr)) auto;gap:12px;align-items:center}.beer-swatch{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1px #0002}.recipe-name{display:flex;flex-direction:column;min-width:0}.recipe-name strong{font-size:14px}.recipe-name span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-metric{display:flex;flex-direction:column}.mini-metric span{font-size:10px;color:var(--muted);text-transform:uppercase}.mini-metric strong{font-size:13px;margin-top:2px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.editor-main{display:flex;flex-direction:column;gap:14px;min-width:0}.sticky-actions{background:#f3f5f4;position:sticky;top:76px;z-index:10;padding:8px 0}.form-panel{padding-bottom:17px}.form-panel>.field{margin:14px 18px 0}.form-grid{display:grid;gap:13px;padding:15px 18px 0}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span{font-size:11px;font-weight:700;color:#58655f}.unit-input{display:flex;min-width:0}.unit-input input{border-radius:5px 0 0 5px;min-width:0}.unit-input span{display:grid;place-items:center;padding:0 9px;border:1px solid #ccd5d1;border-left:0;background:#eef2f0;border-radius:0 5px 5px 0;color:#5b6863;font-size:12px;white-space:nowrap}.dual-input{display:grid;grid-template-columns:minmax(70px,1fr) 86px}.dual-input input{border-radius:5px 0 0 5px}.dual-input select{border-radius:0 5px 5px 0;border-left:0}.ingredient-panel{overflow:hidden}.ingredient-rows{padding:0 18px 8px}.ingredient-row{padding:14px 0;border-bottom:1px solid var(--line)}.ingredient-main{display:grid;grid-template-columns:1.1fr 190px 1.4fr 1fr 36px;gap:9px;align-items:end}.ingredient-details{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:9px;margin-top:9px}.step-list{padding:14px 18px 0}.step-row{display:grid;grid-template-columns:1.2fr 1fr 150px 150px 36px;gap:9px;margin-bottom:9px}.step-list.fermentation .step-row{grid-template-columns:1.2fr 150px 150px 150px 36px}.metrics-panel{position:sticky;top:92px;background:#202826;color:#fff;border-radius:7px;overflow:hidden}.metrics-panel>h3{font-size:15px;padding:17px 18px;border-bottom:1px solid #3a4541}.metric-bars{padding:8px 18px}.metric{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #3a4541}.metric i{width:10px;height:20px;border-radius:2px}.metric span{font-size:11px;color:#aebbb6}.metric strong{font-size:14px}.metric-summary{padding:9px 18px}.metric-summary>span{display:grid;grid-template-columns:19px 1fr auto;align-items:center;padding:8px 0;font-size:11px;color:#aebbb6}.metric-summary svg{color:#b4cf58}.metric-summary strong{color:#fff}.water-plan{padding:14px 18px;background:#2b3431}.water-plan h4,.fermentation-chart h4{font-size:12px;margin-bottom:9px}.water-plan span{display:flex;justify-content:space-between;font-size:11px;padding:3px 0;color:#b9c4bf}.water-plan b{color:#fff}.fermentation-chart{padding:14px 18px}.fermentation-chart svg{width:100%;height:auto}.fermentation-chart line{stroke:#64716c;stroke-width:1}.fermentation-chart polyline{fill:none;stroke:#b4cf58;stroke-width:3;stroke-linejoin:round}.fermentation-chart text{fill:#aebbb6;font-size:9px}.form-panel>.fermentation-chart{margin:8px 18px 0;background:#f6f8f7;border-radius:5px}.form-panel>.fermentation-chart polyline{stroke:var(--teal)}.form-panel>.fermentation-chart line{stroke:#cad2cf}.form-panel>.fermentation-chart text{fill:#68746f}.inline-form{display:flex;align-items:end;gap:10px;padding:15px 18px}.inline-form .field{flex:1}.brew-create .field:first-child{flex:1.4}.brew-list{display:flex;flex-direction:column;gap:12px}.brew-card{padding:17px}.brew-head{display:flex;align-items:center;gap:14px}.brew-head>div:first-child{margin-right:auto}.brew-head small{color:var(--teal);font-weight:800}.brew-head h3{font-size:18px;margin:2px 0}.brew-head span{font-size:12px;color:var(--muted)}.brew-stats{display:flex;gap:26px;background:var(--soft);padding:10px 12px;border-radius:5px;margin-top:14px}.brew-stats span{font-size:11px;color:var(--muted)}.brew-stats b{color:var(--ink);margin-left:4px}.measure-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding-top:15px;margin-top:14px;border-top:1px solid var(--line)}.measure-form button{align-self:end}.stock-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:16px 18px}.stock-form button{align-self:end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;text-transform:uppercase;color:var(--muted);background:#f7f9f8;padding:10px 13px}td{padding:12px 13px;border-top:1px solid var(--line)}td strong,td small{display:block}td small{font-size:10px;color:var(--muted);margin-top:2px}tr.low-stock td:first-child{box-shadow:inset 3px 0 var(--red)}.category{font-size:11px;font-weight:700;padding:4px 7px;border-radius:4px;background:#eef2f0}.category.fermentable{background:#f5efdc;color:#7c641a}.category.hop{background:#ebf4df;color:#517713}.category.yeast{background:#e4f2f0;color:#177066}.movement-panel{position:sticky;bottom:15px;box-shadow:0 12px 35px #17211f22}.calendar-toolbar{display:flex;align-items:center;gap:10px}.calendar-toolbar h2{font-size:19px;width:210px;text-align:center;text-transform:capitalize}.mail-state{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;color:#8a5e17;background:#fff3de;padding:8px 10px;border-radius:5px}.mail-state.ready{color:#236955;background:#e7f4ed}.calendar-grid{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#eef2f0}.weekdays span{font-size:10px;text-transform:uppercase;color:var(--muted);padding:8px 10px;text-align:center;font-weight:800}.days{display:grid;grid-template-columns:repeat(7,1fr)}.day{min-height:105px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:7px;display:flex;flex-direction:column;gap:4px;min-width:0}.day:nth-child(7n){border-right:0}.day.empty{background:#f8faf9}.day>b{font-size:11px;color:#68746f}.day.today>b{background:var(--teal);color:#fff;width:22px;height:22px;display:grid;place-items:center;border-radius:50%}.calendar-event{font-size:10px;font-weight:700;padding:4px 5px;border-left:3px solid var(--green);background:#eff4df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.sent{border-color:#3d8fb5;background:#eaf3f8}.calendar-event.ignored{opacity:.45}.day small{font-size:10px;color:var(--muted)}.action-list{padding:3px 18px 12px}.action-list>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.action-list strong,.action-list small,.action-list p{display:block}.action-list strong{font-size:13px}.action-list small{font-size:11px;color:var(--muted);margin-top:2px}.action-list p{font-size:11px;color:#53605b;margin-top:5px}.vertical-form{display:flex;flex-direction:column;gap:11px;padding:16px 18px}.equipment-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.equipment-visual{text-align:center;padding:28px 22px}.equipment-icon{width:100px;height:100px;display:grid;place-items:center;border-radius:50%;background:#e7f1e3;color:var(--green-dark);margin:0 auto 14px}.equipment-visual h2{font-size:20px}.equipment-visual>p{color:var(--muted);font-size:12px;margin:4px 0 22px}.equipment-visual>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-top:1px solid var(--line);padding-top:17px}.equipment-visual span{display:flex;flex-direction:column;font-size:10px;color:var(--muted)}.equipment-visual strong{font-size:15px;color:var(--ink);margin-top:4px}.equipment-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:17px 18px}.equipment-form button{align-self:end}.tasting-layout{grid-template-columns:1fr 1fr}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.tasting-list{padding:2px 18px 12px}.tasting-list article{display:grid;grid-template-columns:1fr auto;gap:7px;padding:14px 0;border-bottom:1px solid var(--line)}.tasting-list article div{display:flex;flex-direction:column}.tasting-list strong{font-size:13px}.tasting-list small{font-size:11px;color:var(--muted)}.tasting-list>b{font-size:20px;color:var(--teal)}.tasting-list>b span{font-size:10px;color:var(--muted)}.tasting-list p,.tasting-list blockquote{grid-column:1/-1;font-size:12px;color:#4e5c57;margin:0}.tasting-list blockquote{border-left:3px solid var(--green);padding:7px 10px;background:#f7f9f2}.empty-state{padding:24px;text-align:center;color:#89938f;font-size:12px}.loading{padding:80px;text-align:center;color:var(--muted)}.login-screen{min-height:100vh;background:#202826;display:grid;place-items:center;padding:20px}.login-panel{width:min(390px,100%);background:#fff;border-radius:7px;padding:31px;box-shadow:0 25px 80px #0005;text-align:center}.login-panel>img{width:105px;height:105px;object-fit:contain}.login-panel h1{font-size:30px;margin-top:8px}.login-panel>p{font-size:12px;text-transform:uppercase;color:var(--muted);margin:1px 0 24px}.login-panel form{display:flex;flex-direction:column;gap:13px;text-align:left}.login-panel form button{margin-top:4px}.form-error,.setup-warning{font-size:12px;color:#a83f3f;background:#fff0f0;padding:10px;border-radius:5px}.setup-warning{text-align:left}.recipe-card.archived{opacity:.62}.recipe-name small,.recipe-view-header h2 small{font-size:10px;color:var(--teal);background:#e7f3f1;padding:2px 4px;border-radius:3px}.recipe-view-header>div>p{font-size:12px;color:var(--muted);margin-top:3px}.recipe-overview{display:grid;grid-template-columns:230px minmax(0,1fr);overflow:hidden}.recipe-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border-right:1px solid var(--line)}.large-swatch{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1px #0002;margin-bottom:10px}.recipe-identity>strong{font-size:23px}.recipe-identity>span:not(.status){font-size:11px;color:var(--muted);margin:4px 0 10px}.recipe-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:12px 20px}.recipe-metrics-grid .metric{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border-color:var(--line);padding:13px 10px;min-width:0}.recipe-metrics-grid .metric i{position:absolute;left:10px;width:7px;height:30px}.recipe-metrics-grid .metric:has(i){padding-left:27px}.recipe-metrics-grid .metric span{color:var(--muted)}.recipe-metrics-grid .metric strong{color:var(--ink)}.read-stats{display:grid;grid-template-columns:repeat(5,1fr);padding:16px 18px}.read-stats span{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);padding:3px 14px;border-right:1px solid var(--line)}.read-stats span:last-child{border-right:0}.read-stats strong{font-size:15px;color:var(--ink)}.read-table-wrap{overflow:auto}.read-table td{vertical-align:top}.read-table td:first-child{white-space:nowrap}.process-grid{grid-template-columns:1fr 1fr}.read-steps{padding:7px 18px}.read-steps>div{display:grid;grid-template-columns:25px minmax(0,1fr) 70px 70px;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.read-steps>div>span{width:23px;height:23px;border-radius:50%;background:#edf3df;color:#5f7d16;display:grid;place-items:center;font-size:11px;font-weight:800}.read-steps>div>div{display:flex;flex-direction:column}.read-steps strong{font-size:12px}.read-steps small{font-size:10px;color:var(--muted)}.read-steps b{font-size:12px;text-align:right}.read-stats.compact{grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.recipe-notes{padding-bottom:10px}.recipe-notes>div:not(.panel-title){padding:13px 18px}.recipe-notes>div+div{border-top:1px solid var(--line)}.recipe-notes strong{font-size:11px;color:var(--muted)}.recipe-notes p{font-size:13px;line-height:1.55;margin-top:5px;white-space:pre-wrap}@media(max-width:1180px){.recipe-card{grid-template-columns:46px minmax(170px,1fr) repeat(3,minmax(60px,.5fr)) auto}.recipe-card .mini-metric:nth-of-type(n+5){display:none}.editor-layout{grid-template-columns:1fr}.metrics-panel{position:relative;top:auto;display:grid;grid-template-columns:160px 1fr 1fr}.metrics-panel>h3{grid-column:1/-1}.ingredient-main{grid-template-columns:1fr 170px 1.2fr 36px}.ingredient-main>.field:nth-child(4){display:none}.ingredient-details{grid-template-columns:repeat(3,1fr)}.equipment-form{grid-template-columns:repeat(2,1fr)}.measure-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:860px){.app-shell{grid-template-columns:68px minmax(0,1fr)}.sidebar{padding:14px 9px}.brand{padding:0 2px 22px}.brand img{width:46px;height:46px}.brand div,.sidebar nav span,.logout span{display:none}.sidebar nav button,.logout{justify-content:center;padding:10px}.sidebar nav b{position:absolute;margin:0 0 25px 24px}.topbar{padding:0 18px}.top-status span:last-child{display:none}.page{padding:18px}.stat-grid{grid-template-columns:repeat(2,1fr)}.split-grid,.tasting-layout,.equipment-layout,.process-grid{grid-template-columns:1fr}.form-grid.cols-3,.stock-form{grid-template-columns:repeat(2,1fr)}.brew-head{align-items:flex-start;flex-wrap:wrap}.brew-head .row-actions{width:100%}.measure-form{grid-template-columns:repeat(2,1fr)}.equipment-visual{display:none}.days .day{min-height:84px}.calendar-event{font-size:0;height:8px;padding:0;border-left:0;background:var(--green);border-radius:4px}.step-row,.step-list.fermentation .step-row{grid-template-columns:1fr 1fr}.step-row .icon-button{grid-column:2}.metrics-panel{display:block}.ingredient-main{grid-template-columns:1fr 150px 36px}.ingredient-main>.field:nth-child(4),.ingredient-main>.field:nth-child(3){display:none}.recipe-overview{grid-template-columns:1fr}.recipe-identity{border-right:0;border-bottom:1px solid var(--line)}.recipe-metrics-grid{grid-template-columns:repeat(2,1fr)}.read-stats{grid-template-columns:repeat(3,1fr);row-gap:14px}}@media(max-width:600px){.app-shell{display:block;padding-bottom:64px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:64px;flex-direction:row;padding:6px 8px;z-index:50}.brand,.logout{display:none}.sidebar nav{width:100%;display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.sidebar nav button{min-height:50px;padding:5px}.sidebar nav svg{width:19px}.topbar{height:62px;position:sticky}.topbar p{display:none}.topbar h1{font-size:18px}.top-status{display:none}.page{padding:13px 11px 30px}.stat-grid{gap:8px}.stat-card{padding:12px;grid-template-columns:25px 1fr}.stat-card strong{font-size:20px}.split-grid{gap:12px}.page-actions{align-items:flex-end;gap:10px}.page-actions h2{font-size:18px}.recipe-card{grid-template-columns:38px 1fr auto;padding:10px}.recipe-card .mini-metric{display:none}.recipe-card .row-actions .icon-button:nth-child(2){display:none}.beer-swatch{width:34px;height:34px}.sticky-actions{top:62px}.sticky-actions>div:last-child .secondary{display:none}.form-grid.cols-3,.form-grid.cols-2,.stock-form,.equipment-form,.measure-form,.score-grid{grid-template-columns:1fr}.ingredient-rows{padding:0 10px 8px}.ingredient-main{grid-template-columns:1fr 110px 36px}.ingredient-main>.field:first-child{grid-column:1/-1}.ingredient-details{grid-template-columns:repeat(2,1fr)}.ingredient-details>.field:last-child{grid-column:1/-1}.step-row,.step-list.fermentation .step-row{grid-template-columns:1fr}.step-row .icon-button{grid-column:1;justify-self:end}.inline-form{flex-direction:column;align-items:stretch}.brew-strip>div{grid-template-columns:25px 1fr auto}.brew-strip time{display:none}.brew-stats{flex-wrap:wrap;gap:10px}.calendar-toolbar h2{width:auto;flex:1;font-size:16px}.mail-state{display:none}.day{min-height:60px;padding:4px}.weekdays span{padding:7px 2px}.tasting-layout{display:flex;flex-direction:column}.toast{right:11px;left:11px;top:72px}.panel-title{padding:0 12px}.form-grid{padding:13px 12px 0}.form-panel>.field{margin:13px 12px 0}.metric-bars{padding:7px 13px}.recipe-view-header .primary{padding:8px 10px}.recipe-metrics-grid{padding:8px}.read-stats{grid-template-columns:repeat(2,1fr);padding:12px}.read-stats span{border-right:0;border-bottom:1px solid var(--line);padding:8px}.read-steps>div{grid-template-columns:24px minmax(0,1fr) 55px}.read-steps>div>b:last-child{grid-column:3}.large-swatch{width:70px;height:70px}.recipe-identity{padding:18px}}.recipe-profile{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.5fr);gap:32px;background:#fff;border-block:1px solid var(--line);padding:24px}.profile-facts{display:flex;align-items:center;gap:25px;min-width:0}.profile-beer{flex:0 0 76px;display:grid;place-items:center}.profile-facts dl{margin:0;min-width:0;font-size:12px;line-height:1.6}.profile-facts dl>div{display:flex;flex-wrap:wrap;gap:0 7px;margin:4px 0}.profile-facts dt{font-weight:700;color:var(--muted)}.profile-facts dd{margin:0;overflow-wrap:anywhere}.profile-gauges{display:flex;flex-direction:column;gap:10px;min-width:0}.profile-gauge{display:grid;grid-template-columns:minmax(125px,1fr) 85px minmax(90px,1.4fr);gap:14px;align-items:start;min-width:0}.fermentation-followup{overflow:hidden}.brew-followup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:0}.brew-followup-list article{padding:15px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.brew-followup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.brew-followup-head>div{display:flex;flex-direction:column;min-width:0}.brew-followup-head strong{font-size:13px;color:var(--teal)}.brew-followup-head span{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brew-progress{height:5px;background:#e6ece9;border-radius:4px;overflow:hidden;margin:13px 0 11px}.brew-progress i{display:block;height:100%;background:var(--green);border-radius:inherit;min-width:0}.next-action{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center}.next-action>div{display:flex;flex-direction:column;min-width:0}.next-action b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-action small{font-size:10px;color:var(--muted);margin-top:2px}.next-action>strong{font-size:12px}.followup-complete{font-size:12px;color:var(--teal);margin:0}.action-filters{display:flex;gap:3px;background:#eef2f0;padding:3px;border-radius:5px}.action-filters button{border:0;background:transparent;color:#607069;font-size:11px;font-weight:700;padding:5px 7px;border-radius:3px}.action-filters button.active{background:#fff;color:var(--green-dark);box-shadow:0 1px 2px #17211f16}@media(max-width:600px){.brew-followup-list{grid-template-columns:1fr}.brew-followup-list article{border-right:0}.action-filters button{padding:5px}.panel-title:has(.action-filters){align-items:flex-start;padding-top:10px;padding-bottom:10px}.panel-title:has(.action-filters)>div{padding-top:4px}}.gauge-label{font-size:12px;color:var(--muted)}.profile-gauge>strong{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.gauge-visual{padding-top:4px;min-width:0}.gauge-track{height:7px;background:#e9edef;border-radius:4px;overflow:hidden}.gauge-track>span{display:block;height:100%;border-radius:4px;transition:width .2s ease,background-color .2s ease}.gauge-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:2px}.metrics-panel>.profile-gauges{padding:16px 18px}.metrics-panel .profile-gauge{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.metrics-panel .gauge-visual{grid-column:1/-1;padding-top:0}.metrics-panel .gauge-label,.metrics-panel .gauge-scale{color:#b9c4bf}.metrics-panel .gauge-track{background:#46534e}@media(max-width:1180px){.recipe-profile{grid-template-columns:1fr;gap:20px}.metrics-panel>.profile-gauges{grid-column:1/-1}}@media(max-width:600px){.recipe-profile{padding:16px 12px;gap:22px}.profile-facts{gap:14px}.profile-beer{flex-basis:56px}.profile-beer svg{width:48px}.profile-gauge{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.profile-gauge .gauge-visual{grid-column:1/-1;padding-top:0}.profile-gauges{gap:12px}}@media(prefers-reduced-motion:reduce){.gauge-track>span{transition:none}}.style-reference{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:12px}.style-reference>span{font-size:10px;color:var(--muted)}.profile-gauge .style-track{position:relative;overflow:visible}.gauge-marker{position:absolute;top:50%;width:10px;height:10px;border:2px solid;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.gauge-verdict{grid-column:1/-1;font-size:10px;margin-top:-5px;color:var(--muted)}.style-within .gauge-verdict{color:#197d94}.style-below .gauge-verdict,.style-above .gauge-verdict{color:#93621e}.profile-extras{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid var(--line);padding-top:10px;font-size:11px}.profile-extras>span{display:flex;gap:10px;color:var(--muted)}.profile-extras strong{color:var(--ink)}.metrics-panel .style-reference{border-color:#46534e}.metrics-panel .style-reference>span,.metrics-panel .profile-extras>span{color:#b9c4bf}.metrics-panel .profile-extras{border-color:#46534e}.metrics-panel .profile-extras strong{color:#fff}.metrics-panel .gauge-verdict{margin-top:0}.metrics-panel .style-within .gauge-verdict{color:#76d2e6}.metrics-panel .style-below .gauge-verdict,.metrics-panel .style-above .gauge-verdict{color:#edbb72}
