:root {
  --teal: #36b6b0; --teal-hover: #2a9a94; --teal-deep: #0d9488; --teal-soft: #99f6e4;
  --bg: #f8fafc; --panel: #fff; --line: #e2e8f0;
  --text: #0f172a; --text-2: #1e293b; --muted: #64748b; --dark: #0d151c;
  --red: #e5484d; --amber: #d97706;
}
* { box-sizing: border-box; margin: 0; }
body { display: flex; min-height: 100vh; background: var(--bg); color: var(--text);
  font: 15px/1.5 Inter, system-ui, -apple-system, sans-serif; }
.num, td.num, .kpi b { font-variant-numeric: tabular-nums; }
.sidebar { width: 220px; background: var(--dark); color: #cbd5e1; padding: 20px 14px; display: flex; flex-direction: column; gap: 24px; position: sticky; top: 0; height: 100vh; }
.logo { font-size: 22px; font-weight: 700; color: #fff; }
.logo span { display: block; font-size: 12px; font-weight: 400; color: var(--teal); }
.sidebar nav { display: flex; flex-direction: column; gap: 2px; }
.sidebar a { color: #cbd5e1; text-decoration: none; padding: 9px 12px; border-radius: 8px; }
.sidebar a:hover { background: rgba(255,255,255,.06); }
.sidebar a.active { background: var(--teal); color: #04211f; font-weight: 600; }
/* Grup pliabil în meniu (Unelte): toggle în stilul nav-section, copii indentați. */
.sidebar .nav-group-toggle { display: flex; align-items: center; gap: 6px; background: none; border: none; cursor: pointer; text-align: left;
  color: #64748b; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; padding: 14px 12px 4px; }
.sidebar .nav-group-toggle:hover { color: #94a3b8; }
.sidebar .nav-caret { transition: transform .15s; font-size: 10px; }
.sidebar .nav-group-toggle.collapsed .nav-caret { transform: rotate(-90deg); }
.sidebar .nav-group { display: flex; flex-direction: column; gap: 2px; }
.sidebar .nav-group a { padding-left: 22px; }
.sidebar .nav-group.collapsed { display: none; }
main { flex: 1; padding: 24px 32px; min-width: 0; display: flex; flex-direction: column; } /* fără max-width: conținutul folosește toată lățimea (cerință Liviu, 21.09.2026) */
.app-footer { margin-top: auto; padding-top: 28px; text-align: center; color: var(--muted); font-size: 12px; letter-spacing: .02em; }
.topbar { display: flex; justify-content: flex-end; margin-bottom: 18px; }
.topbar:empty { display: none; }
.card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.card-head h2 { margin-bottom: 0; }

/* Rapoarte — index de tile-uri + drill-down */
.rap-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.rap-head h1 { margin-bottom: 0; }
.rap-back { display: inline-flex; align-items: center; gap: 6px; color: var(--teal-deep); font-weight: 600; text-decoration: none; margin-bottom: 14px; font-size: 14px; }
.rap-back:hover { text-decoration: underline; }
.report-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (min-width: 1500px) { .report-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 980px) { .report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .report-grid { grid-template-columns: 1fr; } }
.report-tile { display: flex; flex-direction: column; min-height: 126px; background: var(--dark); border: 1px solid rgba(54,182,176,.22); border-radius: 14px; padding: 15px 17px; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.report-tile:hover { border-color: var(--teal); box-shadow: 0 12px 30px rgba(13,21,28,.20); transform: translateY(-3px); }
.report-tile-title { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 5px; }
.report-tile-desc { font-size: 12px; color: #94a3b8; line-height: 1.4; flex: 1; }
.report-tile-metric { margin-top: 9px; font-size: 18px; font-weight: 700; color: #e2e8f0; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.report-tile-metric small { display: block; font-size: 10px; font-weight: 500; color: #64748b; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 2px; }
.report-tile-cta { margin-top: 9px; color: var(--teal); font-weight: 600; font-size: 13px; }
.report-tile:hover .report-tile-cta { color: var(--teal-soft); }
.report-tile .pos { color: #5eead4; } .report-tile .neg { color: #fb7185; }
.rap-head-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.report-tile.editing { cursor: grab; }
.report-tile.editing:active { cursor: grabbing; }
.report-tile.editing:hover { transform: none; box-shadow: none; border-color: var(--teal); }
.report-tile.dragging { opacity: .45; }
/* Bara de inserție la drag — mai specifică decât regula :hover de mai sus (și plasată
   după ea) ca să câștige și cât cursorul e peste tile. */
.report-tile.drag-over-before { box-shadow: inset 3px 0 0 var(--teal); }
.report-tile.drag-over-after { box-shadow: inset -3px 0 0 var(--teal); }
.report-tile-move { display: flex; gap: 6px; margin-bottom: 6px; }
.report-tile-move .rap-move { padding: 2px 10px; font-size: 14px; line-height: 1.4; }
.rap-reorder-hint { color: var(--muted); font-size: 13px; margin: -4px 0 12px; }
.report-about { margin-top: 24px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.6; max-width: 720px; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; box-shadow: 0 1px 2px rgba(15,23,42,.04); margin-bottom: 18px; }
h1 { font-size: 22px; margin-bottom: 14px; } h2 { font-size: 16px; color: var(--text-2); margin-bottom: 10px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { text-align: left; color: var(--muted); font-weight: 600; padding: 8px 10px; border-bottom: 2px solid var(--line); }
td { padding: 8px 10px; border-bottom: 1px solid var(--line); } td.num, th.num { text-align: right; }
tr:hover td { background: #f1f5f9; }
.pos { color: var(--teal-deep); font-weight: 600; } .neg { color: var(--red); font-weight: 600; }
.badge { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: 12px; font-weight: 600; }
.badge.ok { background: var(--teal-soft); color: #065f5b; } .badge.warn { background: #fef3c7; color: #92400e; } .badge.err { background: #fee2e2; color: #991b1b; }
.btn { background: var(--teal); color: #04211f; border: 0; padding: 9px 16px; border-radius: 8px; font-weight: 600; cursor: pointer; }
.btn:hover { background: var(--teal-hover); }
.btn-ghost { background: #fff; color: var(--text-2); border: 1px solid #cbd5e1; padding: 8px 12px; border-radius: 8px; cursor: pointer; font-weight: 500; }
.btn-ghost:hover { border-color: var(--teal); color: var(--teal-deep); background: #f0fdfa; }
.btn-ghost.on-light { color: var(--text-2); border-color: var(--line); }
#feedbackBox { display: flex; flex-direction: column; gap: 8px; }
#feedbackBox[hidden] { display: none; }
#feedbackBox textarea { width: 100%; min-height: 80px; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; font: inherit; resize: vertical; }
select, input { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; background: #fff; }
.dropzone { border: 2px dashed var(--teal); border-radius: 12px; padding: 48px; text-align: center; color: var(--muted); background: #f0fdfa; cursor: pointer; }
.dropzone.over { background: var(--teal-soft); }
.sync-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 0; }
.sync-row + .sync-row { border-top: 1px solid var(--line); }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 18px; }
.kpi { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; cursor: pointer; }
.kpi small { color: var(--muted); display: block; } .kpi b { font-size: 22px; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

/* ============ MOBIL (<= 780px): sidebar -> drawer + layout pe o coloană ============ */
.mobile-bar { display: none; }
.nav-overlay { display: none; }
@media (max-width: 780px) {
  body { flex-direction: column; }
  /* Bară mobilă sus cu hamburger */
  .mobile-bar { display: flex; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 900;
    background: var(--dark); color: #fff; padding: 9px 14px; }
  .mb-brand { font-weight: 700; font-size: 17px; }
  .nav-toggle { width: 36px; height: 36px; border: 0; border-radius: 8px; background: rgba(255,255,255,.12);
    color: #fff; font-size: 18px; line-height: 1; cursor: pointer; }
  /* Sidebar devine drawer off-canvas */
  .sidebar { position: fixed; top: 0; left: 0; height: 100vh; width: 80vw; max-width: 290px; z-index: 1200;
    transform: translateX(-100%); transition: transform .22s ease; box-shadow: 2px 0 26px rgba(0,0,0,.5); overflow-y: auto; }
  body.nav-open .sidebar { transform: translateX(0); }
  .nav-overlay { position: fixed; inset: 0; background: rgba(4,17,15,.55); z-index: 1100; }
  body.nav-open .nav-overlay { display: block; }
  /* Conținut pe toată lățimea */
  main { padding: 16px 13px; max-width: 100%; }
  .card { padding: 14px; border-radius: 10px; margin-bottom: 14px; overflow-x: auto; }
  .grid2 { grid-template-columns: 1fr; }
  .kpis { grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
  .kpi { padding: 12px 14px; } .kpi b { font-size: 19px; }
  h1 { font-size: 20px; } h2 { font-size: 15px; }
  /* Tabele: scroll orizontal în card, dar rămân lizibile */
  table { min-width: 460px; font-size: 13px; } th, td { padding: 7px 8px; }
  .topbar { justify-content: flex-start; margin-bottom: 14px; }
  .rap-head { gap: 8px; }
  /* Import → Sincronizare surse: textul și butonul pe rânduri separate (butonul ieșea din card). */
  .sync-row { flex-wrap: wrap; gap: 8px 14px; }
  .sync-row > div:last-child { flex: 1 1 100%; }
  .sync-row .btn, .sync-row .btn-ghost { display: inline-block; }
  /* Antete de card cu text + buton (ex. Clasificare): butonul coboară sub text, textul nu mai e strivit. */
  .card-head, .u-margin-bottom-10px-display-flex-align-items-center-gap-10px { flex-wrap: wrap; }
  .u-margin-bottom-10px-display-flex-align-items-center-gap-10px > span { flex: 1 1 100%; }
  /* Ținte de atingere: butoanele erau de 33px, selecturile de 38px. */
  .btn, .btn-ghost { min-height: 42px; padding-top: 10px; padding-bottom: 10px; }
  select, input:not([type=checkbox]):not([type=radio]):not([type=file]) { min-height: 42px; }
  table .btn, table .btn-ghost { min-height: 34px; padding-top: 6px; padding-bottom: 6px; }
  table select, table input:not([type=checkbox]) { min-height: 36px; }
  /* Alerte plăți → Adaugă o obligație: etichetele inline făceau câmpuri de lățimi diferite. */
  .form-grid > label { flex: 1 1 100%; display: flex; flex-direction: column; gap: 4px; }
  .form-grid > label > input, .form-grid > label > select { width: 100%; box-sizing: border-box; }
  .form-grid #recFields { flex: 1 1 100%; flex-wrap: wrap; }
  .form-grid #recFields label { flex: 1 1 100%; display: flex; flex-direction: column; gap: 4px; }
}
@media (max-width: 400px) { .kpis { grid-template-columns: 1fr; } }

/* Rând de 5 KPI-uri (dashboard) — mai înguste ca să încapă toate pe un rând */
.kpis-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.kpis-5 .kpi { padding: 12px 14px; }
.kpis-5 .kpi b { font-size: 19px; }
.kpis-5 .kpi b { white-space: nowrap; }
@media (max-width: 1240px) { .kpis-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px)  { .kpis-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 400px)  { .kpis-5 { grid-template-columns: 1fr; } }

/* ===== Clase mutate din stiluri inline (CSP style-src 'self', fără unsafe-inline) ===== */
/* Grafic bare cheltuieli (dashboard) — lățimea se setează din JS (procent continuu) */
.bar{background:#f1f5f9;border-radius:4px;position:relative;overflow:hidden}
.bar-h6{height:6px}
.bar-h8{height:8px}
.bar-fill{height:100%;width:0}
.bar-teal{background:#7dd3cf}
.bar-primary{background:#36b6b0}
.bar-gray{background:#cbd5e1}
.cat-bars{display:flex;flex-direction:column;gap:10px}
.cat-grup-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:3px}
.cat-sub-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:2px}
.cat-subs{margin:6px 0 2px 16px;display:none;flex-direction:column;gap:6px}
.cat-subs.open{display:flex}
/* Istoricul de prețuri (Fișă partener) — rând tabel expandabil */
.prod-history{display:none}
.prod-history.open{display:table-row}
.logout-link{margin-left:12px;font-size:13px;color:#64748b}

/* ===== Utilitare generate din stilurile inline din view-uri ===== */
.u-amber{border-color:var(--amber)}
.u-border-color-var-amber-cursor-pointer{border-color:var(--amber);cursor:pointer}
.u-border-color-var-amber-margin-bottom-12px{border-color:var(--amber);margin-bottom:12px}
.u-border-top-1px-solid-var-line-font-weight-600{border-top:1px solid var(--line);font-weight:600}
.u-color-var-muted-font-size-12px-margin-left-6px-text-decoration-none{color:var(--muted);font-size:12px;margin-left:6px;text-decoration:none}
.u-color-var-muted-font-size-13px{color:var(--muted);font-size:13px}
.u-color-var-muted-font-size-13px-flex-1{color:var(--muted);font-size:13px;flex:1}
.u-color-var-muted-font-size-13px-margin-0-0-10px{color:var(--muted);font-size:13px;margin:0 0 10px}
.u-color-var-muted-font-size-13px-margin-4px-0-10px{color:var(--muted);font-size:13px;margin:-4px 0 10px}
.u-color-var-muted-font-size-13px-margin-8px-0-4px{color:var(--muted);font-size:13px;margin:8px 0 4px}
.u-color-var-muted-font-size-13px-margin-8px-0-6px{color:var(--muted);font-size:13px;margin:8px 0 6px}
.u-color-var-muted-font-size-13px-margin-top-10px{color:var(--muted);font-size:13px;margin-top:10px}
.u-color-var-muted-font-size-13px-margin-top-4px{color:var(--muted);font-size:13px;margin-top:4px}
.u-color-var-muted-font-size-13px-margin-top-6px{color:var(--muted);font-size:13px;margin-top:6px}
.u-color-var-muted-font-size-13px-margin-top-8px{color:var(--muted);font-size:13px;margin-top:-8px}
.u-color-var-muted-font-weight-400{color:var(--muted);font-weight:400}
.u-color-var-muted-margin-8px-0-6px{color:var(--muted);margin:8px 0 6px}
.u-color-var-red-c0392b-margin-top-6px{color:var(--red,#c0392b);margin-top:6px}
.u-color-var-teal-deep{color:var(--teal-deep)}
.u-cursor-default{cursor:default}
.u-cursor-pointer-color-var-muted{cursor:pointer;color:var(--muted)}
.u-display-flex-flex-wrap-wrap-gap-12px-align-items-flex-end{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.u-display-flex-gap-10px-flex-wrap-wrap-margin-12px-0{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.u-display-flex-gap-12px-align-items-flex-end{display:flex;gap:12px;align-items:flex-end}
.u-display-flex-gap-4px-align-items-center-justify-content-flex-end-flex-wrap-wrap{display:flex;gap:4px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.u-display-flex-gap-8px{display:flex;gap:8px}
.u-display-flex-gap-8px-flex-wrap-wrap{display:flex;gap:8px;flex-wrap:wrap}
.u-display-flex-justify-content-space-between{display:flex;justify-content:space-between}
.u-display-flex-justify-content-space-between-font-size-13px-color-var-muted{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.u-display-flex-justify-content-space-between-padding-2px-0-8px-font-weight-600{display:flex;justify-content:space-between;padding:2px 0 8px;font-weight:600}
.u-display-flex-justify-content-space-between-padding-8px-0-border-bottom-1px-solid-var-line-cursor-pointer{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}
.u-display-flex-justify-content-space-between-padding-8px-0-font-weight-600{display:flex;justify-content:space-between;padding:8px 0;font-weight:600}
.u-display-inline-block-width-1em-color-var-muted{display:inline-block;width:1em;color:var(--muted)}
.u-display-inline-flex-gap-6px-margin-6px-12px-0-0{display:inline-flex;gap:6px;margin:6px 12px 0 0}
.u-flex-1{flex:1}
.u-flex-1-min-width-140px{flex:1;min-width:140px}
.u-flex-1-min-width-160px{flex:1;min-width:160px}
.u-flex-1-min-width-200px{flex:1;min-width:200px}
.u-flex-1-min-width-260px{flex:1;min-width:260px}
.u-float-right-margin-left-8px{float:right;margin-left:8px}
.u-float-right-text-decoration-none{float:right;text-decoration:none}
.u-float-right-text-decoration-none-padding-8px-16px{float:right;text-decoration:none;padding:8px 16px}
.u-font-size-13px-margin-top-8px-color-var-muted{font-size:13px;margin-top:8px;color:var(--muted)}
.u-font-weight-600{font-weight:600}
.u-margin-0-0-4px{margin:0 0 4px}
.u-margin-6px-0-0-18px{margin:6px 0 0 18px}
.u-margin-6px-0-0-18px-color-var-muted-font-size-13px{margin:6px 0 0 18px;color:var(--muted);font-size:13px}
.u-margin-6px-0-10px-18px{margin:6px 0 10px 18px}
.u-margin-6px-0-8px-18px{margin:6px 0 8px 18px}
.u-margin-8px-0-0-0-padding-left-0-list-style-none{margin:8px 0 0 0;padding-left:0;list-style:none}
.u-margin-8px-0-6px-padding-left-18px-line-height-1-7{margin:8px 0 6px;padding-left:18px;line-height:1.7}
.u-margin-bottom-0{margin-bottom:0}
.u-margin-bottom-10px{margin-bottom:10px}
.u-margin-bottom-10px-display-flex-align-items-center-gap-10px{margin-bottom:10px;display:flex;align-items:center;gap:10px}
.u-margin-bottom-10px-text-align-right{margin-bottom:10px;text-align:right}
.u-margin-bottom-12px{margin-bottom:12px}
.u-margin-bottom-6px{margin-bottom:6px}
.u-margin-bottom-8px{margin-bottom:8px}
.u-margin-left-12px{margin-left:12px}
.u-margin-left-6px-font-size-12px-padding-2px-8px{margin-left:6px;font-size:12px;padding:2px 8px}
.u-margin-left-8px{margin-left:8px}
.u-margin-left-8px-color-var-teal-deep-font-weight-600{margin-left:8px;color:var(--teal-deep);font-weight:600}
.u-margin-top-10px{margin-top:10px}
.u-margin-top-12px{margin-top:12px}
.u-margin-top-16px{margin-top:16px}
.u-margin-top-20px{margin-top:20px}
.u-margin-top-6px-font-size-13px{margin-top:6px;font-size:13px}
.u-margin-top-8px{margin-top:8px}
.u-margin-top-14px{margin-top:14px}
.u-margin-left-6px{margin-left:6px}
.u-font-size-13px{font-size:13px}
.u-margin-top-8px-color-var-muted{margin-top:8px;color:var(--muted)}
.u-min-width-220px{min-width:220px}
.u-min-width-420px{min-width:420px}
.u-muted{color:var(--muted)}
.u-opacity-5{opacity:.5}
.u-padding-2px-8px{padding:2px 8px}
.u-padding-4px-8px{padding:4px 8px}
.u-padding-8px-0-border-bottom-1px-solid-var-line{padding:8px 0;border-bottom:1px solid var(--line)}
.u-padding-left-28px-color-var-muted{padding-left:28px;color:var(--muted)}
.u-pointer{cursor:pointer}
.u-teal-bold{color:var(--teal-deep);font-weight:600}
.u-text-align-center-padding-20px{text-align:center;padding:20px}
.u-text-decoration-none{text-decoration:none}
.u-width-100{width:100%}
.u-width-110px{width:110px}
.u-width-110px-text-align-right{width:110px;text-align:right}
.u-width-130px{width:130px}
.u-width-64px{width:64px}
.u-width-70px{width:70px}
.u-width-80px{width:80px}
.u-width-150px{width:150px}
.u-margin-top-6px{margin-top:6px}
/* Coada „Facturi de confirmat" (Import): fără aceste clase, etichetele și
   inputurile curgeau inline și se decalau vizual cu un câmp. */
.u-display-flex-gap-8px-flex-wrap-wrap-margin-8px-0{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.u-font-size-12px{font-size:12px}
.u-min-width-90px{min-width:90px}
/* Cardul „Plăți programate" arată doar 3 scadențe (vezi dashboard.js); pe mobil
   strângem și rândul, ca să nu ocupe prea mult. Restul la „Vezi toate →". */
@media (max-width: 780px) {
  #scadenteCard ul { line-height: 1.4; }
}
/* Container de înălțime fixă pentru grafice (cu maintainAspectRatio:false în JS):
   pe card lat, altfel Chart.js le face foarte înalte din raportul de aspect.
   Se văd integral în pagină; mai scunde pe mobil. */
.chart-box { position: relative; height: 300px; }
@media (max-width: 780px) { .chart-box { height: 240px; } }
/* --- Programul Fondatori (pagina „Cere invitație" din demo) --- */
.fond-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 18px; align-items: start; }
/* Sub ~1300px de viewport (bara laterală de 244px + margini + două coloane a ~480px) nu încap două coloane. */
@media (max-width: 1300px) { .fond-layout { grid-template-columns: 1fr; } }
.fond-card, .fond-form-card { margin-bottom: 0; }
.fond-form-card h2 { margin-top: 0; }
.fond-counter { display: inline-block; background: var(--teal-soft); color: #04211f; border-radius: 999px; padding: 4px 12px; font-size: 13px; margin-bottom: 10px; }
.fond-counter b { font-size: 15px; }
/* Clasele de mai sus și .badge setează display și ar învinge [hidden] din stylesheet-ul browserului. */
.fond-counter[hidden], .cere-form .badge[hidden] { display: none; }
.fond-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 12px 0; }
.fond-step { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.fond-step .fond-k { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.fond-step b { font-size: 20px; color: var(--teal-deep); }
.fond-step span:last-child { font-size: 13px; color: var(--muted); }
.fond-more summary { cursor: pointer; font-weight: 600; color: var(--teal-deep); list-style: none; display: flex; gap: 8px; align-items: baseline; padding: 4px 0; }
.fond-more summary::-webkit-details-marker { display: none; }
.fond-more summary::before { content: "+"; font-weight: 700; width: 12px; flex: none; }
.fond-more[open] summary::before { content: "–"; }
.fond-list { margin: 8px 0 0 18px; padding: 0; }
.fond-list li { margin: 4px 0; }
.fond-note { font-size: 13px; margin-top: 12px; }
.cere-form label { display: block; margin: 8px 0; }
.cere-form input, .cere-form select, .cere-form textarea { width: 100%; box-sizing: border-box; }
.founder-badge { display: inline-block; margin-left: 8px; font-size: 11px; font-weight: 600; color: #04211f; background: var(--teal-soft); border-radius: 999px; padding: 2px 8px; vertical-align: middle; }
/* --- Întrebări frecvente (demo) --- */
.faq-lead { color: var(--muted); max-width: 720px; margin: -6px 0 16px; }
.faq-group { max-width: 760px; }
.faq-group h2 { margin-bottom: 6px; }
.faq { border-top: 1px solid var(--line); padding: 8px 0; }
.faq:first-of-type { border-top: 0; }
.faq summary { cursor: pointer; font-weight: 600; padding: 6px 0; list-style: none; display: flex; gap: 10px; align-items: baseline; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "+"; color: var(--teal-deep); font-weight: 700; width: 14px; flex: none; }
.faq[open] summary::before { content: "–"; }
.faq-a { padding: 2px 0 8px 24px; color: var(--text-2); line-height: 1.55; max-width: 68ch; }
.faq-a a { color: var(--teal-deep); }
/* Paginile publice (fondator, întrebări) nu depind de perioadă: selectorul de sus dispare, conținutul urcă. */
body[data-view="cere-invitatie"] .topbar, body[data-view="intrebari"] .topbar { display: none; }
/* Mobil: introducere scurtă, treptele de preț pe un singur rând, cardul compact. */
@media (max-width: 600px) {
  .fond-card { padding: 14px 14px; }
  .fond-lead { font-size: 14px; margin: 6px 0 8px; }
  #view > h1 { font-size: 20px; margin-bottom: 10px; }
  .fond-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 8px 0; }
  .fond-step { padding: 8px 8px; }
  .fond-step .fond-k { font-size: 10px; letter-spacing: .04em; }
  .fond-step b { font-size: 17px; }
  .fond-step span:last-child { font-size: 11.5px; }
  .fond-counter { font-size: 12.5px; margin-bottom: 6px; }
  .fond-form-card { padding: 14px 14px; }
}

/* Ecranul de verificare pentru extrasele PDF (import.js → renderPdfReview) */
.pdf-review input { padding: 4px 6px; border-radius: 6px; }
.pdf-review input.money { width: 120px; text-align: right; }
.pdf-review input[type=date] { width: 150px; }
.pdf-review th:nth-child(2) { width: 42%; }
.pdf-review input.desc { width: 100%; min-width: 240px; }
.pdf-review input.cp { width: 100%; min-width: 150px; }
.pdf-review tr.suspect td { background: #fff7ed; }
.pdf-review tr.suspect td:first-child { box-shadow: inset 3px 0 0 #f59e0b; }
.u-overflow-auto { overflow-x: auto; }
