/* Restaurant tools share the workspace shell and keep their own compact controls. */
.nav-secondary{display:contents}.sidebar .nav-more{display:none}
.sidebar .nav-item{min-height:46px}.tool-view{min-width:0}
.section-intro,.section-toolbar{margin-bottom:24px}.section-intro h2,.section-toolbar h2{font-size:25px;letter-spacing:-.04em;margin:0 0 8px}
.section-intro p,.section-toolbar p{margin:0;color:var(--muted);font-size:13px;line-height:1.8;max-width:700px}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-toolbar h3{margin:0 0 7px;font-size:20px}
.tool-controls{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:0 0 22px}.tool-controls>div{min-width:180px;flex:1}.tool-controls>button{min-height:44px}
.tool-controls label{display:block;margin-bottom:7px;font-size:12px;color:var(--muted)}
.tool-controls>.menu-add-control{flex:2}.input-action{display:flex;gap:10px;align-items:stretch}.input-action select{flex:1;min-width:0}.input-action .button{flex-shrink:0}
.tool-controls input,.tool-controls select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--ink);font:inherit}
.tool-check{display:flex;align-items:center;gap:9px;min-height:44px;font-size:13px;color:var(--muted)}.tool-check input{width:18px;height:18px;flex-shrink:0}
.section-empty{padding:30px 22px;border:1px dashed var(--line);border-radius:10px;background:#fafbf7;color:var(--muted);line-height:1.8;font-size:14px}.section-empty p{margin:0 0 16px}.section-empty h2{color:var(--ink)}
.catalog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.catalog-card{min-width:0;padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.catalog-card-head{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px}.catalog-price{color:var(--ink);white-space:nowrap;font-size:15px}.catalog-card h3{font-size:21px;margin:12px 0}.catalog-card p{font-size:13px;line-height:1.8;color:var(--muted)}.catalog-card .catalog-detail{font-size:12px;margin:8px 0}.catalog-detail strong{color:var(--ink)}
.is-archived{background:#f4f4f0}.resource-badge{display:inline-block;margin:4px 0;padding:3px 8px;border:1px solid var(--line);border-radius:20px;font-size:11px;color:var(--muted)}
.resource-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px}.resource-actions .text-button{min-height:40px}
.menu-table-wrap{position:relative;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.menu-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.menu-table th{padding:14px 12px;background:#f2f4ed;color:var(--muted);font-weight:500;font-size:11px}.menu-table td{padding:16px 12px;border-top:1px solid var(--line);vertical-align:middle}.menu-table .icon-button{width:34px;height:40px;display:inline-flex;align-items:center;justify-content:center}.menu-position{display:inline-block;min-width:20px;color:var(--muted)}.menu-category{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px}.menu-table input[type=number]{width:64px;padding:10px 7px;min-height:44px;font-size:16px;border:1px solid var(--line);border-radius:5px;background:#fff}.menu-table input[type=checkbox]{width:22px;height:22px;accent-color:#415f38}.menu-table button:disabled,.tool-view button:disabled{opacity:.4;cursor:default}
.team-panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:26px}.team-panel .section-toolbar{margin-bottom:10px}.team-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.team-card{padding:15px;border:1px solid var(--line);border-radius:7px;min-width:0;overflow-wrap:anywhere}.team-card strong,.team-card .team-role{display:block}.team-card p{font-size:12px;color:var(--muted);margin:5px 0}.team-card .resource-actions{margin-top:8px}
.management-list{display:grid;gap:14px}.management-list .planning-card{margin:0;background:#fff}.management-list .planning-actions{gap:24px}.management-list .planning-card h4{font-size:17px}.management-list .planning-date{color:var(--muted);font-size:12px;margin:0 0 8px}
.area-status{display:flex;align-items:center;gap:16px;border:1px solid var(--line);padding:14px 18px;margin-bottom:22px;font-size:13px;line-height:1.7}.area-status.is-error{border-color:#dbb5ad;background:#fff5ef}
.resource-dialog{max-width:640px}.resource-dialog form{padding:0 28px 26px}
.day-dialog input:not([type=checkbox]),.day-dialog select,.day-dialog textarea,.plan-dialog input:not([type=checkbox]),.plan-dialog select,.plan-dialog textarea,.hours-dialog input:not([type=checkbox]),.hours-dialog select,.hours-dialog textarea{font-size:16px}
.team-card>div>span:not(.resource-badge){display:block;font-size:13px;color:var(--muted);margin-top:5px}.planning-assignee{font-size:13px;line-height:1.7;color:var(--green)}
dialog h2[tabindex="-1"]:focus{outline:none}
.recipe-editor{border:0;padding:0;margin:24px 0}.recipe-editor legend{padding:0;font-size:15px;font-weight:600}.ingredient-rows{display:grid;gap:12px}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 80px 44px;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.plan-dialog .ingredient-row input,.plan-dialog .ingredient-row select{margin:0;min-width:0}.ingredient-row .icon-button{width:44px;height:44px}.legacy-ingredients,.calculation-note{padding:16px;background:#f4f0e4;border:1px solid #ddd3b5;border-radius:7px;font-size:13px;line-height:1.8;margin-top:16px;overflow-wrap:anywhere}.legacy-ingredients p{margin:8px 0;white-space:pre-wrap}
.other-portions{margin-top:26px;border-top:1px solid var(--line);padding-top:16px}.other-portions h3{font-size:18px}.other-portion-row{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:16px;align-items:center;padding:14px;background:#fff;border:1px solid var(--line);border-radius:7px;margin:10px 0}.other-portion-row>span{overflow-wrap:anywhere;font-size:14px}.other-portion-row input{min-width:0;max-width:100%;min-height:44px;font-size:16px;padding:8px;border:1px solid var(--line);border-radius:5px}
.shopping-lists{display:grid;gap:20px;margin-top:20px}.shopping-list-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.shopping-list-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.shopping-list-head h3{font-size:21px;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}.shopping-list-head>span{font-size:12px;white-space:nowrap;color:var(--muted)}.purchase-checklist{list-style:none;margin:16px 0 0;padding:0}.purchase-checklist li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.purchase-checklist label{display:flex;gap:12px;align-items:center;min-width:0;min-height:40px;margin:0}.purchase-checklist label>span{overflow-wrap:anywhere}.purchase-checklist input{width:22px;height:22px;flex-shrink:0;accent-color:var(--green)}.purchase-checklist strong{font-size:13px;white-space:nowrap}.purchase-checklist .is-checked label>span{text-decoration:line-through;color:var(--muted)}#shopping-view>.text-button{margin:0 24px 12px 0}.shopping-dialog{max-width:740px}.menu-table input[type=number]{width:74px}.menu-table{min-width:760px}
@media(max-width:1100px) and (min-width:761px){.menu-table td,.menu-table th{padding-inline:7px}.menu-table{font-size:12px}.menu-table .icon-button{width:28px}}
@media(max-width:760px){
  .sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;position:relative}.sidebar .nav-item{font-size:12px;gap:6px;min-width:0}.sidebar .nav-more{display:flex}.sidebar .nav-more>span{display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-secondary{display:none;position:absolute;bottom:calc(100% + 15px);right:0;left:0;background:#233222;padding:12px;border:1px solid #52634a;border-radius:14px;box-shadow:0 -12px 40px #15231133;max-height:65dvh;overflow:auto}.sidebar.more-open .nav-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sidebar .nav-secondary .nav-item{justify-content:flex-start;padding:12px;min-height:54px}.sidebar .nav-secondary .nav-item:last-child{grid-column:1/-1}
  .section-toolbar{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:20px}.section-toolbar h2,.section-intro h2{font-size:23px}.section-toolbar>.button{width:100%;min-height:46px}.section-intro p,.section-toolbar p{font-size:13px}
  .tool-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.tool-controls>div{min-width:0}.tool-controls input,.tool-controls select{font-size:16px;min-height:46px}.tool-check{font-size:13px}.tool-check input{width:21px;height:21px}
  .input-action{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.input-action .button{width:100%;min-height:46px}
  .ingredient-row{grid-template-columns:minmax(0,1fr) 80px 44px;gap:9px;padding:14px 0}.ingredient-row .ingredient-name{grid-column:1/-1}.ingredient-row .ingredient-quantity{grid-column:1}.ingredient-row .ingredient-unit{grid-column:2}.ingredient-row .icon-button{grid-column:3}.shopping-list-card{padding:18px 16px}.shopping-list-head{align-items:flex-start;flex-direction:column;gap:6px}.purchase-checklist li{gap:10px}.purchase-checklist label{min-height:44px;font-size:14px}.purchase-checklist strong{font-size:13px}.shopping-dialog{max-width:620px}.menu-table{min-width:0}
  .other-portion-row{grid-template-columns:minmax(0,1fr) 85px;gap:10px}.other-portion-row .text-button{grid-column:1/-1}
  .catalog-list,.team-list{grid-template-columns:minmax(0,1fr)}.catalog-card{padding:18px}.catalog-card h3{font-size:20px}.catalog-card .catalog-detail{font-size:13px}.section-empty{padding:22px 16px}.section-empty .button{width:100%;white-space:normal}
  .menu-table-wrap{border:0;background:none;overflow:visible}.menu-table,.menu-table tbody,.menu-table tr,.menu-table td{display:block;width:100%}.menu-table thead{display:none}.menu-table tr{padding:14px 16px;margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.menu-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:10px 0;min-height:44px;width:auto;flex-wrap:wrap}.menu-table td::before{content:attr(data-label);font-size:12px;color:var(--muted);margin-right:auto}.menu-table td:nth-child(2){display:block;border-bottom:1px solid var(--line);padding-block:8px 16px}.menu-table td:nth-child(2)::before{display:none}.menu-table td:nth-child(2)>strong{font-size:19px;overflow-wrap:anywhere}.menu-table .menu-category{font-size:12px}.menu-table .icon-button{width:44px;height:44px}.menu-table .menu-discount{justify-content:flex-end;gap:5px}.menu-table input[type=number]{width:82px}.menu-table input[type=checkbox]{width:24px;height:24px}.menu-table .menu-daily-price{border-top:1px solid var(--line);padding-top:15px}.menu-table .menu-daily-price>.menu-category{width:100%;text-align:right}.menu-table td:last-child{padding-bottom:0}
  .team-panel{padding:18px 14px}.team-card{padding:14px}.resource-actions{gap:22px}.resource-actions .text-button{min-height:44px}.management-list .planning-card{padding:16px}.management-list .planning-actions{flex-wrap:wrap;gap:22px}.management-list .planning-meta{font-size:12px}.area-status{flex-wrap:wrap;padding:12px;font-size:13px}.resource-dialog form{padding:4px 16px 18px}
}

/* Daily offers are grouped above the permanent product table. */
.menu-add-panel{padding:20px 22px;margin-bottom:32px;border:1px solid var(--line);border-radius:10px;background:#fff}.menu-add-panel>label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.menu-add-panel .input-action{flex-wrap:wrap}.menu-add-panel select{flex:1 1 200px;min-width:0;min-height:44px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:16px;color:var(--ink)}.menu-add-panel>p{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0 0}
.menu-page-section{min-width:0}.menu-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}.menu-section-heading h3{font-size:25px;letter-spacing:-.04em;margin:7px 0 8px}.menu-section-heading p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8;margin:0;max-width:600px}.menu-section-heading .eyebrow{margin:0}.menu-date-control{flex:0 0 260px;min-width:0}.menu-date-control label{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.menu-date-control input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:16px;color:var(--ink)}
.menu-daily-groups{display:grid;gap:24px}.menu-group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 10px}.menu-group-heading h4{font-size:18px;margin:0}.menu-group-heading>span{font-size:12px;color:var(--muted);text-align:right}.menu-permanent-section{margin-top:38px;border-top:1px solid var(--line);padding-top:30px}.menu-planning-hint{margin-top:22px}.menu-table select{max-width:150px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:16px;color:var(--ink)}.menu-daily-table{min-width:820px}.menu-permanent-table{min-width:620px}
@media(max-width:760px){.menu-add-panel{padding:16px;margin-bottom:28px}.menu-add-panel .input-action{display:grid}.menu-add-panel select{width:100%;font-size:16px}.menu-section-heading{align-items:stretch;flex-direction:column;gap:16px}.menu-section-heading h3{font-size:23px}.menu-date-control{flex-basis:auto}.menu-date-control input{min-height:46px}.menu-group-heading{align-items:flex-start;flex-direction:column;gap:6px}.menu-group-heading>span{text-align:left}.menu-daily-table,.menu-permanent-table{min-width:0}.menu-table select{max-width:100%}.menu-permanent-section{margin-top:28px;padding-top:24px}}
/* Custom menu areas and compact row controls. */
.menu-section-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.menu-section-item>div:first-child{min-width:0}.menu-section-item strong{display:block;overflow-wrap:anywhere;font-size:15px}.menu-section-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.menu-section-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.menu-sections-content{padding:0 28px 12px}.menu-sections-footer{padding:0 28px 26px;display:flex;justify-content:flex-end}#menu-section-form h3{font-size:18px;margin-top:18px}.menu-area-row th{padding:13px 16px;background:#e9eee4;color:var(--ink);border-top:1px solid var(--line);font-size:13px}.menu-area-row th>span{margin-left:12px;color:var(--muted);font-weight:400;font-size:11px}.section-toolbar>.section-intro{margin:0}
/* Compact product rows: inline placement and forecast controls. */
.menu-table th{padding:9px 8px}.menu-table td{padding:9px 8px}.menu-table .menu-order-controls{display:inline-flex;overflow:hidden;vertical-align:middle;border:1px solid #d8dfd1;border-radius:6px;background:#f5f7f1}.menu-table .menu-order-controls .menu-order-button{width:24px;min-width:24px;height:27px;border:0;border-radius:0;background:transparent;color:#3e5738;font-size:14px}.menu-order-controls .menu-order-button+button{border-left:1px solid #d8dfd1}.menu-order-button:hover:not(:disabled){background:#e5ecdc}.menu-order-button:focus-visible,.menu-remove:focus-visible{outline:2px solid #526e42;outline-offset:-3px}.menu-table .menu-position{min-width:10px;margin-right:4px;font-size:10px;font-variant-numeric:tabular-nums}
.menu-table .menu-placement{display:grid;grid-template-columns:94px 103px;gap:5px;align-items:center}.menu-table .menu-placement select{width:100%;max-width:100%;min-width:0;min-height:27px;padding:4px 20px 4px 6px;font-size:11px;appearance:none;border:1px solid var(--ui-control-border);border-radius:6px;color:#374730;background:#f8faf5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23617a54' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 7px center}.menu-table .menu-placement .menu-area-select{background-color:#edf2e7}.menu-placement select:focus-visible{outline:2px solid #789165;outline-offset:2px}.menu-table .menu-remove{position:relative;width:26px;height:26px;padding:0;border:1px solid #e8dfda;border-radius:6px;background:#fbf7f4;color:#8b695c;font-size:18px}.menu-remove::before,.menu-remove::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.menu-remove::after{transform:translate(-50%,-50%) rotate(-45deg)}.menu-table .menu-remove:hover:not(:disabled){background:#f5e6dd;border-color:#d7b6a3;color:#904c32}.menu-table input[type=checkbox]{width:18px;height:18px}.menu-table .menu-discount input{width:39px;min-height:27px;padding:4px 5px;font-size:12px;border-radius:6px}
.menu-forecast{display:grid;gap:4px;width:max-content;max-width:100%}.menu-forecast-main{display:flex;align-items:center;gap:7px}.menu-forecast-settings{display:flex;align-items:center;min-height:0}.menu-forecast-settings:empty{display:none}.menu-quantity{display:flex;align-items:center;flex-shrink:0;width:151px;min-height:27px;border:1px solid #cfdac5;border-radius:6px;background:#fff;overflow:hidden}.menu-table .menu-quantity input{width:42px;min-width:0;min-height:26px;padding:4px 0 4px 6px;border:0;border-radius:0;box-shadow:none;background:transparent;font-size:12px;font-variant-numeric:tabular-nums;appearance:textfield}.menu-quantity:focus-within{outline:2px solid #789165;outline-offset:2px}.menu-quantity-unit{font-size:9px;color:var(--muted);padding-right:6px}.menu-table input[type=number]::-webkit-inner-spin-button,.menu-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.menu-all-days{display:flex;align-items:center;gap:4px;font-size:10px;color:#64715a;cursor:pointer;margin:0;min-height:28px;white-space:nowrap}.menu-table .menu-all-days input{width:13px;height:13px;margin:0;accent-color:#526e42}.menu-table .menu-all-days>span,.menu-table .menu-baseline>span{color:inherit}.menu-baseline{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:10px}.menu-table .menu-baseline input{width:42px;min-height:21px;padding:1px 5px;border-radius:4px;font-size:11px;background:#f4f7ee}.menu-reset-forecast{justify-self:start;padding:0;border:0;background:none;color:#526e42;min-height:18px;text-align:left;font-size:10px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.menu-forecast-state{display:inline-flex;align-items:center;gap:3px;flex:1;align-self:stretch;justify-content:center;padding:3px 4px;border-left:1px solid #dce5d4;font-size:8px;line-height:1.3;font-weight:500;white-space:nowrap}.menu-forecast-state::before{content:"";flex-shrink:0;width:4px;height:4px;border-radius:50%;background:currentColor}.menu-forecast-state.is-default{background:#e8f1df;color:#476b2e}.menu-forecast-state.is-override{background:#fff0cd;color:#986617}.menu-forecast-state.is-empty{background:#f0f1ed;color:var(--muted)}.menu-forecast:has(.is-default) .menu-quantity{border-color:#a9c392;background:#fbfdf8}.menu-forecast:has(.is-override) .menu-quantity{border-color:#d9bc75;background:#fffdf6}
.forecast-help{display:inline-flex;vertical-align:middle;margin-left:5px}.forecast-help-button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid #ccd5c3;border-radius:50%;background:#eef2e7;color:#526e42;font-size:10px;font-weight:600;cursor:help}.forecast-help-button:focus-visible,.forecast-help-close:focus-visible{outline:2px solid #526e42;outline-offset:2px}.forecast-tooltip{position:fixed;display:block;inset:auto;margin:0;width:280px;max-height:calc(100dvh - 32px);overflow:auto;padding:38px 14px 14px;border:1px solid #d6ddcd;border-radius:8px;background:#fff;box-shadow:0 8px 28px #26351c1c;color:#4b5842;font-size:12px;font-weight:400;line-height:1.8;white-space:normal;z-index:200}.forecast-tooltip[hidden]{display:none!important}.forecast-help-close{position:absolute;right:7px;top:7px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #d6ddcd;border-radius:6px;background:#f2f5ed;color:#415c35;font-size:23px;line-height:1;cursor:pointer}.menu-forecast-heading{white-space:nowrap}.menu-forecast-mobile-label{display:none}.menu-daily-table{min-width:940px}.menu-permanent-table{min-width:760px}
.menu-add-panel{padding:14px 16px;margin-bottom:25px}.menu-add-panel select{min-height:34px;padding:7px 10px;font-size:13px}.menu-add-panel .button{min-height:34px;padding:8px 14px}.menu-date-control input{min-height:34px;padding:7px 10px;font-size:14px}.menu-date-control{flex-basis:230px}
@media(pointer:coarse){.forecast-help-close{width:36px;height:36px}.forecast-tooltip{padding-top:47px}.forecast-help-button{width:28px;height:28px}}
@media(max-width:760px){.menu-sections-content{padding:0 16px 10px}.menu-sections-footer{padding:0 16px 20px}.menu-section-item{align-items:flex-start;flex-direction:column;gap:10px}.menu-section-actions{width:100%;justify-content:flex-end}.menu-section-actions .icon-button{width:36px;height:36px}.menu-table .menu-area-row{padding:8px 0 3px;margin:0 0 8px;border:0;border-radius:0;background:none}.menu-area-row th{display:block;padding:8px 10px;border:0;border-radius:6px}.menu-area-row th>span{font-size:11px}.menu-table tr{padding:10px 12px;margin-bottom:12px}.menu-table td{padding:6px 0;min-height:36px}.menu-table td:nth-child(2){padding-block:5px 12px}.menu-table td:nth-child(2)>strong{font-size:17px}.menu-table .menu-order-controls .menu-order-button{width:34px;height:35px}.menu-table .menu-remove{width:36px;height:36px}.menu-table .menu-placement{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}.menu-table .menu-placement select{font-size:16px;min-height:36px;padding-block:6px}.menu-table .menu-discount input{width:57px;min-height:36px;font-size:16px}.menu-table input[type=checkbox]{width:20px;height:20px}.menu-table .menu-forecast-cell{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px}.menu-table .menu-forecast-cell::before{display:none}.menu-forecast-mobile-label{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:12px;line-height:1.4}.menu-forecast-mobile-label .forecast-help{margin-left:0}.menu-forecast{min-width:0;width:100%;gap:4px}.menu-forecast-main{justify-content:space-between;gap:6px}.menu-quantity{width:179px}.menu-table .menu-quantity input{width:56px;min-height:35px;padding:6px 0 6px 6px;font-size:16px}.menu-quantity-unit{font-size:9px;padding-right:4px}.menu-forecast-state{font-size:9px}.menu-all-days{font-size:11px;min-height:36px}.menu-table .menu-all-days input{width:17px;height:17px}.menu-table .menu-baseline input{width:56px;min-height:29px;font-size:16px;padding:4px 5px}.menu-reset-forecast{font-size:11px;min-height:23px;justify-self:start}.forecast-help-button{width:24px;height:24px;font-size:11px}.forecast-help-close{width:36px;height:36px}.forecast-tooltip{padding-top:47px}.menu-daily-table,.menu-permanent-table{min-width:0}.menu-add-panel select,.menu-date-control input{font-size:16px;min-height:36px}.menu-date-control{flex-basis:auto}}
@media(max-width:360px){.menu-forecast-main{gap:4px}.menu-quantity{width:160px}.menu-forecast-state{font-size:8px}.menu-all-days{font-size:10px;gap:3px}.menu-table .menu-all-days input{width:16px;height:16px}}
/* Every menu area uses the same columns, independent of its product names. */
@media(min-width:761px){
  .menu-offer-group{min-width:0}
  .menu-daily-table,.menu-permanent-table{table-layout:fixed;min-width:960px}
  .menu-table thead th:nth-child(1){width:80px}
  .menu-table thead th:nth-child(2){width:calc(100% - 836px)}
  .menu-table thead th:nth-child(3){width:218px}
  .menu-table thead th:nth-child(4){width:250px}
  .menu-daily-table thead th:nth-child(5){width:90px}
  .menu-daily-table thead th:nth-child(6){width:65px}
  .menu-daily-table thead th:nth-child(7){width:78px}
  .menu-daily-table thead th:nth-child(8),.menu-permanent-table thead th:nth-child(6){width:55px}
  .menu-permanent-table thead th:nth-child(5){width:233px}
  .menu-table td{vertical-align:top}
  .menu-table td:first-child{white-space:nowrap}
  .menu-table td:nth-child(2){overflow-wrap:anywhere}
  .menu-table td:nth-child(2)>strong{display:block;line-height:1.5}
  .menu-table .menu-discount{white-space:nowrap}
  .menu-table .menu-daily-price{text-align:right;line-height:28px}
  .menu-table .daily-offer-toggle{margin-top:5px}
}

/* Per-restaurant offer title and date shortcuts. */
.menu-offer-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.menu-offer-title .text-button{font-size:11px;min-height:30px}.menu-section-heading>div:first-child{min-width:0;flex:1}.menu-offer-title h3{overflow-wrap:anywhere}.menu-title-editor{margin:8px 0 16px;max-width:440px}.menu-title-editor[hidden],#menu-custom-date[hidden]{display:none}.menu-title-editor>label{font-size:11px;color:var(--muted);font-weight:400}.menu-title-fields{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.menu-title-fields input{flex:1 1 170px;width:170px;min-height:34px;padding:7px 9px;font-size:14px}.menu-title-fields .button{min-height:34px;padding:8px 11px}.menu-title-fields .text-button{font-size:11px;min-height:34px}.menu-title-editor .form-error{margin:8px 0 0}.menu-date-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.menu-date-control{flex:0 0 268px}.menu-date-shortcuts button:disabled{cursor:default;opacity:.5}#menu-custom-date{margin-top:7px}.menu-permanent-section .menu-section-heading>.button{flex-shrink:0;font-size:11px;min-height:34px;padding:9px 13px}
@media(max-width:760px){.menu-date-control{flex-basis:auto;width:100%}.menu-title-fields input{font-size:16px;min-height:40px;width:100%;flex-basis:100%}.menu-title-fields .button,.menu-title-fields .text-button{min-height:38px}.menu-offer-title .text-button{min-height:38px}.menu-permanent-section .menu-section-heading>.button{align-self:flex-end;min-height:38px}}

/* Separate offer blocks and category tags share compact, aligned edit controls. */
.menu-offers-toolbar,.menu-offer-block-heading{display:flex;align-items:center;gap:10px}.menu-offers-toolbar{flex-wrap:wrap}.menu-offers-toolbar .button{font-size:11px;min-height:32px;padding:8px 11px}.menu-offer-block{min-width:0}.menu-offer-block-heading h3{font-size:23px;line-height:1.35;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}.menu-heading-edit{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#687c5b;cursor:pointer}.menu-heading-edit::before{content:"";display:block;width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23687c5b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 4 4 4M4 20l4-1 12-12a2.8 2.8 0 0 0-4-4L4 15l-1 6 6-2'/%3E%3C/svg%3E") center/contain no-repeat}.menu-heading-edit:hover{background:#e8eee0}.menu-heading-edit:focus-visible{outline:2px solid #789165;outline-offset:2px}.menu-heading-edit:disabled{opacity:.4;cursor:default}.menu-offer-description,.menu-area-description{font-size:12px;color:var(--muted);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 15px}.menu-offer-areas{display:grid;gap:20px;min-width:0;margin-top:19px}.menu-offer-block+.menu-offer-block{border-top:1px solid var(--line);padding-top:25px}.menu-group-heading{margin-bottom:8px}.menu-area-row .menu-area-description{font-size:11px;margin:5px 0 0;font-weight:400}.menu-permanent-section .menu-section-heading .menu-offer-description{margin-bottom:0}.catalog-category-editor{border:0;padding:0;margin:0 0 18px;min-width:0}.catalog-category-editor legend{font-size:12px;font-weight:550;margin-bottom:10px}.catalog-tag-list{display:flex;align-items:center;flex-wrap:wrap;gap:7px;max-height:180px;overflow:auto}.catalog-tag{display:inline-flex;align-items:center;border:1px solid #dce2d5;border-radius:20px;padding:6px 10px;background:#f8faf5;color:#6b7c5d;font:inherit;font-size:12px;line-height:1.5;overflow-wrap:anywhere;cursor:pointer}.catalog-tag[aria-pressed=true],.catalog-tag.is-selected{background:#e7efdc;color:#3e5b30;border-color:#bacaa8}.catalog-tag[aria-pressed=true]::before{content:'✓';margin-right:5px}.catalog-tag:focus-visible{outline:2px solid #789165;outline-offset:2px}.catalog-card-tags{margin:10px 0}.catalog-card-tags .catalog-tag{cursor:default;font-size:11px;padding:3px 8px}.catalog-category-editor>.text-button{margin-top:9px;min-height:32px;font-size:12px}#catalog-category-create{margin-top:9px}#catalog-category-create[hidden]{display:none}#catalog-category-create input{font-size:16px}.catalog-category-editor .hours-hint{font-size:11px;margin:7px 0 0}
@media(max-width:760px){.menu-offers-toolbar{justify-content:space-between;gap:8px}.menu-offers-toolbar h3{font-size:21px}.menu-offers-toolbar .button{min-height:38px}.menu-heading-edit{width:34px;height:34px;flex-basis:34px}.menu-offer-block-heading h3{font-size:22px}.menu-offer-description{font-size:13px}.catalog-tag{min-height:36px}.catalog-category-editor>.text-button{min-height:40px}.menu-offer-areas{gap:17px;margin-top:16px}}

/* Category creation occupies the same chip as its replacement input. */
.catalog-category-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;max-height:210px;overflow:auto;padding:3px;margin:-3px}
.catalog-category-controls .catalog-tag-list{display:contents}.catalog-category-controls .catalog-tag{box-sizing:border-box;min-height:32px;font-size:13px;line-height:1.3;padding:5px 10px;white-space:nowrap;max-width:100%}
.catalog-category-controls .catalog-tag[hidden]{display:none}#catalog-category-create{display:inline-flex;margin:0;max-width:100%}#catalog-category-create[hidden]{display:none}
#catalog-category-create .catalog-tag-input{display:block;margin:0;border-radius:20px;background:#f8faf5;font-size:13px;cursor:text;min-width:0}.catalog-tag-input::placeholder{color:var(--muted);opacity:1}
/* A viewport-positioned calendar never takes space from the menu below it. */
#menu-custom-date.menu-date-popover{position:fixed;z-index:250;box-sizing:border-box;margin:0;padding:12px;background:#fff;border:1px solid #d9e0d1;border-radius:10px;box-shadow:0 12px 40px #26351c20;max-height:calc(100dvh - 24px);overflow:auto;color:#34482c;animation:ui-notice-in 150ms ease-out}
.menu-picker-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;margin:-3px 0 5px;color:var(--muted);font-size:11px}.menu-picker-top .icon-button{width:28px;height:28px;min-height:28px;flex:0 0 28px;padding:0;border:0;background:none;color:var(--muted);box-shadow:none}.menu-picker-top .icon-button:is(:hover,:active){background:none;color:#34482c;box-shadow:none}.menu-picker-header{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px;margin-bottom:9px}.menu-picker-header h3{text-align:center;font-size:14px;line-height:20px;font-weight:600;margin:0}.menu-picker-header button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid var(--ui-control-border);border-radius:6px;background:#f8faf5;color:#52694a;font:inherit;font-size:23px;cursor:pointer}.menu-picker-header button:disabled{opacity:.35}
#menu-picker-grid [role=row]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px}#menu-picker-grid [role=columnheader]{text-align:center;font-size:11px;color:var(--muted);padding:6px 0}#menu-picker-grid button{display:block;width:100%;height:33px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}#menu-picker-grid button.is-outside{color:var(--muted)}#menu-picker-grid button[aria-current=date]{border-color:#b3c59f}#menu-picker-grid [aria-selected=true] button{background:#5b7547;color:white;border-color:#5b7547}#menu-picker-grid button:disabled{opacity:.35;cursor:default}#menu-picker-grid button:hover:not(:disabled){background:#e7efdc;color:#3e5b30}.menu-picker-hint{margin:9px 0 0;font-size:10px;text-align:center;color:var(--muted)}
@media(max-width:760px){.catalog-category-controls .catalog-tag,#catalog-category-create .catalog-tag-input{font-size:16px;min-height:38px;line-height:1.25;padding:5px 10px}#menu-picker-grid button{height:36px}}

#menu-picker-grid button[aria-busy=true]{position:relative;font-size:0}#menu-picker-grid button[aria-busy=true]::before{position:absolute;left:50%;top:50%;margin:-7.6px 0 0 -7.6px}

/* Loading belongs to the active section; navigation and headings stay available. */
.area-status.is-loading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:0;border:0}
.tool-view.is-loading>:not(.section-toolbar):not(.resource-loading){display:none!important}
.tool-view.is-loading>.section-toolbar>:is(button,.catalog-toolbar-actions){visibility:hidden;pointer-events:none}
#menu-view.has-load-error>:not(.section-toolbar){display:none!important}
.resource-loading{padding:26px;border:1px solid var(--line);border-top:3px solid var(--dine-edge);border-radius:10px;background:#fff;box-shadow:var(--dine-shadow)}
.resource-loading-header{display:flex;align-items:center;gap:18px}
.resource-loading-spinner{display:block;box-sizing:border-box;flex:0 0 42px;width:42px;height:42px;border:3px solid #e5eddc;border-top-color:var(--dine-forest);border-right-color:var(--dine-edge);border-radius:50%;animation:resource-loading-spin 1s linear infinite}
.resource-loading-copy{min-width:0}
.resource-loading-copy>.eyebrow{font-size:9px;margin:0 0 7px;color:var(--muted)}
.resource-loading-copy>strong{display:block;color:var(--dine-forest);font-size:18px;font-weight:550;line-height:1.5}
.resource-loading-note{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.resource-loading-track{height:3px;margin:24px 0;background:#eef3e7;border-radius:3px;overflow:hidden}
.resource-loading-track::after{content:'';display:block;width:35%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d5e3c7,#91a77e,#d5e3c7);animation:resource-loading-progress 1.8s ease-in-out infinite}
.resource-loading-placeholders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resource-loading-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:21px;border:1px solid #e5ebdf;border-radius:8px;background:#fafbf8}
.resource-skeleton{display:block;height:10px;border-radius:4px;background:linear-gradient(100deg,#eaf0e3 20%,#f7f9f3 45%,#eaf0e3 70%);background-size:250% 100%;animation:resource-loading-shimmer 1.7s ease-in-out infinite}
.skeleton-title{height:15px;width:65%;margin-bottom:9px}.skeleton-line{width:100%}.skeleton-short{width:40%}
.resource-loading-menu .resource-loading-placeholders,.resource-loading-appointments .resource-loading-placeholders,.resource-loading-shopping .resource-loading-placeholders{grid-template-columns:minmax(0,1fr)}
.resource-loading-menu .resource-loading-card,.resource-loading-appointments .resource-loading-card,.resource-loading-shopping .resource-loading-card{flex-direction:row;align-items:center;gap:6%;padding:19px 21px}
.resource-loading-menu .skeleton-title,.resource-loading-appointments .skeleton-title,.resource-loading-shopping .skeleton-title{width:32%;margin:0}
.resource-loading-menu .skeleton-line,.resource-loading-appointments .skeleton-line,.resource-loading-shopping .skeleton-line{width:30%}
.resource-loading-menu .skeleton-short,.resource-loading-appointments .skeleton-short,.resource-loading-shopping .skeleton-short{width:14%;margin-left:auto}
.auth-gate:not([aria-busy=true])>.gate-loading-spinner{display:none}
.auth-gate[aria-busy=true]>#login-link,.auth-gate[aria-busy=true]>#local-preview{display:none}
.gate-loading-spinner{flex:none}
@keyframes resource-loading-spin{to{transform:rotate(360deg)}}
@keyframes resource-loading-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes resource-loading-progress{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
@media(max-width:900px){.resource-loading-placeholders{grid-template-columns:minmax(0,1fr)}.resource-loading-card{padding:18px}}
@media(max-width:760px){.resource-loading{padding:20px 16px}.resource-loading-header{align-items:flex-start;gap:13px}.resource-loading-spinner{flex-basis:34px;width:34px;height:34px}.resource-loading-copy>strong{font-size:16px}.resource-loading-track{margin:21px 0}.resource-loading-placeholders{gap:12px}.resource-loading-menu .resource-loading-card,.resource-loading-appointments .resource-loading-card,.resource-loading-shopping .resource-loading-card{padding:18px 12px}}
@media(prefers-reduced-motion:reduce){.resource-loading-spinner,.resource-skeleton,.resource-loading-track::after{animation:none}.resource-loading-track::after{width:100%;opacity:.5}}

/* Variants share one catalog editor while keeping individual prices and recipes. */
.catalog-variants-editor{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:24px 0 0;min-width:0}
.catalog-variants-editor>legend{font-size:15px;font-weight:550;padding:0 9px 0 0;color:var(--dine-forest)}
.catalog-variants{display:grid;gap:12px;margin:16px 0}
.catalog-variant{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--dine-tint)}
.catalog-variant.is-archived{background:#f7f8f5}
.catalog-variant-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.55fr) auto;gap:12px;align-items:end}
.catalog-variant-head label{margin:0!important;min-width:0}.catalog-variant-head input{margin-top:7px}
.catalog-variant-actions{display:flex;align-items:center;gap:8px;min-height:42px;flex-wrap:wrap}
.catalog-variant-details{margin:14px -14px -14px;border-top:1px solid var(--line);padding:12px 14px 14px;border-radius:0 0 7px 7px;background:#fff}
.catalog-variant-details summary{cursor:pointer;color:var(--dine-forest);font-size:12px;font-weight:550;min-height:24px}
.catalog-variant-recipe-actions{display:flex;flex-wrap:wrap;gap:10px 20px;margin:10px 0}
.catalog-card-variants{border-top:1px solid var(--line);padding-top:9px;margin-top:14px}
.catalog-card-variant{display:flex;align-items:center;gap:10px;padding:9px 0}.catalog-card-variant>strong{margin-left:auto;font-size:13px;white-space:nowrap}
@media(max-width:760px){.catalog-variant-head{grid-template-columns:minmax(0,1fr) minmax(90px,.65fr);gap:10px}.catalog-variant-actions{grid-column:1/-1;justify-content:flex-end;min-height:32px}.catalog-variant{padding:12px}.catalog-variant-details{margin:14px -12px -12px;padding:12px}.catalog-variant-details summary{min-height:36px;display:flex;align-items:center}}

/* Products is one navigation group with separate dish and drink workspaces. */
.product-nav-group{min-width:0}.product-nav{display:grid;gap:5px;margin:6px 0 4px 13px;padding-left:10px;border-left:1px solid #55634f}.product-nav[hidden]{display:none}
.sidebar .product-nav .nav-item{font-size:12px;min-height:42px;padding:10px;gap:9px}.sidebar .product-nav .nav-item svg{width:18px;height:18px}
.nav-group-toggle::after{content:'';width:6px;height:6px;flex:0 0 6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:auto;transition:transform 180ms ease}
.nav-group-toggle[aria-expanded=true]::after{transform:rotate(225deg)}.nav-group-toggle.is-current{color:#d6e6c1}
@media(max-width:760px){.sidebar.more-open{z-index:110}.sidebar .product-nav-group{grid-column:1/-1}.sidebar .product-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin:7px 0 0;padding:0;border:0;gap:8px}.sidebar .nav-secondary .product-nav .nav-item{grid-column:auto;min-height:46px;padding:11px;font-size:13px}.sidebar .nav-group-toggle{justify-content:flex-start}}

/* Linked recipes share the same compact controls as ingredient and variant editors. */
.component-editor{min-width:0;margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--dine-tint)}
.component-editor legend{padding:0 6px;color:var(--dine-forest);font-size:13px;font-weight:550}
.component-editor-head .component-search{width:100%;margin:0 0 12px}
.component-rows{display:grid;gap:10px}.component-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 32px;align-items:end;gap:10px;margin-bottom:8px}
.component-row label{margin:0!important;min-width:0;font-size:11px}.component-row input,.component-row select{margin-top:6px;width:100%;min-width:0}
.component-row>.icon-button{margin-bottom:5px}.component-quantity{text-align:center}.component-preview:empty{display:none}
.component-preview{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;font-size:12px;line-height:1.7}
.component-preview>strong{font-weight:550;color:var(--dine-forest)}.component-preview p{margin:7px 0}.component-warning{color:var(--muted)}
.variant-components{margin-bottom:15px}.catalog-variant-details h4{font-size:12px;margin:14px 0 8px}
@media(max-width:760px){.component-editor{padding:12px}.component-row{grid-template-columns:minmax(0,1fr) 64px 30px;gap:8px}.component-row input,.component-row select,.component-search{font-size:16px}.component-editor .text-button{min-height:40px;text-align:left}}

.component-row .ui-control{margin-top:6px}.component-row>.icon-button{width:32px;min-width:32px;height:36px}
@media(max-width:760px){.component-row{grid-template-columns:minmax(0,1fr) 64px 44px}.component-row>.icon-button{width:44px;min-width:44px;height:44px;margin-bottom:1px}}

/* Closed-day forecasts are effective zero; retain the underlying recipe and planning data. */
.menu-closed-note{margin:0 0 22px;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--dine-edge);border-radius:8px;background:var(--dine-tint);color:var(--dine-forest);font-size:12px;line-height:1.7}
.menu-closed-note[hidden]{display:none}.menu-forecast-state.is-closed{background:#eef1e9;color:#62705d}
@media(max-width:760px){.menu-closed-note{padding:10px 12px;margin-bottom:16px;font-size:12px}}

/* Catering follows the existing private tools and compact recipe editors. */
.catering-controls{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,.8fr) minmax(200px,1.4fr);gap:16px}.catering-controls>div{min-width:0}.catering-controls input,.catering-controls select{width:100%}
.catering-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.catering-card{padding:20px;min-width:0;border:1px solid var(--line);border-top:3px solid var(--dine-edge);border-radius:9px;background:#fff;box-shadow:var(--dine-shadow)}
.catering-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.catering-card h3{font-size:17px;margin:0;overflow-wrap:anywhere}.catering-card .resource-badge{white-space:nowrap}.catering-card p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.catering-customer{font-weight:550;color:var(--dine-forest)}.catering-meta{color:var(--muted)}.catering-total{display:block;font-size:15px;margin:12px 0}.catering-card.status-cancelled{opacity:.72}.catering-card.status-confirmed .catering-status{background:#e8efdf;color:var(--dine-forest)}
.catering-items{display:grid;gap:10px;margin-top:12px}.catering-item-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 36px;align-items:end;gap:10px}.catering-item-row label{margin:0!important;min-width:0;font-size:12px}.catering-item-row input,.catering-item-row .ui-control{margin-top:6px}.catering-item-row input{width:100%;min-width:0;text-align:center}.catering-item-row select{width:100%}.catering-item-row>.icon-button{width:36px;min-width:36px;height:36px;margin-bottom:4px}
#day-catering .catering-card,#dialog-catering .catering-card{padding:14px;margin:12px 0}#day-catering>h3,#dialog-catering>h3{font-size:15px;color:var(--dine-forest)}
@media(max-width:1000px){.catering-list{grid-template-columns:1fr}}@media(max-width:760px){.catering-controls{grid-template-columns:1fr 1fr;gap:12px}.catering-controls>div:last-child{grid-column:1/-1}.catering-item-row{grid-template-columns:minmax(0,1fr) 72px 44px;gap:8px}.catering-item-row input,.catering-item-row select{font-size:16px}.catering-item-row>.icon-button{width:44px;min-width:44px;height:44px;margin-bottom:1px}.catering-card{padding:16px}.catering-card-heading{flex-wrap:wrap}.catering-card .resource-actions{gap:16px}}

.catering-quantity-switch{width:fit-content;margin:4px 0 12px}.catering-quantity-switch .scope-button{transition:background-color .18s,color .18s,border-color .18s}.catering-line-total{display:block;font-size:11px;line-height:1.5;color:var(--dine-forest);margin-top:5px;white-space:nowrap}.catering-line-count{position:relative}.catering-line-count .catering-line-total{position:absolute;top:100%;left:0}.catering-item-row:has(.catering-line-total:not([hidden])){margin-bottom:22px}@media(max-width:760px){.catering-quantity-switch{width:100%}.catering-quantity-switch .scope-button{font-size:12px}.catering-line-total{font-size:10px}}

.shopping-inquiries-list{display:grid;gap:14px;margin:18px 0}.shopping-inquiry-row{min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fafcf7}.shopping-inquiry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.shopping-inquiry-heading h3{margin:0;font-size:16px;overflow-wrap:anywhere}.shopping-inquiry-customer{margin:10px 0 0;font-size:13px;overflow-wrap:anywhere}.shopping-inquiry-row .hours-hint{margin:9px 0;font-size:12px}.shopping-inquiry-products{margin:10px 0;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.shopping-inquiry-row .tool-check{display:flex;gap:9px;margin:14px 0 0;align-items:flex-start;font-size:12px;line-height:1.6}.shopping-inquiry-row .tool-check span{color:var(--dine-forest)}@media(max-width:760px){.shopping-inquiry-row{padding:13px}.shopping-inquiry-heading{flex-wrap:wrap;gap:7px}.shopping-inquiries-dialog .form-actions{flex-wrap:wrap}.shopping-inquiries-dialog .form-actions .button{flex:1;white-space:normal}}

.allergen-editor{min-width:0;margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:8px}.allergen-editor legend{padding:0 7px;font-weight:600;color:var(--dine-forest)}.allergen-editor>.hours-hint{margin:0 0 16px}.allergen-section+.allergen-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.allergen-section h4{margin:0 0 9px;font-size:13px;font-weight:600}.allergen-selected,.allergen-options,.allergen-card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.allergen-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:28px;max-width:100%;padding:4px 10px;border:1px solid #b6c6bc;border-radius:6px;background:#edf4ef;color:#355448;font-size:11px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.allergen-chip.is-trace{background:#f6f8f4;color:#64745d;border-style:dashed}.allergen-chip:is(button){cursor:pointer;transition:background-color .18s,border-color .18s,box-shadow .18s}.allergen-chip:is(button):hover{background:#dfeae1;border-color:#91aa98}.allergen-chip:is(button):focus-visible{outline:2px solid #6e8b72;outline-offset:2px}.allergen-remove{font-size:16px;line-height:1;opacity:.65}.allergen-unset{font-size:11px;color:var(--muted);line-height:1.6}.allergen-picker{margin-top:10px}.allergen-picker summary{width:fit-content;cursor:pointer;color:var(--dine-forest);font-size:12px;padding:5px 0}.allergen-group{margin:12px 0}.allergen-group-name{margin:0 0 8px;font-size:11px;color:var(--muted)}.allergen-options .catalog-tag{margin:0}.allergen-suggestions{margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#f6f8f2;font-size:12px;line-height:1.7}.allergen-suggestions p{margin:7px 0}.allergen-suggestions .text-button{margin-top:7px}.allergen-card-tags{margin:12px 0}.catalog-card-variant>.allergen-card-tags{flex-basis:100%;margin:2px 0 5px}.catalog-card-variant:has(.allergen-card-tags){flex-wrap:wrap}@media(max-width:760px){.allergen-editor{padding:13px}.allergen-chip{min-height:32px}.allergen-options .catalog-tag{min-height:34px;white-space:normal}.allergen-picker summary{padding:9px 0}}

.ingredient-identity{display:grid;gap:6px;min-width:0}.ingredient-reference-hint{font-size:10px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.ingredient-library-content{padding:24px}.ingredient-library-toolbar,.ingredient-library-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.ingredient-library-toolbar{margin:18px 0}.ingredient-library-list{display:grid;gap:12px}.ingredient-library-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fafcf7}.ingredient-library-head h3{margin:0;font-size:16px;overflow-wrap:anywhere}.ingredient-library-card .resource-actions{margin-top:10px}.ingredient-allergen-suggestions{border-left:3px solid #839e81}.ingredient-library-toolbar .tool-check{display:flex;gap:8px;align-items:center;margin:0}@media(max-width:760px){.ingredient-library-content{padding:17px}.ingredient-library-toolbar{flex-wrap:wrap}.ingredient-library-head{align-items:flex-start}.ingredient-reference{font-size:16px}.ingredient-library-card{padding:12px}}

.ingredient-library-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.ingredient-library-filters>div{min-width:0}.ingredient-library-origin{margin:8px 0;font-size:11px;color:var(--muted);line-height:1.6}.ingredient-library-card>.allergen-unset{margin:9px 0}.ingredient-library-filters select{width:100%}@media(max-width:480px){.ingredient-library-filters{grid-template-columns:1fr;gap:4px}}

/* Recipe controls share explicit rows; hints never shift amount/unit alignment. */
.ingredient-row.has-ingredient-reference{grid-template-areas:"name . . ." "reference quantity unit remove" "hint hint hint hint";align-items:start;row-gap:6px}
.ingredient-row.has-ingredient-reference.is-linked-ingredient{grid-template-areas:"reference quantity unit remove" "hint hint hint hint"}
.has-ingredient-reference>.ingredient-identity{display:contents}
.has-ingredient-reference .ingredient-name{grid-area:name}
.has-ingredient-reference .ingredient-reference,.has-ingredient-reference .ingredient-identity>.ui-control{grid-area:reference}
.has-ingredient-reference>.ingredient-quantity{grid-area:quantity}
.has-ingredient-reference>.ingredient-unit,.has-ingredient-reference>.ui-control{grid-area:unit}
.has-ingredient-reference>.icon-button{grid-area:remove;align-self:stretch;height:auto;min-height:44px}
.has-ingredient-reference .ingredient-reference-hint{grid-area:hint}
@media(max-width:760px){
  .ingredient-row.has-ingredient-reference{grid-template-areas:"name name name" "reference reference reference" "quantity unit remove" "hint hint hint"}
  .ingredient-row.has-ingredient-reference.is-linked-ingredient{grid-template-areas:"reference reference reference" "quantity unit remove" "hint hint hint"}
}

.ingredient-suggestion-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ingredient-suggestion-heading>strong{min-width:0;padding-top:5px}
.ingredient-suggestion-heading>.icon-button{position:relative;flex:0 0 30px;width:30px;height:30px;min-height:30px;padding:0;border:0;background:none;box-shadow:none;color:var(--muted)}
.ingredient-suggestion-heading>.icon-button:hover{background:none;color:var(--dine-forest)}
.ingredient-suggestion-expand::before{content:"";position:absolute;width:8px;height:8px;left:50%;top:45%;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.ingredient-suggestion-heading>.icon-button:focus-visible{outline:1px solid #aab2a2;outline-offset:2px}

.has-ingredient-reference .ingredient-name,.has-ingredient-reference>.ingredient-quantity,.has-ingredient-reference select,.has-ingredient-reference .ui-select-trigger{min-height:44px}

/* Declaration controls reuse the tag system with separate, readable selections. */
.additive-chip{border-style:dashed;background:#f5f7f3;color:#4d6052}
.allergen-options .catalog-tag{white-space:normal;text-align:left;overflow-wrap:anywhere;max-width:100%}
.dietary-section .allergen-options{margin-top:8px}.dietary-status{margin-bottom:0;overflow-wrap:anywhere}
.spice-levels{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.spice-choice{display:inline-flex;gap:3px;align-items:center;min-height:34px}.spice-choice>span:last-child{margin-left:4px;font-size:11px}.spice-choice[aria-pressed=true],.spice-chip{color:#994d43;background:#fcf5f3;border-color:#cfaea6}
.spice-pepper{display:inline-block;flex:0 0 14px;width:14px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M18 7c-2-2-6-1-7 2C9 16 7 20 2 24c7 1 15-3 18-10 2-4 1-6-2-7Z'/%3E%3Cpath d='M16 8c0-4 2-6 5-6' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.spice-section .tool-check{width:fit-content}.menu-additive-legend h3{font-size:17px;margin:0 0 12px}.menu-additive-legend ul{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;margin:0}.menu-additive-legend li{font-size:12px;overflow-wrap:anywhere}.menu-additive-codes{color:var(--dine-forest)}
@media(max-width:760px){.spice-choice{min-height:44px}.spice-pepper{width:15px;flex-basis:15px}.menu-additive-legend ul{display:grid;gap:10px}}
.plan-dialog .allergen-editor .spice-section .tool-check{display:flex;align-items:center;gap:8px;margin:0;min-height:28px}.plan-dialog .allergen-editor .spice-section .tool-check input{margin:0;flex-shrink:0}

.plan-dialog .allergen-editor .spice-choice{width:36px;min-width:36px;height:36px;min-height:36px;padding:6px;justify-content:center;gap:0}
.plan-dialog .allergen-editor .spice-choice::before{display:none}
.plan-dialog .allergen-editor .spice-choice.is-filled{background:#fcf0ec;border-color:#d3aaa0;color:#984e42}
.plan-dialog .allergen-editor .spice-choice:not(.is-filled){color:#a3aa9b;background:#f7f8f5}
.spice-level-value{align-self:center;margin-left:4px;font-size:12px;color:var(--muted)}
@media(max-width:760px){.plan-dialog .allergen-editor .spice-choice{width:44px;min-width:44px;height:44px;min-height:44px}}

/* Offer schedules share compact weekday chips and the existing date/time controls. */
.offer-schedule-field{margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f6f8f3}
.plan-dialog .offer-schedule-field>.tool-check,.plan-dialog #menu-offer-schedule-controls>.tool-check{display:flex;align-items:center;gap:8px;margin:0;min-height:32px}.plan-dialog .offer-schedule-field .tool-check input{margin:0;flex-shrink:0}
.offer-weekdays{border:0;padding:0;margin:18px 0;min-width:0}.offer-weekdays legend{padding:0;font-size:13px;font-weight:600}.offer-weekday-list,.offer-weekday-presets{display:flex;flex-wrap:wrap;gap:7px}.offer-weekday-presets{gap:18px;margin:8px 0}
.plan-dialog .offer-weekday{display:flex;align-items:center;gap:6px;margin:0;padding:7px 9px;min-height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:background-color .18s,border-color .18s}.plan-dialog .offer-weekday:has(input:checked){background:#e7eee1;border-color:#a5b89b}.plan-dialog .offer-weekday input{width:15px;height:15px;margin:0;flex-shrink:0}
.offer-schedule-preview{padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.menu-offer-rule{margin:8px 0 3px;color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}.menu-offer-clock{margin:0 0 14px;font-size:11px;color:var(--dine-forest)}.menu-schedule-source{display:block;font-size:10px;line-height:1.5;color:var(--muted)}.menu-schedule-reset{font-size:10px;white-space:normal;margin-top:4px}.menu-availability-cell:has(.menu-schedule-source){min-width:0}.menu-schedule-reset:focus-visible{outline:1px solid #aab2a2;outline-offset:2px}
@media(max-width:760px){.offer-schedule-field{padding:12px}.plan-dialog .offer-weekday{min-height:44px}.offer-weekday-presets .text-button{min-height:36px}.menu-schedule-source{font-size:11px}.menu-schedule-reset{min-height:36px;font-size:12px}}

.menu-repeat-option{display:flex;align-items:flex-start;gap:6px;margin-top:7px;font-size:10px;line-height:1.5;color:var(--muted);cursor:pointer}.menu-repeat-option input{flex-shrink:0;width:14px;height:14px;margin:0}.menu-repeat-option span{max-width:150px}@media(max-width:760px){.menu-repeat-option{font-size:12px;min-height:32px;align-items:center}.menu-repeat-option input{width:17px;height:17px}.menu-repeat-option span{max-width:none}}

/* Related catalog actions stay together at the right edge of their heading. */
.catalog-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-left:auto}
.catalog-toolbar-actions .button{min-height:42px;padding:10px 14px;font-size:12px;line-height:20px}
@media(max-width:760px){.catalog-toolbar-actions{width:100%;margin-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.catalog-toolbar-actions .button{min-width:0;min-height:44px;white-space:normal;padding-inline:10px}.menu-picker-header{grid-template-columns:36px minmax(0,1fr) 36px}.menu-picker-header button{width:36px;height:36px}.menu-picker-top{min-height:36px}.menu-picker-top .icon-button{width:36px;height:36px;min-height:36px;flex-basis:36px}}

/* Long month names and years remain readable beside the mobile filters. */
@media(max-width:760px){.catering-controls{grid-template-columns:minmax(0,1fr)}.catering-controls>div{grid-column:1/-1}}

@media(max-width:760px){.menu-picker-header{grid-template-columns:44px minmax(0,1fr) 44px}.menu-picker-header button,.menu-picker-header .ui-close,.menu-picker-top .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}.menu-picker-header:has(.ui-close){grid-template-columns:44px minmax(0,1fr) 44px 44px}}
