/* ═══════════════════════════════════════════════════════════════════════════
   HOTEL REPORTS — kurumsal finansal rapor tasarım sistemi (hrp-*)
   Personel + Finansal Planlama raporlarının ortak omurgası.
   GLOBAL (kapsamsız) — shell stilleri gömülü child markup'a da ulaşmalı.
   Tek kanonik B/F/A/LY renk dili: her grafik, KPI ve tabloda aynı.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  /* Bütçe / Forecast / Gerçekleşen / Geçen Yıl — çizgi + sütun-arkaplan tonu */
  /* Senaryo standardı (/css/scenario-colors.css) */
  --bfa-budget:var(--sc-budget);     --bfa-budget-bg:var(--sc-budget-tint);     --bfa-budget-bd:var(--sc-budget-soft);
  --bfa-forecast:var(--sc-forecast); --bfa-forecast-bg:var(--sc-forecast-tint); --bfa-forecast-bd:var(--sc-forecast-soft);
  --bfa-actual:var(--sc-actual);     --bfa-actual-bg:var(--sc-actual-tint);     --bfa-actual-bd:var(--sc-actual-soft);
  --bfa-ly:var(--sc-lastyear);       --bfa-ly-bg:var(--sc-lastyear-tint);       --bfa-ly-bd:var(--sc-lastyear-soft);
  /* Sapma anlamı: yeşil = bütçe altı (olumlu maliyet), kırmızı = üstü (risk) */
  --var-good:#15803d; --var-good-bg:#e7f6ec;
  --var-bad:#b91c1c;  --var-bad-bg:#fdecec;
  --var-warn:#b45309; --var-warn-bg:#fef3e2;
  --hrp-ink:#0f172a; --hrp-muted:#64748b; --hrp-faint:#94a3b8;
  --hrp-line:#e6eaf1; --hrp-bg:#f5f7fb; --hrp-surface:#ffffff;
  --hrp-navy:#0b2f5d; --hrp-accent:#2563eb;
  --hrp-radius:14px;
  --hrp-shadow:0 1px 2px rgba(15,23,42,.04), 0 10px 26px -18px rgba(15,23,42,.20);
}

/* ── Sayfa iskeleti ────────────────────────────────────────────────────── */
.hrp-page { background:var(--hrp-bg); color:var(--hrp-ink); padding:20px; min-height:100vh;
  font-variant-numeric:tabular-nums; }
.hrp-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px;
  flex-wrap:wrap; margin-bottom:16px; }
.hrp-eyebrow { font-size:10px; font-weight:800; letter-spacing:.12em; color:var(--hrp-accent);
  text-transform:uppercase; }
.hrp-title { margin:5px 0 3px; font-size:23px; font-weight:750; letter-spacing:-.02em; color:var(--hrp-ink); }
.hrp-sub { color:var(--hrp-muted); font-size:12.5px; }
.hrp-scope { display:flex; gap:7px; align-items:center; background:var(--hrp-surface);
  border:1px solid var(--hrp-line); border-radius:10px; padding:8px 13px; font-size:11.5px; color:var(--hrp-muted); }
.hrp-scope strong { color:var(--hrp-ink); }

/* ── B/F/A/LY renk açıklaması (legend) ─────────────────────────────────── */
.hrp-legend { display:flex; gap:14px; flex-wrap:wrap; align-items:center;
  background:var(--hrp-surface); border:1px solid var(--hrp-line); border-radius:10px; padding:9px 13px; }
.hrp-lg { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:650; color:#334155; }
.hrp-sw { width:11px; height:11px; border-radius:3px; }
.hrp-sw.line { height:3px; width:16px; border-radius:2px; }

/* ── Gelişmiş KPI kartları ─────────────────────────────────────────────── */
.hrp-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-bottom:16px; }
.hrp-kpi { position:relative; overflow:hidden; background:var(--hrp-surface); border:1px solid var(--hrp-line);
  border-radius:var(--hrp-radius); padding:14px 15px; box-shadow:var(--hrp-shadow); transition:transform .12s, box-shadow .12s; }
.hrp-kpi:hover { transform:translateY(-2px); box-shadow:0 12px 28px -16px rgba(15,23,42,.28); }
.hrp-kpi::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--kc,var(--bfa-actual)); }
.hrp-kpi-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hrp-kpi-ic { width:34px; height:34px; flex:0 0 34px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px; font-size:15px; color:var(--kc,var(--bfa-actual)); background:color-mix(in srgb, var(--kc,var(--bfa-actual)) 12%, #fff); }
.hrp-kpi-label { font-size:10.5px; font-weight:750; text-transform:uppercase; letter-spacing:.02em; color:var(--hrp-muted); }
.hrp-kpi-val { font-size:24px; font-weight:780; margin:7px 0 9px; letter-spacing:-.02em; line-height:1.05; }
.hrp-kpi-val small { font-size:13px; font-weight:600; color:var(--hrp-muted); }
.hrp-kpi-deltas { display:flex; gap:6px; flex-wrap:wrap; }
.hrp-chip { font-size:10.5px; font-weight:750; padding:2px 8px; border-radius:20px; display:inline-flex; gap:4px; align-items:center; white-space:nowrap; }
.hrp-chip.good { background:var(--var-good-bg); color:var(--var-good); }
.hrp-chip.bad  { background:var(--var-bad-bg);  color:var(--var-bad); }
.hrp-chip.warn { background:var(--var-warn-bg); color:var(--var-warn); }
.hrp-chip.neut { background:#eef2f7; color:#475569; }
.hrp-spark { margin-top:9px; height:26px; }

/* ── Grafik / panel yerleşimi (sıkışmayı önler) ────────────────────────── */
.hrp-grid { display:grid; gap:14px; margin-bottom:14px; }
.hrp-grid.c2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hrp-grid.c3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hrp-grid.wide-left { grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); }
@media(max-width:1200px){ .hrp-grid.c3{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:1000px){ .hrp-grid.c2,.hrp-grid.c3,.hrp-grid.wide-left{grid-template-columns:1fr;} }
.hrp-panel { background:var(--hrp-surface); border:1px solid var(--hrp-line); border-radius:var(--hrp-radius);
  padding:15px 16px; box-shadow:var(--hrp-shadow); min-width:0; }
.hrp-panel-h { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px; }
.hrp-panel-t { font-size:14px; font-weight:700; margin:0; color:var(--hrp-ink); }
.hrp-panel-s { font-size:11px; color:var(--hrp-muted); margin:2px 0 0; }
.hrp-chart { width:100%; }
.hrp-chart.h320 { height:320px; } .hrp-chart.h280 { height:280px; } .hrp-chart.h240 { height:240px; }

/* ── Renk kodlu + sütun-tonlu tablo / TreeGrid ─────────────────────────── */
.hrp-tablewrap { overflow-x:auto; border-radius:12px; }
.hrp-table { width:100%; border-collapse:collapse; font-size:12px; white-space:nowrap; }
.hrp-table th, .hrp-table td { padding:9px 12px; text-align:right; border-bottom:1px solid #eef1f6; }
.hrp-table th { font-size:10.5px; font-weight:750; color:var(--hrp-muted); text-transform:uppercase; letter-spacing:.02em; background:#fafbfd; position:sticky; top:0; z-index:1; }
.hrp-table th:first-child, .hrp-table td:first-child { text-align:left; }
.hrp-table tbody tr:hover td { background:#f8fbff; }
.hrp-table .dept td:first-child { font-weight:750; }
.hrp-table .pos td:first-child { padding-left:28px; color:#475569; font-weight:500; }
.hrp-table .tot td { font-weight:800; border-top:2px solid #dfe4ec; background:#f6f8fc; }
/* Sütun arkaplan tonlaması (B/F/A/LY) */
.col-budget   { background:var(--bfa-budget-bg);   color:var(--bfa-budget); }
.col-forecast { background:var(--bfa-forecast-bg); color:var(--sc-forecast-text); }
.col-actual   { background:var(--bfa-actual-bg);   color:var(--bfa-actual); font-weight:700; }
.col-ly       { background:var(--bfa-ly-bg);       color:var(--sc-lastyear-text); }
.hrp-table th.col-budget{color:var(--bfa-budget);} .hrp-table th.col-forecast{color:var(--sc-forecast-text);}
.hrp-table th.col-actual{color:var(--bfa-actual);} .hrp-table th.col-ly{color:#475569;}
/* Sapma hücreleri */
.hrp-var { font-weight:750; padding:2px 8px; border-radius:6px; display:inline-block; min-width:64px; text-align:right; }
.hrp-var.good { background:var(--var-good-bg); color:var(--var-good); }
.hrp-var.bad  { background:var(--var-bad-bg);  color:var(--var-bad); }
.hrp-var.neut { background:#eef2f7; color:#475569; }
.hrp-exp { display:inline-block; width:14px; color:var(--hrp-faint); font-size:10px; cursor:pointer; }

/* ── Not / veri kalitesi ───────────────────────────────────────────────── */
.hrp-note { font-size:11.5px; color:var(--hrp-muted); margin-top:10px; display:flex; gap:7px; align-items:flex-start; line-height:1.6; }
.hrp-note i { color:var(--hrp-accent); margin-top:2px; }

/* ── Koyu tema uyumu (içerik dark mode'a alınırsa okunur kalsın) ───────── */
:root[data-theme="dark"] .hrp-page,
.dark-mode .hrp-page { --hrp-bg:#0b1220; --hrp-surface:#111a2e; --hrp-line:#25324a;
  --hrp-ink:#e8eef7; --hrp-muted:#93a4bd; --hrp-faint:#64748b; }
