/* ============================================================================
   FİNANSAL PLANLAMA — RAPOR MERKEZİ
   /financial-planning/reports

   NEDEN VAR: bu ekranın işaretlemesi fprc-* sınıflarıyla yazılmıştı ama bu
   sınıfların hiçbir stil dosyası YOKTU. Sayfa tarayıcının varsayılan
   biçimiyle çiziliyordu: başlıklar kocaman, kartlar alt alta çıplak bağlantı,
   filtreler sıradan düğme. "Rapor merkezi" değil, bağlantı listesi görünüyordu.

   Tasarım dili financial-planning-design-system.css jetonlarından gelir
   (--fp-*). Buraya SABİT RENK YAZMAYIN; koyu tema o jetonlarla döner.
   ========================================================================= */

.fprc-page {
    display: flex;
    flex-direction: column;
    gap: var(--fp-space-5, 1.25rem);
    padding: var(--fp-space-5, 1.25rem) var(--fp-space-6, 1.5rem) var(--fp-space-8, 2rem);
    background: var(--fp-background);
    color: var(--fp-text-primary);
    font-family: var(--fp-font-family);
    min-height: 100%;
}

/* ------------------------------------------------------------------ BAŞLIK */

.fprc-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fp-space-4, 1rem);
    flex-wrap: wrap;
    padding: var(--fp-space-5, 1.25rem) var(--fp-space-6, 1.5rem);
    background: var(--fp-surface);
    border: 1px solid var(--fp-border);
    border-left: 3px solid var(--fp-brand-accent);
    border-radius: var(--fp-radius-lg, 8px);
    box-shadow: var(--fp-shadow-xs);
}

.fprc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--fp-text-xs, .75rem);
    font-weight: var(--fp-font-semibold, 600);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--fp-text-tertiary);
}

.fprc-hero h1 {
    margin: 6px 0 4px;
    font-size: 1.5rem;
    font-weight: var(--fp-font-bold, 700);
    letter-spacing: -.01em;
    color: var(--fp-text-primary);
}

.fprc-hero p {
    margin: 0;
    max-width: 78ch;
    font-size: .875rem;
    line-height: 1.55;
    color: var(--fp-text-secondary);
}

.fprc-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--fp-radius-md, 6px);
    background: var(--fp-brand-accent);
    color: #fff;
    font-size: .8125rem;
    font-weight: var(--fp-font-semibold, 600);
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s ease;
}

.fprc-primary:hover { background: var(--fp-brand-accent-hover); color: #fff; }

/* ----------------------------------------------------------------- FİLTRE */

.fprc-controls {
    display: flex;
    flex-direction: column;
    gap: var(--fp-space-3, .75rem);
    padding: var(--fp-space-4, 1rem);
    background: var(--fp-surface);
    border: 1px solid var(--fp-border);
    border-radius: var(--fp-radius-lg, 8px);
    box-shadow: var(--fp-shadow-xs);
}

.fprc-search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    background: var(--fp-surface-sunken);
    border: 1px solid var(--fp-border);
    border-radius: var(--fp-radius-md, 6px);
}

.fprc-search i { color: var(--fp-text-tertiary); font-size: .8125rem; }

.fprc-search input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    background: transparent;
    outline: none;
    font-size: .875rem;
    color: var(--fp-text-primary);
    font-family: inherit;
}

.fprc-search input::placeholder { color: var(--fp-text-tertiary); }

.fprc-filters {
    display: flex;
    align-items: center;
    gap: var(--fp-space-3, .75rem);
    flex-wrap: wrap;
}

.fprc-filter-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 116px;
    font-size: var(--fp-text-xs, .75rem);
    font-weight: var(--fp-font-semibold, 600);
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--fp-text-tertiary);
}

.fprc-roles,
.fprc-sections { display: flex; gap: 6px; flex-wrap: wrap; }

.fprc-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--fp-border);
    border-radius: var(--fp-radius-full, 9999px);
    background: var(--fp-surface);
    color: var(--fp-text-secondary);
    font-size: .8125rem;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.fprc-filter-chip:hover {
    background: var(--fp-surface-sunken);
    border-color: var(--fp-border-strong);
    color: var(--fp-text-primary);
}

.fprc-filter-chip i { font-size: .75rem; opacity: .8; }
.fprc-filter-chip small { color: var(--fp-text-tertiary); font-size: .6875rem; }

.fprc-filter-chip.active {
    background: var(--fp-brand-accent-light);
    border-color: var(--fp-brand-accent);
    color: var(--fp-brand-accent);
    font-weight: var(--fp-font-semibold, 600);
}

.fprc-filter-chip.active small { color: inherit; opacity: .8; }

/* ------------------------------------------------------- GÜVENCE ŞERİDİ */
/* Dört sayının aynı hizada, eşit ağırlıkta okunduğu ölçüm bandı.           */

.fprc-assurance {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--fp-surface);
    border: 1px solid var(--fp-border);
    border-radius: var(--fp-radius-lg, 8px);
    box-shadow: var(--fp-shadow-xs);
    overflow: hidden;
}

.fprc-assurance > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--fp-space-4, 1rem) var(--fp-space-5, 1.25rem);
    border-right: 1px solid var(--fp-border);
}

.fprc-assurance > div:last-child { border-right: none; }

.fprc-assurance b {
    font-size: 1.5rem;
    font-weight: var(--fp-font-bold, 700);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: var(--fp-text-primary);
}

.fprc-assurance span {
    font-size: var(--fp-text-xs, .75rem);
    color: var(--fp-text-tertiary);
    letter-spacing: .02em;
}

/* ------------------------------------------------------------------ BÖLÜM */

.fprc-section { display: flex; flex-direction: column; gap: var(--fp-space-3, .75rem); }

.fprc-section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--fp-space-4, 1rem);
    flex-wrap: wrap;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--fp-border);
}

.fprc-section-title > div { display: inline-flex; align-items: center; gap: 10px; }

.fprc-section-title i {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--fp-radius-sm, 4px);
    background: var(--fp-brand-accent-light);
    color: var(--fp-brand-accent);
    font-size: .75rem;
}

.fprc-section-title h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: var(--fp-font-semibold, 600);
    letter-spacing: -.005em;
    color: var(--fp-text-primary);
}

.fprc-section-title > span {
    font-size: var(--fp-text-xs, .75rem);
    color: var(--fp-text-tertiary);
}

/* ------------------------------------------------------------------- KART */

.fprc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: var(--fp-space-3, .75rem);
}

.fprc-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--fp-space-3, .75rem);
    padding: var(--fp-space-4, 1rem);
    background: var(--fp-surface);
    border: 1px solid var(--fp-border);
    border-radius: var(--fp-radius-lg, 8px);
    box-shadow: var(--fp-shadow-xs);
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.fprc-card:hover {
    border-color: var(--fp-brand-accent);
    box-shadow: var(--fp-shadow-md);
    transform: translateY(-1px);
    color: inherit;
}

.fprc-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--fp-radius-md, 6px);
    background: var(--fp-surface-sunken);
    border: 1px solid var(--fp-border);
    color: var(--fp-text-secondary);
    font-size: .9375rem;
}

.fprc-card:hover .fprc-icon {
    background: var(--fp-brand-accent-light);
    border-color: var(--fp-brand-accent);
    color: var(--fp-brand-accent);
}

.fprc-card-body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }

.fprc-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.fprc-card-head strong {
    font-size: .875rem;
    font-weight: var(--fp-font-semibold, 600);
    color: var(--fp-text-primary);
    line-height: 1.3;
}

.fprc-card-head > span {
    flex: 0 0 auto;
    padding: 2px 8px;
    border-radius: var(--fp-radius-full, 9999px);
    background: var(--fp-surface-sunken);
    border: 1px solid var(--fp-border);
    font-size: .6875rem;
    color: var(--fp-text-tertiary);
    white-space: nowrap;
}

.fprc-card-body p {
    margin: 0;
    font-size: .8125rem;
    line-height: 1.5;
    color: var(--fp-text-secondary);
}

/* Raporu diğerlerinden ayıran tek cümle — göz buraya takılmalı. */
.fprc-distinctive {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 6px 8px;
    border-left: 2px solid var(--fp-success);
    background: var(--fp-surface-sunken);
    border-radius: 0 var(--fp-radius-sm, 4px) var(--fp-radius-sm, 4px) 0;
    font-size: .75rem !important;
    color: var(--fp-text-secondary) !important;
}

.fprc-distinctive i { margin-top: 2px; color: var(--fp-success); font-size: .6875rem; }

.fprc-card-body footer {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding-top: 6px;
    border-top: 1px dashed var(--fp-border);
}

.fprc-card-body footer span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .6875rem;
    color: var(--fp-text-tertiary);
    white-space: nowrap;
}

.fprc-card-body footer i { font-size: .625rem; opacity: .7; }

.fprc-arrow {
    align-self: center;
    color: var(--fp-text-tertiary);
    font-size: .75rem;
    transition: transform .15s ease, color .15s ease;
}

.fprc-card:hover .fprc-arrow { transform: translateX(2px); color: var(--fp-brand-accent); }

/* ------------------------------------------------------------------- BOŞ */

.fprc-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: var(--fp-space-8, 2rem);
    background: var(--fp-surface);
    border: 1px dashed var(--fp-border-strong);
    border-radius: var(--fp-radius-lg, 8px);
    text-align: center;
}

.fprc-empty i { font-size: 1.75rem; color: var(--fp-text-tertiary); margin-bottom: 4px; }
.fprc-empty strong { font-size: .9375rem; color: var(--fp-text-primary); }
.fprc-empty span { font-size: .8125rem; color: var(--fp-text-secondary); }

/* --------------------------------------------------------------- DAR EKRAN */

@media (max-width: 1100px) {
    .fprc-assurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fprc-assurance > div:nth-child(2) { border-right: none; }
    .fprc-assurance > div:nth-child(-n+2) { border-bottom: 1px solid var(--fp-border); }
}

@media (max-width: 720px) {
    .fprc-page { padding: var(--fp-space-4, 1rem) var(--fp-space-3, .75rem); }
    .fprc-grid { grid-template-columns: minmax(0, 1fr); }
    .fprc-assurance { grid-template-columns: minmax(0, 1fr); }
    .fprc-assurance > div { border-right: none; border-bottom: 1px solid var(--fp-border); }
    .fprc-assurance > div:last-child { border-bottom: none; }
    .fprc-filter-title { min-width: 0; }
}

/* --------------------------------------------------------------- YAZDIRMA */

@media print {
    .fprc-controls, .fprc-primary, .fprc-arrow { display: none !important; }
    .fprc-page { padding: 0; background: #fff; }
    .fprc-card, .fprc-hero, .fprc-assurance { box-shadow: none; break-inside: avoid; }
}
