:root{color:#18221f;font-synthesis:none;text-rendering:optimizelegibility;--green:#087f5b;--green-dark:#056247;--green-soft:#e7f5ef;--orange:#d97706;--orange-soft:#fff4df;--red:#c92a2a;--red-soft:#fff0f0;--border:#dfe7e3;--muted:#68756f;--surface:#fff;--shadow:0 10px 30px #162e250f;background:#f5f7f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f5f7f6}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(1.55rem,5vw,2rem)}h2{margin-bottom:0;font-size:1rem}code{overflow-wrap:anywhere;background:#edf1ef;border-radius:6px;padding:2px 5px}.center-page{place-items:center;min-height:100vh;padding:20px;display:grid}.panel,.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px}.setup-panel,.auth-card{width:min(100%,460px);padding:24px}.brand-mark{background:var(--green);color:#fff;border-radius:16px;place-items:center;width:50px;height:50px;margin-bottom:18px;font-size:1.4rem;font-weight:800;display:grid}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:800}.muted,.fine-print{color:var(--muted)}.fine-print{margin:18px 0 0;font-size:.78rem}.steps{padding-left:20px;line-height:1.8}.form-stack{gap:15px;display:grid}.form-stack h2{font-size:1.15rem}label{color:#33413b;gap:7px;font-size:.88rem;font-weight:700;display:grid}input,select,textarea{color:#18221f;background:#fff;border:1px solid #cad6d0;border-radius:12px;outline:none;width:100%;min-height:46px;padding:12px 13px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #087f5b1f}.form-message{color:#394740;background:#f0f4f2;border-radius:10px;margin:0;padding:10px 12px;font-size:.85rem}.primary-button,.ghost-button,.text-button{border:0;border-radius:12px;min-height:44px;font-weight:800}.primary-button{background:var(--green);color:#fff;padding:12px 16px}.primary-button:hover{background:var(--green-dark)}.ghost-button{background:var(--green-soft);color:var(--green-dark);padding:10px 13px}.text-button{color:var(--green);background:0 0;padding:8px 10px}.segmented{background:#eef2f0;border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;margin:20px 0;padding:4px;display:grid}.segmented button{color:#65716c;background:0 0;border:0;border-radius:10px;min-height:42px;font-weight:750}.segmented button.active{color:var(--green-dark);background:#fff;box-shadow:0 2px 8px #142c2314}.admin-tabs{grid-template-columns:repeat(3,1fr);margin:0 0 18px}.app-shell{min-height:100vh}.topbar{z-index:10;min-height:64px;padding:max(10px, env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar div{min-width:0;display:grid}.topbar strong,.topbar small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar small{color:var(--muted)}.main-content{width:min(100%,920px);padding:18px 14px calc(92px + env(safe-area-inset-bottom));margin:0 auto}.page-section{gap:16px;display:grid}.page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.global-error{background:var(--red-soft);width:min(100% - 28px,892px);color:var(--red);border-radius:12px;margin:12px auto 0;padding:11px 13px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.summary-card{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:104px;padding:15px;display:flex}.summary-card span{color:var(--muted);font-size:.8rem}.danger-card{background:var(--red-soft);color:var(--red);border-color:#ffd2d2}.warning-card{background:var(--orange-soft);color:var(--orange);border-color:#ffe2b4}.alert-panel{box-shadow:none;padding:16px}.alert-panel.danger{border-left:5px solid var(--red)}.alert-panel.warning{border-left:5px solid var(--orange)}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-heading>span{background:#edf2ef;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid}.compact-list,.inventory-list{margin:0;padding:0;list-style:none;display:grid}.compact-list li{border-top:1px solid #edf1ef;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 0;display:flex}.compact-list li:first-child{border-top:0}.compact-list small{color:var(--muted);margin-top:3px;display:block}.empty-state{color:var(--muted);margin:0;padding:12px 0}.search-box{z-index:5;background:#f5f7f6f5;border-radius:15px;padding:9px;position:sticky;top:76px}.search-box span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.accordion-list{gap:10px;display:grid}.accordion{border:1px solid var(--border);background:#fff;border-radius:15px;overflow:hidden}.accordion-trigger{text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 14px;font-weight:800;display:flex}.accordion-trigger span:last-child{color:var(--muted);font-size:.8rem}.inventory-list li{border-top:1px solid #edf1ef;justify-content:space-between;align-items:center;gap:15px;min-height:58px;padding:11px 14px;display:flex}.inventory-list div{min-width:0}.inventory-list strong{overflow-wrap:anywhere;display:block}.inventory-list>li>span{flex-shrink:0;font-weight:800}.status-text{margin-top:4px;font-size:.72rem;display:block}.status-text.normal{color:var(--green)}.status-text.warning{color:var(--orange)}.status-text.danger{color:var(--red)}.admin-grid{gap:14px;display:grid}.admin-grid>.panel{box-shadow:none;padding:16px}.two-columns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-product-list{max-height:480px;overflow:auto}.bottom-nav{z-index:20;padding:7px max(8px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#718078;background:0 0;border:0;border-radius:13px;align-content:center;place-items:center;gap:2px;min-height:55px;display:grid}.bottom-nav button>span{font-size:1.2rem;line-height:1}.bottom-nav button small{font-size:.68rem;font-weight:800}.bottom-nav button.active{color:var(--green-dark);background:var(--green-soft)}@media (width>=720px){.summary-grid{grid-template-columns:repeat(4,1fr)}.admin-grid{grid-template-columns:minmax(300px,.85fr) minmax(330px,1.15fr)}.main-content{padding-top:26px}}@media (width<=370px){.two-columns{grid-template-columns:1fr}.admin-tabs button{font-size:.75rem}.topbar{padding-left:12px;padding-right:8px}}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.secondary-button,.danger-button{border-radius:12px;min-height:44px;padding:10px 13px;font-weight:800}.secondary-button{border:1px solid var(--border);color:var(--green-dark);background:#fff}.danger-button{background:var(--red-soft);color:var(--red);border:0}.purchase-builder,.purchase-cart,.review-panel{box-shadow:none;padding:16px}.purchase-cart{gap:15px;display:grid}.cart-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cart-list li{border-top:1px solid #edf1ef;grid-template-columns:minmax(0,1fr) minmax(92px,116px) auto;align-items:end;gap:10px;padding:12px 0;display:grid}.cart-list li:first-child{border-top:0}.cart-product-info{align-self:center;min-width:0}.cart-product-info strong{overflow-wrap:anywhere;display:block}.cart-product-info small{color:var(--muted);margin-top:4px;display:block}.compact-quantity{gap:5px;font-size:.74rem}.compact-quantity input{min-height:42px;padding:9px 10px}.review-panel{gap:16px;display:grid}.review-panel h2{font-size:1.3rem}.review-list small{color:var(--muted);margin-top:4px;display:block}.review-comment{background:#f3f6f4;border-radius:12px;padding:12px}.review-comment p{white-space:pre-wrap;margin:6px 0 0}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.history-list{gap:10px;display:grid}.history-card{box-shadow:none;overflow:hidden}.history-trigger{text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:64px;padding:13px 14px;display:flex}.history-trigger div{min-width:0}.history-trigger strong{display:block}.history-trigger small{color:var(--muted);margin-top:4px;display:block}.history-trigger>span{color:var(--muted);text-align:right;flex-shrink:0;font-size:.76rem}.history-details{border-top:1px solid #edf1ef;padding:0 14px 14px}.history-comment{color:#45524c;white-space:pre-wrap;background:#f3f6f4;border-radius:10px;margin:12px 0 4px;padding:10px 12px}.history-error{background:var(--red-soft);color:var(--red)}.positive-text{color:var(--green)}.negative-text{color:var(--red)}@media (width<=520px){.quick-actions{grid-template-columns:1fr}.cart-list li{grid-template-columns:minmax(0,1fr) 96px;align-items:center}.cart-list .danger-button{grid-column:1/-1;width:100%}.button-row{grid-template-columns:1fr}}.adjustment-tabs{margin:0}.adjustment-form,.count-add-panel,.count-cart{box-shadow:none;padding:16px}.compact-copy{margin:-4px 0 2px;font-size:.86rem;line-height:1.5}.current-stock-card{background:var(--green-soft);color:var(--green-dark);border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.current-stock-card span{font-size:.8rem;font-weight:700}.current-stock-card strong{font-size:1.1rem}.difference-preview{border-radius:11px;margin:0;padding:10px 12px;font-weight:800}.difference-preview.positive{background:var(--green-soft);color:var(--green-dark)}.difference-preview.negative{background:var(--red-soft);color:var(--red)}.difference-preview.neutral{color:var(--muted);background:#eef2f0}.adjustment-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.adjustment-summary>div,.count-stats>div{border:1px solid var(--border);background:#fbfcfb;border-radius:12px;gap:5px;padding:12px;display:grid}.adjustment-summary span,.count-stats span{color:var(--muted);font-size:.75rem}.adjustment-summary strong{overflow-wrap:anywhere}.count-layout{gap:14px;display:grid}.count-cart{gap:15px;display:grid}.count-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.count-list li{border-top:1px solid #edf1ef;grid-template-columns:minmax(0,1fr) minmax(104px,126px) auto;align-items:end;gap:10px;padding:12px 0;display:grid}.count-list li:first-child{border-top:0}.count-product-info{align-self:center;min-width:0}.count-product-info strong,.count-product-info small{overflow-wrap:anywhere;display:block}.count-product-info small{color:var(--muted);margin-top:4px}.count-product-info small.positive-text{color:var(--green)}.count-product-info small.negative-text{color:var(--red)}.count-footer-summary{flex-wrap:wrap;gap:8px;display:flex}.count-footer-summary span{color:var(--muted);background:#eef2f0;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800}.count-stats{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.count-stats strong{font-size:1.25rem}.count-review-list{max-height:46vh;overflow:auto}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width>=720px){.count-layout{grid-template-columns:minmax(280px,.75fr) minmax(390px,1.25fr);align-items:start}}@media (width<=520px){.adjustment-summary{grid-template-columns:1fr}.count-list li{grid-template-columns:minmax(0,1fr) 108px;align-items:center}.count-list .danger-button{grid-column:1/-1;width:100%}.header-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.page-header:has(.header-actions){flex-direction:column;align-items:stretch}}.bottom-nav{grid-template-columns:repeat(5,1fr)}.production-tabs{margin:0}.production-layout,.recipe-management-layout{gap:14px;display:grid}.production-builder,.production-usage-panel,.recipe-editor,.recipe-catalog{box-shadow:none;padding:16px}.recipe-base-card{grid-template-columns:1fr 1fr;gap:10px;display:grid}.recipe-base-card>div{border:1px solid var(--border);background:#fbfcfb;border-radius:12px;gap:5px;padding:12px;display:grid}.recipe-base-card span{color:var(--muted);font-size:.75rem}.recipe-base-card strong{overflow-wrap:anywhere}.production-usage-panel{gap:15px;display:grid}.production-usage-panel .panel-heading>div{min-width:0}.production-usage-panel .panel-heading small{color:var(--muted);margin-top:4px;display:block}.production-usage-list,.recipe-ingredient-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.production-usage-list li{border:1px solid var(--border);background:#fbfcfb;border-radius:13px;grid-template-columns:minmax(0,1fr) minmax(104px,126px);align-items:center;gap:10px;padding:12px;display:grid}.production-usage-list li.usage-shortage{background:var(--red-soft);border-color:#f0b7b7}.usage-product{min-width:0}.usage-product strong,.usage-product small{overflow-wrap:anywhere;display:block}.usage-product small{color:var(--muted);margin-top:4px;font-size:.76rem}.production-summary-line{color:var(--muted);margin:-5px 0 0}.ingredient-builder{border:1px solid var(--border);background:#fbfcfb;border-radius:14px;gap:12px;padding:14px;display:grid}.ingredient-builder h3{margin:0;font-size:.95rem}.ingredient-inline-form{grid-template-columns:minmax(0,1.4fr) minmax(100px,.7fr) auto;align-items:end;gap:9px;display:grid}.recipe-ingredient-list li{border-top:1px solid #edf1ef;grid-template-columns:minmax(0,1fr) minmax(92px,116px) auto auto;align-items:center;gap:9px;padding:11px 0;display:grid}.recipe-ingredient-list li:first-child{border-top:0}.recipe-ingredient-list li>div{min-width:0}.recipe-ingredient-list strong,.recipe-ingredient-list small{overflow-wrap:anywhere;display:block}.recipe-ingredient-list small{color:var(--muted);margin-top:3px}.ingredient-unit{color:var(--muted);text-align:center;min-width:32px;font-size:.8rem;font-weight:800}.recipe-card-list{gap:10px;display:grid}.recipe-card{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.recipe-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:12px 14px;list-style:none;display:flex}.recipe-card summary::-webkit-details-marker{display:none}.recipe-card summary>div{min-width:0}.recipe-card summary strong,.recipe-card summary small{overflow-wrap:anywhere;display:block}.recipe-card summary small{color:var(--muted);margin-top:4px}.recipe-card summary>span{color:var(--muted);flex-shrink:0;font-size:.75rem;font-weight:800}.recipe-card-body{border-top:1px solid #edf1ef;gap:12px;padding:0 14px 14px;display:grid}.recipe-card-body .compact-list{margin-top:10px}.recipe-notes{color:#45524c;white-space:pre-wrap;background:#f3f6f4;border-radius:10px;margin:0;padding:10px 12px}@media (width>=760px){.production-layout,.recipe-management-layout{grid-template-columns:minmax(300px,.8fr) minmax(390px,1.2fr);align-items:start}.production-layout>.review-panel{grid-column:1/-1;justify-self:center;width:100%;max-width:760px}}@media (width<=600px){.bottom-nav button small{font-size:.61rem}.bottom-nav{padding-left:4px;padding-right:4px}.recipe-base-card{grid-template-columns:1fr}.ingredient-inline-form{grid-template-columns:1fr 1fr}.ingredient-inline-form .secondary-button{grid-column:1/-1}.recipe-ingredient-list li{grid-template-columns:minmax(0,1fr) 100px auto}.recipe-ingredient-list .danger-button{grid-column:1/-1;width:100%}}@media (width<=370px){.bottom-nav button small{font-size:.56rem}.production-usage-list li{grid-template-columns:1fr}.recipe-ingredient-list li{grid-template-columns:minmax(0,1fr) 92px}.ingredient-unit{text-align:left}}.shopping-summary{box-shadow:none;grid-template-columns:repeat(2,1fr);gap:9px;padding:14px;display:grid}.shopping-summary>div{border:1px solid var(--border);background:#fbfcfb;border-radius:12px;gap:5px;padding:11px;display:grid}.shopping-summary span{color:var(--muted);font-size:.74rem}.shopping-summary strong{font-size:1rem}.shopping-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.shopping-final-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.shopping-add-panel,.shopping-list-panel{box-shadow:none;padding:16px}.shopping-list-panel{gap:15px;display:grid}.shopping-item-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.shopping-item-list li{border-top:1px solid #edf1ef;grid-template-columns:minmax(0,1fr) minmax(104px,126px) auto;align-items:end;gap:10px;padding:12px 0;display:grid}.shopping-item-list li:first-child{border-top:0}.shopping-product-info{align-self:center;min-width:0}.shopping-product-info strong,.shopping-product-info small{overflow-wrap:anywhere;display:block}.shopping-product-info small{color:var(--muted);margin-top:4px}.shopping-meta{color:var(--muted);margin:0;font-size:.78rem}.shopping-print-sheet{display:none}@media (width>=720px){.shopping-summary{grid-template-columns:repeat(4,1fr)}}@media (width<=520px){.shopping-actions,.shopping-final-actions{grid-template-columns:1fr}.shopping-item-list li{grid-template-columns:minmax(0,1fr) 108px;align-items:center}.shopping-item-list .danger-button{grid-column:1/-1;width:100%}}.admin-tabs-scroll{scrollbar-width:thin;grid-template-columns:none;display:flex;overflow-x:auto}.admin-tabs-scroll button{flex:none;min-width:112px;padding:0 14px}.user-management-layout,.role-management-layout{gap:14px;display:grid}.user-invite-panel,.user-list-panel,.invitation-list-panel,.role-selector-panel,.role-editor-panel{box-shadow:none;padding:16px}.invitation-code-card{background:var(--green-soft);border:1px solid #b8ddcf;border-radius:14px;gap:8px;padding:14px;display:grid}.invitation-code-card span,.invitation-code-card small{color:var(--green-dark)}.invitation-code-card strong{letter-spacing:.12em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:1.35rem}.user-card-list{gap:10px;display:grid}.user-card{border:1px solid var(--border);background:#fbfcfb;border-radius:14px;gap:12px;padding:14px;display:grid}.user-card-inactive{opacity:.86;background:#f4f5f4}.user-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.user-card-heading>div{min-width:0}.user-card-heading strong,.user-card-heading small{overflow-wrap:anywhere;display:block}.user-card-heading small{color:var(--muted);margin-top:4px}.user-edit-grid{gap:10px;display:grid}.switch-row{grid-template-columns:auto 1fr;align-items:center;gap:10px}.switch-row input{width:22px;min-height:22px;margin:0}.status-badge{min-height:28px;color:var(--muted);white-space:nowrap;background:#e8ecea;border-radius:999px;align-items:center;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.status-badge.active{background:var(--green-soft);color:var(--green-dark)}.compact-action{min-height:36px;padding:7px 10px}.role-selector-panel{align-content:start;gap:8px;display:grid}.role-select{border:1px solid var(--border);color:#28352f;text-align:left;background:#fff;border-radius:12px;gap:4px;width:100%;padding:12px;display:grid}.role-select small{color:var(--muted)}.role-select.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.permission-groups{gap:12px;display:grid}.permission-group{border:1px solid var(--border);border-radius:13px;gap:6px;margin:0;padding:12px;display:grid}.permission-group legend{color:var(--green-dark);padding:0 7px;font-weight:800}.permission-option{border-top:1px solid #edf1ef;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;padding:8px 0}.permission-option:first-of-type{border-top:0}.permission-option input{width:21px;min-height:21px;margin:1px 0 0}.permission-option strong,.permission-option small{display:block}.permission-option small{color:var(--muted);margin-top:3px;font-weight:500}.role-delete-box{background:var(--red-soft);border:1px solid #ffd2d2;border-radius:13px;gap:10px;padding:13px;display:grid}.bottom-nav button:disabled{opacity:.42}@media (width>=780px){.user-management-layout{grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);align-items:start}.invitation-list-panel{grid-column:1/-1}.role-management-layout{grid-template-columns:minmax(250px,.68fr) minmax(430px,1.32fr);align-items:start}.user-edit-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.admin-tabs-scroll{margin-left:-4px;margin-right:-4px}.user-card-heading{flex-direction:column;align-items:stretch}.status-badge{align-self:flex-start}}.catalog-card-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.catalog-card{border:1px solid var(--border);background:#fbfcfb;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.catalog-card-info{min-width:0}.catalog-card-info strong,.catalog-card-info small{overflow-wrap:anywhere;display:block}.catalog-card-info small{color:var(--muted);margin-top:4px}.catalog-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.recipe-card-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-backdrop{z-index:60;background:#12201a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{gap:15px;width:min(100%,520px);max-height:calc(100vh - 32px);padding:18px;display:grid;overflow-y:auto;box-shadow:0 22px 70px #0e1f183d}.modal-card h2,.modal-card p{margin-bottom:0}.trash-layout{gap:14px;display:grid}.trash-intro-panel,.trash-group{box-shadow:none;padding:16px}.trash-note{margin-bottom:0}.trash-toolbar{grid-template-columns:minmax(0,1fr) minmax(130px,170px);align-items:end;gap:10px;display:grid}.trash-search{background:0 0;padding:0;position:static}.trash-group{overflow:hidden}.trash-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:46px;list-style:none;display:flex}.trash-group>summary::-webkit-details-marker{display:none}.trash-group>summary span{background:#edf2ef;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid}.trash-card-list{border-top:1px solid #edf1ef;gap:10px;padding-top:12px;display:grid}.trash-card{border:1px solid var(--border);background:#fbfcfb;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.trash-card>div:first-child{min-width:0}.trash-card strong,.trash-card small{overflow-wrap:anywhere;display:block}.trash-card small{color:var(--muted);margin-top:4px}.trash-card-actions{gap:8px;min-width:150px;display:grid}@media (width<=600px){.catalog-card,.trash-card{grid-template-columns:1fr;align-items:stretch}.catalog-card-actions{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.trash-card-actions{grid-template-columns:1fr;min-width:0}.trash-toolbar,.recipe-card-actions{grid-template-columns:1fr}}.topbar-actions{flex-shrink:0;grid-auto-flow:column;justify-content:flex-end;align-items:center;gap:6px;display:flex!important}.notification-bell{background:var(--green-soft);width:44px;min-height:44px;color:var(--green-dark);border:0;border-radius:13px;font-weight:900;position:relative}.notification-bell>span{font-size:1rem}.notification-bell>strong{background:var(--red);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.65rem;display:grid;position:absolute;top:2px;right:2px}.notifications-backdrop{z-index:80;background:#12201a75;justify-content:flex-end;display:flex;position:fixed;inset:0}.notifications-panel{width:min(100%,460px);height:100%;padding:max(16px, env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));border-left:1px solid var(--border);background:#f7f9f8;overflow-y:auto;box-shadow:-20px 0 55px #0e1f182e}.notifications-header{z-index:2;padding:max(16px, env(safe-area-inset-top)) 14px 12px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;margin:-16px -14px 12px;display:flex;position:sticky;top:-16px}.notifications-header h2{font-size:1.25rem}.notifications-summary{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:12px;padding:13px;display:grid}.notifications-summary>strong{background:var(--green-soft);width:38px;height:38px;color:var(--green-dark);border-radius:12px;place-items:center;font-size:1.1rem;display:grid}.notifications-summary>span{color:var(--muted);font-size:.82rem;font-weight:700}.notifications-filters{scrollbar-width:thin;gap:7px;padding-bottom:8px;display:flex;overflow-x:auto}.notifications-filters button{border:1px solid var(--border);min-height:38px;color:var(--muted);background:#fff;border-radius:999px;flex:none;padding:7px 11px;font-weight:800}.notifications-filters button.active{background:var(--green-soft);color:var(--green-dark);border-color:#b8ddcf}.notification-list{gap:9px;display:grid}.notification-card{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.notification-card.unread{border-left:5px solid var(--green)}.notification-card.read{opacity:.82}.notification-content{text-align:left;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px;display:grid}.notification-content>div{min-width:0}.notification-content strong,.notification-content p,.notification-content small{overflow-wrap:anywhere;display:block}.notification-content p{color:#3f4d47;margin:4px 0;font-size:.84rem}.notification-content small{color:var(--muted)}.notification-icon{background:var(--green-soft);width:36px;height:36px;color:var(--green-dark);border-radius:11px;place-items:center;font-weight:900;display:grid}.notification-icon.warning{background:var(--orange-soft);color:var(--orange)}.notification-icon.danger{background:var(--red-soft);color:var(--red)}.notification-actions{border-top:1px solid #edf1ef;justify-content:flex-end;gap:5px;padding:0 8px 8px;display:flex}.notification-actions .text-button{min-height:36px}.statistics-controls,.statistics-chart-panel,.rank-panel,.inventory-state-panel,.history-toolbar{box-shadow:none;padding:16px}.statistics-controls{gap:12px;display:grid}.statistics-periods,.history-periods{grid-template-columns:repeat(3,1fr);margin:0}.statistics-range,.history-period-label{color:var(--muted);margin:0;font-size:.82rem}.statistics-summary-grid .summary-card{min-height:92px}.statistics-chart-panel{gap:12px;display:grid}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:11px;font-size:.75rem;font-weight:750;display:flex}.chart-legend span{align-items:center;gap:5px;display:inline-flex}.chart-dot{background:var(--green);border-radius:999px;width:9px;height:9px}.production-dot{background:var(--orange)}.adjustment-dot{background:var(--red)}.simple-chart{align-items:stretch;gap:7px;min-height:210px;padding:8px 2px 2px;display:flex;overflow-x:auto}.chart-column{flex:1 0 36px;grid-template-rows:150px auto auto;place-items:end center;gap:4px;min-width:36px;display:grid}.chart-bar-area{border-bottom:1px solid var(--border);justify-content:center;align-items:flex-end;width:100%;height:150px;display:flex}.chart-stack{border-radius:6px 6px 0 0;flex-direction:column;justify-content:flex-end;width:min(24px,70%);min-height:0;display:flex;overflow:hidden}.chart-segment{min-height:3px}.purchase-segment{background:var(--green)}.production-segment{background:var(--orange)}.adjustment-segment{background:var(--red)}.chart-column>strong{font-size:.72rem}.chart-column>small{color:var(--muted);text-transform:capitalize;white-space:nowrap;font-size:.65rem}.statistics-two-column{gap:14px;display:grid}.rank-list{counter-reset:rank;margin:0;padding:0;list-style:none;display:grid}.rank-list li{border-top:1px solid #edf1ef;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:50px;padding:9px 0;display:grid}.rank-list li:first-child{border-top:0}.rank-list li>span{background:var(--green-soft);width:30px;height:30px;color:var(--green-dark);border-radius:10px;place-items:center;font-weight:900;display:grid}.rank-list strong,.rank-list small{display:block}.rank-list small{color:var(--muted);margin-top:3px}.inventory-state-bars{gap:13px;display:grid}.inventory-state-row{gap:6px;display:grid}.inventory-state-row>div:first-child{justify-content:space-between;gap:12px;font-size:.84rem;display:flex}.inventory-state-track{background:#edf1ef;border-radius:999px;height:11px;overflow:hidden}.inventory-state-track>span{border-radius:inherit;background:var(--green);min-width:0;height:100%;display:block}.inventory-state-track>span.warning{background:var(--orange)}.inventory-state-track>span.danger{background:var(--red)}.history-toolbar{gap:12px;display:grid}.history-filter-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width>=760px){.statistics-controls{grid-template-columns:1.2fr .8fr;align-items:end}.statistics-controls .statistics-range{grid-column:1/-1}.statistics-two-column{grid-template-columns:1fr 1fr}}@media (width<=520px){.notifications-panel{border-left:0;width:100%}.notifications-summary{grid-template-columns:auto 1fr}.notifications-summary .ghost-button{grid-column:1/-1;width:100%}.history-filter-grid{grid-template-columns:1fr}.statistics-summary-grid{grid-template-columns:repeat(2,1fr)}}.print-sheet{display:none}.backup-layout{gap:14px;display:grid}.backup-panel{box-shadow:none;gap:13px;padding:16px;display:grid}.backup-panel h2,.backup-panel h3,.backup-panel p{margin:0}.backup-result,.backup-preview{border:1px solid var(--border);background:#fbfcfb;border-radius:13px;gap:10px;padding:13px;display:grid}.backup-result span,.backup-preview p{color:var(--muted)}.backup-file-label input[type=file]{background:#fff;min-height:48px;padding:8px}.backup-summary-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.backup-summary-grid>div{border:1px solid var(--border);background:#fff;border-radius:11px;gap:4px;padding:10px;display:grid}.backup-summary-grid span{color:var(--muted);font-size:.75rem}.backup-confirm-row{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:650}.backup-confirm-row input{width:22px;min-height:22px;margin:0}.backup-message{margin:0}@media (width>=760px){.backup-layout{grid-template-columns:1fr 1fr;align-items:start}.backup-message{grid-column:1/-1}}@media print{@page{size:auto;margin:12mm}html,body{background:#fff!important}body[data-print-target] #root,body[data-print-target]>.print-sheet{display:none!important}body[data-print-target=shopping]>.shopping-print-sheet,body[data-print-target=history]>.history-print-sheet{font-family:Arial,sans-serif;line-height:1.35;color:#111!important;background:#fff!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.print-header{border-bottom:2px solid #087f5b;margin-bottom:12px;padding-bottom:10px}.print-header h1{margin:0 0 5px;font-size:21px}.print-header p{color:#4b5751;margin:2px 0}.print-list{margin:0 0 14px;padding:0;list-style:none}.print-list li{break-inside:avoid;border-bottom:1px solid #e3e8e5;justify-content:space-between;gap:18px;padding:7px 0;display:flex}.print-comment{margin-top:14px}.history-print-list{display:block}.history-print-card{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #dfe7e3;padding:10px 0}.history-print-card h2{margin:0 0 3px;font-size:15px}.history-print-card p{margin:2px 0}.history-print-card ul{margin:6px 0 0;padding-left:18px}.history-print-card li{margin:4px 0}}.install-button{border:1px solid var(--border);min-height:42px;color:var(--green-dark);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-weight:800;display:inline-flex}.install-button>span:first-child{font-size:1.1rem;line-height:1}.install-help{width:min(100% - 28px,480px);padding:18px}.install-steps{gap:12px;line-height:1.55;display:grid}.install-steps p{margin:0}.offline-banner{z-index:9;background:var(--orange-soft);color:#8a4b05;text-align:center;border-bottom:1px solid #f1d4a2;width:100%;padding:9px 14px;font-size:.82rem;font-weight:750;position:sticky;top:64px}@media (width<=430px){.install-button{width:42px;padding:8px}.install-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (display-mode:standalone){.topbar{padding-top:max(10px, env(safe-area-inset-top))}}.loading-panel{text-align:center;color:var(--muted);box-shadow:none;padding:18px}:root{--shadow:0 1px 3px #162e250d}.panel,.auth-card{border-radius:15px}.page-section{gap:14px}.summary-card{border-radius:14px;min-height:92px;padding:14px}.summary-card strong{font-size:1.65rem}.alert-panel{border-left-width:4px}.compact-actions-menu{position:relative}.compact-actions-menu>summary{border:1px solid var(--border);min-height:42px;color:var(--green-dark);cursor:pointer;background:#fff;border-radius:11px;align-items:center;padding:9px 13px;font-weight:800;list-style:none;display:inline-flex}.compact-actions-menu>summary::-webkit-details-marker{display:none}.compact-actions-menu[open]>summary{background:var(--green-soft);border-color:#b8ddcf}.compact-actions-menu>div{z-index:30;border:1px solid var(--border);background:#fff;border-radius:13px;gap:4px;min-width:210px;padding:7px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 35px #162e2524}.compact-actions-menu>div button{color:#24332c;text-align:left;background:0 0;border:0;border-radius:9px;min-height:42px;padding:9px 11px;font-weight:750}.compact-actions-menu>div button:hover,.compact-actions-menu>div button:active{background:var(--green-soft);color:var(--green-dark)}.tracking-label{color:var(--muted);margin-top:4px;font-size:.7rem;font-weight:750;display:block}.production-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.production-tabs button{padding:7px 5px;font-size:.78rem}.periodic-reference{background:#fffaf0;border:1px solid #ead9b8;border-radius:13px;padding:13px}.periodic-reference>strong{color:#8a5508}.periodic-reference>p{color:var(--muted);margin:4px 0 8px;font-size:.8rem}.periodic-reference ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.periodic-reference li{justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.periodic-reference small{color:var(--muted);font-weight:750}.periodic-consumption-layout{gap:14px;display:grid}.periodic-builder,.periodic-list-panel,.periodic-empty-panel{box-shadow:none;padding:16px}.periodic-intro{margin:5px 0 0;font-size:.82rem;line-height:1.45}.periodic-list-panel{gap:14px;display:grid}.periodic-item-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.periodic-item-list li{border-top:1px solid #edf1ef;grid-template-columns:minmax(0,1fr) minmax(100px,122px) auto;align-items:end;gap:9px;padding:11px 0;display:grid}.periodic-item-list li:first-child{border-top:0}.periodic-item-list li>div{align-self:center;min-width:0}.periodic-item-list strong,.periodic-item-list small{overflow-wrap:anywhere;display:block}.periodic-item-list small{color:var(--muted);margin-top:4px}@media (width>=760px){.periodic-consumption-layout{grid-template-columns:minmax(280px,.75fr) minmax(390px,1.25fr);align-items:start}}@media (width<=520px){.page-header{align-items:flex-start}.compact-actions-menu>div{top:auto;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));min-width:0;position:fixed}.production-tabs{display:flex;overflow-x:auto}.production-tabs button{flex:none;min-width:132px;padding-inline:10px}.periodic-item-list li{grid-template-columns:minmax(0,1fr) 105px}.periodic-item-list .danger-button{grid-column:1/-1;width:100%}}.usage-layout{gap:14px;display:grid}.usage-builder,.usage-list-panel{box-shadow:none;padding:16px}.usage-item-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.usage-item-list li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 105px auto;align-items:end;gap:10px;padding-top:10px;display:grid}.usage-item-list li:first-child{border-top:0;padding-top:0}.usage-item-list strong,.usage-item-list small{overflow-wrap:anywhere;display:block}.usage-item-list small{color:var(--muted);margin-top:3px}.usage-shortage{background:#fff6f6;border-radius:10px;padding:10px}@media (width>=860px){.usage-layout{grid-template-columns:minmax(280px,.72fr) minmax(430px,1.28fr);align-items:start}}@media (width<=620px){.usage-item-list li{grid-template-columns:minmax(0,1fr) 96px}.usage-item-list .danger-button{grid-column:1/-1;width:100%}}
