/* ============================================================================
   YİYECEK & İÇECEK (fb-*) — modüle özgü parçalar
   ----------------------------------------------------------------------------
   Sayfa kabuğu, kart, KPI ve düğmeler rapor kitinden (rk-*); modül gezinmesi ve başlık nakit akış kitinden (cfn-*,
   cfr-head); tablo, kapsam şeridi, çekmece ve ileti yatırım kitinden (cpx-*); görünüm seçici, ızgara, köprü ve
   sayaç şeridi enerji kitinden (en-*) ortak kullanılır. Burada yalnız Y&İ ekranlarına özgü parçalar var.
   Senaryo renkleri --sc-* standardından okunur.
   ============================================================================ */

/* Kapsam şeridi alan genişlikleri */
.fb-page .fb-w-year { min-width: 96px; }
.fb-page .fb-w-month { min-width: 120px; }
.fb-page .fb-w-view { min-width: 170px; }
.fb-page .fb-w-scenario { min-width: 240px; }
.fb-page .fb-w-layer { min-width: 320px; }

/* Satır etiketi: öğün + kesim */
.fb-row-label { white-space: nowrap; }
.fb-row-label > span:first-child { display: inline-block; min-width: 92px; color: var(--rk-ink); font-weight: 600; }
.fb-row-label .cpx-pill { margin-left: 4px; }
.fb-row-label small, .fb-sub { display: block; color: var(--rk-muted); font-size: .66rem; }
.fb-owner { display: inline-block !important; margin-left: 6px; font-size: .64rem; color: var(--rk-muted); font-style: italic; }

/* Plan ızgarası */
.fb-grid td.fb-closed { background: repeating-linear-gradient(45deg, #f8fafc, #f8fafc 4px, #f1f5f9 4px, #f1f5f9 8px); color: var(--rk-muted); }
.fb-grid input.fb-all { width: 70px; border-style: dashed; }
.fb-grid .fb-booked { display: block; font-size: .64rem; color: var(--sc-actual-text, #047857); }
.fb-dot { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; background: #10b981; }
.fb-dot.pkg { background: #94a3b8; }

/* Satış noktası öğün etiketleri */
.fb-meals { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.fb-meal { padding: 1px 7px; border-radius: 999px; font-size: .66rem; font-weight: 650; background: #f1f5f9; color: var(--rk-ink-2); border: 1px solid #e2e8f0; }
.fb-meal.pkg { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.fb-meal-edit input.cpx-cell { width: 80px; }

/* Günlük gerçekleşen: gün şeridi */
.fb-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(58px, 1fr)); gap: 6px; }
.fb-day { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 6px 2px; border: 1px solid var(--rk-line);
    border-radius: 9px; background: #fff; color: var(--rk-ink-2); font-size: .7rem; cursor: pointer; }
.fb-day span { font-size: .86rem; font-weight: 750; color: var(--rk-ink); }
.fb-day small { font-size: .6rem; color: var(--rk-muted); }
.fb-day b { font-size: .64rem; font-weight: 650; }
.fb-day i.fa-lock { position: absolute; top: 4px; right: 5px; font-size: .55rem; color: var(--rk-muted); }
.fb-day.done { background: #f0fdf4; border-color: #bbf7d0; }
.fb-day.none { background: #fef2f2; border-color: #fecaca; }
.fb-day.future { opacity: .45; cursor: default; }
.fb-day.active { border-color: var(--rk-accent); box-shadow: 0 0 0 2px #dbeafe; }
.fb-daily input.cpx-cell { width: 96px; }
.fb-daily input.fb-note { width: 100%; min-width: 120px; height: 28px; padding: 0 6px; border: 1px solid var(--rk-line); border-radius: 6px; font-size: .74rem; }

/* Menü karışımı */
.fb-mix input.cpx-cell { width: 84px; }
.fb-mix tr.fb-add-row select { height: 30px; min-width: 280px; border: 1px dashed var(--rk-line); border-radius: 7px; padding: 0 8px; color: var(--rk-muted); background: #fff; }
.fb-month-inputs { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; padding: 4px 0; }
.fb-month-inputs label { display: flex; flex-direction: column; gap: 2px; font-size: .64rem; color: var(--rk-muted); }
.fb-month-inputs input.cpx-cell { width: 100%; }
.fb-caret { width: 14px; color: var(--rk-muted); font-size: .66rem; }
@media (max-width: 900px) { .fb-month-inputs { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Kontrol özeti: konu listesi */
.fb-issues { list-style: none; margin: 0; padding: 8px 14px; display: flex; flex-direction: column; gap: 8px; }
.fb-issues li { display: flex; gap: 10px; align-items: flex-start; font-size: .78rem; }
.fb-issues li i { margin-top: 2px; }
.fb-issues li.crit i { color: var(--rk-unfav); }
.fb-issues li.warn i { color: #d97706; }
.fb-issues li small { display: block; color: var(--rk-muted); font-size: .7rem; }
.fb-issues a { color: var(--rk-ink); }

/* Rapor ana sayfası */
.fb-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.fb-tile { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--rk-line); border-radius: 12px; background: #fff;
    color: var(--rk-ink); text-decoration: none; }
.fb-tile:hover { border-color: var(--rk-accent); box-shadow: 0 2px 8px rgba(15, 23, 42, .06); }
.fb-tile > i { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 9px; background: #fff7ed; color: #b45309; }
.fb-tile b { display: block; font-size: .86rem; }
.fb-tile small { display: block; margin-top: 3px; color: var(--rk-muted); font-size: .72rem; }

/* Menü mühendisliği */
.fb-quadrants { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fb-quadrant { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--rk-line); border-radius: 12px; background: #fff;
    text-align: left; cursor: pointer; border-left: 4px solid var(--q, #94a3b8); }
.fb-quadrant b { font-size: .9rem; color: var(--rk-ink); }
.fb-quadrant span { font-size: .74rem; color: var(--rk-ink-2); }
.fb-quadrant small { font-size: .68rem; color: var(--rk-muted); }
.fb-quadrant.active { box-shadow: 0 0 0 2px #dbeafe; }
.q-star { --q: #059669; }
.q-plowhorse { --q: #2563eb; }
.q-puzzle { --q: #d97706; }
.q-dog { --q: #dc2626; }
.fb-class { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: .68rem; font-weight: 700;
    background: color-mix(in srgb, var(--q) 12%, #fff); color: var(--q); }
@media (max-width: 900px) { .fb-quadrants { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.fb-actions-row { display: flex; justify-content: flex-end; padding-top: 10px; }

@media print {
    .fb-days, .fb-grid input.fb-all, .fb-add-row { display: none !important; }
}

/* Boş öğün satırı (salt okunur menü karışımı) */
.fb-muted-row { color: var(--rk-muted); font-size: .74rem; font-style: italic; }
