/* Μητρώο Επιχορηγούμενων Φορέων — συμπληρωματικά στυλ πάνω στο κοινό /apps/assets/app.css.
   Η κάρτα ταυτότητας (.id-card/.facts/.contact-row) ακολουθεί το ίδιο σχέδιο με το ΓΕΜΗ. */

.mef-h3 { margin: 0; font-size: 14px; color: var(--heading); }
.mef-label { font-weight: 700; color: var(--heading); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px) { .grid-2 { grid-template-columns: 1fr; } }
.actions-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.actions-row button { display: inline-flex; align-items: center; gap: 6px; }
.ov-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

/* ---------- Κάρτα φορέα ---------- */
.status-pill { display: inline-block; border-radius: 4px; padding: 2px 10px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.status-pill.active { background: var(--ok-bg); color: var(--ok-text); border: 1px solid var(--ok-line); }
.status-pill.inactive { background: var(--error-bg); color: var(--error-text); border: 1px solid var(--error-line); }
.id-card { background: var(--surface); border: 1px solid var(--line); }
.id-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 24px 14px; flex-wrap: wrap; }
.id-name h2 { margin: 0 0 6px; font-size: 19px; font-weight: 700; color: var(--heading); }
.id-pills { display: flex; gap: 10px; flex-wrap: wrap; }
.id-pills .pill { font-size: 12.5px; color: var(--muted); }
.id-pills .pill b { color: var(--text); font-weight: 600; }
.yearbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 24px; border-top: 1px solid var(--line-soft); background: var(--surface-2); }
.yearbar select { width: auto; min-width: 150px; height: 34px; padding: 0 10px; font-size: 14px; }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); border-top: 1px solid var(--line-soft); }
.fact { padding: 12px 24px; border-left: 1px solid var(--line-soft); }
.fact:first-child { border-left: none; }
.fact .flabel { font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .3px; margin-bottom: 3px; }
.fact .fval { font-size: 14px; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.fact.accent .fval { color: var(--orange); font-size: 15.5px; }
.contact-row { display: flex; gap: 8px 20px; flex-wrap: wrap; padding: 12px 24px; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--muted); }
.contact-row b { color: var(--text); font-weight: 600; }
.contact-row a { font-weight: 600; }
.contact-row .locked { opacity: .8; }

/* ---------- Ανά έτος ---------- */
.years { display: flex; flex-direction: column; gap: 8px; }
.legend { display: flex; gap: 16px; font-size: 12px; color: var(--muted); }
.legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.yr { display: grid; grid-template-columns: 52px 1fr 130px; gap: 12px; align-items: center; font-size: 13px; cursor: pointer; padding: 2px 4px; }
.yr:hover { background: var(--hover); }
.yr.on { box-shadow: inset 3px 0 0 var(--orange); background: var(--orange-soft); }
.yr b { color: var(--heading); }
.bars { display: flex; flex-direction: column; gap: 3px; }
.bar { height: 8px; border-radius: 2px; min-width: 1px; }
.bar.e { background: var(--orange); }
.bar.s { background: var(--navy-soft); }
.yr .amt { text-align: right; font-variant-numeric: tabular-nums; color: var(--muted); font-size: 12px; line-height: 1.35; }
.yr .amt span { color: var(--text); }
@media (max-width: 640px) { .yr { grid-template-columns: 44px 1fr; } .yr .amt { grid-column: 2; text-align: left; } }

/* ---------- Πίνακες ---------- */
.tab-count { display: inline-block; margin-left: 6px; font-size: 11px; padding: 0 6px; border-radius: 999px; background: var(--surface-2); color: var(--muted); }
.mef-table { overflow-x: auto; }
.mef-table table { min-width: 760px; }
.mef-table th.num, .mef-table td.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mef-table .sub { font-size: 12px; color: var(--muted); }
.sens-badge { font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 4px; border: 1px solid var(--orange-border); background: var(--orange-soft); color: var(--orange); }
tr.sensitive td { background: var(--surface-2); }
.filters-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.filters-row input[type="search"] { flex: 1 1 220px; }
.check { display: inline-flex; gap: 6px; align-items: center; font-weight: 400; }
.check input, .choice-row input, .year-checks input { width: auto; height: auto; }
.pager-row { display: flex; gap: 10px; align-items: center; margin-top: 10px; flex-wrap: wrap; }

/* ---------- Παράθυρο εκτύπωσης ---------- */
.modal-back { position: fixed; inset: 0; background: rgba(10, 10, 20, .55); z-index: 80; display: flex; align-items: flex-start; justify-content: center; padding: 60px 16px; overflow: auto; }
.modal-back.hidden { display: none; }
.modal { width: 100%; max-width: 520px; box-shadow: var(--shadow); }
.choice-row { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; font-weight: 400; color: var(--text); }
.choice-row.hidden { display: none; }
.year-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.year-checks label { display: inline-flex; gap: 6px; align-items: center; border: 1px solid var(--line); padding: 5px 10px; font-size: 13px; font-weight: 400; cursor: pointer; color: var(--text); }
.year-checks label.all { font-weight: 700; }

/* Μακρύς τίτλος εφαρμογής στην πάνω μπάρα: κόβεται με «…» αντί να πατάει το avatar. */
.topbar .appswitcher { min-width: 0; flex: 1 1 auto; }
.topbar .app-switcher-btn { min-width: 0; max-width: 100%; }
.topbar .title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
#live-year { height: 40px; }

/* Πολλαπλή επιλογή ετών (κουμπιά-ετικέτες) */
.year-chips { display: flex; flex-wrap: wrap; gap: 6px; }
button.year-chip {
  height: 30px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 600;
  background: var(--surface); color: var(--text); border: 1px solid var(--line); cursor: pointer;
}
button.year-chip:hover { background: var(--hover); color: var(--text); }
button.year-chip[aria-pressed="true"] { background: var(--orange); border-color: var(--orange); color: #fff; }
#back-results { align-self: flex-start; padding: 0; }
