:root{--ai:#d99672;--sidebar-bg:#ece7df;--sidebar-text:#5b5449;--sidebar-muted:#948c82;--shu:#cf8677;--midori:#8caf95;--danger:#c0392b;--paper:#f8f6f3;--card:#fff;--line:#e9e4db;--ink:#3a342e;--muted:#948c82;--mix-base:#fff;--on-ai:#fff}@media (prefers-color-scheme:dark){:root:not([data-appearance=light]){--sidebar-bg:#2a2622;--sidebar-text:#ded6c9;--sidebar-muted:#9c9288;--paper:#1e1b18;--card:#272320;--line:#3b352e;--ink:#ece5da;--muted:#a49a8e;--mix-base:#272320;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-appearance=dark]{--sidebar-bg:#2a2622;--sidebar-text:#ded6c9;--sidebar-muted:#9c9288;--paper:#1e1b18;--card:#272320;--line:#3b352e;--ink:#ece5da;--muted:#a49a8e;--mix-base:#272320;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=purple]{--ai:#a48fc0}:root[data-theme=blue]{--ai:#8ab0d6}:root[data-theme=green]{--ai:#8caf95}:root[data-theme=red]{--ai:#cf8677}:root[data-theme=mint]{--ai:#7cc5b2}:root[data-theme=brown]{--ai:#a07a5c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--paper);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,YuGothic,Noto Sans JP,sans-serif}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:15px}.app-shell{height:100vh;display:flex}.print-area{display:none}@page{size:A4;margin:12mm}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{color:#000;width:100%;padding:0;display:block;position:absolute;top:0;left:0}.print-page{page-break-after:always}.print-page:last-child{page-break-after:auto}.print-menu-page{aspect-ratio:auto;width:186mm;max-width:none;height:273mm}}.print-page{flex-direction:column;gap:18px;display:flex}.print-recipe-card{border-bottom:1px dashed #999;gap:16px;padding-bottom:16px;display:flex}.print-recipe-card:last-child,.print-recipe-card:only-child{border-bottom:none;padding-bottom:0}.print-recipe-photo-col{flex-shrink:0;width:150px}.print-recipe-body{flex:1;min-width:0}.print-recipe-card h1{color:#000;margin:0 0 4px;font-size:20px}.print-category{color:#555;margin:0 0 10px}.print-photo{object-fit:cover;border-radius:8px;width:150px;height:150px;display:block}.print-recipe-card h2{color:#000;border-bottom:1px solid #000;margin:10px 0 6px;padding-bottom:4px;font-size:14px}.print-ingredient-list{color:#000;margin:0;padding-left:18px;font-size:13px;line-height:1.7}.print-instructions{white-space:pre-wrap;color:#000;font-size:13px;line-height:1.7}.print-menu-page{aspect-ratio:210/297;color:#000;box-sizing:border-box;background:#fff;flex-direction:column;width:100%;max-width:720px;margin:0 auto;padding:10mm;display:flex}.print-menu-header{text-align:center;background:#fff;border-bottom:2px solid #000;flex:none;margin:-3mm -3mm 6mm;padding:3mm 3mm 6mm}.print-menu-store{color:#555;margin:0 0 2px;font-size:13px}.print-menu-title{letter-spacing:.1em;margin:0;font-size:24px;font-weight:700}.print-menu-grid{flex:1;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:6mm 5mm;min-height:0;display:grid}.print-menu-grid.single-column{grid-template-columns:1fr}.print-menu-item{background:#fff;border:1px solid #ccc;border-radius:6px;flex-direction:column;min-height:0;padding:3mm;display:flex;overflow:hidden}.print-menu-item.editable{border-style:dashed}.print-menu-move-buttons{justify-content:flex-end;gap:4px;margin-bottom:2px;display:flex}.print-menu-move-btn{color:#555;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;width:22px;height:22px;padding:0;font-size:10px;line-height:1}.print-menu-move-btn:hover:not(:disabled){border-color:var(--ai);color:var(--ai)}.print-menu-move-btn:disabled{opacity:.3;cursor:default}.print-menu-photo-wrap{aspect-ratio:1;background:#f2efe9;border-radius:4px;flex:none;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.print-menu-photo{object-fit:cover;width:100%;height:100%;display:block}.print-menu-photo-empty{color:#b5aca0;font-size:11px}.print-menu-name{text-overflow:ellipsis;white-space:nowrap;margin:2mm 0 0;font-size:14px;font-weight:700;overflow:hidden}.print-menu-category{color:#666;margin:1mm 0 0;font-size:10px}.print-menu-allergen{color:#555;margin:1mm 0 0;font-size:9.5px;line-height:1.35}.print-menu-allergen.warn{color:#b3503f}.print-menu-footnote{color:#666;text-align:center;flex:none;margin:3mm 0 0;font-size:9px}.print-allergen{margin:2mm 0 0;font-size:12px}.print-menu-price{text-align:right;margin-top:auto;padding-top:1mm;font-size:16px;font-weight:700}.print-menu-tax-label{color:#666;margin-left:4px;font-size:10px;font-weight:400}.menu-bg-picker{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 20px;display:flex}.menu-bg-picker-label{color:var(--muted);font-size:13px}.menu-title-input{width:140px;margin-right:8px}.menu-bg-swatch{cursor:pointer;width:28px;height:28px;color:var(--ai);border:1px solid #bbb;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;display:flex}.menu-bg-swatch.selected{border:2px solid var(--ai)}.print-preview-modal{width:92vw;max-width:900px}.print-preview-body{background:#d8d4cc;flex-direction:column;align-items:center;gap:20px;max-height:75vh;padding:24px;display:flex;overflow-y:auto}.print-preview-paper{box-sizing:border-box;background:#fff;width:100%;max-width:760px;padding:16px;box-shadow:0 4px 18px #0000004d}.print-preview-page-label{text-align:center;color:#888;margin-top:8px;font-size:12px}.auth-shell{background:var(--paper);justify-content:center;align-items:center;height:100vh;display:flex}.auth-card{background:var(--card);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:32px 28px;display:flex;box-shadow:0 4px 20px #00000014}.auth-title{color:var(--ai);margin:0;font-size:20px}.auth-sub{color:var(--muted);margin:0 0 6px;font-size:14px}.auth-card .fld-label{gap:6px}.auth-card input{border:1px solid var(--line);border-radius:9px;padding:10px 11px;font-size:15px}.auth-submit{width:100%;margin-top:4px}.auth-error{color:var(--shu);margin:0;font-size:13px}.auth-message{color:var(--midori);margin:0;font-size:13px}.auth-agree{align-items:flex-start;gap:8px;margin:4px 0 8px;font-size:13px;line-height:1.6;display:flex}.auth-agree input{margin-top:4px}.auth-links{flex-direction:column;gap:6px;margin-top:4px;display:flex}.auth-links button{color:var(--ai);text-align:left;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.auth-links .auth-help-link{color:var(--ai);font-size:13px;text-decoration:underline}.sidebar{background:var(--sidebar-bg);width:220px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;padding:20px 14px;transition:width .15s;display:flex;overflow:hidden}.sidebar.collapsed{align-items:center;width:60px;padding:20px 8px}.sidebar-top{justify-content:space-between;align-items:center;gap:6px;width:100%;margin-bottom:18px;display:flex}.sidebar.collapsed .sidebar-top{justify-content:center}.sidebar-title{letter-spacing:.02em;color:var(--sidebar-text);white-space:nowrap;font-size:17px;font-weight:800}.sidebar-collapse-btn{width:26px;height:26px;color:var(--sidebar-muted);background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-collapse-btn:hover{color:var(--sidebar-text);background:#0000000f}.sidebar-list{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.sidebar-list button{text-align:left;width:100%;color:var(--sidebar-text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.sidebar-list button svg{flex-shrink:0}.sidebar.collapsed .sidebar-list button{justify-content:center;padding:9px}.sidebar-list button:hover{background:#0000000d}.sidebar-list button.on{background:var(--ai);color:var(--on-ai)}.sidebar-views{margin-bottom:14px}.sidebar-divider{background:#00000014;height:1px;margin:4px 4px 14px}.sidebar-divider.small{margin:8px 10px}.settings-view{max-width:720px}.settings-section{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:20px 22px;box-shadow:0 1px 3px #0000000f}.settings-title{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:800}.settings-desc{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.6}.settings-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.settings-field{flex:1;min-width:220px}.settings-field input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:9px;padding:10px 11px}.settings-value{color:var(--ink);word-break:break-all;padding:10px 0 4px;font-size:15px}.settings-note{color:var(--muted);margin:12px 0 0;font-size:12px}.settings-themes{flex-wrap:wrap;gap:10px;display:flex}.settings-theme{border:1px solid var(--line);background:var(--card);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-size:13px;font-weight:700;display:flex}.settings-theme.on{border-color:var(--ai);color:var(--ink);background:color-mix(in srgb, var(--ai) 10%, var(--mix-base))}.swatch{border:2px solid #0000001f;border-radius:50%;flex-shrink:0;width:20px;height:20px;padding:0}.content{flex:1;padding:28px 36px;overflow-y:auto}.home-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:8px;display:grid}.home-group-divider{background:var(--line);height:1px;margin:24px 0}.home-kpi-row{cursor:pointer;flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.home-kpi-card{background:var(--card);border:1px solid var(--line);border-radius:12px;flex:1;min-width:140px;padding:14px 18px}.home-kpi-label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.home-kpi-value{color:var(--ink);font-size:24px;font-weight:800}.home-kpi-value.positive{color:var(--midori)}.home-kpi-value.negative{color:var(--danger)}.home-kpi-value.warn{color:var(--shu)}.home-chart-box{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:24px;padding:16px 20px}.home-chart-main{gap:8px;display:flex}.home-chart-ylabels{text-align:right;width:52px;color:var(--muted);flex-direction:column;flex-shrink:0;justify-content:space-between;padding:2px 0;font-size:11px;display:flex}.home-chart{flex:1;width:100%;height:140px;display:block}.home-chart-xlabels{color:var(--muted);text-align:center;justify-content:space-between;margin-top:4px;margin-left:60px;font-size:10px;line-height:1.4;display:flex}.home-chart-area{fill:color-mix(in srgb, var(--ai) 18%, transparent)}.home-chart-line{stroke:var(--ai);stroke-width:2px}.home-chart-target{stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:5 4}.home-chart-legend{color:var(--muted);gap:18px;margin-top:8px;font-size:12px;display:flex}.home-chart-legend span{align-items:center;gap:6px;display:inline-flex}.home-chart-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.home-chart-swatch.actual{background:var(--ai)}.home-chart-swatch.target{background:var(--muted)}.home-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000f}.home-card:hover{border-color:var(--ai);box-shadow:0 4px 14px #00000014}.home-card-icon{color:var(--ai);margin-bottom:4px}.home-card-title{font-size:16px;font-weight:800}.home-card-desc{color:var(--muted);font-size:13px;line-height:1.5}.content-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.content-header h1{margin:0;font-size:24px}.stock-hint{margin:4px 0 0;font-size:13px}.stock-modal{max-width:420px}.photo-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.photo-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014}.photo-card img{object-fit:cover;background:var(--line);width:100%;height:160px;display:block}.file-thumb{background:var(--line);width:100%;height:160px;color:var(--muted);justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.photo-card-body{padding:8px 10px 10px}.photo-card-footer{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.photo-card-footer>.muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.photo-card-actions{flex-shrink:0;gap:6px;display:flex}.btn.pri-outline{border:1px solid var(--ai);width:100%;color:var(--ai);background:0 0;margin-top:8px}.recipe-modal{max-width:620px}.recipe-line{align-items:center;gap:8px;margin-bottom:6px;display:flex}.recipe-line select{flex:2;min-width:0}.recipe-line-supplier{color:var(--muted);font-size:13px;flex:1.2!important}.recipe-line .ingredient-combobox{flex:2;min-width:0;position:relative}.ingredient-combobox input{box-sizing:border-box;width:100%}.ingredient-combobox-dropdown{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:9px;max-height:220px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0000002e}.ingredient-combobox-group-label{color:var(--muted);padding:6px 8px 2px;font-size:11px}.ingredient-combobox-option{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;font-size:14px;display:block}.ingredient-combobox-option:hover,.ingredient-combobox-option:focus-visible{background:var(--paper)}.ingredient-combobox-option.selected{color:var(--ai);font-weight:700}.ingredient-combobox-custom{color:var(--muted)}.ingredient-combobox-empty{color:var(--muted);padding:8px;font-size:13px}.recipe-suggest-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-suggest-row h4{margin:0}.recipe-candidates{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:12px;display:grid}.recipe-candidate-card{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.recipe-candidate-title{font-size:13px;font-weight:800}.recipe-candidate-desc{font-size:12px;line-height:1.4}.recipe-line-custom{flex:3.2;min-width:0}.modal-body textarea.recipe-instructions{border:1px solid var(--line);background:var(--card);resize:vertical;border-radius:9px;width:100%;min-height:240px;padding:10px 11px;font-family:inherit}.recipe-photo-preview{object-fit:cover;border-radius:10px;max-width:240px;max-height:240px;margin-bottom:8px;display:block}.bg-remove-preview{margin-top:10px}.bg-remove-preview-swatch{background-image:repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%);background-size:16px 16px;border-radius:10px;margin-bottom:8px;display:inline-block;overflow:hidden}.bg-remove-preview-swatch img{object-fit:contain;max-width:240px;max-height:240px;display:block}.recipe-line-qty{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.recipe-line-qty input{min-width:0}.recipe-line-subtotal{text-align:right;flex-shrink:0;width:64px;font-size:13px}.recipe-summary{background:var(--paper);border-radius:10px;gap:24px;padding:12px 16px;display:flex}.recipe-summary>div{flex-direction:column;gap:2px;display:flex}.recipe-summary-value{color:var(--ai);font-size:18px;font-weight:800}.sales-summary{flex-wrap:wrap;margin-bottom:16px}.sales-payment-list{font-size:13px;font-weight:700}.sales-section-title{margin:20px 0 8px;font-size:14px;font-weight:800}.stock-supplier-group{margin-bottom:28px}.stock-supplier-group:first-of-type .sales-section-title{margin-top:0}.sales-detail-row td{background:var(--paper)}.sales-payment-table{max-width:360px;box-shadow:none;margin:4px 0}.sales-payment-table th,.sales-payment-table td{padding:8px 14px;font-size:13px}.purchase-detail-table{box-shadow:none;margin:4px 0}.purchase-detail-table th,.purchase-detail-table td{padding:8px 14px;font-size:13px}.purchase-detail-amount,.purchase-detail-count{white-space:nowrap;width:1%}.sales-budget-box{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:14px 16px}.sales-budget-input{flex:1;max-width:220px}.sales-budget-progress{align-items:center;gap:12px;margin-top:10px;display:flex}.sales-budget-bar-track{background:var(--paper);border-radius:999px;flex:1;height:14px;overflow:hidden}.sales-budget-bar-fill{background:var(--ai);border-radius:999px;height:100%;transition:width .2s}.review-modal{max-width:640px}.review-row{border-bottom:1px solid var(--line);gap:10px;padding:12px 0;display:flex}.review-row:last-child{border-bottom:0}.review-row.excluded{opacity:.5}.review-row-check{padding-top:10px}.review-row-fields{flex:1;grid-template-columns:1fr 1fr;gap:6px;display:grid}.review-row-fields .review-name{grid-column:1/-1;font-weight:700}.matched-note{color:var(--midori);background:color-mix(in srgb, var(--midori) 12%, var(--mix-base));border-radius:8px;grid-column:1/-1;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:700;display:flex}.matched-note span{flex:1;min-width:0}.recipe-import-card{align-items:flex-start}.recipe-import-card .review-row-fields{grid-template-columns:1fr}.recipe-import-lines{flex-direction:column;gap:4px;display:flex}.confidence-badge{align-self:center;font-size:11px}.confidence-badge.low{color:var(--shu);font-weight:700}.content-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.content-actions .btn.pri-outline{width:auto;margin-top:0}.search{border:1px solid var(--line);background:var(--card);border-radius:9px;min-width:240px;padding:9px 12px}.search-select{min-width:240px;position:relative}.search-select input.search{box-sizing:border-box;width:100%;min-width:0}.search-select-dropdown{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:9px;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0000002e}.search-select-option{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;font-size:14px;display:block}.search-select-option:hover,.search-select-option:focus-visible{background:var(--paper)}.search-select-option.selected{color:var(--ai);font-weight:700}.search-select-all{color:var(--muted)}.search-select-empty{color:var(--muted);padding:8px;font-size:13px}@media (width<=700px){.search-select-dropdown,.ingredient-combobox-dropdown{box-shadow:none;margin-top:4px;position:static}.content-actions{align-items:flex-start}.recipe-line{flex-wrap:wrap;align-items:flex-start;row-gap:6px}.recipe-line-supplier,.recipe-line .ingredient-combobox,.recipe-line-custom{flex:100%}}.btn{white-space:nowrap;border:0;border-radius:9px;flex-shrink:0;padding:9px 16px;font-size:14px;font-weight:700}.btn.pri{background:var(--ai);color:var(--on-ai)}.btn.pri:disabled{cursor:not-allowed;background:#c9c2b8}.btn.ghost{background:color-mix(in srgb, var(--ai) 16%, var(--mix-base));color:var(--ai)}.btn.mini{border:1px solid color-mix(in srgb, var(--ai) 40%, var(--mix-base));background:var(--card);color:var(--ai);white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:12px}.btn.mini.red{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--mix-base))}.ingredient-table{border-collapse:collapse;background:var(--card);border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 3px #00000014}.ingredient-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:700}.ingredient-table td{border-bottom:1px solid var(--line);padding:12px 16px;font-size:14px}.ingredient-table tbody tr{cursor:pointer}.ingredient-table tbody tr:hover{background:color-mix(in srgb, var(--ai) 6%, var(--card))}.recipe-row-discontinued{opacity:.55}.name-cell{font-weight:700}.unit-price-col{white-space:nowrap}.unit-price{color:var(--ai);font-size:17px;font-weight:800}.muted{color:var(--muted)}.variance{font-size:13px;font-weight:700}.variance.up{color:var(--shu)}.variance.down{color:var(--midori)}.variance-link{text-underline-offset:2px;cursor:pointer;text-decoration:underline}.ingredient-chart-dot{fill:var(--ai);stroke:var(--card);stroke-width:1.5px}.empty-state{text-align:center;color:var(--muted);padding:80px 20px}.empty-icon{margin-bottom:10px;font-size:40px}.modal-bg{z-index:50;background:#1e1b1773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:16px;width:100%;max-width:560px;max-height:88vh;padding:0 0 20px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex;position:sticky;top:0}.modal-header h3{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:auto;min-width:0;margin:0;font-size:16px;overflow:hidden}.modal-header .btn{white-space:nowrap;flex-shrink:0}.modal-body{flex-direction:column;gap:20px;padding:16px 20px;display:flex}.modal-body section{flex-direction:column;gap:8px;display:flex}.modal-body h4{color:var(--ai);letter-spacing:.04em;margin:0 0 2px;font-size:12px;font-weight:800}.modal-body input:not([type=checkbox]):not([type=radio]),.modal-body select,.modal-body textarea{border:1px solid var(--line);background:var(--card);border-radius:9px;width:100%;padding:10px 11px}.modal-body input[type=checkbox],.modal-body input[type=radio]{width:16px;height:16px;accent-color:var(--ai);flex-shrink:0}.modal-body textarea{resize:vertical;min-height:70px}.row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fld-label{color:var(--muted);flex-direction:column;gap:4px;font-size:11px;font-weight:700;display:flex}.fld-hint{color:var(--muted);margin:-4px 0 4px;font-size:12px;line-height:1.5}.history-row{color:var(--muted);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.entry-kind{border:1px solid var(--line);background:color-mix(in srgb, var(--ai) 6%, var(--mix-base));border-radius:10px;margin-top:14px;padding:12px 14px}.entry-kind-option{color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;display:flex}.entry-kind-option input{flex-shrink:0;margin-top:3px}.entry-kind-option strong{font-size:13px;display:block}.entry-kind-desc{color:var(--muted);font-size:12px;line-height:1.5;display:block}.fix-modal{max-width:460px}.fix-summary{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-bottom:16px;padding:12px 14px}.fix-summary-name{color:var(--ink);font-size:15px;font-weight:800}.fix-summary-meta{color:var(--muted);margin-top:4px;font-size:12px}.fix-actions{flex-direction:column;gap:10px;display:flex}.fix-action{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.fix-action strong{font-size:14px}.fix-action:hover{border-color:var(--ai)}.fix-action.danger strong{color:var(--danger)}.fix-action.danger:hover{border-color:var(--danger)}.fix-action:disabled{opacity:.6;cursor:not-allowed}.import-date,.entry-kind-date{margin:14px 0 6px}.import-date input,.entry-kind-date input{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;max-width:220px;padding:9px 11px}.entry-kind-date{margin:10px 0 2px}.leftover-picker{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:16px 18px}.leftover-picker-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.leftover-chips{flex-wrap:wrap;gap:8px;display:flex}.leftover-chip{border:1px solid var(--line);background:var(--paper);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:baseline;gap:6px;padding:7px 13px;font-size:13px;display:flex}.leftover-chip.on{border-color:var(--ai);background:color-mix(in srgb, var(--ai) 12%, var(--mix-base));color:var(--ink);font-weight:700}.leftover-chip-qty{color:var(--muted);font-size:11.5px;font-weight:400}.leftover-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.leftover-servings input,.leftover-note input{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:9px 11px}.leftover-servings input{width:90px}.leftover-note{flex:1;min-width:240px}.leftover-note input{width:100%}.leftover-meal{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:20px 22px;box-shadow:0 1px 3px #0000000f}.leftover-meal-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.leftover-meal h3{color:var(--ink);margin:0;font-size:17px}.leftover-meal h4{color:var(--muted);margin:16px 0 6px;font-size:12px}.leftover-meal-cost{color:var(--ai);align-items:baseline;gap:5px;font-size:14px;font-weight:700;display:flex}.leftover-meal-cost .muted{font-size:11.5px;font-weight:400}.leftover-meal-summary{color:var(--muted);margin:6px 0 0;font-size:13.5px;line-height:1.6}.leftover-uses{margin:0;padding:0;list-style:none}.leftover-uses li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:5px 0;font-size:13.5px;display:flex}.leftover-uses li:last-child{border-bottom:none}.leftover-over{color:var(--shu);font-weight:700}.leftover-instructions{color:var(--ink);white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.8}.leftover-period select{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:5px 9px;font-size:12px}.recipe-filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.recipe-filter{border:1px solid var(--line);background:var(--card);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12.5px;font-weight:700}.recipe-filter.on{border-color:var(--ai);background:color-mix(in srgb, var(--ai) 12%, var(--mix-base));color:var(--ink)}.favorite-star{color:var(--line);background:0 0;border:0;padding:0 2px;font-size:17px;line-height:1}.favorite-star.on{color:#e0a93c}.menu-badge{vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.menu-badge.grand{background:color-mix(in srgb, var(--ai) 16%, var(--mix-base));color:var(--ai)}.menu-badge.seasonal{background:color-mix(in srgb, var(--midori) 22%, var(--mix-base));color:var(--midori)}.menu-badge.staff{background:color-mix(in srgb, var(--shu) 18%, var(--mix-base));color:var(--shu)}.favorite-toggle .favorite-btn{border:1px solid var(--line);background:var(--card);color:var(--muted);text-align:left;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700}.favorite-toggle .favorite-btn.on{background:color-mix(in srgb, #e0a93c 14%, var(--mix-base));color:#a9782a;border-color:#e0a93c}.alert-box{background:var(--card);border:1px solid color-mix(in srgb, var(--shu) 45%, var(--line));border-radius:14px;margin-bottom:20px;padding:18px 20px}.alert-title{color:var(--shu);margin:0 0 12px;font-size:15px}.alert-group{margin-bottom:14px}.alert-group-label{color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:700}.alert-row{text-align:left;background:var(--paper);width:100%;color:var(--ink);border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding:8px 10px;font-size:13.5px;display:flex}.alert-row:hover{background:color-mix(in srgb, var(--ai) 10%, var(--paper))}.alert-row-name{flex-direction:column;gap:2px;min-width:0;display:flex}.alert-row-sub{color:var(--muted);font-size:11.5px}.alert-row-value{flex-shrink:0;font-weight:800}.alert-row-value.warn{color:var(--shu)}.alert-more{color:var(--muted);padding:2px 10px;font-size:12px}.alert-settings-link{color:var(--ai);background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.menu-badge.attention{background:color-mix(in srgb, var(--shu) 18%, var(--mix-base));color:var(--shu)}.main-column{flex-direction:column;flex:1;min-width:0;display:flex}.store-bar{border-bottom:1px solid var(--line);background:var(--card);flex-shrink:0;align-items:center;gap:8px;padding:8px 36px;display:flex}.store-bar-icon{font-size:14px}.store-bar-name{color:var(--ink);font-size:13.5px;font-weight:800}.store-bar-select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;max-width:320px;padding:4px 8px;font-size:13.5px;font-weight:800}.store-bar-role{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.member-list{margin:6px 0 16px;padding:0;list-style:none}.member-list li{border:1px solid var(--line);background:var(--paper);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:9px 12px;font-size:13.5px;display:flex}.member-role{color:var(--muted);margin-left:8px;font-size:11px;font-weight:700}.invite-inbox{border-color:color-mix(in srgb, var(--ai) 50%, var(--line));background:color-mix(in srgb, var(--ai) 7%, var(--card))}.store-add-row{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.share-toggle{border:1px solid var(--line);background:var(--paper);border-radius:9px;margin-top:12px;padding:10px 12px}.menu-badge.shared{background:color-mix(in srgb, var(--ai) 14%, var(--mix-base));color:var(--ai)}.menu-badge.prep{background:color-mix(in srgb, var(--muted) 22%, var(--mix-base));color:var(--ink)}.invite-banner{background:color-mix(in srgb, var(--ai) 8%, var(--card));border:1px solid color-mix(in srgb, var(--ai) 45%, var(--line));border-radius:14px;margin-bottom:20px;padding:16px 20px}.invite-banner-title{color:var(--ai);margin:0 0 10px;font-size:15px}.invite-banner-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.invite-banner-store{color:var(--ink);font-size:15px;font-weight:800}.invite-banner-role{color:var(--muted);font-size:12px}.unused-stores{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.store-current{background:color-mix(in srgb, var(--card) 70%, transparent);color:var(--sidebar-text);border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:13px;font-weight:700;display:flex}.store-role{color:var(--sidebar-muted);font-size:10.5px;font-weight:700}.fix-other-title{color:var(--muted);border-top:1px solid var(--line);margin:22px 0 10px;padding-top:14px;font-size:12px}.retention-notes{color:var(--muted);margin:0 0 14px;padding-left:20px;font-size:13px;line-height:1.7}.dup-group{border:1px solid var(--line);background:var(--paper);border-radius:12px;margin-bottom:12px;padding:14px 16px}.dup-reason{color:var(--ai);margin-bottom:8px;font-size:11px;font-weight:700}.dup-row{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.dup-row input{flex-shrink:0;margin-top:3px}.dup-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.dup-row-name{color:var(--ink);font-size:14px;font-weight:700}.dup-row-meta{color:var(--muted);font-size:11.5px}.dup-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.photo-mark{color:var(--line);font-size:14px;line-height:1}.photo-mark.on{color:inherit}.leftover-group{margin-bottom:14px}.leftover-group:last-child{margin-bottom:0}.leftover-group-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:6px;display:flex}.leftover-group-name{color:var(--ink);align-items:baseline;gap:8px;font-size:13px;font-weight:800;display:flex}.leftover-group-count{color:var(--muted);font-size:11.5px;font-weight:700}.leftover-search{min-width:200px}.leftover-group-toggle{text-align:left;background:0 0;border:0;flex:1;align-items:baseline;gap:8px;min-width:0;padding:0;display:flex}.leftover-group-arrow{color:var(--muted);flex-shrink:0;font-size:9px}.danger-section{border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.danger-section .settings-title{color:var(--danger)}.delete-confirm{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.delete-confirm .note-list{color:var(--muted);margin-bottom:14px;font-size:13px}.delete-confirm input{border:1px solid var(--line);background:var(--card);max-width:260px;color:var(--ink);border-radius:9px;padding:9px 11px}.deletion-survey{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-bottom:16px;padding:14px 16px}.deletion-reasons{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.deletion-survey textarea{border:1px solid var(--line);background:var(--card);color:var(--ink);resize:vertical;border-radius:9px;padding:9px 11px;font-size:14px}.appearance-options{margin-bottom:14px}.allergen-picker{flex-direction:column;gap:10px;display:flex}.allergen-group-title{color:var(--muted);margin-bottom:4px;font-size:11.5px;font-weight:700}.allergen-grid{flex-wrap:wrap;gap:6px;display:flex}.allergen-check{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.allergen-check.on{background:color-mix(in srgb, var(--shu) 18%, var(--mix-base));border-color:var(--shu);font-weight:700}.allergen-check input{margin:0}.allergen-badge{background:color-mix(in srgb, var(--shu) 18%, var(--mix-base));border:1px solid color-mix(in srgb, var(--shu) 55%, var(--line));white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.allergen-badge.unknown{color:var(--muted);background:0 0;border-style:dashed}.allergen-badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.allergen-warning{color:var(--shu);margin:6px 0 0;font-size:12px}.menu-allergen-toggle{cursor:pointer;align-items:center;gap:4px;margin-left:8px;font-size:13px;display:inline-flex}.menu-bg-picker{flex-wrap:wrap}.export-buttons{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.variance-controls{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.variance-actions{margin:8px 0}.variance-loss{color:var(--shu)}.variance-table tr.variance-notable td{background:color-mix(in srgb, var(--shu) 10%, var(--card))}.stock-total-subtotal-row td{background:color-mix(in srgb, var(--ai) 8%, var(--card));border-top:1px solid var(--line)}.variance-help{color:var(--muted);margin-top:16px;font-size:13px}.variance-help ul{margin:8px 0 0;padding-left:20px;line-height:1.7}.variance-mode{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.ai-consent{max-width:560px}.ai-consent .modal-body{gap:10px}.ai-consent .modal-body p,.ai-consent .modal-body ul{margin:0}.ai-consent .modal-body p,.ai-consent .modal-body li{font-size:14px;line-height:1.65}.ai-consent .modal-body ul{padding-left:20px}.menu-class-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0;display:grid}.menu-class-card{text-align:left;border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:12px;font-size:12.5px;line-height:1.55;display:flex}.menu-class-card.selected{border-color:var(--ai);background:color-mix(in srgb, var(--ai) 10%, var(--card))}.menu-class-card strong{font-size:14px}.menu-class-count{font-size:22px;font-weight:700}.menu-badge.class-star{background:color-mix(in srgb, var(--midori) 30%, var(--mix-base))}.menu-badge.class-workhorse{background:color-mix(in srgb, var(--ai) 22%, var(--mix-base))}.menu-badge.class-puzzle{background:color-mix(in srgb, var(--muted) 24%, var(--mix-base))}.menu-badge.class-dog{background:color-mix(in srgb, var(--shu) 24%, var(--mix-base))}.variance-save{align-self:flex-end}
