.fondis-root, .fondis-overlay {
  --fondis-navy: #17474B;
  --fondis-navy-dark: #0C2C2F;
  --fondis-orange: #0E93A3;
  --fondis-turquoise: #02C39A;
  --fondis-blue-pale: #E6F3F1;
  --fondis-ink: #17242C;
  --fondis-ink-soft: #465158;
  --fondis-bg: #F4F6F7;
  --fondis-surface: #FFFFFF;
  --fondis-rule: #DCE2E4;
  --fondis-available: #1E7A4C;
  --fondis-available-bg: #E4F3E9;
  --fondis-limited: #8A5A00;
  --fondis-limited-bg: #FAF0DC;
  --fondis-exhausted: #A63A32;
  --fondis-exhausted-bg: #FBE7E4;
  --fondis-unknown: #566059;
  --fondis-unknown-bg: #ECEEEA;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--fondis-ink);
  box-sizing: border-box;
}
.fondis-root *, .fondis-overlay * { box-sizing: border-box; }

.fondis-root { max-width: 760px; margin: 0 auto; }

.fondis-gate {
  background: var(--fondis-surface); border: 1.5px solid var(--fondis-rule);
  border-radius: 14px; padding: 26px 22px; text-align: center; margin-bottom: 16px;
}
.fondis-gate-title { font-size: 18px; font-weight: 700; color: var(--fondis-navy); margin: 0 0 16px; }
.fondis-gate-options { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.fondis-gate-btn {
  flex: 1 1 220px; max-width: 280px; display: flex; flex-direction: column; align-items: center; gap: 4px;
  background: var(--fondis-blue-pale); border: 1.5px solid transparent; border-radius: 12px;
  padding: 20px 16px; cursor: pointer; font-family: inherit; color: var(--fondis-navy);
  font-size: 15px; font-weight: 700; transition: border-color .15s, transform .1s;
  text-decoration: none;
}
.fondis-gate-btn:hover { border-color: var(--fondis-turquoise); transform: translateY(-1px); }
.fondis-gate-icon { font-size: 30px; margin-bottom: 4px; }
.fondis-gate-btn small { font-weight: 400; font-size: 12px; color: var(--fondis-ink-soft); }
.fondis-gate-skip {
  display: inline-block; margin-top: 16px; font-size: 12.5px; color: var(--fondis-ink-soft);
  text-decoration: underline; cursor: pointer;
}

.fondis-controls { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.fondis-input {
  font-family: inherit; font-size: 14px; padding: 10px 12px;
  border: 1.5px solid var(--fondis-rule); border-radius: 8px;
  background: var(--fondis-surface); color: var(--fondis-ink); outline: none;
}
.fondis-input:focus { border-color: var(--fondis-navy); }
.fondis-search { flex: 1 1 200px; min-width: 140px; }

.fondis-special-banner {
  border: 1.5px solid var(--fondis-turquoise);
  background: var(--fondis-blue-pale);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.fondis-special-toggle {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13px; font-weight: 600; color: var(--fondis-navy);
  cursor: pointer; user-select: none;
}
.fondis-special-toggle input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--fondis-navy); cursor: pointer; }
.fondis-special-msg {
  margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--fondis-turquoise);
  font-size: 13px; line-height: 1.55; color: var(--fondis-ink);
}
.fondis-special-msg strong { color: var(--fondis-navy); }

.fondis-legend {
  display:flex; flex-wrap:wrap; gap:14px; font-size:13px;
  color: var(--fondis-ink-soft); margin: 4px 0 16px;
}
.fondis-legend span { display:inline-flex; align-items:center; gap:6px; }
.fondis-dot { width:9px; height:9px; border-radius:3px; display:inline-block; }
.fondis-dot-disponibil { background: var(--fondis-available); }
.fondis-dot-limitat { background: var(--fondis-limited); }
.fondis-dot-epuizat { background: var(--fondis-exhausted); }
.fondis-dot-neraportat { background: var(--fondis-unknown); }

.fondis-controls-secondary {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:10px; margin: 0 0 14px;
}
.fondis-status-filter { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.fondis-status-filter-label { font-size:13px; color: var(--fondis-ink-soft); }
.fondis-status-filter-btn {
  display:inline-flex; align-items:center; gap:6px; font-family:inherit;
  font-size:13px; font-weight:600; color: var(--fondis-ink-soft);
  background: #fff; border:1.5px solid var(--fondis-rule); border-radius:16px;
  padding: 5px 12px; cursor:pointer;
}
.fondis-status-filter-btn:hover { border-color: var(--fondis-navy); }
.fondis-status-filter-btn.active {
  background: var(--fondis-navy); border-color: var(--fondis-navy); color:#fff;
}
.fondis-status-filter-btn.active .fondis-dot { outline: 1.5px solid #fff; }

.fondis-per-page-wrap {
  display:inline-flex; align-items:center; gap:8px; font-size:13px;
  color: var(--fondis-ink-soft); white-space:nowrap;
}
.fondis-per-page { width:auto; padding: 6px 10px; }

.fondis-pagination {
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin: 16px 0 6px;
}
.fondis-pagination button {
  font-family:inherit; font-size:14px; font-weight:600; cursor:pointer;
  background:#fff; border:1.5px solid var(--fondis-rule); border-radius:8px;
  padding: 7px 14px; color: var(--fondis-navy);
}
.fondis-pagination button:disabled { opacity:.4; cursor:default; }
.fondis-pagination span { font-size:13px; color: var(--fondis-ink-soft); }

.fondis-btn {
  font-family: inherit; font-weight:600; font-size:14px;
  padding: 11px 16px; border-radius: 8px; border:none; cursor:pointer;
}
.fondis-btn-primary { background: var(--fondis-navy); color:#fff; }
.fondis-btn-primary:hover { background: var(--fondis-navy-dark); }
.fondis-btn-ghost { background:transparent; color: var(--fondis-navy); border:1.5px solid var(--fondis-rule); }
.fondis-btn-block { width:100%; margin-bottom: 18px; }

.fondis-count { font-size:13px; color: var(--fondis-ink-soft); margin: 0 0 10px; }
.fondis-list { display:flex; flex-direction:column; gap:10px; }

.fondis-card {
  background: var(--fondis-surface); border: 1.5px solid var(--fondis-rule);
  border-radius: 10px; padding: 16px;
}
.fondis-card-name { font-weight:700; font-size:16.5px; margin:0 0 3px; }
.fondis-card-link { color: var(--fondis-navy); text-decoration: none; border-bottom: 1.5px solid var(--fondis-turquoise); }
.fondis-card-link:hover { color: var(--fondis-navy-dark); border-bottom-color: var(--fondis-navy-dark); }
.fondis-verif-badge { display:inline-block; margin-left:8px; font-size:12px; font-weight:600; padding:2px 8px; border-radius:5px; vertical-align:middle; }
.fondis-verif-strong { background: var(--fondis-available-bg); color: var(--fondis-available); }
.fondis-verif-anaf { background: var(--fondis-blue-pale); color: var(--fondis-navy); }
.fondis-card-meta { font-size:13.5px; color: var(--fondis-ink-soft); line-height:1.6; }

.fondis-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin: 8px 0 2px; }
.fondis-mini-btn {
  display:inline-flex; align-items:center; gap:5px; font-family:inherit;
  font-size:12.5px; font-weight:700; text-decoration:none; white-space:nowrap;
  padding: 6px 12px; border-radius: 8px; border: 1.5px solid var(--fondis-rule);
  color: var(--fondis-navy); background: var(--fondis-surface);
}
.fondis-mini-btn:hover { border-color: var(--fondis-navy); }
.fondis-mini-btn-primary { background: var(--fondis-navy); border-color: var(--fondis-navy); color:#fff; }
.fondis-mini-btn-primary:hover { background: var(--fondis-navy-dark); border-color: var(--fondis-navy-dark); }
.fondis-card-meta a { color: var(--fondis-navy); text-decoration:none; }

.fondis-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.fondis-chip {
  font-size: 12.5px; font-weight:700; padding: 6px 11px; border-radius: 6px;
  display:inline-flex; align-items:center; gap:4px; border: 1px solid transparent;
}
.fondis-chip-disponibil { background: var(--fondis-available-bg); color: var(--fondis-available); }
.fondis-chip-limitat { background: var(--fondis-limited-bg); color: var(--fondis-limited); }
.fondis-chip-epuizat { background: var(--fondis-exhausted-bg); color: var(--fondis-exhausted); }
.fondis-chip-neraportat { background: var(--fondis-unknown-bg); color: var(--fondis-unknown); }

.fondis-card-foot {
  display:flex; justify-content:space-between; align-items:center;
  margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--fondis-rule);
  font-size: 12.5px; color: var(--fondis-ink-soft);
}
.fondis-flag-link { display:block; margin-top: 8px; font-size: 12.5px; color: var(--fondis-ink-soft); cursor:pointer; text-decoration:underline; }
.fondis-flag-link:hover { color: var(--fondis-exhausted); }

.fondis-empty, .fondis-loading {
  text-align:center; padding: 40px 20px; color: var(--fondis-ink-soft); font-size: 14.5px;
}
.fondis-empty { border: 1.5px dashed var(--fondis-rule); border-radius: 10px; }

.fondis-footnote { margin-top: 26px; font-size: 13px; color: var(--fondis-ink-soft); line-height:1.6; }

/* Modal */
.fondis-overlay {
  position:fixed; inset:0; background: rgba(6,20,32,.55);
  display:none; align-items:flex-end; justify-content:center; z-index: 999999;
}
.fondis-overlay.open { display:flex; }
.fondis-sheet {
  background: var(--fondis-surface); width:100%; max-width: 480px;
  border-radius: 16px 16px 0 0; padding: 22px 20px 26px;
  max-height: 88vh; overflow-y:auto;
}
@media (min-width:600px) {
  .fondis-overlay { align-items:center; }
  .fondis-sheet { border-radius:16px; }
}
.fondis-sheet h2 { font-size: 18px; margin: 0 0 4px; color: var(--fondis-navy); }
.fondis-sub { font-size:12.5px; color: var(--fondis-ink-soft); margin: 0 0 18px; }
.fondis-field { margin-bottom: 14px; }
.fondis-field label { display:block; font-size:12px; font-weight:600; color: var(--fondis-ink-soft); margin-bottom:6px; text-transform:uppercase; letter-spacing:.03em; }
.fondis-field .fondis-input, .fondis-field input { width:100%; }

.fondis-hp { position:absolute; left:-9999px; opacity:0; }

.fondis-segment { display:flex; gap:6px; flex-wrap:wrap; }
.fondis-seg-opt {
  flex:1 1 auto; text-align:center; padding: 9px 8px; border-radius:7px;
  border: 1.5px solid var(--fondis-rule); font-size:12.5px; font-weight:600;
  cursor:pointer; color: var(--fondis-ink-soft); background: var(--fondis-surface); user-select:none;
}
.fondis-seg-opt.active { border-color: var(--fondis-navy); color: var(--fondis-navy); background: var(--fondis-blue-pale); }
.fondis-seg-opt.active-disponibil { border-color: var(--fondis-available); color: var(--fondis-available); background: var(--fondis-available-bg); }
.fondis-seg-opt.active-limitat { border-color: var(--fondis-limited); color: var(--fondis-limited); background: var(--fondis-limited-bg); }
.fondis-seg-opt.active-epuizat { border-color: var(--fondis-exhausted); color: var(--fondis-exhausted); background: var(--fondis-exhausted-bg); }

.fondis-sheet-actions { display:flex; gap:10px; margin-top: 18px; }
.fondis-sheet-actions .fondis-btn { flex:1; }

.fondis-toggle { font-size:12.5px; color: var(--fondis-orange); cursor:pointer; text-decoration:underline; margin-top:6px; display:inline-block; }

.fondis-status-msg { font-size:12.5px; margin-top:10px; padding:9px 10px; border-radius:7px; }
.fondis-status-msg.ok { background: var(--fondis-available-bg); color: var(--fondis-available); }
.fondis-status-msg.err { background: var(--fondis-exhausted-bg); color: var(--fondis-exhausted); }

/* ---------------- Panou furnizor — [fondis_furnizor_panel] ---------------- */
.fondis-panel { max-width: 900px; }
.fondis-panel-title { font-size: 16px; font-weight: 700; color: var(--fondis-navy); margin: 0 0 4px; }
.fondis-panel-category {
  font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px;
  color: var(--fondis-navy); margin: 22px 0 8px;
}
.fondis-panel-grid {
  width: 100%; border-collapse: collapse; background: var(--fondis-surface);
  border: 1px solid var(--fondis-rule); border-radius: 8px; overflow: hidden; font-size: 13.5px;
}
.fondis-panel-grid th, .fondis-panel-grid td {
  padding: 9px 10px; text-align: center; border-bottom: 1px solid var(--fondis-rule);
}
.fondis-panel-grid thead th {
  background: var(--fondis-blue-pale); color: var(--fondis-navy); font-weight: 700; font-size: 12px;
}
.fondis-panel-servlabel { text-align: left !important; font-weight: 500; }
.fondis-panel-grid tbody tr:last-child td { border-bottom: none; }
.fondis-panel-grid input[type=radio] { width: 17px; height: 17px; cursor: pointer; accent-color: var(--fondis-navy); }
#fondisPanelMsg { margin: 14px 0; }
#fondisPanelSave { margin-top: 6px; }
.fondis-panel-msg { max-width: 520px; margin: 40px auto; text-align: center; color: var(--fondis-ink-soft); font-family: inherit; font-size: 14.5px; }

.fondis-panel-service-picker { display:flex; flex-wrap:wrap; gap:18px; margin: 14px 0; }
.fondis-panel-service-group { min-width: 200px; background: var(--fondis-surface); border: 1.5px solid var(--fondis-rule); border-radius: 10px; padding: 12px 14px; }
.fondis-panel-service-group strong { display:block; font-size: 13px; color: var(--fondis-navy); margin-bottom: 8px; }
.fondis-panel-service-opt { display:block; font-size: 13px; font-weight: 400; margin: 6px 0; cursor:pointer; }
.fondis-panel-service-opt input { margin-right: 7px; accent-color: var(--fondis-navy); cursor:pointer; }

.fondis-custom-wrap { margin: 6px 0 10px 22px; padding: 10px; background: var(--fondis-blue-pale); border-radius: 8px; }
.fondis-custom-field-row { display:flex; align-items:center; gap:6px; margin-bottom: 6px; }
.fondis-custom-input { flex: 1 1 auto; font-size: 12.5px; padding: 7px 9px; }
.fondis-custom-remove { cursor:pointer; color: var(--fondis-exhausted); font-weight:700; font-size: 16px; line-height:1; padding: 0 4px; user-select:none; }
.fondis-custom-remove:hover { opacity: .7; }

/* Ecrane mici: textul din listă și din detaliile furnizorului era prea mic — îl mărim. */
@media (max-width: 480px) {
  .fondis-root { font-size: 16px; }
  .fondis-card { padding: 14px; }
  .fondis-card-name { font-size: 17px; }
  .fondis-card-meta { font-size: 14.5px; line-height: 1.65; }
  .fondis-chip { font-size: 13px; padding: 7px 12px; }
  .fondis-card-foot { font-size: 13.5px; flex-wrap: wrap; gap: 6px; }
  .fondis-mini-btn { font-size: 13.5px; padding: 8px 13px; }
  .fondis-flag-link { font-size: 13.5px; }
  .fondis-count, .fondis-legend, .fondis-status-filter-btn,
  .fondis-per-page-wrap, .fondis-pagination span { font-size: 13.5px; }
  .fondis-verif-badge { font-size: 12.5px; }
}
