.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.controls label{display:grid;gap:6px}.matrix{overflow:auto;margin:20px 0}.matrix table{min-width:1100px;width:100%;border-collapse:collapse}.matrix th,.matrix td{border:1px solid #596579;padding:10px 5px}.matrix thead th{font-size:11px;white-space:normal}.matrix tbody th{min-width:180px;text-align:left}.matrix td{text-align:center;font-weight:bold}.unknown{background:#584528;color:#fff}.contains{background:#664052;color:white}.may{background:#364663;color:white}.source-note{break-inside:avoid;margin:12px 0}.source-note ul{font-size:12px}#editor{display:block}#editor[hidden]{display:none}#editor .form-grid{width:100%}
@media print{@page{size:A4 landscape;margin:10mm}body,.shell,main{background:white!important;color:black!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important}.sidebar,.controls,#message,#editor{display:none!important}.matrix{overflow:visible}.matrix table{min-width:0;width:100%;font-size:8px;table-layout:fixed}.matrix th,.matrix td{padding:5px 2px;border:1px solid #777;color:black!important;background:white!important;overflow-wrap:anywhere}.matrix thead th{font-size:8px}.matrix th:first-child{width:18%;min-width:0}.matrix tr{break-inside:avoid}thead{display:table-header-group}.card{background:white!important;color:black!important;border:0;box-shadow:none;padding:0}h1{font-size:20px}p{font-size:10px}#sources{break-before:page}.source-note{font-size:10px}.source-note ul{font-size:9px}a{color:black}}

.matrix th.controls,.matrix td.controls{display:table-cell;margin:0}@media print{.matrix th.controls,.matrix td.controls{display:none!important}}
/* A readable key for both the screen and monochrome printouts. */
.allergen-guide{margin:24px 0;padding:24px;border:1px solid #344158;border-radius:16px;background:#172132}.allergen-guide h2{margin:0 0 18px;font-size:19px}.status-legend{display:flex;flex-wrap:wrap;gap:14px 26px}.status-legend>span{display:flex;align-items:center;gap:9px;font-size:13px}.status-symbol{display:inline-grid;place-items:center;min-width:25px;height:25px;border:1px solid currentColor;border-radius:6px;font-size:13px;font-weight:700}.icon-legend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px 12px;margin:24px 0}.icon-legend>div{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.4}.allergen-icon{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:6px;padding:3px;flex-shrink:0}.allergen-caution{margin:0;font-size:13px;color:#becbe0}.matrix thead th{text-align:center;vertical-align:top}.matrix thead th .allergen-icon{display:block;margin:0 auto 8px}.matrix tbody th small{display:block;margin-top:5px;font-weight:400;color:#b9c6da}.matrix td.absent{color:#acb8c9}.matrix .contains .status-symbol{border-radius:50%}.matrix .may .status-symbol{border-style:dashed}.matrix .unknown .status-symbol{border-width:2px}.print-option{font-size:13px}.print-option input{width:auto}.matrix tbody tr:hover th{background:#233047}#coverage{font-size:13px;font-weight:600}#stamp{font-size:12px;color:#acb8c9}#sources{margin-top:28px}
@media(max-width:1000px){.icon-legend{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.icon-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.allergen-guide{padding:16px}}
@media print{
.allergen-guide{background:white;border:1px solid #aaa;border-radius:0;padding:3mm;margin:3mm 0;break-inside:avoid}.allergen-guide h2{font-size:11px;margin:0 0 2mm}.status-legend{gap:2mm 5mm}.status-legend>span{font-size:8px;gap:1.5mm}.status-symbol{min-width:4mm;height:4mm;font-size:8px;border-color:#333!important;background:white!important;color:black!important}.icon-legend{grid-template-columns:repeat(7,minmax(0,1fr));gap:2mm;margin:3mm 0}.icon-legend>div{font-size:8px;gap:2mm}.allergen-icon{width:8mm;height:8mm;padding:0;border-radius:0}.allergen-caution{font-size:8px;color:black}.matrix{margin:3mm 0}.matrix thead th .allergen-icon{width:7mm;height:7mm;margin:0 auto 1mm}.matrix thead th{font-size:7px;text-transform:none;letter-spacing:0;vertical-align:top}.matrix tbody th small{font-size:7px;color:#333}.matrix td,.matrix th{padding:2mm 1mm}.matrix tbody th{font-size:9px}.matrix td.absent .status-symbol{border:0}#coverage,#stamp{font-size:9px;color:black}#sources{display:none}body.print-notes #sources{display:block}h1{margin:0 0 2mm}.shell main>p{margin:2mm 0}
}
#fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.allergen-choice{margin:0;padding:16px;border:1px solid #45526b;border-radius:12px;min-width:0}.allergen-choice legend{display:flex;align-items:center;gap:10px;padding:0 8px;font-weight:600}.allergen-options{display:grid;gap:8px}.allergen-options label{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;font-size:12px;cursor:pointer}.allergen-options label:has(input:checked){background:#34304e;outline:1px solid #b8a6ff}.allergen-options input{width:18px;height:18px;margin:0;accent-color:#b8a6ff}.allergen-source-details{margin:20px 0}
#recipe-allergen-editor[hidden]{display:none}.recipe-allergen-open{background:none;border:0;color:#c0b2ff;text-align:left;padding:0;font:inherit;text-decoration:underline;cursor:pointer}#untill-panel{display:block}#untill-panel label{margin:12px 0}#untill-panel input[type=checkbox]{width:18px;height:18px}#untill-panel select{max-width:100%}@media print{.recipe-allergen-open{color:black;text-decoration:none}}
.allergen-cell{width:100%;min-height:44px;padding:6px;border:0;background:transparent;color:inherit;cursor:pointer}.allergen-cell:hover,.allergen-cell:focus-visible{outline:2px solid #c4b5fd;outline-offset:-2px}.allergen-cell small{display:block;font-size:9px;margin-top:4px}#recipe-cell-dialog{width:min(440px,calc(100vw - 24px));max-height:90vh;overflow:auto;box-sizing:border-box;background:#172132;color:#e5edf9;border:1px solid #57637c;border-radius:18px;padding:24px}#recipe-cell-dialog::backdrop{background:#0009}#recipe-cell-label{display:flex;align-items:center;gap:14px;margin:20px 0}.cell-choice{display:flex;align-items:center;gap:12px;padding:14px 10px;border:1px solid #4b5870;border-radius:10px;margin:10px 0;cursor:pointer}.cell-choice:has(input:checked){background:#38314f;border-color:#b8a6ff}.cell-choice input{width:20px;height:20px;accent-color:#b8a6ff}.cell-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#recipe-cell-derived{font-size:13px;line-height:1.5}@media print{.allergen-cell{padding:0;min-height:0}.allergen-cell small{font-size:6px}#recipe-cell-dialog{display:none!important}}
