#page-recipes .fc-root [hidden] { display:none !important; }
.fc-dialog { width:min(1150px,calc(100vw - 32px)); max-height:90vh; border:1px solid var(--line); border-radius:14px; padding:0; color:var(--ink); background:var(--canvas,#f5f6fa); box-shadow:0 24px 80px #11182735; }
.fc-dialog::backdrop { background:#19204670; backdrop-filter:blur(3px); }
.fc-dialog-body { padding:22px; }
.fc-dialog:not([open]) { display:none !important; }
.fc-dialog .fc-result { position:static; }
.fc-dialog .fc-editor-top { padding-bottom:16px; border-bottom:1px solid var(--line); }
.fc-summary-dialog { width:min(820px,calc(100vw - 32px)); background:white; }
.fc-summary-totals { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:20px 0; margin:18px 0; border-top:1px solid var(--line); }
.fc-summary-totals span { display:block; font-size:12px; color:var(--muted); margin-bottom:7px; }
.fc-summary-totals strong { font-size:25px; color:var(--brand); }
.fc-dish-row { cursor:pointer; }
.fc-dish-row:hover,.fc-dish-row:focus { background:var(--brand-soft); outline-offset:-2px; }
.fc-dish-table { min-width:600px; }
.fc-dish-table td { padding:18px 14px; }
.fc-dish-table small { margin-top:5px; }
.fc-library-filter { display:grid; grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(170px,1fr) auto; align-items:end; gap:12px; margin-bottom:14px; padding:15px; border:1px solid var(--line); border-radius:10px; background:#f8faff; }
.fc-library-filter .dh-field { min-width:0; display:grid; gap:7px; font-size:12px; font-weight:600; }
.fc-library-filter .dh-input,.fc-library-filter .dh-select{min-width:0;width:100%;max-width:100%}
.fc-library-filter>.dh-btn{min-height:40px;white-space:nowrap}
.fc-library-count{display:flex;align-items:center;justify-content:flex-end;margin-bottom:8px}
.fc-dish-classification{display:flex;align-items:center;gap:6px 9px;flex-wrap:wrap;margin-top:7px}
.fc-category-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border-radius:6px;background:#edf2ff;color:#3157ad;font-size:10px;font-weight:650;line-height:1.5;white-space:nowrap}
.fc-category-0{color:#127764;background:#e8f7f1}.fc-category-2{color:#985b19;background:#fff1dc}.fc-category-3{color:#4a7e27;background:#edf6e7}.fc-category-4{color:#804b9e;background:#f4ebfa}.fc-category-5{color:#347c91;background:#eaf6fa}.fc-category-unclassified{color:#8a6417;background:#fff6db}
.fc-dish-classification small{margin:0!important;font-size:11px!important}
.fc-summary-classification{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0;font-size:12px;color:var(--muted)}
.fc-optional-note,.fc-required-note{font-size:10px;font-weight:400;color:var(--muted);margin-left:3px}
.fc-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:17px;margin-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.fc-page-controls{display:flex;align-items:center;gap:10px}.fc-page-controls>span{white-space:nowrap;font-size:11px}.fc-page-controls .dh-btn:disabled{opacity:.45;cursor:default}
#fc-page-range{font-variant-numeric:tabular-nums}
#fc-library{scroll-margin-top:18px}
.fc-dish-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.fc-dish-card { border:1px solid var(--line); border-radius:12px; background:var(--surface,#fff); padding:20px; min-width:0; }
.fc-dish-card-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:18px; }
.fc-dish-card-top > span:last-child { font-size:11px; color:var(--muted); }
.fc-dish-card h3 { margin:0 0 8px; font-size:17px; overflow-wrap:anywhere; }
.fc-dish-card p { font-size:12px; }
.fc-dish-price { display:flex; gap:8px; align-items:baseline; margin:24px 0; }
.fc-dish-price strong { font-size:28px; color:var(--brand); letter-spacing:-.6px; }
.fc-dish-price > span { font-size:12px; color:var(--muted); }
.fc-dish-card-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid var(--line); }
.fc-delete-confirm,.fc-confirm { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px; border-radius:8px; font-size:12px; color:#8d4815; background:#fff4e6; margin:16px 0 0; }
.fc-library-empty { grid-column:1/-1; padding:50px 20px; }
.fc-library-empty strong { display:block; font-size:16px; color:var(--ink); margin-bottom:8px; }
.fc-editor-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.fc-confirm { margin-bottom:18px; }
.fc-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:22px; align-items:start; }
.fc-dish-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fc-dish-fields > label:first-child { grid-column:1/-1; }
.fc-ingredient-picker { padding:18px; border:1px solid var(--line); border-radius:10px; background:#f9fafc; display:grid; gap:14px; }
.fc-ingredient-picker label { display:grid; gap:7px; font-size:12px; font-weight:600; }
.fc-quantity-controls { display:grid; grid-template-columns:minmax(80px,1fr) 80px auto; gap:12px; align-items:end; }
.fc-quantity-controls .dh-btn { min-height:42px; }
.fc-reference { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; font-size:12px; }
.fc-reference strong { color:var(--brand); }
.fc-reference span { color:var(--muted); font-size:11px; }
.fc-lines-wrap { position:relative; margin-top:20px; }
.fc-lines td { vertical-align:middle; }
.fc-lines td:first-child { min-width:170px; }
.fc-lines small { margin-top:5px; font-size:11px; }
.fc-line-quantity { display:flex; align-items:center; gap:5px; }
.fc-line-quantity input { width:82px; }
.fc-line-quantity select { width:60px; }
.fc-line-cost { white-space:nowrap; font-weight:700; }
.fc-remove-line { font-size:11px; }
.fc-small-note { font-size:11px !important; line-height:1.65; margin:14px 0 0 !important; }
.fc-result { position:sticky; top:24px; }
.fc-editor-grid>* { min-width:0; }
.fc-editor-grid input,.fc-editor-grid select { max-width:100%;min-width:0; }
.fc-result .du-panel-head { flex-wrap:wrap; }
.fc-price { border-radius:12px; padding:24px 18px; background:var(--brand-soft); text-align:center; }
.fc-price > span { display:block; font-size:13px; font-weight:600; color:var(--brand); }
.fc-price strong { display:block; font-size:38px; letter-spacing:-1px; line-height:1.25; margin:10px 0; color:var(--brand); }
.fc-price small { font-size:11px; color:var(--muted); }
.fc-calculation { margin:20px 0; }
.fc-calculation > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 0; border-bottom:1px solid var(--line); font-size:12px; }
.fc-calculation dt { color:var(--muted); }
.fc-calculation dd { margin:0; font-weight:700; text-align:right; }
.fc-save { width:100%; justify-content:center; margin-top:20px; }
.fc-error { font-size:12px; color:var(--red); line-height:1.6; margin-top:12px; }
.fc-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; }
@media(max-width:1280px) { .fc-editor-grid { grid-template-columns:minmax(0,1fr) 290px; gap:16px; }.fc-quantity-controls { grid-template-columns:1fr 80px; }.fc-quantity-controls .dh-btn { grid-column:1/-1; }.fc-dish-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1000px) { .fc-editor-grid { grid-template-columns:minmax(0,1fr); }.fc-result { position:static; }.fc-result .du-panel-head { flex-wrap:nowrap; }.fc-quantity-controls { grid-template-columns:minmax(80px,1fr) 80px auto; }.fc-quantity-controls .dh-btn { grid-column:auto; } }
@media(max-width:1100px){.fc-library-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-library-filter>.dh-btn{justify-self:end;min-width:115px}}
@media(max-width:600px) { .fc-dish-grid { grid-template-columns:1fr; }.fc-library-filter { align-items:start; flex-direction:column; }.fc-library-filter .dh-field { width:100%; }.fc-dish-card { padding:17px; }.fc-dish-fields { grid-template-columns:1fr; }.fc-quantity-controls { grid-template-columns:1fr 80px; }.fc-quantity-controls .dh-btn { grid-column:1/-1; }.fc-ingredient-picker { padding:14px; }.fc-editor-top { align-items:start; flex-wrap:wrap; }.fc-result .du-panel-head { flex-wrap:wrap; }.fc-price strong { font-size:34px; } }
@media(max-width:600px){.fc-library-filter{grid-template-columns:1fr;padding:12px;gap:11px}.fc-library-filter>.dh-btn{width:100%;justify-self:stretch}.fc-pagination{align-items:flex-start;flex-direction:column;gap:12px}.fc-page-controls{width:100%;justify-content:space-between;gap:7px}.fc-page-controls .dh-btn{min-height:38px;font-size:11px}.fc-dialog-body{padding:16px}.fc-summary-classification{gap:6px}.fc-summary-totals{gap:12px}.fc-summary-totals strong{font-size:22px}}
#page-recipes #fc-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row;grid-auto-columns:auto;width:100%;margin:0 0 14px!important;padding:0;overflow:visible;gap:12px;scroll-snap-type:none}
#fc-kpis .dh-kpi{min-width:0;min-height:110px;padding:13px 16px}
#fc-kpis .dh-kpi-label{font-size:12px;letter-spacing:0;text-transform:none;font-weight:600;line-height:1.4}
#fc-kpis .dh-kpi-icon{flex:0 0 32px;width:32px;height:32px;border-radius:9px}
#fc-kpis .dh-kpi-icon svg{width:21px;height:21px}
#fc-kpis .dh-kpi-value{font-size:25px;line-height:1.2}
#fc-kpis .dh-kpi-foot{font-size:11px;line-height:1.4}
#fc-kpis #fc-kpi-average-note{display:block!important}
#fc-kpis .dh-kpi:nth-child(1){--fc-accent:#5048c8;background:linear-gradient(120deg,#f0efff,#fff 80%)}
#fc-kpis .dh-kpi:nth-child(2){--fc-accent:#0c8c78;background:linear-gradient(120deg,#e8f8f2,#fff 80%)}
#fc-kpis .dh-kpi:nth-child(3){--fc-accent:#c27414;background:linear-gradient(120deg,#fff5e5,#fff 80%)}
#fc-kpis .dh-kpi::before{background:var(--fc-accent)}
#fc-kpis .dh-kpi .dh-kpi-icon{color:var(--fc-accent);background:color-mix(in srgb,var(--fc-accent) 12%,white)}
.fc-unit-cost{color:#0a806b}.fc-summary-totals>div:last-child{background:#e9f7f1;border-radius:10px;padding:14px;color:#086b57}
.fc-dish-table td small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:600px){#page-recipes #fc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}#fc-kpis .dh-kpi{padding:12px;min-height:104px}#fc-kpis .dh-kpi:last-child{grid-column:1/-1}#fc-kpis .dh-kpi-value{font-size:23px}}
