/* ════════════════════════════════════════════════════════════════
   FP Corporate Overlay — USALI executive identity
   - Dark navy executive ribbon
   - Avatar-icon KPI rail
   - USALI summary anchor rows (TOR/DP/GOP/EBITDA/NP)
   - Trust footer with 6 quality signals
   ════════════════════════════════════════════════════════════════ */

:root {
    --fpc-navy: #0b2f5d;
    --fpc-navy-2: #102b4c;
    --fpc-navy-3: #0e253f;
    --fpc-gold: #e0b347;
    --fpc-gold-soft: #fcefc5;
    --fpc-good: #16a34a;
    --fpc-bad: #dc2626;
    --fpc-info: #2563eb;
    --fpc-accent: #7c3aed;
    --fpc-teal: #0d9488;
    --fpc-cyan: #06b6d4;
    --fpc-rose: #e11d48;
    --fpc-amber: #d97706;
    --fpc-ink: #0b1220;
    --fpc-ink-soft: #1f2937;
    --fpc-dim: #64748b;
    --fpc-line: #e5e7eb;
    --fpc-bg: #f6f8fb;
    --fpc-surface: #ffffff;
    --fpc-radius: 14px;
    --fpc-shadow-band: 0 14px 28px -18px rgba(11,47,93,.55), 0 4px 10px -6px rgba(11,47,93,.35);
    --fpc-shadow-card: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px -16px rgba(15,23,42,.18);
}

/* ─── Executive report header ──────────────────────────────────── */
.fpc-band {
    position: relative;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color: var(--fpc-ink);
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    padding: .95rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 10px 24px -22px rgba(15,23,42,.45);
    overflow: hidden;
}
.fpc-band::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, #0f766e 0%, #2563eb 52%, #ca8a04 100%);
    pointer-events: none;
}
.fpc-band > * { position: relative; z-index: 1; }
.fpc-band-l { display:flex; align-items:center; gap:.85rem; min-width:0; padding-left: .35rem; }
.fpc-band-icon {
    width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0;
    background: #ecfdf5;
    color: #0f766e;
    border: 1px solid #ccfbf1;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.12rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.fpc-band h1 {
    margin: 0; font-size: 1.22rem; line-height: 1.15; font-weight: 850; letter-spacing: 0;
    color: var(--fpc-ink);
}
.fpc-band h1 .accent { color: #0f766e; }
.fpc-band p {
    margin: 0.18rem 0 0; font-size: 0.76rem; color: var(--fpc-dim); font-weight: 650; letter-spacing: 0;
}
.fpc-band-r {
    display: flex; align-items: center; gap: 0.55rem; flex-wrap: wrap; justify-content: flex-end;
}
.fpc-band-chip {
    display: inline-flex; align-items: center; gap: 0.4rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155; font-size: 0.72rem; font-weight: 800;
    padding: 0.36rem 0.62rem; border-radius: 999px;
}
.fpc-band-chip.gold { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.fpc-band-btn {
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 0.45rem;
    background: #ffffff; color: #0f172a;
    font-size: 0.78rem; font-weight: 700;
    padding: 0.44rem 0.72rem; border-radius: 8px;
    border: 1px solid #dbe3ee;
    transition: all .15s ease;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.fpc-band-btn:hover { background: #f8fafc; border-color: #93c5fd; color: #1d4ed8; }
.fpc-band-btn.primary {
    background: #0f766e;
    color: #fff; border-color: #0f766e;
    box-shadow: 0 6px 14px -10px rgba(15,118,110,.7);
}
.fpc-band-btn.primary:hover { background: #115e59; color: #fff; border-color: #115e59; }

/* ─── KPI rail (avatar icon tiles) ─────────────────────────────── */
.fpc-rail {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
    gap: 0.85rem;
}
.fpc-tile {
    position: relative;
    background: var(--fpc-surface);
    border: 1px solid var(--fpc-line);
    border-radius: var(--fpc-radius);
    padding: 0.95rem 1.05rem;
    box-shadow: var(--fpc-shadow-card);
    display: flex; align-items: center; gap: 0.9rem;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}
.fpc-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -16px rgba(15,23,42,.25); }
.fpc-tile::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    background: var(--accent, var(--fpc-info));
}
.fpc-tile-avatar {
    width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.35rem;
    background: var(--accent-bg, rgba(37,99,235,.12));
    color: var(--accent, var(--fpc-info));
    border: 1.5px solid var(--accent, var(--fpc-info));
}
.fpc-tile-body { min-width: 0; flex: 1; }
.fpc-tile-label {
    margin: 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--fpc-dim);
}
.fpc-tile-value {
    margin: 0.15rem 0 0; font-size: 1.35rem; font-weight: 800;
    color: var(--fpc-ink); letter-spacing: -0.01em; line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.fpc-tile-delta {
    display: inline-flex; align-items: center; gap: 0.2rem;
    margin-top: 0.3rem; font-size: 0.74rem; font-weight: 700;
    padding: 0.18rem 0.5rem; border-radius: 999px;
    background: rgba(22,163,74,.1); color: var(--fpc-good);
}
.fpc-tile-delta.bad { background: rgba(220,38,38,.1); color: var(--fpc-bad); }
.fpc-tile-delta.neutral { background: rgba(100,116,139,.12); color: var(--fpc-dim); }
.fpc-tile-sub {
    margin: 0.25rem 0 0; font-size: 0.7rem; font-weight: 600; color: var(--fpc-dim);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fpc-tile-spark {
    width: 56px; height: 34px; flex-shrink: 0; opacity: .85;
}

/* Tile color tokens */
.fpc-tile.t-revenue  { --accent: #2563eb; --accent-bg: rgba(37,99,235,.1); }
.fpc-tile.t-gop      { --accent: #0d9488; --accent-bg: rgba(13,148,136,.1); }
.fpc-tile.t-ebitda   { --accent: #7c3aed; --accent-bg: rgba(124,58,237,.1); }
.fpc-tile.t-net      { --accent: #e0b347; --accent-bg: rgba(224,179,71,.14); }
.fpc-tile.t-expense  { --accent: #dc2626; --accent-bg: rgba(220,38,38,.1); }
.fpc-tile.t-margin   { --accent: #0891b2; --accent-bg: rgba(8,145,178,.1); }
.fpc-tile.t-payroll  { --accent: #d97706; --accent-bg: rgba(217,119,6,.1); }
.fpc-tile.t-fcst     { --accent: #16a34a; --accent-bg: rgba(22,163,74,.1); }

/* ─── USALI summary anchor row (used inside FpTemplateReportTable) ───
   Açık-tonlu kurumsal görünüm: hafif zemin + renkli sol şerit + kalın ink.
   Renkler FpUsaliSummaryStrip ile birebir aynı tokenlar. */
.e-treegrid .e-row[data-fpc-anchor] .e-rowcell {
    background: #f8fafc !important;
    color: #0b1220 !important;
    font-weight: 800 !important;
    border-color: #e5e7eb !important;
    letter-spacing: 0.02em;
}
.e-treegrid .e-row[data-fpc-anchor] .e-rowcell:first-child {
    border-left: 4px solid var(--fpc-anchor, #94a3b8) !important;
}
.e-treegrid .e-row[data-fpc-anchor="tor"]    .e-rowcell { --fpc-anchor: #2563eb; }
.e-treegrid .e-row[data-fpc-anchor="dp"]     .e-rowcell { --fpc-anchor: #0891b2; }
.e-treegrid .e-row[data-fpc-anchor="gop"]    .e-rowcell { --fpc-anchor: #0d9488; background: #f1f5f9 !important; }
.e-treegrid .e-row[data-fpc-anchor="ebitda"] .e-rowcell { --fpc-anchor: #7c3aed; }
.e-treegrid .e-row[data-fpc-anchor="np"]     .e-rowcell { --fpc-anchor: #ca8a04; background: #f1f5f9 !important; }

/* ─── Trust footer ─────────────────────────────────────────────── */
.fpc-trust {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.65rem;
    background: linear-gradient(135deg, var(--fpc-navy) 0%, var(--fpc-navy-3) 100%);
    color: #e2e8f0;
    border-radius: var(--fpc-radius);
    padding: 0.95rem 1.1rem;
}
.fpc-trust-item {
    display: flex; align-items: flex-start; gap: 0.6rem;
}
.fpc-trust-icon {
    width: 30px; height: 30px; border-radius: 8px;
    background: rgba(224,179,71,.16); color: var(--fpc-gold);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.85rem; flex-shrink: 0;
    border: 1px solid rgba(224,179,71,.3);
}
.fpc-trust-text { min-width: 0; }
.fpc-trust-text b {
    display: block; font-size: 0.74rem; font-weight: 800;
    color: #fff; letter-spacing: 0.01em;
}
.fpc-trust-text span {
    display: block; font-size: 0.69rem; color: #cbd5e1;
    margin-top: 0.1rem; line-height: 1.3;
}

/* ─── Panel grid layouts ───────────────────────────────────────── */
.fpc-grid-2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0.95rem; }
.fpc-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.95rem; }
@media (max-width: 1100px) {
    .fpc-grid-2, .fpc-grid-3 { grid-template-columns: 1fr; }
}

/* ─── Panel container (white card) ─────────────────────────────── */
.fpc-panel {
    background: var(--fpc-surface);
    border: 1px solid var(--fpc-line);
    border-radius: var(--fpc-radius);
    box-shadow: var(--fpc-shadow-card);
    padding: 0;
    display: flex; flex-direction: column;
    overflow: hidden;
}
.fpc-panel-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 0.75rem; padding: 0.85rem 1.05rem;
    border-bottom: 1px solid var(--fpc-line);
    background: linear-gradient(180deg, #fafbfd 0%, #ffffff 100%);
}
.fpc-panel-head h3 {
    margin: 0; font-size: 0.95rem; font-weight: 800; color: var(--fpc-ink);
    letter-spacing: -0.005em;
    display: flex; align-items: center; gap: 0.55rem;
}
.fpc-panel-head h3 .pip {
    width: 5px; height: 20px; border-radius: 3px;
    background: linear-gradient(180deg, var(--fpc-navy), var(--fpc-gold));
}
.fpc-panel-head .hint {
    font-size: 0.72rem; color: var(--fpc-dim); font-weight: 600;
}
.fpc-panel-body { padding: 1rem 1.1rem; }
.fpc-panel-body.tight { padding: 0; }
