:root{color-scheme:light;--bg:#f5efe5;--panel:rgba(255,252,247,0.82);--panel-strong:rgba(255,250,242,0.96);--panel-soft:rgba(250,243,233,0.84);--line:rgba(92,71,50,0.14);--line-strong:rgba(92,71,50,0.22);--text:#2d231c;--muted:#6d5a49;--accent:#395f4a;--accent-soft:#dce7dd;--accent-strong:#284536;--warning:#9d5d2c;--warning-soft:#f4dfce;--info-soft:#e8eef6;--info-text:#49627d;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--shadow:0 24px 70px rgba(66,43,26,0.09);--shadow-soft:0 12px 30px rgba(66,43,26,0.07);--shadow-inset:inset 0 1px 0 rgba(255,255,255,0.7)}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body,html{overflow-x:hidden}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(240,214,178,.72),transparent 28%),radial-gradient(circle at top right,rgba(209,227,214,.4),transparent 24%),linear-gradient(180deg,#f8f3ea,#f1e8dc 58%,#ede3d7);color:var(--text);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;line-height:1.5;text-rendering:optimizeLegibility}.app-footer{width:min(1240px,calc(100% - 2rem));margin:0 auto 1.2rem;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--line);background:rgba(255,250,242,.65);color:var(--muted);text-align:center;font-size:.88rem}.app-footer p{margin:0}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:.45rem}.app-footer a{color:var(--accent-strong);font-weight:600}.legal-panel{max-width:920px;margin-inline:auto}.legal-panel h2{margin-top:1.2rem}.legal-panel ul{margin:.5rem 0 .8rem;padding-left:1.15rem}.consent-checkbox{display:flex;gap:.55rem;align-items:flex-start;font-size:.95rem;color:var(--muted)}.consent-checkbox input{margin-top:.25rem}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}a,button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}:focus-visible{outline:2px solid rgba(57,95,74,.24);outline-offset:2px}.search-select-input{width:100%}.search-multi-select{display:grid;grid-gap:.75rem;gap:.75rem}.tag-button{cursor:pointer}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:.9rem 0 0}.topbar-inner{width:min(1240px,calc(100% - 2rem));margin:0 auto;display:grid;grid-gap:.9rem;gap:.9rem;padding:.85rem 1rem;border:1px solid rgba(92,71,50,.1);border-radius:22px;background:rgba(255,250,242,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft)}.topbar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-mark{font-family:Iowan Old Style,Palatino Linotype,serif;font-size:1.35rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.main-nav{display:flex;gap:.4rem;flex-wrap:nowrap;align-items:center;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;padding-bottom:.15rem;padding-right:.2rem;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}.main-nav::-webkit-scrollbar{display:none}.main-nav-shell{position:relative;padding:.25rem;border-radius:18px;background:rgba(255,248,239,.7);border:1px solid rgba(92,71,50,.08);overflow:hidden;min-width:0}.main-nav-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.55rem;gap:.55rem;min-width:0}.main-nav-shell:after,.main-nav-shell:before{content:"";position:absolute;top:0;bottom:.15rem;width:1.6rem;pointer-events:none;z-index:1}.main-nav-shell:before{left:0;background:linear-gradient(90deg,rgba(255,250,242,.9),rgba(255,250,242,0))}.main-nav-shell:after{right:0;background:linear-gradient(270deg,rgba(255,250,242,.9),rgba(255,250,242,0))}.nav-scroll-hint{align-self:stretch;justify-self:end;display:none;align-items:center;justify-content:center;min-width:2rem;padding:.18rem .35rem;border-radius:999px;background:rgba(57,95,74,.18);color:#f7f3eb;font-size:.98rem;font-weight:700;color:rgba(45,35,28,.72);box-shadow:inset 0 0 0 1px rgba(57,95,74,.12);pointer-events:none}.topbar-actions{gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.session-chip,.topbar-actions{display:inline-flex;align-items:center}.session-chip{padding:.55rem .85rem;background:#efe8dd}.nav-link,.session-chip{border-radius:999px;color:var(--muted)}.nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .95rem;font-size:.96rem;font-weight:500}.logout-button{min-width:2.7rem;width:2.7rem;height:2.7rem;padding:0}.logout-icon{font-size:1rem;line-height:1}.logout-text{display:none}.nav-link-active{background:var(--panel-strong);color:var(--text);box-shadow:0 8px 22px rgba(66,43,26,.08)}.nav-link:hover{color:var(--text);background:rgba(255,250,242,.78)}.page-shell{width:min(1240px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3.25rem;display:grid;grid-gap:1.35rem;gap:1.35rem}.hero{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start;margin-bottom:1.5rem}.eyebrow,.panel-kicker{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:.96;letter-spacing:-.02em;margin-bottom:.75rem}.section-title,h1{font-family:Iowan Old Style,Palatino Linotype,serif}.section-title{font-size:clamp(1.55rem,2.6vw,2.45rem);line-height:1.02;letter-spacing:-.015em;margin-bottom:0}.hero-copy{max-width:44rem;font-size:1.02rem;color:var(--muted)}.compact-copy{max-width:28rem}.controls-grid,.dashboard-grid,.form-grid,.hero-grid,.inventory-layout,.layout-grid,.oil-grid,.tag-row{display:grid;grid-gap:1rem;gap:1rem}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-self:stretch}.layout-grid{grid-template-columns:1.4fr .9fr;align-items:start}.preparation-wizard{grid-template-columns:1.1fr 1fr;margin-top:1rem}.preparation-wizard,.stack{display:grid;grid-gap:1rem;gap:1rem}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.alert-card,.oil-card,.panel,.stat-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel{padding:1.35rem}.panel-spacious{padding:1.6rem}.feature-card{display:flex;flex-direction:column;gap:.8rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.15rem}.hero-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));align-self:start}.inline-link,.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:999px;min-height:2.7rem;padding:.78rem 1.05rem;font-weight:600;box-shadow:var(--shadow-soft)}.primary-link{background:var(--accent);color:#f7f3eb;box-shadow:0 14px 28px rgba(57,95,74,.2)}.inline-link,.secondary-link{background:rgba(239,232,221,.92);color:var(--text)}.secondary-link.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px rgba(57,95,74,.18)}.inline-link:hover,.primary-link:hover,.secondary-link:hover{transform:translateY(-1px)}.secondary-link.active:hover{transform:none}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.95rem}.panel-header.compact{margin-bottom:.75rem}.field input,.field select,.field textarea,.search-input,.styled-input,.styled-select{width:100%;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel-strong);color:var(--text);padding:.82rem .95rem;box-shadow:var(--shadow-inset)}.field select,.styled-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:2.85rem;padding-right:2.75rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%236d5a49' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .95rem center;background-size:1rem}.field input:hover,.field select:hover,.field textarea:hover,.search-input:hover,.styled-input:hover,.styled-select:hover{border-color:var(--line-strong);background-color:#fffdf8}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus,.styled-input:focus,.styled-select:focus{outline:none;border-color:rgba(57,95,74,.42);box-shadow:var(--shadow-inset),0 0 0 3px rgba(57,95,74,.12)}.field input[type=number]{-moz-appearance:textfield}.field input[type=number]::-webkit-inner-spin-button,.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=date],.field input[type=datetime-local],.field input[type=time]{min-height:2.85rem}.field input:disabled,.field select:disabled,.field textarea:disabled,.styled-select:disabled{opacity:.62;cursor:not-allowed;background-color:rgba(248,241,232,.72)}.select-shell{position:relative;width:100%}.select-shell .styled-select,.select-shell select{width:100%}.field textarea{resize:vertical;min-height:7rem}.search-input{max-width:20rem}.oil-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.oil-card{padding:1rem 1rem 1.05rem}.section-stack{display:grid;grid-gap:1.15rem;gap:1.15rem}.subsection-card{padding:1.1rem 1.15rem;border-radius:20px;border:1px solid var(--line);background:rgba(255,250,242,.6)}.oil-card-clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.oil-card-clickable:focus-visible,.oil-card-clickable:hover{transform:translateY(-2px);border-color:rgba(165,108,58,.35);box-shadow:0 18px 34px rgba(62,35,12,.08)}.oil-card-top{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.85rem}.oil-card-top-actions{align-self:flex-start;flex:0 0 auto}.alert-card p,.alert-meta,.formula-row p,.latin-name,.meta-list dt,.notes,.recipe-summary,.stat-card p,.stat-card span{color:var(--muted)}.badge{height:-moz-fit-content;height:fit-content;white-space:nowrap;border-radius:999px;padding:.38rem .72rem;font-size:.8rem;font-weight:700}.badge-ok{background:var(--accent-soft);color:var(--accent)}.badge-warn{background:var(--warning-soft);color:var(--warning)}.meta-list{display:grid;grid-gap:.7rem;gap:.7rem;margin:0 0 1rem}.meta-list div{display:grid;grid-gap:.15rem;gap:.15rem}.meta-list dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.meta-list dd{margin:0}.summary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:0}.summary-list div{display:grid;grid-gap:.2rem;gap:.2rem}.summary-list dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.summary-list dd{margin:0;font-weight:700}.tag-row{grid-template-columns:repeat(auto-fit,minmax(90px,max-content));margin-bottom:.8rem;align-items:center}.tag{border-radius:999px;background:#efe5d7;color:#5f4c3b;padding:.38rem .68rem;font-size:.8rem;font-weight:600}.tag-ok{background:var(--accent-soft);color:var(--accent)}.tag-warn{background:#f4e9c9;color:#8a671b}.tag-danger{background:var(--warning-soft);color:var(--warning)}.tag-loading{background:#ece4d8;color:#7a6a58}.tag-bio{background:var(--info-soft);color:var(--info-text)}.tag-inline-mark{margin-left:.35rem;padding:.08rem .35rem;border-radius:999px;background:rgba(73,98,125,.14);font-size:.68rem;letter-spacing:.05em;vertical-align:middle}.tag-ok .tag-inline-mark{background:rgba(57,95,74,.16)}.tag-bio .tag-inline-mark{background:rgba(73,98,125,.18)}.tag-info{background:#e6edf7;color:#44617d}.tag-owner{background:#e8efe7;color:#3e6045}.tag-disabled{background:#ece8e1;color:#8c7e72}.tag-group{display:grid;grid-gap:.6rem;gap:.6rem}.tag-group .tag-row{margin-bottom:0}.tag-group-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.controls-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;grid-gap:.45rem;gap:.45rem}.field span{font-size:.88rem;font-weight:600}.floating-panel{margin-bottom:1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oil-form{display:grid;grid-gap:1rem;gap:1rem}.card-actions,.form-actions,.inventory-toolbar{display:flex;gap:.7rem;flex-wrap:wrap}.inventory-toolbar{align-items:center;row-gap:.85rem}.inventory-toolbar .search-input{max-width:24rem}.button-reset{border:0;cursor:pointer;font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.danger-button{background:var(--warning-soft);color:var(--warning)}.plan-notice{margin-top:.9rem;padding:.95rem 1.05rem;border-radius:16px;border:1px solid rgba(157,93,44,.28);background:linear-gradient(180deg,rgba(255,246,236,.88),rgba(250,238,224,.9));color:#6f4b2f}.plan-notice p{margin:.35rem 0 0}.disabled-action,.disabled-action:hover{opacity:.62;cursor:not-allowed;transform:none}.file-picker{width:-moz-fit-content;width:fit-content;min-width:12rem}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1.5rem;background:rgba(46,29,15,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-panel{width:min(52rem,100%);max-height:calc(100vh - 3rem);overflow:auto;position:relative;padding:1.5rem;border-radius:var(--radius-xl)}.modal-panel-spacious{width:min(58rem,100%);padding:1.75rem}.modal-close{position:absolute;top:1rem;right:1rem;width:2.35rem;height:2.35rem;border-radius:999px;border:1px solid var(--line);background:rgba(255,250,242,.96);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1}.modal-body{display:grid;grid-gap:1.25rem;gap:1.25rem}.toggle-button{display:inline-flex;align-items:center;gap:.7rem;border-radius:999px;padding:.35rem .45rem .35rem .85rem;background:#efe8dd;color:var(--text)}.toggle-button.active{background:#dde8d8;color:#2d5335}.toggle-track{position:relative;width:2.65rem;height:1.5rem;border-radius:999px;background:rgba(95,76,59,.18);transition:background .16s ease}.toggle-button.active .toggle-track{background:rgba(71,108,79,.38)}.toggle-thumb{position:absolute;top:.14rem;left:.16rem;width:1.2rem;height:1.2rem;border-radius:999px;background:#fffdf8;box-shadow:0 4px 10px rgba(66,43,26,.12);transition:transform .16s ease}.toggle-button.active .toggle-thumb{transform:translateX(1.1rem)}.toggle-label{font-size:.92rem}.section-divider{padding-top:.35rem}.section-divider+.section-divider{border-top:1px solid var(--line);padding-top:1.15rem}.segmented{display:inline-flex;padding:.3rem;border-radius:999px;background:#efe8dd;margin:.85rem 0 .8rem;width:-moz-fit-content;width:fit-content;max-width:100%;flex-wrap:wrap}.segmented button{border:0;background:transparent;color:var(--muted);padding:.6rem 1rem;border-radius:999px;cursor:pointer}.segmented button.active{background:var(--panel-strong);color:var(--text);box-shadow:0 6px 20px rgba(66,43,26,.08)}.alert-list,.formula-list{display:grid;grid-gap:.8rem;gap:.8rem}.alert-card,.formula-row{display:flex;justify-content:space-between;gap:1rem;align-items:center}.formula-row{padding:.9rem 0;border-bottom:1px solid var(--line)}.formula-row:last-child{border-bottom:0}.formula-amount{font-weight:700;font-size:1.1rem}.recipe-cost{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.pricing-box{margin-top:1rem;padding:1rem;border-radius:20px;background:linear-gradient(180deg,#f8f1e7,#f1e8db);border:1px solid rgba(96,76,56,.1)}.pricing-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.pricing-header h3{margin-bottom:0}.pricing-header strong{font-size:1.8rem}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.pricing-grid div{padding:.85rem;border-radius:16px;background:rgba(255,250,242,.88);border:1px solid var(--line);box-shadow:var(--shadow-inset)}.pricing-grid span{display:block;margin-bottom:.35rem;color:var(--muted)}.pricing-grid strong{font-size:1.05rem}.pricing-note{margin-top:.85rem;color:var(--muted)}.missing-box{margin-top:1rem;padding:1rem;border-radius:16px;background:var(--warning-soft);color:var(--warning)}.restock-box-ok{background:var(--accent-soft);color:var(--accent)}.error-text{margin:0 0 1rem;color:#8a4023}.ingredients-box,.recipe-list{display:grid;grid-gap:1rem;gap:1rem}.auth-panel{max-width:34rem;margin:0 auto}.share-tag-card{border:1px solid rgba(57,95,74,.2);background:linear-gradient(165deg,rgba(225,239,228,.82),rgba(248,243,234,.94));border-radius:20px;padding:1rem 1.15rem;display:grid;grid-gap:.3rem;gap:.3rem}.share-tag-code{margin:0;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-weight:800;letter-spacing:.1em;font-size:clamp(1.3rem,3vw,1.7rem);color:var(--accent-strong)}.friend-tag-input{text-transform:uppercase}.friend-tag-input,.share-tag-pill{letter-spacing:.08em;font-weight:700}.plan-summary-card{border:1px solid rgba(92,71,50,.16);border-radius:16px;background:rgba(255,250,242,.76);padding:.9rem 1rem}.ingredient-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(88px,.55fr) minmax(88px,.55fr) minmax(82px,.48fr) auto auto;grid-gap:.8rem;gap:.8rem;align-items:end}.ingredient-remove{height:-moz-fit-content;height:fit-content}.ingredient-row .notes{grid-column:1/-1;margin:-.15rem 0 0}.ingredient-substitutions{grid-column:1/-1}.ingredient-bio-button{width:100%;min-width:0;padding-inline:.85rem}.ingredient-row>.field:first-child,.ingredient-row>.field:nth-child(2),.ingredient-row>.field:nth-child(3),.ingredient-row>.field:nth-child(4){min-width:0}.substitution-list{display:grid;grid-gap:.6rem;gap:.6rem}.substitution-item{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.7rem .8rem;border-radius:16px;background:rgba(239,232,221,.65);border:1px solid var(--line)}.stat-card{padding:1rem}.stat-card-link{display:flex;flex-direction:column;justify-content:space-between;min-height:118px;text-decoration:none}.stat-card strong{display:block;font-size:1.45rem;margin:.35rem 0 0}.stat-card p{margin:0;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.alert-card{padding:1rem}.restock-table-wrap{margin-top:1rem;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:rgba(255,250,242,.7);box-shadow:var(--shadow-soft)}.restock-table{width:100%;border-collapse:collapse;min-width:760px}.restock-table td,.restock-table th{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line)}.restock-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:rgba(239,232,221,.6)}.restock-table tr:last-child td{border-bottom:0}.oil-card-muted{opacity:.72;background:rgba(236,232,225,.72)}.oil-card-muted .latin-name,.oil-card-muted h3{color:#77695d}.count-circle,.mini-circle,.warning-circle{width:1.8rem;height:1.8rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700}.count-circle{background:#efe5d7;color:#5f4c3b}.warning-circle{background:var(--warning-soft);color:var(--warning)}.ml-pill{min-width:4rem;justify-content:center}.compact-tag-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.shared-product-top{align-items:flex-start;margin-bottom:.2rem}.shared-product-top h3{margin-bottom:0}.shared-product-price{margin-bottom:0;text-align:right;display:grid;grid-gap:.15rem;gap:.15rem;justify-items:end}.shared-product-price span{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.shared-product-price strong{font-size:1.05rem}.shared-product-prices{display:grid;grid-gap:.45rem;gap:.45rem}.substitution-hints{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.55rem}.substitution-panel{margin-top:1rem}.substitution-picker-grid{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:.75rem}.substitution-picker-row{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;padding:.85rem 0;border-top:1px solid var(--line)}.substitution-picker-missing{display:grid;grid-gap:.25rem;gap:.25rem}.substitution-picker-choice{margin:0}.substitution-history-panel{margin-bottom:1.25rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:var(--panel-strong)}.substitution-history-header{margin-bottom:.85rem}.substitution-history-header h2{margin:0 0 .35rem;font-size:1.05rem}.substitution-history-list{display:grid;grid-gap:.85rem;gap:.85rem}.substitution-history-item{padding-top:.85rem;border-top:1px solid var(--line)}.substitution-history-item:first-child{padding-top:0;border-top:0}.substitution-history-top{display:flex;justify-content:space-between;gap:.75rem;align-items:start;margin-bottom:.65rem}.compact-substitution-list{margin-top:.55rem}.substitution-cost-warnings{display:grid;grid-gap:.45rem;gap:.45rem;margin-bottom:.75rem}.substitution-cost-warning{margin:0;padding:.75rem .85rem;border-radius:14px;border:1px solid rgba(157,93,44,.28);background:rgba(255,246,236,.92);color:#7a4e2b;font-size:.9rem}@media (max-width:720px){.substitution-picker-row{grid-template-columns:1fr}}.share-pricing-accordion{display:grid;grid-gap:.85rem;gap:.85rem}.share-pricing-accordion-item,.share-pricing-recipe-item{border:1px solid var(--line);border-radius:18px;background:var(--panel-strong);overflow:hidden}.share-pricing-accordion-item.is-open,.share-pricing-recipe-item.is-open{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.share-pricing-accordion-trigger,.share-pricing-recipe-trigger{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:.85rem;gap:.85rem;padding:1rem 1.05rem;text-align:left;cursor:pointer;color:var(--text);background:transparent;transition:background-color .16s ease,border-color .16s ease}.share-pricing-recipe-trigger{grid-template-columns:minmax(0,1fr) auto;padding:.85rem .95rem}.share-pricing-accordion-trigger:focus-visible,.share-pricing-accordion-trigger:hover,.share-pricing-recipe-trigger:focus-visible,.share-pricing-recipe-trigger:hover{background:var(--panel-soft)}.share-pricing-accordion-heading h3{margin:0 0 .2rem;font-family:Iowan Old Style,Palatino Linotype,serif;font-size:1.2rem;line-height:1.1;letter-spacing:-.01em;color:var(--text)}.share-pricing-recipe-heading h4{margin:0 0 .2rem;font-size:1rem;font-weight:700;color:var(--text)}.share-pricing-accordion-heading .notes,.share-pricing-recipe-heading .notes{margin:0;color:var(--muted)}.share-pricing-accordion-meta,.share-pricing-recipe-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.45rem}.share-pricing-accordion-chevron{color:var(--muted);font-size:1.1rem;line-height:1}.share-pricing-accordion-panel{display:grid;grid-gap:1rem;gap:1rem;padding:0 1.05rem 1.05rem;border-top:1px solid var(--line)}.share-pricing-section{margin-top:.15rem;padding-top:1rem;border-top:1px solid var(--line)}.share-pricing-section-header{display:grid;grid-gap:.2rem;gap:.2rem;margin-bottom:.75rem}.share-pricing-recipe-list{display:grid;grid-gap:.65rem;gap:.65rem}.share-pricing-recipe-item{background:var(--panel-soft)}.share-pricing-recipe-panel{padding:0 .95rem .95rem;border-top:1px solid var(--line)}.share-pricing-table-wrap{overflow-x:auto}.share-pricing-table{width:100%;border-collapse:collapse;font-size:.92rem}.share-pricing-table td,.share-pricing-table th{padding:.55rem .65rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.share-pricing-table th{color:var(--muted);font-weight:600}.share-pricing-special{color:var(--accent-strong)}.shared-product-price-special strong{color:var(--accent)}.shared-order-actions{align-items:end;justify-content:space-between}.shared-section-toggle{min-width:6.5rem}.shared-section-status{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap}.shared-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shared-history-grid{margin-top:1rem}.shared-quantity-field{min-width:8.5rem}.shared-quantity-input{max-width:8.5rem;text-align:center;border-radius:999px;border:1px solid rgba(96,76,56,.16);background:linear-gradient(180deg,#fffdf9,#f3ebdf);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px rgba(66,43,26,.08);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-user-meta{min-width:0}.admin-user-meta p{margin-bottom:0}.security-metrics-desktop{display:grid;grid-gap:1.15rem;gap:1.15rem}.security-metrics-mobile{display:none}.security-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.security-metrics-block{display:grid;grid-gap:.65rem;gap:.65rem}.security-metrics-block-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text)}.security-metrics-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong)}.security-metrics-table{width:100%;border-collapse:collapse;font-size:.92rem}.security-metrics-table td,.security-metrics-table th{padding:.7rem .85rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.security-metrics-table th{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--panel-soft)}.security-metrics-table tbody tr:last-child td{border-bottom:0}.security-metrics-table td:nth-child(n+2){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.security-metrics-accordion{border:1px solid var(--line);border-radius:18px;background:var(--panel-strong);overflow:hidden}.security-metrics-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1rem;cursor:pointer;list-style:none;font-weight:700;color:var(--text)}.security-metrics-accordion summary::-webkit-details-marker{display:none}.security-metrics-accordion summary:after{content:"▸";color:var(--muted);font-size:1.05rem;line-height:1}.security-metrics-accordion[open] summary:after{content:"▾"}.security-metrics-accordion-panel{padding:0 .85rem .85rem;border-top:1px solid var(--line)}.review-pre{margin:0;padding:.9rem 1rem;border-radius:16px;background:rgba(239,232,221,.66);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word}.recipe-card{display:grid;grid-gap:1rem;gap:1rem;align-content:start;height:100%}.recipe-card-top{align-items:flex-start;margin-bottom:0}.recipe-card-top h3{margin-bottom:0}.recipe-card-top .icon-button{flex:0 0 auto}.recipe-card-actions{justify-content:flex-end;align-items:center;align-self:end;margin-top:.35rem;padding-top:.2rem}.recipe-play-button{margin-left:auto}.icon-button{width:2.4rem;height:2.4rem;padding:0;border-radius:999px}.filters-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-bottom:.35rem}.recipe-filters{margin-bottom:1rem;padding:1rem 1.1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,252,247,.98),rgba(248,241,232,.9)),radial-gradient(circle at top right,rgba(209,227,214,.22),transparent 42%);box-shadow:var(--shadow-soft)}.recipe-filters-head{display:flex;justify-content:space-between;align-items:start;gap:.85rem;margin-bottom:.9rem}.recipe-filters-kicker{margin:0 0 .2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent-strong)}.recipe-filters-copy{margin:0}.recipe-filters-row{margin-bottom:0}.filter-field span{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.filter-select{border-radius:999px;font-weight:600;background-color:rgba(255,252,247,.96)}.filter-select.is-active{border-color:rgba(57,95,74,.34);background-color:rgba(220,231,221,.42);color:var(--accent-strong);box-shadow:var(--shadow-inset),0 8px 18px rgba(57,95,74,.08)}.filter-clear-button{min-height:2.35rem;padding:.55rem .9rem;font-size:.9rem;white-space:nowrap}.formulator-toolbar{margin-bottom:.35rem;padding:1rem 1.1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,252,247,.98),rgba(248,241,232,.9)),radial-gradient(circle at top left,rgba(209,227,214,.2),transparent 46%);box-shadow:var(--shadow-soft)}.formulator-toolbar-head{margin-bottom:.9rem}.formulator-toolbar-kicker{margin:0 0 .2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent-strong)}.formulator-toolbar-copy{margin:0}.formulator-toolbar-grid{margin-bottom:0}.toolbar-field span{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.toolbar-select{border-radius:999px;font-weight:600;background-color:rgba(255,252,247,.96)}.toolbar-input-shell{position:relative;display:flex;align-items:center}.toolbar-input-prefix{position:absolute;left:.95rem;z-index:1;font-size:.92rem;font-weight:700;color:var(--muted);pointer-events:none}.toolbar-input{width:100%;border-radius:999px;min-height:2.85rem;padding-left:1.85rem;font-weight:600;background-color:rgba(255,252,247,.96)}@media (max-width:1200px){.app-footer,.page-shell,.topbar-inner{width:min(100% - 1.5rem,100%)}h1{font-size:clamp(2.3rem,4.6vw,4rem)}.section-title{font-size:clamp(1.45rem,2.4vw,2.2rem)}}@media (max-width:980px){.dashboard-grid,.hero,.layout-grid,.preparation-wizard{grid-template-columns:1fr}.topbar-inner{border-radius:20px}.hero-grid{grid-template-columns:1fr}.hero-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-row,.shared-products-grid{grid-template-columns:1fr}.recipe-filters-head{flex-direction:column;align-items:stretch}.filter-clear-button{width:100%}.oil-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-row{flex-direction:column;align-items:flex-start}.admin-user-row .compact-tag-row{margin-top:.1rem}.security-metrics-grid{grid-template-columns:1fr}}@media (max-width:720px){.page-shell{padding-top:.9rem;gap:1rem}.page-shell,.topbar-inner{width:min(100% - 1rem,100%)}.topbar-inner{border-radius:18px;padding:.8rem}.app-footer{width:min(100% - 1rem,100%)}.topbar-head{align-items:center}.main-nav-wrap{gap:.4rem}.main-nav{gap:.45rem;padding-inline:.2rem;-webkit-overflow-scrolling:touch}.nav-scroll-hint{display:inline-flex}.main-nav-shell:after,.main-nav-shell:before{width:2.2rem}.alert-card,.oil-card,.panel,.stat-card{border-radius:18px}.alert-card,.formula-row,.panel-header{flex-direction:column;align-items:stretch}.controls-grid,.form-grid,.ingredient-row,.pricing-grid{grid-template-columns:1fr}.ingredient-row{gap:.65rem}.ingredient-row>.icon-button{justify-self:flex-start}.recipe-grid,.shared-products-grid{grid-template-columns:1fr}.share-pricing-accordion-trigger{grid-template-columns:minmax(0,1fr) auto}.share-pricing-accordion-meta{grid-column:1/-1;justify-content:flex-start}.security-metrics-desktop{display:none}.security-metrics-mobile{display:grid;grid-gap:.75rem;gap:.75rem}.hero-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.card-actions,.form-actions,.inventory-toolbar{flex-direction:column;align-items:stretch}.card-actions>*,.form-actions>*,.inventory-toolbar>*{width:100%}.inventory-toolbar .toggle-button{width:auto}.inventory-toolbar .search-input,.search-input{max-width:none}.summary-list{grid-template-columns:1fr}.modal-backdrop{padding:.75rem;align-items:end}.modal-panel{max-height:92vh}.modal-panel-spacious{padding:1.15rem}.logout-text{display:none}.logout-button{min-width:2.55rem;width:2.55rem;height:2.55rem;padding:0}.toggle-button{flex:1 1;justify-content:space-between;min-width:0;padding:.5rem .6rem .5rem .9rem}.toggle-label{font-size:.86rem}.oil-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat-card strong{font-size:1.28rem}.stat-card p{font-size:.78rem}}@media (max-width:560px){html{font-size:15px}h1{font-size:clamp(2rem,11vw,2.8rem)}.section-title{font-size:clamp(1.35rem,7vw,1.85rem)}.hero-grid{grid-template-columns:1fr}.stat-card,.stat-card-link{min-height:auto}.hero-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.oil-card-top,.pricing-header,.shared-product-top{flex-direction:column;align-items:stretch}.recipe-card-top{flex-direction:row;align-items:flex-start}.shared-product-price,.shared-product-prices{justify-items:start;text-align:left}.tag-row{grid-template-columns:1fr}.inventory-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.inventory-toolbar .search-input{grid-column:1/-1}.inventory-toolbar .primary-link,.inventory-toolbar .secondary-link,.inventory-toolbar .toggle-button{width:100%}.hero-actions{flex-direction:row}.hero-actions>*{flex:1 1;width:auto}.topbar-actions .primary-link,.topbar-actions .secondary-link,.topbar-actions button{width:auto}}@media (max-width:420px){.hero-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.oil-grid{grid-template-columns:1fr 1fr}.inventory-toolbar{grid-template-columns:1fr}.nav-scroll-hint{min-width:1.8rem;font-size:.9rem}}