:root{--navy:#0c284b;--blue:#095dd8;--teal:#087b84;--ink:#162c43;--muted:#526476;--border:#cbd6e1;--paper:#f2f6fa;--error:#a02525;--good:#146c4d;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}
/* InsightChef's functional menu-engineering marks remain distinct without color. */
.insight-tier{display:inline-flex;align-items:center;gap:.55rem;max-width:100%;padding:.3rem .65rem .3rem .4rem;border:1px solid currentColor;border-radius:6px;font-size:.96rem;background:#fff;line-height:1.2}.insight-tier svg{flex:0 0 32px;width:32px;height:32px}.tier-signature{color:#765100;background:#fff8e7}.tier-core{color:#124a77;background:#edf5fc}.tier-elevate{color:#056650;background:#eaf7f2}.tier-reserve{color:#654380;background:#f5eefb}.tier-unranked{color:var(--muted);font-size:.9rem}.plate-tier-panel{padding:.8rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.plate-tier-panel:empty{display:none}.tier-reason{font-size:.9rem;margin:.6rem 0}.plate-tier-panel .fine{margin:.4rem 0}.tier-legend{margin:0 0 1.2rem;padding:.8rem;border:1px solid var(--border);border-radius:6px}.tier-legend summary{cursor:pointer;font-weight:650;color:var(--navy)}.tier-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding-top:1rem}.tier-guide p{font-size:.85rem;line-height:1.5;margin:.5rem 0}#plate-tier-status{flex:1;min-width:180px}#refresh-plate-tiers{white-space:normal}#culinary-tier{background:var(--paper);padding:1rem}.report-section .insight-tier{white-space:nowrap}@media(max-width:850px){.tier-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.tier-guide{grid-template-columns:1fr}}@media print{.insight-tier{color:#000;background:#fff;border-color:#000;break-inside:avoid}.tier-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.tier-legend{break-inside:avoid}.tier-unranked{color:#333}}
/* Knowledge stays visually separate from editable restaurant records. */
.intelligence-search{display:flex;align-items:end;gap:.75rem;margin:1rem 0}.intelligence-search label{flex:1}.intelligence-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:1.5rem;margin:1.5rem 0}.intelligence-match{padding:.75rem 0;border-bottom:1px solid var(--border)}.intelligence-match button{text-align:left;width:100%}.pairing-heading{margin-top:1.5rem}.pairing-list{list-style:none;margin:1rem 0;padding:0}.pairing-list li{padding:1rem;border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:6px;margin:.65rem 0}.pairing-list .line-top{gap:1rem}.pairing-list button{text-align:left}.pairing-score{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--teal)}#intelligence-status{padding:.65rem 0}#intelligence-detail{min-width:0;overflow-wrap:anywhere}#intelligence-detail:focus{outline:2px solid var(--teal);outline-offset:5px}@media(max-width:700px){.intelligence-layout{grid-template-columns:1fr}.intelligence-search{align-items:stretch;flex-direction:column}.pairing-list li{padding:.7rem}}
.pack-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}#pack-containers{padding:.8rem;border:1px solid var(--border);border-radius:6px;margin:1rem 0}#pack-containers legend{font-size:.875rem;font-weight:650}#pack-entry-summary{background:#e7f2f4;padding:.8rem;border-radius:5px;font-size:.875rem}@media(max-width:480px){.pack-breakdown{grid-template-columns:1fr}}
*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;padding:1.15rem 3%;display:flex;align-items:center;justify-content:space-between;gap:1rem}header>div{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.brand{font-weight:750;font-size:1.55rem;letter-spacing:-.04em}.brand span{color:#75e3df}.local{border-left:1px solid #688099;padding-left:1rem;letter-spacing:.1em;font-size:.75rem}.banner{padding:.6rem 3%;background:#dbedf0;font-size:.875rem;color:#164451}main{max-width:1380px;margin:0 auto;padding:1.6rem 2rem 4rem}.heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.eyebrow{color:var(--teal);font-size:.8rem;letter-spacing:.14em;font-weight:700;margin:0}h1{font-size:2rem;letter-spacing:-.035em;margin:.25rem 0}h2{font-size:1.35rem;margin:0}h3{font-size:1.1rem;margin:0 0 .7rem}p{line-height:1.5;margin:.5rem 0;color:var(--muted)}.counts{max-width:260px;text-align:right;font-size:.875rem;line-height:1.65}.counts strong{color:var(--ink)}nav{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin:1.4rem 0;overflow-x:auto}button{border:1px solid transparent;border-radius:6px;background:var(--blue);color:white;font:inherit;font-size:.9rem;font-weight:650;padding:.72rem 1rem;cursor:pointer;min-height:44px}button:hover{filter:brightness(.93)}button:disabled{opacity:.55;cursor:not-allowed}nav button{background:transparent;color:var(--muted);white-space:nowrap;border-radius:6px 6px 0 0}nav button[aria-current=page]{background:var(--navy);color:white}.secondary{background:white;border-color:#8ca3bc;color:var(--navy)}.quiet{background:transparent;border-color:currentColor;color:inherit}.danger{color:var(--error);border-color:#d3a5a5;background:white}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:1.5rem 0 1rem}section{background:white;border:1px solid var(--border);border-radius:10px;padding:0 1.4rem 1.4rem}label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:600}input,select{font:inherit;font-size:1rem;color:var(--ink);background:white;border:1px solid #97aabd;border-radius:5px;padding:.6rem;min-width:0;width:100%;min-height:44px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #31a4b5;outline-offset:2px}fieldset{border:0;padding:0;margin:0;min-width:0}.invoice-header{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1rem;margin:1rem 0}.charges{display:grid;grid-template-columns:repeat(3,minmax(100px,180px));gap:1rem;margin:1rem 0 1.5rem}.resume{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.8rem;background:var(--paper);border-radius:6px}.resume select{max-width:330px}.resume span{margin-left:auto;color:var(--muted);font-size:.875rem}.line{border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:6px;padding:1rem;margin:0 0 .8rem}.line-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.line-inputs{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr 1fr;gap:1rem;align-items:end}.line-extra{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-top:.7rem}.line-extra>label{max-width:180px}.line-extra .check{max-width:300px;display:flex;flex-direction:row;align-items:center}.check input{width:20px;min-height:20px}.pack-summary{font-size:.875rem;margin:.5rem 0}.extended{background:#e8f4ee;border-radius:5px;padding:.6rem}.extended span{display:block;font-size:.8rem;color:var(--muted)}.extended strong{font-size:1.25rem;line-height:1.5}.line-error{color:var(--error);font-size:.875rem}.reconcile{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:#e7f2f4;border:1px solid #a1c7cf;border-radius:8px;padding:1rem;margin:1.25rem 0}.reconcile span{display:block;font-size:.875rem}.reconcile strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.reconcile p{grid-column:1/-1;margin:0;font-size:.9rem}.actions{display:flex;gap:.7rem;flex-wrap:wrap}.actions button:last-child{margin-left:auto}.try-it{background:#f3f7fc;border-top:2px solid var(--blue);margin-top:1.5rem;padding:1rem;font-size:.875rem}.try-it p:last-child{font-size:.8rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:.85rem .6rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-size:.8rem;background:#f4f7fa}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{border:1px solid var(--border);border-radius:8px;padding:1.2rem;overflow:hidden}.metrics{display:flex;gap:1.4rem;flex-wrap:wrap;margin:1rem 0}.metrics span{display:block;font-size:.8rem;color:var(--muted)}.metrics strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.snapshot{background:#eff3f8;padding:.8rem;border-radius:5px;color:#37516e;font-size:.9rem}.badge{font-size:.75rem;border-radius:4px;padding:.2rem .4rem;background:#def0e7;color:#155c42}.seed{background:#fff1cc;color:#664712}.fine{font-size:.875rem}#notice:empty{display:none}#notice{background:#e7f3ec;border-left:4px solid var(--good);padding:.85rem;color:var(--ink)}#notice.error{background:#fff0ed;border-color:var(--error)}dialog{border:1px solid var(--border);border-radius:12px;max-width:620px;width:calc(100% - 2rem);max-height:90vh;padding:1.5rem}dialog::backdrop{background:#091b3299}dialog label{margin:.8rem 0}dialog .section-title{margin-top:0}#pack-error{color:var(--error)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:1rem;top:-100px;background:white;padding:1rem;color:var(--navy);z-index:5}.skip:focus{top:1rem}[hidden]{display:none!important}header .quiet{font-size:.8rem}details{margin-top:.6rem}summary{cursor:pointer;color:var(--blue);padding:.5rem 0}
@media(max-width:800px){main{padding:1.2rem .9rem 3rem}.heading{align-items:start}.counts{display:none}h1{font-size:1.7rem}.invoice-header{grid-template-columns:repeat(2,minmax(0,1fr))}.line-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:1fr}section{padding:0 1rem 1rem}.resume span{margin-left:0}.line-extra>label{max-width:none;flex:1 1 140px}.line-extra .check{max-width:none}.local{font-size:.7rem}}
@media(max-width:480px){.invoice-header{grid-template-columns:1fr}.charges{grid-template-columns:1fr}.line-inputs{grid-template-columns:1fr}.reconcile{gap:.5rem}.reconcile strong{font-size:1.1rem}.reconcile span{font-size:.8rem}.actions{flex-direction:column}.actions button:last-child{margin-left:0}.section-title{flex-wrap:wrap}.brand{font-size:1.3rem}header{flex-wrap:wrap}.resume select{max-width:none}}
/* Recipe and plate entry share a responsive, invoice-independent form. */
.section-controls{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}#culinary-dialog{max-width:900px}#culinary-lines{margin:1.2rem 0}.culinary-row{border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:6px;padding:.8rem;margin:.8rem 0}.culinary-row .line-inputs{grid-template-columns:2fr 1fr 1fr}.culinary-row label{margin:.4rem 0}.culinary-preview{background:#e7f2f4;padding:1rem;border-radius:6px;margin:1rem 0;overflow:auto}#culinary-error{color:var(--error)}@media(max-width:600px){.culinary-row .line-inputs{grid-template-columns:1fr}#culinary-dialog{padding:1rem}.section-controls{flex-shrink:1}}
/* Keep unit setup legible without disturbing the recipe or invoice editor. */
#yield-error{color:var(--error)}#culinary-yield .check{display:flex;flex-direction:row;align-items:center;gap:.6rem}#culinary-extra-yield{width:20px;min-height:20px}#yield-description{margin-bottom:1rem}
.intelligence-search .intelligence-scope-label{flex:0 1 210px}.wine-candidate{display:block;margin:.8rem 0}.wine-candidate>strong{font-size:1.15rem;color:var(--navy)}.wine-candidate p{margin:.6rem 0}.wine-candidate a{color:var(--navy);text-decoration:underline}@media(max-width:700px){.intelligence-search .intelligence-scope-label{flex:auto}}
#plate-history{display:block;margin-top:1.5rem}#plate-history:empty{display:none}#plate-history details{padding:.8rem 0;border-top:1px solid var(--border)}#plate-history:focus{outline:2px solid var(--teal);outline-offset:4px}
#catalog-results{max-height:260px;overflow:auto}#catalog-error{color:var(--error)}#catalog-dialog .intelligence-search{margin:0}#catalog-dialog .snapshot{margin:1rem 0}
.invoice-ingredient{min-width:0}.invoice-ingredient>p{margin:.35rem 0}.ingredient-matches{max-height:22rem;overflow:auto;border:1px solid var(--border);border-radius:6px;background:white;padding:.35rem}.ingredient-matches button{display:block;width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;border-bottom:1px solid var(--border);padding:.7rem;font-size:1rem}.ingredient-matches button span{display:block;font-size:.875rem;color:var(--muted)}.ingredient-matches button:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;background:#e7f2f4}
html:has(#library-detail-dialog[open]),body:has(#library-detail-dialog[open]){overflow:hidden}
#library-detail-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(42rem,90vw);max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border-radius:12px 0 0 12px;overflow:hidden;box-shadow:-8px 0 32px #091b3233}
#library-detail-dialog[open]{display:flex;flex-direction:column}.library-panel-heading{flex:none;padding:1rem 1.4rem;background:var(--navy);color:white}.library-panel-heading h2{margin:.8rem 0 0;font-size:1.4rem;overflow-wrap:anywhere}
#library-detail-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 1.4rem 1.4rem;overflow-wrap:anywhere}#library-detail-error{color:var(--error)}#library-detail-status:empty,#library-detail-error:empty{display:none}#library-detail .snapshot{font-size:1rem}#library-detail table{min-width:25rem}
@media(max-width:600px){#library-detail-dialog{width:100%;border-radius:0;border:0}.library-panel-heading{padding:1rem}#library-detail-content{padding:0 1rem 1rem}}
#count-error{color:var(--error)}#count-valuation:empty{display:none}#count-list{overflow:auto}#count-editor{padding:0}#count-form textarea{min-height:80px}
#count-fields label:has(>#count-contents-confirmed){flex-direction:row;align-items:center;gap:.65rem;min-height:44px;margin:.75rem 0}#count-contents-confirmed{width:20px;min-height:20px;flex:0 0 20px}#count-contents-confirmation{border-left:3px solid var(--teal);padding:.25rem 1rem;margin:1rem 0}#count-contents{margin-bottom:.75rem}
#count-fields label:has(>#count-is-closing),#count-fields label:has(>#count-closing-confirmed){flex-direction:row;align-items:center;gap:.65rem;min-height:44px;margin:.75rem 0}#count-is-closing,#count-closing-confirmed{width:20px;min-height:20px;flex:0 0 20px}#count-closing-fields{border-left:3px solid var(--teal);padding:.25rem 1rem;margin:1rem 0}#count-closing-fields .invoice-header{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:480px){#count-closing-fields .invoice-header{grid-template-columns:1fr}}
#waste-error{color:var(--error)}#waste-valuation:empty{display:none}#waste-list{overflow:auto}#waste-editor{padding:0}#waste-notes{min-height:80px}
.waste-sheet{margin:1.2rem 0 1.6rem}.waste-sheet-toolbar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.6rem}.waste-sheet-toolbar h3{margin:0}.waste-sheet-scroll{max-height:32rem;overflow:auto;border:1px solid #aebed1;border-radius:6px;overscroll-behavior:contain}.waste-sheet-table{border-collapse:separate;border-spacing:0;min-width:1480px;table-layout:fixed}.waste-sheet-table th,.waste-sheet-table td{border-right:1px solid #d0d9e5;border-bottom:1px solid #d0d9e5;padding:0;font-size:.875rem;vertical-align:top}.waste-sheet-table thead th{position:sticky;top:0;z-index:2;background:#e5ebf2;padding:.65rem .5rem;color:var(--navy)}.waste-sheet-table th:first-child{position:sticky;left:0;width:3rem;z-index:1;background:#e5ebf2;text-align:center;padding:.7rem .3rem}.waste-sheet-table thead th:first-child{z-index:3}.waste-sheet-table th:nth-child(2){width:10rem}.waste-sheet-table th:nth-child(3){width:17rem}.waste-sheet-table th:nth-child(4){width:7rem}.waste-sheet-table th:nth-child(5){width:12rem}.waste-sheet-table th:last-child{width:17rem}.waste-sheet-table input,.waste-sheet-table select{border:0;border-radius:0;min-height:44px;padding:.55rem;font-size:1rem;background:transparent;width:100%}.waste-sheet-table tbody tr:nth-child(even){background:#f5f8fc}.waste-sheet-table td:focus-within{background:#eaf1ff;box-shadow:inset 0 0 0 2px #005bff}.waste-sheet-table input:focus,.waste-sheet-table select:focus{outline:2px solid #005bff;outline-offset:-2px}.waste-sheet-table [aria-invalid=true]{background:#fff0ed;box-shadow:inset 0 0 0 2px #b42318}.waste-sheet-table input[type=checkbox]{width:22px;min-height:22px;display:block;margin:.7rem auto}.waste-sheet-table .waste-sheet-actions{padding:.45rem;font-size:.875rem}.waste-sheet-actions strong{display:block;font-weight:600}.waste-sheet-actions>div{display:flex;flex-wrap:wrap;gap:.3rem;margin:.3rem 0}.waste-sheet-actions button{font-size:.875rem;padding:.35rem .55rem;min-height:36px}.waste-cell-error{display:block;color:#a12015;white-space:normal}.waste-sheet-review{border:1px solid #b5c7e6;border-left:4px solid #005bff;padding:1rem;background:#f5f8fc;margin:1rem 0}.waste-sheet-review .check{display:flex;flex-direction:row;align-items:flex-start;margin:1rem 0}.waste-sheet-review .check input{flex:0 0 22px;width:22px;min-height:22px}.waste-sheet-review table{display:block;max-width:100%;overflow:auto}.waste-sheet-message:empty{display:none}details[id^=ws-detail]{margin:1rem 0;padding:.75rem;border:1px solid var(--border);border-radius:6px}details[id^=ws-detail]>summary{font-weight:600}@media(max-width:600px){.waste-sheet-toolbar{gap:.5rem}.waste-sheet-scroll{max-height:65vh}.waste-sheet-review{padding:.7rem}}
#prep-error,#daily-error,#station-error{color:var(--error)}#prep-card:empty{display:none}#prep-notes{min-height:80px}#prep-form .section-controls{margin-top:1rem}
.daily-toolbar{align-items:end;margin:1rem 0}.daily-toolbar label{margin:0}.prep-grid{margin:1rem 0}.prep-grid table{min-width:1150px;width:100%}.prep-grid th{white-space:normal}.prep-grid th small{display:block;font-weight:normal}.prep-grid td{vertical-align:top;padding:.4rem}.prep-grid input,.prep-grid select{padding:.45rem;min-height:42px;font-size:.9rem;min-width:78px}.prep-grid td:first-child{min-width:260px}.prep-grid td:first-child input+input{margin-top:.3rem}.prep-grid td:nth-child(2){min-width:160px}.prep-grid td:nth-child(7){min-width:140px}.prep-grid td:nth-child(8){min-width:150px}.portion-input{display:flex;gap:.2rem}.portion-input input{width:70px}.prep-grid small{display:block;font-size:.8rem;margin-top:.3rem}#daily-form>.section-controls{margin-top:1rem}#legacy-prep{margin-top:2rem;border-top:1px solid var(--border);padding-top:1rem}#legacy-prep>summary{cursor:pointer;font-weight:600;padding:.5rem}#station-dialog textarea{width:100%;min-height:200px}.station-page table{width:100%;border-collapse:collapse}.station-page td,.station-page th{border:1px solid #555;padding:.5rem}.station-page .write-in{min-width:90px;height:42px}
@media print{body.printing-daily>header,body.printing-daily>.banner,body.printing-daily .skip,body.printing-daily main>.heading,body.printing-daily #notice,body.printing-daily nav,body.printing-daily #workspace>section:not(#production-view),body.printing-daily #production-view>*:not(#daily-print-pages){display:none!important}body.printing-daily main,body.printing-daily #production-view{margin:0;padding:0;border:0;max-width:none}body.printing-daily #daily-print-pages{display:block!important}body.printing-daily .station-page{break-before:page}body.printing-daily .station-page:first-child{break-before:auto}body.printing-daily tr{break-inside:avoid}body.printing-daily th,body.printing-daily td{font-size:10pt}body.printing-daily thead{display:table-header-group}body.printing-prep #production-view>#legacy-prep{display:block!important}body.printing-prep #legacy-prep>*:not(#prep-card){display:none!important}}
@media print{body.printing-prep>header,body.printing-prep>.banner,body.printing-prep .skip,body.printing-prep main>.heading,body.printing-prep #notice,body.printing-prep nav,body.printing-prep #workspace>section:not(#production-view),body.printing-prep #production-view>*:not(#prep-card){display:none!important}body.printing-prep main,body.printing-prep #production-view{margin:0;padding:0;border:0;max-width:none}body.printing-prep #prep-card{display:block!important;background:white;padding:0;overflow:visible}body.printing-prep #prep-card .table-wrap{overflow:visible}body.printing-prep #prep-card tr{break-inside:avoid}body.printing-prep #prep-card th,body.printing-prep #prep-card td{padding:.4rem;font-size:10pt}}
:root .settings-section,:root #settings-view>#station-dialog,:root #settings-view>#vendor-dialog{margin:1.25rem 0}
.settings-section .section-title{align-items:center}.settings-section h3{margin:0}#settings-vendors{max-height:24rem}
#station-dialog label,#vendor-dialog label{margin:.5rem 0}
.tax-code-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #ccd9e4}
.tax-active{display:flex;flex-direction:row;align-items:center;gap:.5rem}.tax-active input{width:20px;min-height:20px;flex:0 0 20px}
#settings-tax-editor{margin:1rem 0;padding:1rem;border-left:4px solid #008995;background:#f4f9fb}
@media(max-width:700px){.tax-code-row{grid-template-columns:1fr}.settings-section .section-title{flex-wrap:wrap}}
.vendor-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}#vendor-address{width:100%;font:inherit;padding:.6rem;border:1px solid var(--border);border-radius:5px}#vendor-error{color:var(--error)}@media(max-width:700px){.vendor-contact-grid{grid-template-columns:1fr}}
.restaurant-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.restaurant-address{grid-column:1/-1}#settings-address{width:100%;font:inherit;padding:.6rem;border:1px solid var(--border);border-radius:5px}#settings-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}#settings-summary>div{min-width:0}#settings-summary strong{font-size:1rem;white-space:pre-wrap;overflow-wrap:anywhere}#settings-summary span{font-size:.875rem}#settings-identity{overflow-wrap:anywhere}@media(max-width:700px){.restaurant-profile-grid{grid-template-columns:1fr}}
.count-toolbar{align-items:end;margin:1rem 0}.count-area{margin:1rem 0;padding:1rem;border-left:4px solid var(--teal)}.count-grid table{min-width:1200px;table-layout:fixed}.count-grid th:first-child{width:220px}.count-grid th:nth-child(8){width:160px}.count-grid th:last-child{width:125px}.count-grid td,.count-grid tbody th{padding:.6rem;overflow-wrap:anywhere}.count-grid tbody th{background:white;color:var(--ink);font-size:.9rem}.count-grid small{display:block;color:var(--muted);font-size:.76rem;line-height:1.4;margin-top:.35rem;font-weight:normal}.count-grid input{background:#fff8dc}.count-grid button{font-size:.75rem;min-height:36px;padding:.35rem;margin-top:.5rem}.count-grid select{font-size:.85rem}.count-grid td{font-variant-numeric:tabular-nums}#storage-error{color:var(--error)}@media(max-width:700px){.count-area{padding:.6rem}.count-toolbar>*{flex:1 1 170px}}
.report-section{margin:1.5rem 0;padding:1rem;border:1px solid #c8d6e1;border-radius:10px}.report-section td{font-variant-numeric:tabular-nums;vertical-align:top}.report-totals{display:flex;flex-wrap:wrap;gap:1rem}.report-totals>div{padding:.8rem;background:#e9f5f2;border-left:4px solid #087f8c;min-width:150px}.report-totals dt{font-size:.9rem}.report-totals dd{font-weight:700;font-size:1.25rem;margin:.4rem 0 0}.notification-card{padding:1rem;margin:1rem 0;border:1px solid #b9cbd7;border-left:5px solid #b8790b;border-radius:8px}.notification-card h3{margin-top:0}#notification-error{color:#a52b14}@media print{body.printing-report>header,body.printing-report nav,body.printing-report main>*:not(#workspace),body.printing-report #workspace>*:not(#reports-view),body.printing-report #report-form,body.printing-report #report-status,body.printing-report dialog{display:none!important}body.printing-report #reports-view{display:block!important}body.printing-report .table-wrap{overflow:visible}body.printing-report table{font-size:9pt;min-width:0}body.printing-report .report-section{break-inside:auto;border:0}body.printing-report tr{break-inside:avoid}}
#sales-sheet-status:empty,#sales-sheet-error:empty,#sales-sheet-preview:empty{display:none}
.sales-grid table{width:100%;min-width:360px;table-layout:fixed;border:1px solid var(--border)}.sales-grid th:first-child{width:50%}.sales-grid th{color:var(--navy);font-size:.95rem}.sales-grid td,.sales-grid th{padding:.6rem;border:1px solid var(--border);overflow-wrap:anywhere}.sales-grid input{width:100%;min-width:0;min-height:44px;padding:.5rem;background:#fff8dc;text-align:right;font-size:1rem;font-variant-numeric:tabular-nums}.sales-grid input:focus{outline:3px solid var(--teal);outline-offset:-2px}.sales-grid input:disabled{background:#edf3f7;color:var(--muted)}.sales-grid small{display:block;font-weight:normal;font-size:.875rem;margin-top:.35rem}.sales-check{display:flex;flex-direction:row;align-items:center;gap:.6rem;margin:1rem 0}.sales-check input{width:20px;min-height:20px;flex:none}#sales-sheet-error{color:var(--error)}#sales-sheet-preview details{padding:.5rem;border:1px solid var(--border)}#sales-single{margin-top:2rem;border-top:1px solid var(--border);padding-top:.7rem}@media(max-width:600px){.sales-grid td,.sales-grid th{padding:.35rem}.sales-grid th:first-child{width:44%}}
/* Workbook-style Command Center, with the same routes as the workspace tabs. */
.command-center{padding:0;overflow:hidden}.command-title{background:var(--navy);color:white;text-align:center;padding:1.5rem 1rem}.command-title h2{font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.02em}.command-kicker{color:#a7e7e8;font-size:.75rem;font-weight:700;letter-spacing:.15em;margin:0 0 .4rem}.command-subtitle{margin:0;padding:.7rem 1rem;text-align:center;background:var(--teal);color:white;font-size:.95rem}.command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;padding:2rem 1.8rem 1rem}.command-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.command-column h3{min-height:2.6rem;margin:0;text-align:center;text-transform:uppercase;color:var(--navy);font-size:1rem;line-height:1.3}.command-column button{background:var(--navy);border:2px solid #1d61de;border-radius:10px;min-height:68px;padding:.8rem .7rem;line-height:1.35;font-size:.9rem}.command-column .command-blue{background:var(--blue)}.command-column .command-teal{background:var(--teal);border-color:var(--teal)}.command-footnote{padding:.6rem 1.8rem 1.4rem;margin:0;font-size:.85rem}@media(max-width:950px){.command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.command-grid{grid-template-columns:1fr;padding:1.4rem 1rem}.command-column h3{min-height:0;margin-top:.8rem}.command-footnote{padding:1rem}}
#purchasing-view .invoice-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin:1rem 0}#purchasing-view .line label{margin:.5rem 0}#purchasing-view label:has(>input[type="checkbox"]){flex-direction:row;align-items:center;gap:.65rem;margin:1rem 0}#purchasing-view input[type="checkbox"]{width:20px;min-height:20px;flex:0 0 20px}#purchasing-error{color:var(--error)}#purchasing-view .section-controls{margin:1rem 0}#purchasing-detail,#purchasing-preview,#purchasing-versions{overflow:auto;overflow-wrap:anywhere}#purchasing-close-form{border-top:1px solid var(--border);margin:1rem 0;padding-top:1rem}
#receipt-link-dialog{width:min(1100px,94vw);max-height:90vh;overflow:auto}#receipt-link-dialog .section-title{flex-wrap:wrap;gap:1rem}#receipt-link-dialog .invoice-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}#receipt-link-dialog .check{display:flex;flex-direction:row;align-items:center;gap:.65rem;margin:1rem 0}#receipt-link-dialog .check input{width:20px;min-height:20px;flex:0 0 20px}#receipt-link-dialog .section-controls{margin:1rem 0}#rl-error{color:var(--error)}#rl-error:empty,#rl-preview:empty{display:none}#rl-totals,#rl-history{overflow:auto}#rl-unlink-form{border-left:4px solid var(--teal);padding:1rem}#rl-preview{overflow-wrap:anywhere}
#pairing-comparison{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:8px}.pairing-compare-controls,.pairing-compare-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pairing-compare-controls button{justify-self:start}.pairing-compare-sides article{min-width:0;overflow-wrap:anywhere}.pairing-compare-sides table{font-size:.9rem}.pairing-compare-sides details{overflow:auto}#pairing-compare-result:empty{display:none}@media(max-width:750px){.pairing-compare-controls,.pairing-compare-sides{grid-template-columns:1fr}}
/* Invoice capture extends the existing receiving surface without cloud uploads. */
.invoice-scan-entry{padding:1rem 0;border-bottom:1px solid #cbd7e4;margin-bottom:1rem}
#invoice-scan-dialog{width:min(960px,94vw);max-height:90vh;overflow:auto}
#invoice-scan-dialog textarea{width:100%;resize:vertical}
#invoice-scan-dialog .scan-row{padding:1rem;border:1px solid #cbd7e4;border-left:4px solid #007f88;margin:1rem 0;border-radius:.4rem}
#invoice-scan-dialog .scan-row p{overflow-wrap:anywhere}
#invoice-scan-dialog input[type=file]{max-width:100%;margin-bottom:1rem}

/* Logo-led working theme. Screen-only: preserve established station/report printing. */
@media screen{
  :root{
    --navy:#071f49;--blue:#075cf1;--teal:#087783;--ink:#152b48;
    --muted:#526279;--border:#d2dae5;--paper:#f3f5f8;
    --surface:#fff;--soft-blue:#edf3ff;--silver:#e7ecf2;--field-border:#8494aa;
    --error:#a62525;--good:#166344;--gold:#f6c85f;
    font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;
    color-scheme:light;line-height:1.5;
  }
  body{background:var(--paper)}
  body>header{background:var(--surface);color:var(--navy);padding:.75rem max(3%,1rem);border-top:8px solid var(--blue);border-bottom:3px solid var(--blue);gap:1rem}
  .brand{display:inline-flex;align-items:center;gap:.65rem;line-height:1.1;flex:none;font-size:1.5rem;letter-spacing:-.045em}
  .brand-mark{display:block;width:64px;height:64px;object-fit:contain;flex:none}
  .brand .brand-name{color:var(--navy);white-space:nowrap}
  .brand .brand-name>span{color:var(--blue)}
  .local{color:var(--muted);border-color:var(--border);font-size:.75rem;letter-spacing:.08em;max-width:20rem}
  header a{color:var(--navy);font-size:.875rem;text-underline-offset:4px}
  header .quiet{color:var(--navy);border-color:var(--border);font-size:.875rem;background:var(--paper)}
  .banner{background:var(--silver);color:#344d6c;border-bottom:1px solid var(--border);font-size:.875rem}
  main{max-width:1480px;padding:1.75rem 2rem 4rem}
  .heading{padding:.2rem 0 .75rem;align-items:center}
  .heading h1{font-size:clamp(1.75rem,2.6vw,2.3rem);font-weight:750;color:var(--navy);line-height:1.2;margin:.35rem 0}
  .eyebrow{font-size:.875rem;color:var(--blue);letter-spacing:.09em}
  .counts{padding:.7rem 1rem;border-left:3px solid var(--blue);text-align:left;max-width:310px;background:var(--surface);border-radius:0 8px 8px 0}
  p{line-height:1.6}h2,h3{color:var(--navy);line-height:1.35}h2{font-weight:700}
  a{color:var(--blue);text-underline-offset:3px}
  #workspace>nav{flex-wrap:wrap;gap:.3rem;background:var(--soft-blue);padding:.55rem;border:1px solid #afc8ff;border-radius:12px;margin:1rem 0 1.4rem;box-shadow:0 2px 5px #075cf108}
  #workspace>nav button{border-radius:7px;padding:.55rem .8rem;font-size:.875rem;min-height:44px;color:var(--blue);border:1px solid transparent}
  #workspace>nav button[aria-current=page]{background:var(--blue);color:white;border-color:var(--blue)}
  button,.button{border-radius:8px;font-size:.9375rem;min-height:44px;line-height:1.45;transition:background-color .15s,border-color .15s,box-shadow .15s}
  .button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;padding:.72rem 1rem;text-decoration:none;font-weight:650;border:1px solid transparent}
  button:disabled{opacity:.6;cursor:not-allowed}
  .secondary{border-color:var(--field-border);color:var(--navy);background:var(--surface)}
  .danger{background:#fff5f4;color:var(--error);border-color:#ca8d8d}
  .quiet{color:var(--navy);border-color:var(--border)}
  input,select,textarea{border-color:var(--field-border);border-radius:7px;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);min-width:0;max-width:100%}
  textarea{padding:.7rem;line-height:1.5;width:100%}
  input,select{min-height:46px;padding:.65rem .75rem}
  input[type=checkbox],input[type=radio]{accent-color:var(--blue)}
  input:disabled,select:disabled,textarea:disabled{background:var(--silver);color:var(--muted)}
  input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
  button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--navy);box-shadow:0 0 0 3px white}
  input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}
  label{font-size:.9375rem;line-height:1.5;color:var(--ink)}
  #workspace>section{border-radius:14px;box-shadow:0 3px 16px #071f4905}
  .section-title{margin:1.4rem 0 1.15rem;padding-bottom:1rem;border-bottom:2px solid var(--blue);align-items:center}
  .line,.culinary-row,.card{border-radius:10px;background:var(--surface)}
  .line,.culinary-row{border-left:3px solid var(--blue)}
  .line-top{gap:1rem}.line-top h3{margin:0}
  .card{padding:1.25rem;border-top:3px solid var(--silver)}
  .snapshot,.resume,#culinary-tier{background:var(--paper);color:#344d6c;border-radius:8px}
  .culinary-preview,.reconcile,#pack-entry-summary{background:var(--soft-blue);color:var(--ink);border-color:#bccdf0;border-radius:10px}
  .extended{background:#edf6f2;border:1px solid #cee1d7;border-radius:8px}
  .extended span,.metrics span,th{font-size:.875rem}
  .metrics strong,.reconcile strong,.extended strong{color:var(--navy);letter-spacing:-.025em}
  .table-wrap{border-radius:8px;max-width:100%}
  table{font-size:.9375rem}th{background:var(--silver);color:#344d6c;font-weight:700;line-height:1.45}
  th,td{padding:.85rem .8rem}
  tbody tr:nth-child(even)>td{background:#f8faff}
  .sales-grid input,.count-grid input{background:#f1f6ff;border-color:#819dce;color:var(--navy)}
  .sales-grid input:disabled,.count-grid input:disabled{background:var(--silver);color:var(--muted);border-color:var(--border)}
  .sales-grid input:focus{outline-color:var(--blue)}
  .prep-grid small,.count-grid small{font-size:.875rem}
  .count-grid button{font-size:.875rem;min-height:44px;padding:.5rem}
  .reconcile p,.pack-summary,.fine{font-size:.875rem}
  .report-section{border-color:var(--border)}
  .report-totals>div{background:var(--soft-blue);border-color:var(--blue);border-radius:0 8px 8px 0}
  .notification-card{border-color:var(--border);border-left-color:#ac7300;background:#fffcf3}
  #notice{border-radius:8px;background:#edf7f1;border-color:var(--good)}
  #notice.error{background:#fff2f0;border-color:var(--error)}
  dialog{color:var(--ink);background:var(--surface);box-shadow:0 18px 70px #071f4933;border-radius:16px;border-color:#b6c3d4}
  dialog::backdrop{background:#071f4980}
  dialog .section-title{padding-bottom:1rem}
  .library-panel-heading{background:var(--blue);border-bottom:3px solid #0649c2}
  .library-panel-heading h2{color:white}
  .pairing-list li{background:#f5fafb;border-color:var(--border);border-left-color:var(--teal);border-radius:10px}
  #settings-tax-editor{background:var(--soft-blue);border-color:var(--blue);border-radius:0 8px 8px 0}
  #invoice-scan-dialog .scan-row{border-color:var(--border);border-left-color:var(--blue);border-radius:10px}
  .ingredient-matches button:focus-visible{outline-color:var(--blue);background:var(--soft-blue)}
  .tier-legend{background:var(--paper);border-radius:10px;padding:1rem}
  .tier-guide p{font-size:.875rem}.insight-tier{border-radius:7px}.tier-signature{color:#765100;background:#fff8e7}
  .tier-core{color:#134da4;background:var(--soft-blue)}.tier-elevate{color:#086754;background:#eaf7f2}.tier-reserve{color:#654380;background:#f5eefb}
  .command-title{background:var(--blue);text-align:left;padding:1.65rem 1.8rem;border-bottom:3px solid #0649c2}
  .command-title h2{color:white;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.25}
  .command-kicker{color:white;font-size:.875rem;letter-spacing:.1em}
  .command-subtitle{background:var(--soft-blue);color:#344d6c;text-align:left;padding:.8rem 1.8rem;border-bottom:1px solid var(--border)}
  .command-grid{gap:1.25rem;padding:1.6rem 1.8rem;counter-reset:command-group}
  .command-column{gap:.65rem}
  .command-grid .command-column h3{min-height:3.8rem}
  .command-grid .command-column button{min-height:4.5rem}
  .command-column h3{counter-increment:command-group;display:flex;align-items:center;gap:.6rem;text-align:left;text-transform:none;min-height:3.3rem;padding-bottom:.8rem;margin-bottom:.15rem;border-bottom:1px solid var(--border);font-size:1rem}
  .command-column h3::before{content:counter(command-group,decimal-leading-zero);display:inline-grid;place-items:center;background:var(--blue);color:white;border-radius:6px;font-size:.875rem;font-variant-numeric:tabular-nums;width:2rem;height:2rem;flex:none}
  .command-column button,.command-column .command-blue,.command-column .command-teal{background:var(--silver);color:var(--navy);border:1px solid #b9c4d1;border-left:3px solid #b9c4d1;border-radius:8px;text-align:left;min-height:58px;padding:.85rem .9rem;line-height:1.4;font-size:.9375rem;font-weight:650}
  .command-column button:not(:disabled):focus-visible{background:var(--blue);color:white;border-color:var(--blue)}
  .command-footnote{font-size:.875rem;border-top:1px solid var(--border);padding:1rem 1.8rem;background:#fafbfd}
  .account-page main{max-width:960px}.account-page main>h1{color:var(--navy);line-height:1.25}
  .account-page main>section{padding:1.5rem;margin:1.25rem 0;border-radius:14px}
  .account-page main>button{margin:.4rem .5rem .4rem 0}
  #account-notice{background:var(--soft-blue);border-left:3px solid var(--blue);padding:.9rem 1rem;border-radius:0 8px 8px 0;margin:1.2rem 0}
  #account-create label{margin:1rem 0}
  #account-create label:has(>input[type=checkbox]){flex-direction:row;align-items:center;gap:.7rem}
  #account-empty{width:20px;min-height:20px;flex:none}
  #account-ready .button{margin-top:.9rem}
  #account-sign-in .cl-formButtonPrimary{background:var(--blue);min-height:44px;font-size:1rem}
  #account-sign-in .cl-card{box-shadow:0 4px 20px #071f490c;border:1px solid var(--border);border-radius:14px}
  #account-sign-in .cl-headerTitle{color:var(--navy)}
}
@media screen and (hover:hover){
  button:not(:disabled):hover{filter:none;background:#0649c2;color:white}
  .secondary:not(:disabled):hover,.quiet:not(:disabled):hover{background:var(--soft-blue);color:var(--navy);border-color:var(--blue)}
  .danger:not(:disabled):hover{background:#ffe6e3;color:var(--error);border-color:var(--error)}
  #workspace>nav button:not([aria-current=page]):hover{background:var(--soft-blue);color:var(--navy)}
  .command-column button:not(:disabled):hover{background:var(--blue);color:white;border-color:var(--blue)}
  .button:hover{background:#0649c2}
}
@media screen and (max-width:800px){
  main{padding:1.25rem 1rem 3rem}.counts{display:none}.heading{align-items:start}
  #workspace>nav{flex-wrap:nowrap;overflow-x:auto;padding:.45rem;scroll-padding:.45rem}
  #workspace>nav button{flex:none}.command-grid{padding:1.25rem;gap:1.25rem}
  .command-title,.command-subtitle{padding-left:1.25rem;padding-right:1.25rem}
  .command-footnote{padding:1rem 1.25rem}header>div{gap:.6rem}.local{border-left:0;padding-left:0}
}
@media screen and (max-width:560px){
  .brand-mark{width:50px;height:50px}.brand{font-size:1.25rem;gap:.35rem}
  header>div{flex:1 1 220px}.local{font-size:.75rem}.command-grid{grid-template-columns:1fr}
  .command-grid .command-column h3{margin-top:.3rem;min-height:0}.command-grid .command-column button{min-height:52px}
  .account-page header{flex-wrap:wrap}.account-page main>section{padding:1rem}
}
@media screen and (prefers-reduced-motion:reduce){button,.button{transition:none}}

/* Freeze the daily prep headings inside the same two-axis scrolling sheet. */
@media screen{
  #daily-form .prep-grid{max-height:70vh;max-height:70dvh;overflow:auto;scroll-padding-block-start:6rem}
  #daily-form .prep-grid:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
  #daily-form .prep-grid thead th{position:sticky;top:0;z-index:2;background:var(--silver);box-shadow:inset 0 -1px 0 var(--border)}
  #daily-form .daily-invalid-cell{background:#fff1f0;box-shadow:inset 0 0 0 2px var(--error)}
  #daily-form [aria-invalid=true]{border:2px solid var(--error);scroll-margin-block:6rem}
  #daily-form .daily-cell-error{color:var(--error);font-size:.875rem;line-height:1.4;font-weight:600;min-width:10rem}
}
.allergen-summary{margin:1rem 0;padding:.85rem;border:1px solid #bccbdd;border-radius:8px;background:#f4f7fb;line-height:1.7}
.allergen-research details{margin:.6rem 0}.allergen-research summary{cursor:pointer;font-weight:600}.allergen-research article{border-top:1px solid #bccbdd;padding:.7rem 0;overflow-wrap:anywhere}.allergen-research ul{margin:.3rem 0;padding-left:1.4rem}
.allergen-summary>strong{display:block;color:#12365b}.allergen-summary p{margin:.35rem 0;font-size:.9rem}
.allergen-summary>details{margin:.65rem 0;overflow-wrap:anywhere}.allergen-summary>details>summary{cursor:pointer;font-weight:600}.allergen-summary>details ul{padding-left:1.4rem}.allergen-summary>details li{margin:.3rem 0}.allergen-summary>details button{white-space:normal;text-align:left;max-width:100%}.allergen-summary>details.allergen-review li,.allergen-summary>details.allergen-review p{font-weight:400}
.allergen-symbol{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #9cabbc;background:#fff;color:#193957;border-radius:6px;padding:.15rem .45rem;margin:.2rem;font-size:.85rem;line-height:1.5}
.allergen-symbol b{font-size:.7rem;letter-spacing:.02em;border-radius:4px;background:#e3eaf4;padding:.1rem .3rem}.allergen-symbol.contains{border-color:#a6392d}.allergen-symbol.contains b{background:#8b281e;color:#fff}.allergen-symbol.research{border-style:dashed;border-color:#885500}.allergen-review{color:#80510a;font-weight:600}.allergen-legend{display:flex;gap:.35rem;flex-wrap:wrap}.allergen-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.allergen-check-grid fieldset{padding:.7rem;border:1px solid #bdcbdc;border-radius:6px}.allergen-check-grid legend{font-size:.9rem}.allergen-check-grid label{font-size:.85rem;display:flex;align-items:center;gap:.45rem}.allergen-check-grid input{width:auto;min-height:auto}.allergen-legend-link{margin-top:.4rem!important;font-size:.85rem}
#allergen-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto}#allergen-error,#cat-error{color:#a52118}#allergen-dialog textarea{min-height:90px}.cat-menu-row{padding:1rem;margin:1rem 0;border:1px solid #b7c7db;border-left:4px solid #0864f6;border-radius:8px;background:#f7f9fd}.cat-recipe-card{padding:1.25rem;margin:1.5rem 0;border:1px solid #b7c7db;border-top:4px solid #0864f6;border-radius:8px}.cat-recipe-card h3{margin-top:0}.cat-metrics{flex-wrap:wrap}.cat-metrics strong{font-variant-numeric:tabular-nums}#cat-result{margin-top:1.5rem}#cat-list{display:flex;flex-wrap:wrap;gap:.6rem}#cat-menu .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.cat-event-heading{border-bottom:2px solid #b7c7db;margin-bottom:1rem}#catering-view input,#catering-view select{min-width:0;width:100%}#cat-notes{min-height:80px}
.cat-start{margin-bottom:1rem}.cat-preset{border:1px solid #b7c7db;border-radius:8px;padding:1rem;background:#fff}.cat-preset h4{font-size:1.1rem;margin:0}.cat-preset p{margin:.5rem 0}#cat-preset-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}.cat-choices{margin:1rem 0;padding:1rem;border:1px solid #b7c7db;border-radius:8px}.cat-choices summary{font-weight:700;cursor:pointer}.cat-group{display:grid;grid-template-columns:2fr 1fr auto;gap:1rem;align-items:end;margin:1rem 0}.cat-components{margin:1rem 0;padding:1rem;background:#fff;border:1px solid #b7c7db;border-radius:8px}.cat-component{display:grid;grid-template-columns:1fr 2fr 1fr 1fr auto;gap:.75rem;align-items:end;margin-bottom:1rem}#catering-view .cat-included{display:flex;align-items:center;gap:.65rem}#catering-view input[type=checkbox]{width:1.3rem;height:1.3rem;flex:none}#cat-groups button,.cat-component button{min-height:44px}#cat-source{padding:.75rem;border-left:3px solid #0864f6;background:#edf3ff}
@media(max-width:800px){.allergen-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#cat-menu .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-component{grid-template-columns:1fr 1fr}.cat-group{grid-template-columns:1fr 1fr}.cat-group button{grid-column:1/-1}.cat-menu-row .section-title{display:block}}
@media(max-width:450px){.allergen-check-grid,#cat-menu .grid,.cat-group,.cat-component{grid-template-columns:1fr}}
@media print{body.printing-catering>header,body.printing-catering>.banner,body.printing-catering .skip,body.printing-catering main>*:not(#workspace),body.printing-catering #workspace>*:not(#catering-view),body.printing-catering #catering-view>*:not(#cat-result),body.printing-catering dialog,body.printing-catering #cat-result button{display:none!important}body.printing-catering main,body.printing-catering #catering-view{margin:0;padding:0;border:0;max-width:none}body.printing-catering #catering-view,body.printing-catering #cat-result{display:block!important}body.printing-catering .cat-recipe-card{break-before:page;border:0;padding:0}body.printing-catering .table-wrap{overflow:visible}body.printing-catering table{min-width:0;width:100%;font-size:10pt}body.printing-catering tr,body.printing-catering .allergen-summary{break-inside:avoid}body.printing-catering thead{display:table-header-group}body.printing-catering .allergen-symbol{color:#000;border-color:#333}body.printing-catering .allergen-symbol b{color:#000;background:#eee}}
.waste-sheet-toolbar>label{display:flex;flex-direction:column;gap:.3rem;font-weight:600}.waste-sheet-toolbar>label input{min-height:44px}.waste-sheet-table th:nth-child(2){width:18rem}.waste-sheet-table th:nth-child(3){width:7rem}.waste-sheet-table th:nth-child(4){width:12rem}.waste-sheet-table th:nth-child(5){width:12rem}.waste-sheet-table th:last-child{width:12rem}.waste-sheet-review details{margin:.6rem 0;border-bottom:1px solid var(--border);padding:.5rem}.waste-sheet-review summary{font-weight:600}
.waste-not-applicable{display:block;padding:.65rem;color:var(--muted)}.waste-sheet-table{min-width:1700px}.waste-sheet-table th:nth-child(2){width:12rem}.waste-sheet-table th:nth-child(3){width:19rem}.waste-sheet-table th:nth-child(4){width:7rem}.waste-sheet-table th:nth-child(5){width:11rem}.waste-history-selector{margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1rem}.waste-history-selector summary{font-weight:600}.waste-history-selector label{max-width:28rem;margin-top:1rem}
.core-menu-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.core-menu-filters label,.core-menu-toolbar label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.core-menu-toolbar{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;padding:1rem 0}.core-menu-toolbar>span{margin-right:auto;align-self:center}.core-menu-scroll{max-height:70vh;overflow:auto;border:1px solid #acbdd1;border-radius:6px}.core-menu-table{min-width:1660px;width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.core-menu-table th,.core-menu-table td{border-right:1px solid #d6dfea;border-bottom:1px solid #d6dfea;padding:.55rem .65rem;vertical-align:top}.core-menu-table thead th{position:sticky;top:0;background:#e8eff9;z-index:3;white-space:normal}.core-menu-table tbody th{min-width:240px;max-width:290px;position:sticky;left:0;background:#fff;z-index:1}.core-menu-table tr:nth-child(even)>td,.core-menu-table tr:nth-child(even)>th{background:#f7f9fc}.core-menu-table tr:focus-within>td,.core-menu-table tr:focus-within>th{background:#edf4ff}.core-menu-table tr.cm-dirty>th{box-shadow:inset 4px 0 #b07806}.core-menu-table select{min-width:140px;min-height:44px;padding:.4rem .5rem;font-size:.9rem;border-radius:3px}.core-menu-table input[type=checkbox]{min-height:20px;width:20px;height:20px}.core-menu-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.core-menu-table td:nth-child(10){min-width:150px}.core-menu-table td:nth-child(11){min-width:230px;max-width:360px}.core-menu-table details[open]{min-width:280px}.core-menu-table .insight-tier{font-size:.9rem}.cm-row-number{color:#637188;text-align:center}.cm-unsaved{display:block;font-size:.8rem;color:#865906}.cm-gf{color:#17572d}.core-menu-table summary{font-size:.85rem;line-height:1.5}.core-menu-table .allergen-summary{padding:.6rem}.core-menu-table button{font-size:.85rem;white-space:nowrap}
@media(max-width:850px){.core-menu-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.core-menu-table tbody th{position:static}.core-menu-toolbar>span{width:100%}}@media(max-width:480px){.core-menu-filters{grid-template-columns:1fr}}
.tl-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin:1rem 0}.tl-toolbar label{display:flex;flex-direction:column;gap:.3rem}.tl-toolbar label:first-child{flex:1;min-width:230px}.tl-toolbar input,.tl-toolbar select{margin:0}.tl-actions{position:sticky;top:0;background:#fff;padding:.75rem 0;z-index:4}.tl-scroll{overflow:auto;max-height:72vh;border:1px solid #acbdd1;border-radius:6px}.tl-sheet{width:100%;min-width:1150px;border-collapse:separate;border-spacing:0;table-layout:fixed}.tl-sheet caption{text-align:left;padding:1rem;font-weight:700;background:#edf4ff}.tl-sheet th,.tl-sheet td{border-right:1px solid #d6dfea;border-bottom:1px solid #d6dfea;padding:.6rem;vertical-align:top}.tl-sheet thead th{position:sticky;top:0;z-index:2;background:#e8eff9}.tl-sheet th:first-child{width:145px}.tl-sheet tbody th{font-size:.9rem;background:#f3f6fa;font-variant-numeric:tabular-nums}.tl-sheet tbody tr:nth-child(even) td{background:#f8fafc}.tl-fields{display:grid;grid-template-columns:.8fr 1.25fr .8fr;gap:.5rem}.tl-sheet label{display:flex;flex-direction:column;font-size:.78rem;gap:.25rem}.tl-sheet input{min-width:0;width:100%;min-height:42px;margin:0;padding:.4rem;font-size:.95rem;border-radius:3px}.tl-sheet details{margin-top:.5rem;font-size:.82rem}.tl-sheet details label{margin-top:.35rem}.tl-sheet small{display:block;font-size:.75rem;color:#52677f;margin-top:.35rem}.tl-sheet .tl-history-button{font-size:.75rem;padding:.2rem .45rem;min-height:28px;margin-top:.4rem}.tl-sheet td.tl-dirty{box-shadow:inset 3px 0 #b07806}.tl-today>th{color:#0059fa}#tl-setup{padding:1rem;background:#f5f8fc;border:1px solid #d6dfea;border-radius:8px}#tl-setup summary{font-weight:700}#tl-error{color:#a12424}#tl-history{margin-top:1rem;padding:1rem;border:1px solid #c4d2e4}#tl-history li{padding:.7rem;border-bottom:1px solid #d6dfea}
@media print{body.printing-temperature>header,body.printing-temperature>.banner,body.printing-temperature .skip,body.printing-temperature #main>.heading,body.printing-temperature #notice,body.printing-temperature #workspace>nav,body.printing-temperature #workspace>section:not(#temperature-view){display:none!important}body.printing-temperature #temperature-view .tl-toolbar,body.printing-temperature #temperature-view .section-title>button,body.printing-temperature #tl-setup,body.printing-temperature #tl-history,body.printing-temperature #tl-error,body.printing-temperature .tl-history-button{display:none!important}body.printing-temperature #temperature-view{display:block!important;border:0;padding:0}body.printing-temperature .tl-scroll{overflow:visible;max-height:none;border:0}body.printing-temperature .tl-sheet{min-width:0;font-size:9pt}body.printing-temperature .tl-sheet th:first-child{width:85px}body.printing-temperature .tl-sheet input{border:0;padding:0;min-height:18px;font-size:9pt}body.printing-temperature .tl-sheet label{font-size:7pt}body.printing-temperature .tl-sheet thead th{position:static}body.printing-temperature .tl-sheet tr{break-inside:avoid}body.printing-temperature .tl-fields{gap:2px}body.printing-temperature .tl-sheet details{display:none}}
.tl-print-note{display:none}@media print{body.printing-temperature .tl-print-note{display:block;font-size:8pt;margin:.2rem 0;white-space:normal;overflow-wrap:anywhere}}
/* Recipe scanning extends the existing navy/blue working surface. */
#recipe-scan-dialog{width:min(1100px,94vw);max-height:92vh;overflow:auto}
.recipe-scan-upload{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.recipe-scan-table{overflow-x:auto;margin:1rem 0}
.recipe-scan-table table{min-width:800px;width:100%}
.recipe-scan-table td:first-child{min-width:210px;max-width:290px;white-space:normal}
.recipe-scan-table select{min-width:150px}
.recipe-scan-table input{min-width:100px}
.recipe-scan-originals{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.recipe-scan-originals figure{margin:0}
.recipe-scan-originals img{display:block;width:100%;height:auto}
.recipe-instructions{white-space:pre-wrap;overflow-wrap:anywhere}
#purchasing-forecast-dialog{width:min(1500px,95vw);max-width:95vw;max-height:92vh;padding:28px;border:1px solid #bccbdf;border-radius:16px;color:#102d51;background:white}
#purchasing-forecast-dialog::backdrop{background:#09234980}
.forecast-table{overflow:auto;margin:18px 0;border:1px solid #ccd7e6;border-radius:8px;max-height:58vh}
.forecast-table table{width:100%;border-collapse:collapse;font-size:14px}
.forecast-table th{position:sticky;top:0;background:#edf3ff;z-index:1;text-align:left}
.forecast-table td,.forecast-table th{padding:12px;border-bottom:1px solid #dbe3ed;vertical-align:top;min-width:100px}
.forecast-table input:not([type=checkbox]),.forecast-table select{box-sizing:border-box;width:100%;min-width:130px;padding:9px;margin:3px 0}
.forecast-table td:first-child{min-width:150px}.forecast-table small{display:block;color:#556984;margin:4px 0}
.forecast-explanation{margin:8px 0}.forecast-explanation summary{color:#0056db;cursor:pointer;font-weight:600}.forecast-explanation[open]{min-width:320px}
#purchasing-forecast-dialog .section-controls{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}#purchasing-forecast-dialog button{min-height:40px}
@media(max-width:700px){#purchasing-forecast-dialog{padding:16px}.forecast-table{max-height:55vh}}
/* Supplier comparison stays spacious on desktop, scrollable on small screens. */
#vendor-price-dialog{width:min(1280px,96vw);max-width:96vw;max-height:92vh}
#vendor-price-dialog .table-wrap{overflow-x:auto}
#vendor-price-dialog table{min-width:1020px}
#vendor-price-dialog td,#vendor-price-dialog th{vertical-align:top}

.insight-launch{margin-left:auto;background:#075cff;color:white}.insight-panel{width:min(960px,94vw);max-height:92dvh;padding:1.5rem;border:1px solid #b7c7db;border-top:5px solid #075cff;border-radius:16px;color:#08254d;background:#f8faff}.insight-panel::backdrop{background:#061a35aa}.insight-panel h2{margin:0;font-size:2rem}.insight-panel textarea{width:100%;box-sizing:border-box;font:inherit;min-height:100px}.insight-panel form{margin-top:1rem}.insight-messages{max-height:48dvh;overflow:auto;overscroll-behavior:contain;display:grid;gap:1rem}.insight-message{padding:1rem;border:1px solid #c5d0df;border-radius:12px;background:white}.insight-message.user{background:#e8effb;margin-left:3rem}.insight-answer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin-top:.4rem;font-size:1rem}.insight-prompts{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.insight-prompts button{font-size:.9rem}.insight-proposal{border:2px solid #075cff;border-radius:12px;padding:1rem;background:white}.insight-proposal button{margin:.5rem .5rem 0 0}.insight-details{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;font-size:.9rem;background:#edf1f6;padding:1rem}.insight-panel select{max-width:100%}@media(max-width:600px){.insight-panel{padding:1rem;width:96vw}.insight-message.user{margin-left:1rem}.insight-panel .section-controls{flex-wrap:wrap}}
