:root{--accent:#7b2230;--accent-hover:#611a26;--accent-soft:#f4e8ea;--accent-tint:#faf1f2;--text:#23211e;--text-muted:#837b71;--app-bg:#f3f1ed;--sidebar-bg:#1e1e1b;--surface:#fff;--surface-beige:#fbfaf8;--surface-beige-hover:#f2f0ec;--border:#e3dfd8;--border-strong:#d4cfc6;--radius:10px;--radius-sm:6px;--radius-pill:999px;--shadow-sm:0 1px 2px rgb(var(--shadow-rgb) / .05);--shadow-md:0 8px 24px rgb(var(--shadow-rgb) / .08);--surface-sunken:#f7f5f2;--surface-tint:#fbfaf8;--surface-hover:#f2f0ec;--surface-disabled:#eeece8;--border-soft:#edeae4;--border-dashed:#c9c3b8;--text-soft:#4d4842;--text-faint:#a9a29a;--accent-border:#e5cdd1;--danger:#b42318;--danger-border:#f1c6c0;--danger-bg:#fff5f3;--recording:#b91c1c;--row-warn:#faf1f2;--warn-bg:#f4e8ea;--warn-border:#e5cdd1;--warn-text:#7b2230;--badge-warn-bg:#f4e8ea;--badge-warn-text:#7b2230;--shadow-rgb:35 33 30;--accent-rgb:123 34 48;--recording-rgb:185 28 28;color:var(--text);background:var(--app-bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--sidebar-text:#e6e2dc;--sidebar-muted:#9c958a;--sidebar-border:#33322e;--sidebar-hover:#2a2926;--sidebar-active-bg:#7b2230;--sidebar-active-text:#fff;--sidebar-active-icon:#fff;--sidebar-button-hover:var(--sidebar-hover);--sidebar-button-border:#3f3d38;--sidebar-button-border-hover:#4f4d46;--heading-weight:600;--table-head-bg:transparent;--table-head-border:var(--border-strong);--section-rule:1px solid var(--border);--font-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", "YuGothic", Meiryo, sans-serif;--font-serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif}:root[data-theme=cream]{--accent:#c0703d;--accent-hover:#a75e2f;--accent-soft:#f6e1d4;--accent-tint:#f4e5da;--accent-border:#e3c6ad;--text:#3b2c20;--text-soft:#5c4c3b;--text-muted:#8c7a66;--text-faint:#a89478;--app-bg:#faf6ee;--surface:#fdfaf4;--surface-beige:#f4eddf;--surface-beige-hover:#ece4d3;--surface-sunken:#f1ecdf;--surface-tint:#f7f1e6;--surface-hover:#f4ece0;--surface-disabled:#ece4d5;--border:#e6dcca;--border-soft:#ece2d1;--border-strong:#ddd0bb;--border-dashed:#cabfa8;--radius:16px;--radius-sm:10px;--shadow-rgb:60 43 30;--accent-rgb:192 112 61;--shadow-sm:0 1px 2px rgb(var(--shadow-rgb) / .05);--shadow-md:0 6px 20px rgb(var(--shadow-rgb) / .09);--sidebar-bg:#f4eee3;--sidebar-text:#3b2c20;--sidebar-muted:#8c7a66;--sidebar-border:#e6dcca;--sidebar-hover:rgb(var(--accent-rgb) / .08);--sidebar-active-bg:#f6e1d4;--sidebar-active-text:#a75e2f;--sidebar-active-icon:#c0703d;--sidebar-button-hover:var(--surface-beige);--sidebar-button-border:var(--border-strong);--sidebar-button-border-hover:var(--border-strong);--font-sans:"M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Yu Gothic", "YuGothic", "Hiragino Sans", Meiryo, sans-serif;--font-serif:var(--font-sans);--heading-weight:800;--table-head-bg:var(--surface-sunken);--table-head-border:var(--border-soft);--section-rule:2px solid var(--accent);--row-warn:#fbf6ec;--warn-bg:#fef4e6;--warn-border:#f3d8a7;--warn-text:#a15c07;--badge-warn-bg:#fef3c7;--badge-warn-text:#92400e}*{box-sizing:border-box}body{background:var(--app-bg);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,.brand{font-family:var(--font-serif);font-weight:var(--heading-weight)}.home-header h1,.brand{font-weight:var(--heading-weight)}button,input,select{font:inherit}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;padding:22px 16px;display:flex}.brand{border-bottom:1px solid var(--sidebar-border);min-width:0;margin-bottom:22px;padding-bottom:20px;display:block}.brand-logo{box-sizing:border-box;background:url(/logo-wide-wine.png) 0/contain no-repeat;width:100%;height:52px;display:block}:root[data-theme=cream] .brand-logo{background-image:url(/logo-wide-cream.png)}.brand:hover{opacity:.9}.auth-logo{aspect-ratio:520/387;background:url(/logo-wine.png) 50%/contain no-repeat;width:100%;max-width:280px;margin:4px auto 18px;display:block}:root[data-theme=cream] .auth-logo{aspect-ratio:520/352;background-image:url(/logo-cream.png)}.side-nav{gap:4px;display:grid}.side-nav a{border-radius:var(--radius-sm);min-height:44px;color:var(--sidebar-text);align-items:center;gap:12px;padding:0 14px;font-weight:700;display:flex}.side-nav a svg{color:var(--sidebar-muted);flex:none}.side-nav a:hover{background:var(--sidebar-hover)}.side-nav a.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.side-nav a.active svg{color:var(--sidebar-active-icon)}.sidebar-spacer{flex:auto}.sidebar-auth-status{border-top:1px solid var(--sidebar-border);gap:8px;margin-top:16px;padding-top:16px;display:grid}.sidebar-auth-email{color:var(--sidebar-muted);overflow-wrap:anywhere;font-size:12px}.sidebar-auth-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sidebar-auth-actions .text-button{justify-content:center}.sidebar .text-button{border-color:var(--sidebar-button-border);color:var(--sidebar-text);background:0 0}.sidebar .text-button:hover{background:var(--sidebar-button-hover);border-color:var(--sidebar-button-border-hover)}.login-required-badge{background:var(--badge-warn-bg);color:var(--badge-warn-text);border-radius:999px;grid-column:1/-1;justify-self:center;align-items:center;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.6;display:inline-flex}.main-panel{padding:28px;overflow:auto}.page-stack{gap:22px;max-width:1180px;margin:0 auto;display:grid}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header h1{letter-spacing:0;margin:0;font-size:30px;line-height:1.2}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.primary-button,.icon-button,.text-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.icon-button:hover,.text-button:hover{background:var(--surface-beige);border-color:var(--border-strong)}.primary-button{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px rgb(var(--accent-rgb) / .25);font-weight:800}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.compact-primary-button{white-space:nowrap;padding:0 14px}.icon-button{width:44px;padding:0}.danger-button{color:var(--danger);border-color:var(--danger-border)}.danger-button:hover{background:var(--danger-bg)}.text-button{color:var(--accent);justify-self:start;font-weight:700}.button-row{gap:8px;display:flex}.bottom-action-row{justify-content:flex-end;padding-bottom:8px}.toolbar{grid-template-columns:1fr 180px;align-items:center;gap:12px;display:grid}.recipe-toolbar{grid-template-columns:1fr}.sort-control{color:var(--text-muted);gap:4px;font-size:12px;font-weight:700;display:grid}.list-meta-row .sort-control{align-items:center}.sort-control select{min-height:36px}.compact-sort-control select{width:112px;min-height:32px;padding:0 8px}.list-control-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.list-meta-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.compact-sort-control{flex:none}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-beige);gap:4px;padding:5px;display:inline-flex;overflow-x:auto}.segmented-control button{border-radius:var(--radius-pill);min-height:34px;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 16px;font-weight:800}.segmented-control button.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);min-height:52px;box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:0 20px;display:flex}.search-box svg{color:var(--text-muted);flex:none}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.search-box:has(.search-voice-button){padding-right:6px}.search-voice-button{background:rgb(var(--accent-rgb) / .1);width:40px;height:40px;color:var(--accent);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:background .16s;display:grid}.search-voice-button:hover{background:rgb(var(--accent-rgb) / .18)}.search-voice-button:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .3);outline-offset:2px}.search-box .search-voice-button svg{color:inherit}.search-voice-button.recording{background:var(--recording);color:#fff;animation:1.4s ease-in-out infinite recording-pulse}.voice-search{gap:6px;min-width:0;display:grid}.search-voice-error{color:var(--recording);margin:0}select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:44px;color:var(--text);padding:0 10px}.home-page{align-content:start;gap:22px;max-width:1000px;margin:0 auto;padding-top:6px;display:grid}.home-header{gap:4px;display:grid}.home-header h1{letter-spacing:0;margin:0;font-size:38px;font-weight:800;line-height:1.15}.home-title-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.home-section-label{color:var(--text);margin:6px 0 -4px;font-size:15px;font-weight:800}.home-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.home-action-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-beige);min-height:150px;color:var(--text);text-align:center;box-shadow:var(--shadow-sm);align-content:center;justify-items:center;gap:14px;padding:20px;font-size:15px;font-weight:800;line-height:1.45;transition:background .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.home-action-card svg{width:30px;height:30px;color:var(--accent)}.home-action-card:hover{background:var(--surface-beige-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.home-action-card:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .3);outline-offset:2px}.home-data-control{justify-self:start;width:min(260px,100%);position:relative}.home-data-button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);width:100%;min-height:44px;color:var(--accent);cursor:pointer;font-weight:800}.home-data-button:hover,.home-data-button[aria-expanded=true]{background:var(--surface-beige);border-color:var(--border-strong)}.home-data-menu{top:calc(100% + 8px);left:0;right:0}.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px;display:grid}.theme-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:64px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 14px;transition:border-color .16s,box-shadow .16s;display:flex}.theme-option:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.theme-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.theme-option:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .3);outline-offset:2px}.theme-swatch{border:1px solid var(--border-strong);border-radius:50%;flex:none;width:34px;height:34px;display:flex;overflow:hidden}.theme-swatch span{flex:1}.theme-option-body{flex:auto;gap:2px;min-width:0;display:grid}.theme-option-body strong{font-size:14px;font-weight:700}.theme-option-body small{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.theme-option-check{color:var(--accent);flex:none}@media (width<=560px){.theme-picker{grid-template-columns:1fr}}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:14px;padding:16px;display:grid}.item-card h2{letter-spacing:0;margin:0;font-size:20px;line-height:1.35}.recipe-list-card{background:var(--surface-beige);border-color:var(--border);min-height:86px;box-shadow:var(--shadow-sm);grid-template-columns:1fr;align-items:start;gap:6px;padding:12px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.recipe-list-main{gap:5px;min-width:0;display:grid}.recipe-title-line{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;min-width:0;display:grid}.recipe-title-link{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:15px;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.recipe-category{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recipe-card-facts{grid-template-columns:repeat(2,minmax(72px,1fr));gap:8px}.recipe-card-facts dt{margin-bottom:2px;font-size:11px}.recipe-card-facts dd{font-size:14px;line-height:1.25}.recipe-list-card .badge{min-height:20px;padding:0 7px;font-size:12px}.recipe-list-card:hover{border-color:var(--border-strong);background:var(--surface-beige-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.recipe-list-card:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .24);outline-offset:2px}.card-topline{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.badge{background:var(--accent-tint);min-height:24px;color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-weight:700;display:inline-flex}.compact-facts,.summary-grid{gap:10px;margin:0;display:grid}.compact-facts{grid-template-columns:repeat(3,1fr)}.summary-grid{grid-template-columns:repeat(4,1fr)}dt{color:var(--text-muted);margin-bottom:4px;font-size:12px}dd{margin:0;font-weight:700}.summary-band{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.recipe-extra-grid{border-top:1px solid var(--border-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;padding-top:14px;display:grid}.recipe-extra-grid dd{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.55}.recipe-memo-cell{grid-column:1/-1}.recipe-summary-band{padding:10px 14px}.recipe-summary-band .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:baseline}.recipe-summary-band .summary-grid>div,.recipe-summary-band .recipe-extra-grid>div{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.recipe-summary-band dt{margin-bottom:0}.recipe-summary-band .recipe-extra-grid{margin-top:8px;padding-top:8px}.two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.recipe-detail-columns{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.recipe-detail-main{align-content:start;gap:22px;display:grid}section h2{letter-spacing:0;margin:0 0 10px;font-size:18px}.recipe-detail-columns h2{border-bottom:var(--section-rule);padding-bottom:8px}.section-heading-with-toggle{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading-with-toggle .toggle-label{min-height:32px;font-size:13px}.nutrition-view{gap:12px;display:grid}.nutrition-view h2{border-bottom:var(--section-rule);padding-bottom:8px}.nutrition-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:520px;overflow:hidden}.nutrition-table th,.nutrition-table td{text-align:left;border-bottom:1px solid var(--border);padding:9px 12px}.nutrition-table thead th{background:var(--surface-beige);color:var(--text-muted);font-size:13px}.nutrition-table td:not(:first-child),.nutrition-table th:not(:first-child){text-align:right;white-space:nowrap}.nutrition-table tr:last-child td{border-bottom:0}.nutrition-table td:first-child{color:var(--text-muted)}.allergen-block{gap:6px;display:grid}.allergen-title{font-size:14px;font-weight:800}.allergen-tags{flex-wrap:wrap;gap:6px;display:flex}.allergen-tag{border-radius:var(--radius-pill);background:var(--surface-beige);border:1px solid var(--border);align-items:center;min-height:26px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.allergen-tag.mandatory{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.nutrition-warnings{gap:6px;display:grid}.ingredient-label-view{gap:10px;display:grid}.ingredient-label-view h2{border-bottom:var(--section-rule);padding-bottom:8px}.ingredient-label-text{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow-wrap:anywhere;margin:0;padding:12px 14px;line-height:1.7}.ingredient-label-textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:96px;color:var(--text);resize:vertical;padding:12px 14px;line-height:1.7}.ingredient-label-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.product-label{box-sizing:border-box;gap:14px;margin:0 auto;padding:4px;display:grid}.product-label.label-fixed{box-sizing:border-box;align-content:start;margin:0;overflow:hidden}.product-label.label-compact{gap:4px;padding:0}.product-label.label-compact .label-facts th,.product-label.label-compact .label-facts td{padding:1.5px 3px;line-height:1.25}.product-label.label-compact .label-facts th{width:42px}.product-label.label-compact .label-nutrition td{padding:2px 3px}.product-label.label-compact .label-nutrition caption{font-size:var(--label-font,13px);padding:1px 0 2px}.product-label.label-compact .label-allergen{margin-top:1px;display:block}.label-nutrition-inline{border:1.5px solid var(--text);font-size:var(--label-font,13px);padding:2px 4px;line-height:1.3}.label-nutrition-inline-title{font-weight:800;display:block}.label-nutrition-inline-body{overflow-wrap:anywhere}.label-nutrition-inline-item{white-space:nowrap}.label-nutrition-sep{color:var(--text-muted);margin:0}.label-facts,.label-nutrition{border-collapse:collapse;border:1.5px solid var(--text);width:100%;font-size:var(--label-font,13px)}.label-facts th,.label-facts td{border:1px solid var(--border-strong);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:8px 10px;line-height:1.65}.label-facts th{background:var(--surface-beige);white-space:nowrap;width:88px;font-weight:700}.label-allergen{margin-top:4px;font-weight:700;display:block}.label-input,.label-textarea{width:100%;font:inherit;color:inherit;resize:vertical;background:0 0;border:0;outline:0;padding:0;line-height:1.6}.label-input:focus,.label-textarea:focus{background:var(--accent-soft)}.label-nutrition caption{text-align:left;caption-side:top;padding:4px 2px 6px;font-weight:800}.label-nutrition td{border:1px solid var(--border-strong);padding:7px 10px}.label-nutrition td:last-child{text-align:right;white-space:nowrap}.label-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.upgrade-notice{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);align-items:center;gap:12px;padding:14px 16px;display:flex}.upgrade-notice-icon{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.upgrade-notice-body{flex:auto;min-width:0}.upgrade-notice-title{color:var(--accent-hover);margin:0 0 2px;font-weight:800}.upgrade-notice .primary-button{flex:none}@media (width<=560px){.upgrade-notice{flex-wrap:wrap}.upgrade-notice .primary-button{width:100%}}.label-width-control{white-space:nowrap;min-height:42px;color:var(--text);align-items:center;gap:6px;font-weight:700;display:inline-flex}.label-width-control input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:64px;min-height:38px;color:var(--text);font:inherit;padding:0 8px}.label-autosave-note{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.autosave-flash{color:var(--accent-hover);align-items:center;gap:4px;font-weight:800;display:inline-flex}.label-expiry-value{font-weight:700}.label-expiry-value small{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.expiry-controls{border-top:1px dashed var(--border-strong);flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;padding-top:8px;display:flex}.expiry-controls label{color:var(--text-muted);align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.expiry-controls select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;color:var(--text);padding:0 8px}.expiry-controls input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:58px;min-height:34px;color:var(--text);padding:0 8px}.label-editor-layout{flex-wrap:wrap;align-items:flex-start;gap:32px;max-width:1180px;margin:24px auto 0;display:flex}.label-editor-layout .label-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:320px;box-shadow:var(--shadow-sm);flex:400px;padding:26px 28px;display:block}.label-controls h2{margin:0 0 8px}.label-controls .form-grid{grid-template-columns:1fr;gap:18px;margin-top:18px}.label-controls .form-grid input,.label-controls .form-grid select,.label-controls .form-grid textarea{font-size:16px}.label-controls .form-grid input,.label-controls .form-grid select{min-height:46px}.label-controls .form-grid option{font-size:16px}.label-controls .label-field-row{gap:16px;display:flex}.label-controls .label-field-row>label{flex:1 1 0;min-width:0}.label-controls .label-field-row>label.grow{flex:2 1 0}.label-controls .inline-suggest-list span{font-size:15px}.label-controls .label-ingredient-textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:140px;color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:10px;font-size:16px;line-height:1.6}.label-allergen-edit{border-top:1px solid var(--border-soft);margin-top:20px;padding-top:18px}.label-media-settings{border-top:1px solid var(--border-soft);gap:12px;margin-top:20px;padding-top:18px;display:grid}.label-media-settings .allergen-edit-title{font-size:14px;font-weight:800}.label-reco-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.label-reco-row .text-button{min-height:32px}.label-print-guide{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:8px;padding:8px 12px}.label-print-guide summary{cursor:pointer;color:var(--accent-hover);font-size:13px;font-weight:700}.label-print-guide-body{gap:6px;margin-top:8px;display:grid}.label-print-guide-body .field-note{line-height:1.6}@media (width<=560px){.label-controls .label-field-row{flex-wrap:wrap}.label-controls .label-field-row>label{flex:140px}}.label-preview-pane{padding-top:2px}.label-controls .label-field-full{grid-column:1/-1}.label-preview-pane{flex:none;min-width:0}.label-preview-heading{color:var(--text-muted);margin:0 0 8px;font-size:13px;font-weight:700}.label-manufacturer-cell{white-space:pre-wrap}.page-stack.print-toolbar-section{display:grid}.label-preview-heading,.label-note,.label-preview-pane .cost-warning,.label-print-guide{display:block}@media (width<=760px){.label-editor-layout{gap:20px;margin-top:16px}.label-editor-layout .label-controls{flex-basis:100%;min-width:0;padding:18px 16px}.label-preview-pane{flex-basis:100%;width:100%;overflow-x:auto}}.nutrition-edit{border-top:1px solid var(--border);gap:14px;margin-top:4px;padding-top:16px;display:grid}.nutrition-edit-title{margin:0;font-size:15px;font-weight:800}.nutrition-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-label-button.is-disabled{opacity:.5;pointer-events:none}.ingredient-name-cell{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.unregistered-badge{border:1px solid var(--accent);background:var(--accent-tint);min-height:22px;color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.unregistered-badge:hover{background:var(--accent-soft)}.row-edit-link{color:var(--accent);white-space:nowrap;font-weight:700;text-decoration:underline}.row-edit-link:hover{color:var(--accent-hover)}.new-foods-banner{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-tint);gap:8px;padding:14px 16px;display:grid}.new-foods-head{color:var(--accent);align-items:center;gap:8px;font-size:15px;display:flex}.new-foods-list{overflow-wrap:anywhere;margin:0;font-weight:700}.nutrition-mode-note{gap:8px;margin:0;display:grid}.nutrition-mode-note.reference-auto{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:12px}.reference-nutrition-readonly{color:var(--text);flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:700;display:flex}.inline-text-button{min-height:0;padding:0 4px;display:inline-flex}.grams-per-unit-label{max-width:420px;color:var(--text-muted);gap:6px;font-size:13px;font-weight:700;display:grid}.grams-per-unit-label input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--text);padding:0 10px}.nutrition-input-block{gap:8px;display:grid}.nutrition-input-title{font-size:14px;font-weight:800}.nutrition-input-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.nutrition-input-grid label{color:var(--text-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.nutrition-input-grid input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--text);padding:0 10px}.source-row{grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:10px;display:grid}.source-row label{color:var(--text-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.source-row input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--text);padding:0 10px}.review-check-label{justify-self:start}.allergen-edit{gap:6px;display:grid}.allergen-edit-title{font-size:14px;font-weight:800}.allergen-checkboxes{flex-wrap:wrap;gap:6px;display:flex}.allergen-check{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.allergen-check.checked{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.allergen-check input{width:14px;height:14px;accent-color:var(--accent);flex:0 0 14px;margin:0}.subingredient-edit{gap:8px;display:grid}.subingredient-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);gap:8px;padding:10px;display:grid}.subingredient-row-head{grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:8px;display:grid}.subingredient-additive{white-space:nowrap;color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.additive-field{justify-items:start;gap:6px;display:grid}.subingredient-row-head>input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--text);min-width:0;padding:0 10px}.sub-allergen-checkboxes .allergen-check{min-height:30px;padding:0 9px;font-size:12px}.add-sub-button{justify-self:start}@media (width<=700px){.nutrition-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-row{grid-template-columns:1fr}}.data-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;padding:12px}.data-table th{color:var(--text-muted);background:var(--table-head-bg);border-bottom-color:var(--table-head-border);font-size:13px;font-weight:700}.data-table tr:last-child td{border-bottom:0}.data-table td:has(>.reorder-handle){width:44px;padding-left:4px;padding-right:8px}.part-recipe-link{color:var(--accent);text-underline-offset:3px;align-items:center;gap:2px;padding:5px 0;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.part-recipe-link:hover{color:var(--accent-hover)}.part-recipe-link svg{flex:none}.part-trail-back{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);width:fit-content;color:var(--accent);place-self:start;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.part-trail-back:hover{background:var(--accent-tint);border-color:var(--accent-soft)}.part-trail-back svg{flex:none}.step-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.step-list li{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:34px 1fr;gap:10px;padding:12px;display:grid}.step-list span{background:var(--accent);width:28px;height:28px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.step-list p{margin:4px 0 0;line-height:1.65}.step-editor{gap:10px;display:grid}.step-edit-row{grid-template-columns:34px minmax(0,1fr) 42px;align-items:start;gap:8px;display:grid}.step-number-chip{background:var(--accent);width:30px;height:30px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.step-edit-row textarea{border:1px solid var(--border-strong);resize:vertical;width:100%;min-height:86px;color:var(--text);background:var(--surface);border-radius:8px;padding:10px;line-height:1.55}.ingredient-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:0;padding:18px}.print-page>header{display:none}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:10;border-right:0;border-bottom:1px solid var(--sidebar-border);flex-flow:wrap;align-items:center;gap:8px 12px;padding:10px 14px;position:sticky;top:0}.brand{border-bottom:0;order:1;margin:0;padding:0}.brand-logo{width:178px;height:40px}.side-nav{order:3;gap:6px;width:100%;display:flex}.side-nav a{flex:1;justify-content:center;min-height:40px;padding:0 8px}.side-nav a svg,.sidebar-spacer{display:none}.sidebar-auth-status{border-top:0;order:2;grid-auto-flow:column;align-items:center;gap:10px;margin:0 0 0 auto;padding:0}.sidebar-auth-actions{grid-template-columns:auto auto}.sidebar-auth-status .text-button{min-height:36px;padding:0 12px}.main-panel{padding:18px}.two-column,.ingredient-layout,.recipe-detail-columns{grid-template-columns:1fr}.summary-grid,.compact-facts{grid-template-columns:repeat(2,1fr)}.toolbar,.recipe-toolbar{grid-template-columns:1fr}.list-control-row{flex-direction:column;align-items:stretch}.list-meta-row{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.list-meta-row .count-label{white-space:nowrap}.compact-sort-control select{width:104px;min-height:32px;font-size:16px}.segmented-control{width:100%}.segmented-control button{flex:1}.home-page{align-content:start;min-height:auto}.home-action-grid{grid-template-columns:1fr}.home-action-card{text-align:left;grid-template-columns:34px minmax(0,1fr);align-content:center;justify-items:start;min-height:98px}.home-data-control{justify-self:stretch;width:100%}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-list-card{grid-template-columns:1fr;align-items:start}}@media (width<=560px){.page-header{flex-direction:column;align-items:flex-start}.materials-action-row{grid-template-columns:minmax(96px,.95fr) minmax(82px,.78fr) minmax(122px,1.22fr);gap:4px;width:100%;display:grid}.materials-action-row .primary-button,.materials-action-row .text-button{justify-self:stretch;gap:4px;min-width:0;min-height:38px;padding:0 6px;font-size:12px}.materials-action-row svg{flex:none;width:16px;height:16px}.recipe-list-header{flex-direction:row;align-items:center}.recipe-list-header h1{font-size:24px}.bottom-action-row{justify-content:stretch}.bottom-action-row .primary-button{width:100%}.print-toolbar .button-row{grid-template-columns:minmax(108px,1fr) minmax(78px,auto) minmax(64px,auto);align-items:center;gap:6px;width:100%;display:grid}.print-toolbar .toggle-label{justify-content:flex-start;min-height:36px;padding:0 8px;font-size:13px}.print-toolbar .primary-button,.print-toolbar .text-button{white-space:nowrap;justify-content:center;min-width:0;min-height:36px;padding:0 9px}.page-header h1{font-size:24px}.summary-grid,.compact-facts,.recipe-extra-grid{grid-template-columns:1fr}.recipe-summary-band{padding:8px 10px}.recipe-summary-band .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}.recipe-summary-band .recipe-extra-grid{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-top:6px;padding-top:0}.recipe-summary-band dt{margin-bottom:1px;font-size:11px}.recipe-summary-band dd{font-size:14px;line-height:1.3}.recipe-summary-band .recipe-memo-cell{grid-column:1/-1}.recipe-grid{gap:8px}.recipe-list-card{min-height:94px;padding:9px}.recipe-title-line{grid-template-columns:1fr;gap:5px}.recipe-title-link{font-size:14px}.recipe-list-card .badge{justify-self:start}.data-table{font-size:14px}.data-table th,.data-table td{padding:10px 8px}.step-edit-row{grid-template-columns:30px minmax(0,1fr) 38px;gap:6px}.step-edit-row textarea{min-height:96px}}.edit-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:14px;padding:16px;display:grid}.add-line{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.single-add-line{grid-template-columns:1fr}.suggest-list{background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;gap:6px;padding:8px;display:grid}.suggest-list button{border:1px solid var(--border-strong);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.suggest-list button span{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}.group-suggest-list{max-height:260px;overflow-y:auto}.line-editor{gap:8px;display:grid}.recipe-ingredient-groups{gap:14px;display:grid}.recipe-ingredient-group-editor{border:1px solid var(--border-strong);border-left:4px solid var(--accent);background:var(--surface-tint);border-radius:8px;gap:10px;padding:12px;display:grid}.simple-ingredient-editor{background:0 0;border-left-width:1px}.ingredient-group-editor-header{border-bottom:var(--section-rule);grid-template-columns:minmax(0,1fr) minmax(150px,190px);align-items:center;gap:8px;padding-bottom:8px;display:grid}.ingredient-group-editor-header input{border:1px solid var(--border-strong);min-height:36px;color:var(--text);background:var(--surface);border-radius:8px;min-width:0;padding:0 10px;font-weight:700}.ingredient-group-editor-header span{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:700}.ingredient-group-yield-input{color:var(--text-muted);gap:3px;font-size:11px;font-weight:700;display:grid}.ingredient-group-yield-input div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.ingredient-group-yield-input input{min-height:32px}.ingredient-group-yield-input small{color:var(--text-soft);white-space:nowrap;font-size:12px;font-weight:700}.compact-action-button{min-height:34px;padding:0 10px}.group-add-button{border-style:dashed;justify-content:center;width:100%;min-height:36px}.ingredient-line-editor{gap:6px}.ingredient-row-header{color:var(--text-muted);grid-template-columns:minmax(190px,1.7fr) minmax(86px,.45fr) minmax(86px,.45fr) minmax(92px,auto) 42px;align-items:center;gap:8px;padding:0 4px;font-size:12px;font-weight:700;display:grid}.ingredient-name-cell{min-width:0;position:relative}.ingredient-name-cell>input{width:100%}.inline-suggest-list{z-index:35;border:1px solid var(--border-strong);background:var(--surface);max-height:220px;box-shadow:0 12px 32px rgb(var(--shadow-rgb) / .16);border-radius:8px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.inline-suggest-list button{min-height:38px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:2px;padding:6px 8px;display:grid}.inline-suggest-list button:hover{background:var(--surface-hover)}.inline-suggest-list span{color:var(--text);font-size:14px}.inline-suggest-list small{color:var(--text-muted);overflow-wrap:anywhere;font-size:11px}.inline-suggest-list .suggest-register-row{border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:2px;padding-top:8px}.inline-suggest-list .suggest-register-row span{color:var(--accent);align-items:center;gap:5px;font-weight:700;display:inline-flex}.inline-suggest-list .suggest-register-row svg{flex:none}.edit-row{grid-template-columns:minmax(180px,1.5fr) minmax(90px,.5fr) minmax(90px,.5fr) minmax(92px,auto) 42px;align-items:center;gap:8px;display:grid}.ingredient-edit-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(190px,1.7fr) minmax(86px,.45fr) minmax(86px,.45fr) minmax(92px,auto) 34px 42px;padding:6px}.edit-row input,.edit-row select{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;min-width:0;min-height:40px;padding:0 10px}.edit-row strong{overflow-wrap:anywhere}.reorder-handle{border-radius:var(--radius-sm);width:32px;min-height:34px;color:var(--text-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.reorder-handle:hover{background:var(--surface-beige);color:var(--text)}.reorder-handle:active{cursor:grabbing;background:var(--accent-tint);color:var(--accent)}.reorder-handle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.is-reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}.ingredient-edit-row.is-reordering-row{box-shadow:0 10px 24px rgb(var(--shadow-rgb) / .22);border-color:var(--accent);background:#fff}.ingredient-subgroup-box.is-reordering-row{box-shadow:0 10px 24px rgb(var(--shadow-rgb) / .22);border-color:var(--accent)}.data-table tr.is-reordering-row{box-shadow:0 10px 24px rgb(var(--shadow-rgb) / .22);background:#fff;border-radius:8px}.data-table tr.is-reordering-row td{background:0 0;border-bottom-color:#0000}.fixed-unit{min-height:40px;color:var(--text-soft);overflow-wrap:anywhere;align-items:center;padding:0 10px;display:inline-flex}.grouped-ingredient-table{gap:10px;display:grid}.ingredient-display-group{gap:6px;display:grid}.ingredient-display-group h3{color:var(--text-soft);justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.ingredient-display-group h3>span{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.ingredient-display-group h3 small{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:700}.material-group-cost-list{gap:6px;margin-top:10px;display:grid}.material-group-cost-list div{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.material-group-cost-list span{color:var(--text);font-weight:700}.material-group-cost-list small{color:var(--text-muted)}.compact-empty-state{margin:0;padding:8px 10px}.check-label{border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 10px;display:inline-flex}.toggle-label{border:1px solid var(--border-strong);background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:inline-flex}.toggle-label input{width:14px;height:14px;accent-color:var(--accent);margin:0}.print-toolbar-section{margin-bottom:0}.print-toolbar .button-row{flex-wrap:wrap;justify-content:flex-end}.data-table tr.subgroup-row td{background:var(--surface-tint);border-bottom-color:#0000}.data-table tr.subgroup-row td:first-child{border-left:3px solid var(--accent);padding-left:12px}.data-table tr.subgroup-row td:last-child{border-right:1px solid var(--accent-border)}.data-table tr.subgroup-row-start td{border-top:1px solid var(--accent-border)}.data-table tr.subgroup-row-start td:first-child{border-top-left-radius:8px}.data-table tr.subgroup-row-start td:last-child{border-top-right-radius:8px}.data-table tr.subgroup-row-end td{border-bottom:1px solid var(--accent-border)}.data-table tr.subgroup-row-end td:first-child{border-bottom-left-radius:8px}.data-table tr.subgroup-row-end td:last-child{border-bottom-right-radius:8px}.ingredient-line-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ingredient-line-actions .group-add-button{flex:200px;width:auto}.subgroup-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.subgroup-commit{white-space:nowrap;min-height:34px;padding:0 14px}.subgroup-commit:disabled{cursor:default;box-shadow:none;transform:none}.subgroup-commit:disabled:hover{background:var(--accent);border-color:var(--accent);transform:none}.subgroup-hint{color:var(--text-muted);font-size:12px;font-weight:700}.subgroup-toolbar .text-button{min-height:34px;padding:0 12px;font-size:13px}.text-button.ghost{color:var(--text-muted);background:0 0;border-color:#0000}.text-button.ghost:hover{background:var(--surface-beige);color:var(--text);border-color:#0000}.ingredient-subgroup-box{border:1px solid var(--accent-border);border-left:4px solid var(--accent);background:var(--surface-tint);border-radius:8px;gap:6px;padding:6px;display:grid}.subgroup-box-tools{align-items:center;gap:8px;display:flex}.subgroup-name-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;flex:1;min-width:0;min-height:34px;padding:0 10px;font-weight:700}.subgroup-box-tools .subgroup-ungroup{flex:none;min-height:30px;padding:0 10px;font-size:12px}.subgroup-box-tools .reorder-handle{flex:none}.reorder-handle-placeholder{width:32px;min-height:34px;display:inline-flex}.ingredient-name-with-subheading{gap:2px;display:grid}.subgroup-heading{color:var(--accent);letter-spacing:.02em;font-size:11px;font-weight:800}.ingredient-edit-row.is-selecting{padding-left:38px;position:relative}.subgroup-select-check{align-items:center;display:inline-flex;position:absolute;top:8px;bottom:8px;left:10px}.subgroup-select-check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.scale-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.scale-panel-toggle{width:100%;min-height:48px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-weight:800;display:flex}.scale-panel-toggle:hover{background:var(--surface-sunken)}.scale-panel-title{align-items:center;gap:8px;display:inline-flex}.scale-active-badge{background:var(--accent-tint);min-height:22px;color:var(--accent);border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.scale-chevron{transition:transform .16s}.scale-chevron.is-open{transform:rotate(180deg)}.scale-controls{grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;max-width:360px;padding:4px 14px 14px;display:grid}.scale-opt{white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.scale-input{align-items:center;gap:6px;display:inline-flex}.scale-input input[type=number]{border:1px solid var(--border-strong);background:var(--surface);width:92px;min-height:38px;color:var(--text);border-radius:8px;padding:0 10px}.scale-input input[type=number]:disabled{background:var(--surface-sunken);color:var(--text-muted)}.scale-unit{color:var(--text-muted);font-size:13px;font-weight:700}.scale-result{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-top:2px;padding-top:10px;display:flex}.no-print{display:flex}@media (width<=900px){.edit-row{grid-template-columns:1fr 90px 88px}.ingredient-row-header{grid-template-columns:minmax(180px,1fr) 84px 82px 86px 42px}.ingredient-edit-row{grid-template-columns:minmax(170px,1fr) 82px 80px 84px 32px 40px}.edit-row .check-label,.edit-row .icon-button{width:auto}}@media (width<=560px){.add-line{grid-template-columns:1fr}.ingredient-group-editor-header{grid-template-columns:1fr auto}.ingredient-group-yield-input{grid-column:1/-1}.material-group-cost-list div{grid-template-columns:1fr auto}.material-group-cost-list small{grid-column:1/-1}.ingredient-row-header{display:none}.edit-row{grid-template-columns:1fr}.ingredient-edit-row{grid-template-columns:minmax(0,1fr) 76px 66px 40px;align-items:center;gap:6px}.ingredient-edit-row .ingredient-name-cell{grid-column:1/-1}.ingredient-edit-row .check-label{justify-content:center;min-height:36px;padding:0 8px}.edit-row .icon-button{width:100%}.ingredient-edit-row .icon-button{justify-self:end;width:40px;min-height:36px}.ingredient-edit-row{position:relative}.ingredient-edit-row .reorder-handle{position:absolute;top:9px;right:8px}.ingredient-edit-row .ingredient-name-cell{padding-right:38px}.ingredient-edit-row .reorder-handle-placeholder{display:none}}.data-menu{z-index:25;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 18px 40px rgb(var(--shadow-rgb) / .2);color:var(--text);border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0}.data-menu button,.data-menu a{min-height:38px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-weight:700;display:flex}.data-menu button:hover,.data-menu a:hover{background:var(--surface-hover)}.data-menu .danger-menu-item{color:var(--danger)}.file-input{display:none}.save-toast{z-index:30;background:var(--accent);color:var(--surface);box-shadow:0 10px 30px rgb(var(--shadow-rgb) / .16);border-radius:8px;padding:10px 14px;font-weight:700;position:fixed;top:18px;right:18px}.save-note{background:var(--accent-tint);color:var(--accent);border:1px solid var(--accent-border);border-radius:8px;margin:0;padding:12px 14px;font-weight:700}.cost-warning{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);border-radius:8px;margin:12px 0 0;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.5}.voice-transcript{border:1px solid var(--border-strong);resize:vertical;width:100%;min-height:160px;color:var(--text);background:var(--surface);border-radius:8px;padding:10px;line-height:1.6}.voice-interim{color:var(--text-faint);margin:6px 0 0;font-size:13px;font-style:italic;line-height:1.5}.primary-button.recording{background:var(--recording);border-color:var(--recording);animation:1.4s ease-in-out infinite recording-pulse}@keyframes recording-pulse{0%,to{box-shadow:0 0 0 0 rgb(var(--recording-rgb) / .35)}50%{box-shadow:0 0 0 6px rgb(var(--recording-rgb) / 0)}}@media (width<=900px){.home-data-control{width:min(260px,100%)}.data-menu{width:auto;left:0;right:0}.save-toast{text-align:center;inset:auto 12px 12px}}.modal-backdrop{z-index:60;background:rgb(var(--shadow-rgb) / .42);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{width:min(620px,100%);max-height:calc(100vh - 36px);box-shadow:0 24px 70px rgb(var(--shadow-rgb) / .28);overflow:auto}.modal-actions{justify-content:flex-end}.duplicate-modal .icon-button{width:36px;min-height:36px;font-size:20px}.backup-status{background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px;gap:2px;padding:8px 10px;display:grid}.backup-status span{color:var(--text-muted);font-size:12px;font-weight:700}.backup-status strong{color:var(--text);font-size:13px;line-height:1.35}.warning-text{color:var(--danger);font-weight:800}.price-toolbar{grid-template-columns:minmax(240px,1fr) auto}.price-review-page{padding-bottom:92px}.price-sticky-save{z-index:50;border:1px solid var(--border);box-shadow:0 12px 32px rgb(var(--shadow-rgb) / .16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-radius:8px;justify-content:flex-end;margin-top:0;padding:10px;position:fixed;bottom:18px;left:284px;right:24px}.price-sticky-save .primary-button{min-width:160px}.price-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.price-table{min-width:1280px}.price-table th,.price-table td{vertical-align:middle}.price-table input,.price-table select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:34px;color:var(--text);border-radius:6px;padding:0 8px}.price-table input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;accent-color:var(--accent);padding:0}.price-table input:disabled{background:var(--surface-disabled);color:var(--text-faint)}.price-missing-row{background:var(--row-warn)}.inline-waste-control{grid-template-columns:58px minmax(70px,1fr);align-items:center;gap:6px;display:grid}.inline-waste-control label{color:var(--text-muted);align-items:center;gap:5px;font-weight:700;display:inline-flex}.price-card-list{display:none}.price-edit-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:12px;padding:12px;display:grid}.price-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.price-card-header div:first-child{gap:3px;min-width:0;display:grid}.price-card-header span{color:var(--text-muted);font-size:12px;font-weight:700}.price-card-header strong{overflow-wrap:anywhere;font-size:15px;line-height:1.35}.price-card-unit-price{color:var(--accent);white-space:nowrap;font-weight:800}.price-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.price-card-purchase-row,.price-card-supplier-row{display:contents}.price-card-grid label{color:var(--text-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.price-card-grid input,.price-card-grid select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:40px;color:var(--text);border-radius:8px;padding:0 10px}.price-card-grid input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;accent-color:var(--accent);padding:0}.price-card-grid input:disabled{background:var(--surface-disabled);color:var(--text-faint)}.price-card-check{white-space:nowrap;grid-template-columns:auto 1fr;justify-content:flex-start;align-self:end;align-items:center;min-height:40px;color:var(--text)!important;gap:7px!important;display:inline-flex!important}.price-card-meta{background:var(--surface-sunken);min-height:32px;color:var(--text-muted);border-radius:6px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:flex}@media (width<=900px){.price-toolbar{grid-template-columns:1fr}.price-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.price-table-wrap{display:none}.price-card-list{gap:10px;display:grid}}@media (width<=560px){.price-review-page{padding-bottom:92px}.price-sticky-save{padding:8px;bottom:10px;left:12px;right:12px}.price-sticky-save .primary-button{width:100%;min-height:38px}.modal-backdrop{align-items:end;padding:10px}.modal-panel{max-height:calc(100vh - 20px)}.modal-actions{grid-template-columns:1fr;display:grid}.price-card-grid{grid-template-columns:1fr;gap:8px}.price-card-purchase-row{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:end;gap:6px;display:grid}.price-card-supplier-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.price-card-purchase-row label,.price-card-supplier-row label{min-width:0;font-size:11px}.price-card-purchase-row input,.price-card-purchase-row select,.price-card-supplier-row input{padding:0 7px}.price-card-header{flex-direction:column;align-items:stretch}.price-card-unit-price{white-space:normal}}.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row h2{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label{color:var(--text-muted);gap:6px;font-size:13px;font-weight:700;display:grid}.item-name-supplier-row{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:end;gap:12px;display:grid}.item-name-supplier-row label{min-width:0}.purchase-row{grid-template-columns:minmax(0,1.1fr) minmax(78px,.55fr) minmax(0,1fr);align-items:end;gap:10px;display:grid}.purchase-row label{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:40px;color:var(--text);border-radius:8px;padding:0 10px}.form-grid textarea{resize:vertical;min-height:76px;padding:10px}.group-suggest-control{grid-column:1/-1;gap:8px;display:grid}.group-suggest-control label{color:var(--text-muted);gap:6px;font-size:13px;font-weight:700;display:grid}.category-suggest-field{min-width:0;position:relative}.duration-field{gap:8px;min-width:0;display:flex}.duration-cell{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.duration-cell select{flex:1;width:auto;min-width:0}.duration-cell small{color:var(--text-muted);white-space:nowrap;font-size:12px}.field-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.form-grid .waste-check-label{width:auto;color:var(--text);flex-direction:row;justify-content:flex-start;justify-self:start;align-items:center;gap:8px;font-size:14px;display:inline-flex}.form-grid .waste-check-label input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;accent-color:var(--accent);flex:0 0 14px;margin:0;padding:0}.net-quantity-preview{border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:8px;align-content:center;gap:2px;min-height:40px;padding:6px 10px;display:grid}.net-quantity-preview span{color:var(--text-muted);font-size:12px;font-weight:700}.net-quantity-preview strong{color:var(--accent);font-size:15px}.table-subnote{color:var(--accent);white-space:nowrap;margin-top:3px;font-size:12px;font-weight:700;display:block}.full-span{grid-column:1/-1}.ingredient-item-list{gap:8px;display:grid}.ingredient-item-row{border:1px solid var(--border-soft);background:var(--surface-tint);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.ingredient-item-row strong{overflow-wrap:anywhere;margin-bottom:4px;display:block}.ingredient-item-row p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.ingredient-item-row span{color:var(--accent);overflow-wrap:anywhere;margin-top:6px;font-size:12px;font-weight:700;display:inline-block}.icon-button:disabled{opacity:.4;cursor:not-allowed}@media (width<=700px){input,select,textarea{font-size:16px}.form-grid{grid-template-columns:1fr}.item-name-supplier-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:6px}.group-suggest-control{gap:6px}.group-suggest-control label{font-size:11px}.group-suggest-control input{padding:0 7px}.field-note,.item-name-supplier-row label{font-size:11px}.item-name-supplier-row input{padding:0 7px}.purchase-row{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:6px}.purchase-row label{font-size:11px}.purchase-row input,.purchase-row select{padding:0 7px}.ingredient-item-row{grid-template-columns:1fr}.section-title-row{flex-direction:column;align-items:flex-start}}.materials-action-row{flex-wrap:wrap;justify-content:flex-end}.ingredient-group-card-list{gap:14px;display:grid}.ingredient-group-card .section-title-row{border-bottom:1px solid var(--border-soft);padding-bottom:6px}.ingredient-group-summary-table th:last-child,.ingredient-group-summary-table td:last-child{text-align:right;white-space:nowrap}.ingredient-group-summary-table td:first-child{width:65%}.materials-action-row .primary-button,.materials-action-row .text-button{white-space:nowrap}.materials-toolbar{grid-template-columns:minmax(240px,1fr) 220px}.table-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:10px;padding:14px;display:grid}.horizontal-title-row{flex-flow:wrap;align-items:center}.horizontal-title-row h2{white-space:nowrap;flex:none}.horizontal-title-row .text-button{white-space:nowrap}.count-label{color:var(--text-muted);font-size:13px;font-weight:700}.dense-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.compact-table-wrap{overflow-y:visible}.item-table-scroll{max-height:460px;overflow:auto}.item-table{min-width:1080px}.dense-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:980px;font-size:13px}.dense-table.ingredient-group-summary-table{min-width:0}.dense-table th,.dense-table td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:middle;white-space:nowrap;padding:8px 10px}.dense-table th{background:var(--surface-sunken);color:var(--text-muted);z-index:6;font-size:12px;position:sticky;top:0}.dense-table tr:hover td{background:var(--surface-tint)}.clickable-table-row{cursor:pointer}.clickable-table-row:hover td{background:var(--surface-hover)}.clickable-table-row:focus-visible{outline:3px solid rgb(var(--accent-rgb) / .24);outline-offset:-3px}.dense-table tr:last-child td{border-bottom:0}.strong-cell{color:var(--text);font-weight:700}.hooks-cell{text-overflow:ellipsis;max-width:260px;color:var(--text-muted);overflow:hidden}.compact-actions{align-items:center;gap:6px;display:inline-flex}.compact-actions .icon-button{width:34px;min-height:34px}.narrow-page{max-width:860px}.single-form-grid{grid-template-columns:1fr}.unit-preview{background:var(--surface-sunken);border:1px solid var(--border);color:var(--accent);border-radius:8px;padding:12px;font-weight:700}@media (width<=900px){.materials-toolbar{grid-template-columns:1fr}.dense-table{min-width:860px}}.single-toolbar{grid-template-columns:1fr}.group-table{min-width:820px}.group-edit-page{max-width:1120px}.group-edit-page .dense-table{min-width:860px}.actions-header,.actions-cell{background:var(--surface);box-shadow:1px 0 0 var(--border-soft);position:sticky;left:0}.actions-header{z-index:8;background:var(--surface-sunken);width:92px;min-width:92px}.actions-cell{z-index:2;width:92px;min-width:92px}.actions-cell .compact-actions{display:flex}.cut-sale-check{min-height:28px;color:var(--text);grid-column:1/-1;justify-content:flex-start;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.cut-sale-check input{width:14px;height:14px;accent-color:var(--accent);flex:none;margin:0}.cut-sale-check span{line-height:1.4}.form-grid .cut-sale-check{flex-direction:row;justify-content:flex-start;justify-self:start;align-items:center;gap:8px;width:auto;display:flex}.form-grid .cut-sale-check input[type=checkbox]{flex:0 0 14px;width:14px;min-width:14px;height:14px;min-height:14px;margin:0;padding:0}.form-grid .cut-sale-check span{white-space:nowrap;display:inline-block}.recipe-title-with-photo{align-items:center;gap:18px;min-width:0;display:flex}.recipe-title-with-photo>div{min-width:0}.recipe-main-photo{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:8px;flex:none;width:clamp(180px,22vw,280px)}.print-toolbar-section+.page-stack .recipe-main-photo{margin-top:8px}.photo-editor{grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:center;gap:12px;display:grid}.photo-preview{border:1px dashed var(--border-dashed);background:var(--surface-sunken);min-height:128px;color:var(--text-muted);border-radius:8px;place-items:center;font-size:13px;font-weight:700;display:grid;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-actions,.step-photo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-select-button{border:1px solid var(--accent);background:var(--accent);min-height:38px;color:var(--surface);box-shadow:0 2px 6px rgb(var(--accent-rgb) / .18);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex!important}.photo-select-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.photo-select-button:focus-within{outline:3px solid rgb(var(--accent-rgb) / .26);outline-offset:2px}.photo-select-button svg{flex:none}.form-grid label.photo-select-button,.form-grid label.photo-select-button:hover,.form-grid label.photo-select-button:focus-within{color:var(--surface);grid-template-columns:none;display:inline-flex!important}.form-grid label.photo-select-button svg{color:var(--surface)}.photo-select-button input{display:none}.step-body-editor{gap:8px;min-width:0;display:grid}.step-photo-editor{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.step-photo-thumb{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:8px;width:150px}.step-content{gap:8px;min-width:0;display:grid}.step-photo{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:8px;width:min(260px,100%)}@media (width<=700px){.recipe-title-with-photo{flex-direction:column;align-items:flex-start;gap:10px;width:100%}.recipe-title-with-photo>div{width:100%}.recipe-main-photo{width:min(100%,360px)}.photo-editor{grid-template-columns:1fr}.photo-preview{min-height:150px}.step-photo-thumb{width:120px}}@media (width<=560px){.has-sticky-action-bar{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.sticky-action-bar{z-index:40;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);box-shadow:0 -8px 24px rgb(var(--shadow-rgb) / .1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;justify-content:space-between;gap:6px;position:fixed;bottom:0;left:0;right:0}.sticky-action-bar .text-button{white-space:nowrap;gap:6px;min-height:44px;padding:0 10px}.sticky-action-bar .icon-button{width:46px;min-height:44px}}.plan-interval-toolbar{justify-content:center;display:flex}.primary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.primary-button:disabled:hover{background:var(--accent);border-color:var(--accent);transform:none}.interval-switch{border:1px solid var(--border);border-radius:var(--radius);background:#fff;display:inline-flex;overflow:hidden}.interval-switch button{min-height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:8px 20px;font-weight:700}.interval-switch button.active{background:var(--accent);color:#fff}.plan-card-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:12px;display:grid}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-content:start;gap:10px;padding:16px;display:grid}.plan-card.is-current{border-color:var(--accent);background:var(--accent-soft)}.plan-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-card-head h2{margin:0;font-size:17px}.plan-current-badge{background:var(--accent);color:#fff;border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:800}.plan-price{margin:0;font-size:26px;font-weight:800;line-height:1.2}.plan-price small{color:var(--text-muted);font-size:13px;font-weight:600}.plan-saving{color:var(--accent-hover);margin:-6px 0 0;font-weight:700}.plan-feature-list{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.plan-feature-list li{align-items:flex-start;gap:6px;display:flex}.plan-feature-list svg{color:var(--accent);flex:none;margin-top:3px}@media print{html,body{width:auto;min-width:0;margin:0}body{color:#111827;background:#fff;font-size:12px}.sidebar,.button-row,.toolbar,.primary-button,.text-button,.no-print{display:none!important}.app-shell{display:block}.main-panel{padding:0}.label-editor-layout{margin:0;display:block}.label-preview-pane{padding-top:0}.page-stack{gap:10px;max-width:none}.page-header{margin-bottom:4px}.page-header h1{font-size:22px;line-height:1.2}.recipe-main-photo{width:170px;margin-top:5px}.eyebrow{margin-bottom:3px;font-size:10px}.summary-band{border-radius:5px;padding:9px 10px}.recipe-summary-band .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px}.recipe-summary-band .recipe-extra-grid{border-top:1px solid #d7dde1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;margin-top:6px;padding-top:6px}.recipe-summary-band dt{margin-bottom:1px;font-size:10px}.recipe-summary-band dd{font-size:12px;line-height:1.35}.recipe-summary-band .recipe-memo-cell{grid-column:1/-1}.two-column{grid-template-columns:1fr 1fr;gap:10px}section h2{margin:0 0 6px;font-size:15px}.data-table{border-radius:5px;font-size:11px}.data-table th,.data-table td{padding:6px 7px;line-height:1.35}.data-table th{font-size:10px}.step-list{gap:6px}.step-list li{page-break-inside:avoid;border-radius:5px;grid-template-columns:24px 1fr;gap:7px;padding:7px 8px}.step-list span{width:21px;height:21px;font-size:11px}.step-list p{margin:2px 0 0;line-height:1.45}.step-content{grid-template-columns:minmax(0,1fr) 118px;align-items:start;gap:8px}.step-content p{grid-column:1}.step-photo{border-radius:5px;grid-area:1/2/span 2;width:118px}.step-content .step-photo:only-child{grid-column:1/-1;width:132px}.item-card,.summary-band,.data-table,.step-list li{border-color:#9aa6ac}.print-page>header{display:none}.product-label{color:#000;-webkit-font-smoothing:none;text-rendering:geometricprecision;gap:12px;max-width:none;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Noto Sans JP,sans-serif;font-weight:400}.label-facts,.label-nutrition,.label-nutrition-inline{border-width:.4pt;border-color:#000}.label-facts th,.label-facts td,.label-nutrition td{border-width:.3pt;border-color:#000}.label-facts th{background:#fff;font-weight:400}.label-allergen,.label-nutrition-inline-title{font-weight:500}.label-nutrition-sep{color:#000}.label-blank{height:26px}@page{size:A4 portrait;margin:11mm}}
