/* stil.css — fundația vizuală iConta.
   Sobru, precis, încredere — instrument de lucru pentru contabili, nu marketing.
   Tokens într-un singur loc; ecranele consumă variabilele. */

:root {
  --text-titlu: 22px;
  --text: 17px;
  --text-mic: 15px;
  /* paletă: ardezie profundă + albastru de încredere + neutre curate */
  --albastru: #3d8fd6;          /* accent principal — sobru, nu Fluent-default */
  --albastru-inchis: #163a5a;
  --albastru-clar: #e8eef5;
  --ardezie: #2b3440;           /* text principal */
  --gri: #5b6573;               /* text secundar */
  --gri-clar: #8a929e;
  --linie: #e2e5ea;
  --fundal: #f5f6f8;
  --alb: #ffffff;
  --rosu: #b3261e;              /* erori — sobru */
  --rosu-fundal: #fce8e6;
  --portocaliu: #c8651b;        /* navigare: ieși / la bază */
  --portocaliu-fundal: #fdf0e6;
  --albastru-gri: #9fb1c7;      /* bara de jos — firma în lucru */

  --raza: 6px;
  --umbra-card: 0 1px 3px rgba(20, 30, 45, 0.08), 0 4px 16px rgba(20, 30, 45, 0.06);
  --font: "Segoe UI", system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: var(--font);
  color: var(--ardezie);
  background: var(--fundal);
  -webkit-font-smoothing: antialiased;
}

#app { min-height: 100dvh; }

/* ============================================================
   LOGIN
   ============================================================ */
.login-shell {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(1200px 600px at 50% -10%, var(--albastru-clar), transparent),
    var(--fundal);
}

.login-card {
  width: 100%;
  max-width: 360px;
  background: var(--alb);
  border-radius: var(--raza);
  box-shadow: var(--umbra-card);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.login-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}

.login-logo-img { height: 88px; width: auto; object-fit: contain; }

.login-tagline {
  font-size: var(--text-mic);
  color: var(--gri);
}

/* ============================================================
   CÂMPURI + BUTOANE
   ============================================================ */
.camp { display: flex; flex-direction: column; gap: 6px; }

.camp-eticheta {
  font-size: var(--text-mic);
  font-weight: 600;
  color: var(--gri);
}

.camp-input {
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--linie);
  border-radius: var(--raza);
  font-size: var(--text-mic);
  font-family: var(--font);
  color: var(--ardezie);
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.camp-input:focus {
  border-color: var(--albastru);
  box-shadow: 0 0 0 3px var(--albastru-clar);
}

.buton-primar {
  padding: 9px 18px;
  border: none;
  border-radius: var(--raza);
  background: var(--albastru);
  color: var(--alb);
  font-size: var(--text-mic);
  font-weight: 600;
  font-family: var(--font);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,30,45,0.25); transition: background 0.15s, transform 0.1s, box-shadow 0.1s;
  margin-top: 4px;
}

.buton-primar:hover { background: var(--albastru-inchis); transform: translateY(-1px); box-shadow: 0 3px 9px rgba(20,30,45,0.3); }
.buton-primar:disabled { background: var(--gri-clar); cursor: default; }

.buton-text {
  border: none;
  background: none;
  color: var(--gri);
  font-size: var(--text-mic);
  font-family: var(--font);
  cursor: pointer;
  padding: 6px 10px;
  border-radius: var(--raza);
}
.buton-text:hover { background: var(--albastru-clar); color: var(--albastru); }

.login-eroare {
  background: var(--rosu-fundal);
  color: var(--rosu);
  font-size: var(--text-mic);
  padding: 10px 12px;
  border-radius: var(--raza);
}

/* ============================================================
   DESKTOP rolului — bară albastră + bară albastru-gri
   ============================================================ */
.desktop { min-height: 100dvh; display: flex; flex-direction: column; }

/* bara albastră (sus) */
.bara {
  height: 54px;
  background: var(--albastru);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
}
.bara-logo-img { height: 32px; width: auto; object-fit: contain; }
.bara-marca { font-size: var(--text); font-weight: 700; color: var(--alb); letter-spacing: -0.3px; }
.bara-separator { width: 1px; height: 22px; background: rgba(255,255,255,0.3); }
.bara-eticheta { font-size: var(--text-mic); color: #cdddf0; }
.bara-nume { font-size: var(--text-mic); font-weight: 600; color: var(--alb); }
.bara-spatiu { flex: 1; }
.bara-user { font-size: var(--text-mic); color: #cdddf0; }

/* butonul de ieșire (portocaliu, dreapta) */
.nav-iesire {
  width: 32px; height: 32px;
  border: none; border-radius: var(--raza);
  background: var(--portocaliu); color: var(--alb);
  font-size: var(--text); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.nav-iesire:hover { background: #a8520f; }

/* bara albastru-gri (firma în lucru) */
.subbara {
  height: 40px;
  background: var(--albastru-gri);
  display: flex; align-items: center; gap: 8px;
  padding: 0 16px;
}
.subbara-icon { width: 17px; height: 17px; color: #2b3a4f; flex-shrink: 0; }
.subbara-cheie { font-size: var(--text-mic); color: #2b3a4f; }
.subbara-firma { font-size: var(--text-mic); font-weight: 600; color: #1a2535; }
.subbara-gol { font-size: var(--text-mic); color: #2b3a4f; font-style: italic; }

.desktop-continut { padding: 32px 24px; max-width: 1200px; margin: 0 auto; width: 100%; }

/* săgeata portocalie din ferestre */
.nav-sageata {
  width: 34px; height: 34px;
  border: 1px solid var(--portocaliu);
  border-radius: var(--raza);
  background: var(--portocaliu-fundal);
  color: var(--portocaliu);
  font-size: var(--text); line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.nav-sageata:hover { background: var(--portocaliu); color: var(--alb); }

/* ============================================================
   FERESTRE de lucru (overlay umbrit + card central)
   ============================================================ */
.fereastra-overlay {
  position: fixed; inset: 0;
  background: rgba(20, 30, 45, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 24px; z-index: 100;
  animation: aparitie-overlay 0.12s ease-out;
}

.fereastra {
  width: 100%; max-width: 680px; 
  transition: max-width 0.18s ease;
  max-height: calc(100vh - 48px);
  background: #f4f6f9;
  border-radius: var(--raza);
  box-shadow: 0 12px 48px rgba(20, 30, 45, 0.25);
  display: flex; flex-direction: column;
  overflow: hidden;
  animation: aparitie-fereastra 0.14s ease-out;
}

.fereastra-antet {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--linie);
}
.fereastra-titlu { flex: 1; font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }

.nav-x {
  width: 34px; height: 34px;
  border: none; border-radius: var(--raza);
  background: none; color: var(--gri);
  font-size: var(--text); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s, color 0.15s;
}
.nav-x:hover { background: var(--rosu-fundal); color: var(--rosu); }

.fereastra-corp { padding: 24px; overflow-y: auto; }

@keyframes aparitie-overlay { from { opacity: 0; } to { opacity: 1; } }
@keyframes aparitie-fereastra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.buton-ingust { width: auto; padding: 0 20px; margin-top: 16px; }

.ecran-titlu { font-size: var(--text-titlu); font-weight: 700; color: var(--ardezie); margin: 0 0 8px; }
.ecran-nota { font-size: var(--text-mic); color: var(--gri); margin: 0; }

/* accesibilitate */
:focus-visible { outline: 2px solid var(--albastru); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ============================================================
   MOBIL — telefon (toate rolurile se loghează de pe telefon)
   ============================================================ */
@media (max-width: 560px) {
  /* bara albastră: iConta rămâne, logo (simbol) dispare;
     ascundem eticheta lungă + numele persoanei, păstrăm numele firmei */
  .bara { gap: 8px; padding: 0 12px; }
  .bara-logo-img { display: none; }
  .bara-eticheta { display: none; }
  .bara-user { display: none; }
  .bara-separator { display: none; }
  .bara-nume {
    font-size: var(--text-mic);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }

  /* bara gri */
  .subbara { padding: 0 12px; }

  /* conținut: margini mai mici */
  .desktop-continut { padding: 20px 14px; }

  /* ferestrele: aproape pe tot ecranul */
  .fereastra-overlay { padding: 8px; align-items: stretch; }
  .fereastra { max-width: none; max-height: none; height: 100%; }
  .fereastra-corp { padding: 16px; }

  /* login: card pe toată lățimea */
  .login-shell { padding: 16px; }
  .login-card { max-width: none; padding: 28px 22px; }
  .login-logo-img { height: 72px; }
}

/* ============================================================
   DESKTOP CABINET — salut + grilă 9 carduri pastel
   ============================================================ */
.cab-salut { margin-bottom: 12px; }
.cab-salut-nume { font-size: var(--text-titlu); font-weight: 600; color: #163a5a; }
.cab-salut-data { font-size: var(--text-mic); color: var(--gri); }

.cab-grila {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-items: start;  /* [p77_inaltime] fiecare card exact cat continutul, fara spatiu gol */
}
.cab-card {
  text-align: left;
  border: 2px solid rgba(0,0,0,0.18);  /* [p78_bordura_groasa] bordura mai vizibila */
  border-radius: 12px;
  padding: 16px 22px;  /* [p77_inaltime] inaltime redusa */
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.12s, box-shadow 0.12s;
}
.cab-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(20,30,45,0.12); }
.cab-card:active { transform: translateY(0); }
.cab-card-cap { display: flex; align-items: center; gap: 10px; }  /* [p75_carduri_mari] */
.cab-card-titlu { font-size: var(--text-titlu); font-weight: 600; }  /* [p76_comasare_font] */
.cab-card-sinteza { margin-top: 10px; font-size: var(--text); line-height: 1.5; }  /* [p77_inaltime] */
/* [patch13_semafor_unitar] */
.cab-pct { display: inline-block; width: 15px; height: 15px; border-radius: 50%; margin-right: 8px; vertical-align: -2px; }  /* [p75_carduri_mari] */
.pct-verde  { background: #1d7a4d; }
.pct-galben { background: #c9961f; }
.pct-rosu   { background: #ff3b30; }

/* mobil: 1-2 coloane */
@media (max-width: 760px) { .cab-grila { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .cab-grila { grid-template-columns: 1fr; } }

/* ============================================================
   VEDERI SECUNDARE în desktop (meniu Firme, listă) — antet comun
   ============================================================ */
.sub-cap { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.sub-titlu { font-size: var(--text-titlu); font-weight: 600; color: #163a5a; margin: 0; }
.sub-inapoi {
  display: flex; align-items: center; gap: 5px;
  background: var(--portocaliu-fundal); color: var(--portocaliu);
  border: 1px solid var(--portocaliu); border-radius: var(--raza);
  padding: 6px 12px; font-size: var(--text-mic); font-family: inherit; cursor: pointer;
  transition: background 0.15s;
}
.sub-inapoi:hover { background: var(--portocaliu); color: var(--alb); }

/* meniu Firme — 2 opțiuni */
.firme-optiuni { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.firme-optiune {
  text-align: left; background: var(--alb);
  border: 0.5px solid var(--linie); border-radius: 12px;
  padding: 12px 14px; cursor: pointer; font-family: inherit;
  transition: transform 0.12s, box-shadow 0.12s;
}
.firme-optiune:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(20,30,45,0.1); }
.firme-optiune-icon {
  width: 44px; height: 44px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.firme-optiune-titlu { font-size: var(--text); font-weight: 600; color: var(--ardezie); margin-bottom: 4px; }
.firme-optiune-desc { font-size: var(--text-mic); color: var(--gri); line-height: 1.5; }

/* lista de firme */
.firme-cap { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.firme-titlu { font-size: var(--text-titlu); font-weight: 600; color: #163a5a; margin: 0; }
.firme-inapoi {
  display: flex; align-items: center; gap: 5px;
  background: var(--portocaliu-fundal); color: var(--portocaliu);
  border: 1px solid var(--portocaliu); border-radius: var(--raza);
  padding: 6px 12px; font-size: var(--text-mic); font-family: inherit; cursor: pointer;
}
.firme-inapoi:hover { background: var(--portocaliu); color: var(--alb); }
.firme-spatiu { flex: 1; }
.firme-cautare { margin-bottom: 14px; }
.firme-cautare input {
  width: 100%; height: 38px; padding: 0 12px;
  border: 0.5px solid var(--linie); border-radius: var(--raza);
  font-size: var(--text-mic); font-family: inherit; box-sizing: border-box;
}
.firme-cautare input:focus { outline: none; border-color: var(--albastru); box-shadow: 0 0 0 3px rgba(31,78,121,0.12); }
.firme-lista { border: 0.5px solid var(--linie); border-radius: 12px; overflow: hidden; }
.firme-rand {
  width: 100%; text-align: left; background: var(--alb);
  border: none; border-bottom: 0.5px solid var(--linie);
  padding: 14px 16px; cursor: pointer; font-family: inherit;
  display: flex; align-items: center; gap: 12px;
  transition: background 0.12s;
}
.firme-rand:last-child { border-bottom: none; }
.firme-rand:hover { background: #f3f6fa; }
.firme-rand-text { flex: 1; min-width: 0; }
.firme-rand-nume { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.firme-rand-cui { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.firme-gol { padding: 28px 16px; text-align: center; font-size: var(--text-mic); color: var(--gri); }

@media (max-width: 560px) { .firme-optiuni { grid-template-columns: 1fr; } }

/* ============================================================
   WIZARD MIGRARE CABINET
   ============================================================ */
.mig-eticheta { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); margin: 6px 0 8px; }
.mig-text {
  width: 100%; height: 96px; padding: 10px 12px; box-sizing: border-box;
  border: 0.5px solid var(--linie); border-radius: var(--raza);
  font-family: ui-monospace, monospace; font-size: var(--text-mic); resize: vertical;
}
.mig-text:focus { outline: none; border-color: var(--albastru); box-shadow: 0 0 0 3px rgba(31,78,121,0.12); }
.mig-sau { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: var(--gri); font-size: var(--text-mic); }
.mig-sau span { flex: 1; height: 0.5px; background: var(--linie); }
.mig-fisier {
  display: block; border: 1.5px dashed var(--linie); border-radius: var(--raza);
  padding: 20px; text-align: center; cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.mig-fisier:hover { border-color: #16a34a; background: #f3fbf5; }
.mig-fisier-titlu { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); margin-top: 6px; }
.mig-fisier-desc { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.mig-buton { width: 100%; margin-top: 18px; }
.mig-eroare, .mig-eroare2 { color: #a32d2d; font-size: var(--text-mic); margin-top: 10px; min-height: 1px; }

.mig-lista { border: 0.5px solid var(--linie); border-radius: var(--raza); overflow: hidden; }
.mig-rand {
  display: flex; align-items: center; gap: 11px; padding: 11px 13px;
  border-bottom: 0.5px solid var(--linie); cursor: pointer;
}
.mig-rand:last-child { border-bottom: none; }
.mig-rand-gri { opacity: 0.65; cursor: default; }
.mig-check { width: 17px; height: 17px; accent-color: var(--albastru); flex-shrink: 0; }
.mig-rand-text { flex: 1; min-width: 0; }
.mig-rand-nume { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.mig-rand-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 1px; }
.mig-status { font-size: var(--text-mic); padding: 3px 9px; border-radius: 10px; white-space: nowrap; }
.mig-status.ok { color: #0f6e56; background: #e1f5ee; }
.mig-status.rau { color: #791f1f; background: #fcebeb; }

.mig-gata { text-align: center; padding: 24px 12px; }
.mig-gata-titlu { font-size: var(--text); font-weight: 600; color: var(--ardezie); margin-top: 12px; }
.mig-gata-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 6px; }
.mig-gata .mig-buton { max-width: 200px; margin-left: auto; margin-right: auto; }

/* ============================================================
   MIGRARE CABINET — wizard (în fereastră)
   ============================================================ */
.mig-intro { font-size: var(--text-mic); color: var(--gri); line-height: 1.6; margin: 0 0 16px; }
.mig-eticheta { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); margin-bottom: 8px; }
.mig-textarea {
  width: 100%; height: 96px; padding: 10px 12px; box-sizing: border-box;
  border: 0.5px solid var(--linie); border-radius: var(--raza);
  font-family: ui-monospace, monospace; font-size: var(--text-mic); resize: vertical;
}
.mig-textarea:focus { outline: none; border-color: var(--albastru); box-shadow: 0 0 0 3px rgba(31,78,121,0.12); }
.mig-sau { display: flex; align-items: center; gap: 12px; margin: 16px 0; font-size: var(--text-mic); color: var(--gri-deschis, #9aa3af); }
.mig-sau span { flex: 1; height: 0.5px; background: var(--linie); }
.mig-drop {
  display: block; text-align: center; cursor: pointer;
  border: 1.5px dashed var(--linie); border-radius: var(--raza); padding: 20px;
  transition: border-color 0.15s, background 0.15s;
}
.mig-drop:hover { border-color: #16a34a; background: #f3fbf5; }
.mig-drop-titlu { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); margin-top: 6px; }
.mig-drop-desc { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.mig-eroare { color: #a32d2d; font-size: var(--text-mic); margin: 12px 0 0; min-height: 0; }
.mig-eroare:empty { margin: 0; }
.mig-buton { width: 100%; margin-top: 18px; }
.mig-buton:disabled { opacity: 0.5; cursor: default; }

/* lista rezultate */
.mig-lista { border: 0.5px solid var(--linie); border-radius: var(--raza); overflow: hidden; }
.mig-rand {
  display: flex; align-items: center; gap: 11px; padding: 11px 13px;
  border-bottom: 0.5px solid var(--linie); cursor: pointer;
}
.mig-rand:last-child { border-bottom: none; }
.mig-rand input { width: 17px; height: 17px; accent-color: var(--albastru); flex-shrink: 0; }
.mig-rand-gol { opacity: 0.65; cursor: default; }
.mig-rand-text { flex: 1; min-width: 0; }
.mig-rand-nume { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.mig-rand-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 1px; }
.mig-stare { font-size: var(--text-mic); padding: 3px 9px; border-radius: 10px; white-space: nowrap; }
.mig-ok { color: #0f6e56; background: #e1f5ee; }
.mig-nok { color: #791f1f; background: #fcebeb; }

/* raport final */
.mig-gata { text-align: center; padding: 24px 0 8px; }
.mig-gata-titlu { font-size: var(--text); font-weight: 600; color: var(--ardezie); margin-top: 12px; }
.mig-gata-erori { font-size: var(--text-mic); color: #92500a; margin-top: 6px; }

/* ---- migrare: meniul de operațiuni ---- */
.mig-meniu { display: flex; flex-direction: column; gap: 9px; }
.mig-op {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left;
  background: var(--alb); border: 0.5px solid var(--linie); border-radius: 12px;
  padding: 13px 15px; font-family: inherit; cursor: pointer;
  transition: transform 0.12s, box-shadow 0.12s;
}
.mig-op:not(.mig-op-inactiv):hover { transform: translateY(-1px); box-shadow: 0 3px 12px rgba(20,30,45,0.09); }
.mig-op-inactiv { cursor: default; opacity: 0.72; }
.mig-op-nr {
  width: 26px; height: 26px; border-radius: 7px; flex-shrink: 0;
  background: var(--albastru); color: #fff; font-size: var(--text-mic); font-weight: 600;
  display: flex; align-items: center; justify-content: center;
}
.mig-op-icon { width: 34px; height: 34px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.mig-op-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mig-op-titlu { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.mig-op-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 1px; overflow: hidden; text-overflow: ellipsis; }
.mig-badge { font-size: var(--text-mic); padding: 3px 9px; border-radius: 10px; white-space: nowrap; flex-shrink: 0; }
.mig-b-gata { color: #0f6e56; background: #e1f5ee; }
.mig-b-lucru { color: #a32d2d; background: #fcebeb; }
.mig-b-curand { color: #5a6472; background: #eef0f3; }
.mig-b-oblig { color: #854f0b; background: #faeeda; }

.mig-inapoi {
  align-self: flex-start;
  background: var(--portocaliu-fundal); color: var(--portocaliu);
  border: 1px solid var(--portocaliu); border-radius: var(--raza);
  padding: 6px 12px; font-size: var(--text-mic); font-family: inherit; cursor: pointer; margin-bottom: 14px;
}
.mig-inapoi:hover { background: var(--portocaliu); color: #fff; }

/* ---- migrare: decizia de finalizare ---- */
.mig-decizie { display: flex; gap: 9px; margin-bottom: 14px; }
.mig-dec {
  flex: 1; background: var(--alb); border: 0.5px solid var(--linie); border-radius: 10px;
  padding: 11px; font-size: var(--text-mic); font-family: inherit; color: var(--gri); cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 6px;
}
.mig-dec span { font-weight: 700; }
.mig-dec-sel { border: 1.5px solid var(--portocaliu); background: var(--portocaliu-fundal); color: #9a4a12; font-weight: 500; }
.mig-nota-et { font-size: var(--text-mic); color: var(--gri); margin-bottom: 6px; }
.mig-nota-et span { color: #a32d2d; }

/* ---- reminder de migrare pe cardul Firme ---- */
.cab-card-alert { position: relative; }
.cab-reminder { margin-top: 10px; padding-top: 10px; border-top: 0.5px solid rgba(29,78,216,0.18); }
.cab-reminder-cap { font-size: var(--text-mic); font-weight: 600; color: #9a3412; }
.cab-reminder-txt { font-size: var(--text-mic); color: #22426e; margin-top: 3px; line-height: 1.4; }

/* avertisment duplicate/erori în ecranul final de migrare */
.mig-avert { font-size: 12.5px; color: #854f0b; background: #faeeda; border-radius: var(--raza); padding: 9px 12px; margin-bottom: 10px; }
.mig-avert-rosu { color: #791f1f; background: #fcebeb; }
.mig-op-sub-alert { color: #a32d2d; font-weight: 500; }

/* ---- migrare strat solduri ---- */
.mig-progres { font-size: var(--text-mic); color: var(--gri); margin-bottom: 12px; }
.mig-frand {
  display: flex; align-items: center; gap: 11px; width: 100%; text-align: left;
  background: var(--alb); border: none; border-bottom: 0.5px solid var(--linie);
  padding: 13px 15px; font-family: inherit; cursor: pointer; transition: background 0.12s;
}
.mig-frand:last-child { border-bottom: none; }
.mig-frand:hover { background: #f3f6fa; }
.mig-frand-text { flex: 1; min-width: 0; }
.mig-frand-nume { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.mig-frand-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 1px; }
.mig-gri { color: #5a6472; background: #eef0f3; }
.mig-gol { padding: 24px 16px; text-align: center; font-size: var(--text-mic); color: var(--gri); }

.mig-sold-rezumat {
  font-size: var(--text-mic); color: var(--ardezie); background: #f5f7fa;
  border: 0.5px solid var(--linie); border-radius: var(--raza);
  padding: 10px 13px; margin: 14px 0 10px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.mig-eq { font-size: var(--text-mic); padding: 2px 8px; border-radius: 9px; margin-left: auto; }
.mig-eq-ok { color: #0f6e56; background: #e1f5ee; }
.mig-eq-no { color: #791f1f; background: #fcebeb; }
.mig-sold-tabel { border: 0.5px solid var(--linie); border-radius: var(--raza); overflow: hidden; max-height: 280px; overflow-y: auto; }
.mig-sold-rand {
  display: grid; grid-template-columns: 100px 1fr 110px 110px; gap: 10px;
  padding: 7px 12px; border-bottom: 0.5px solid var(--linie); font-size: 12.5px; align-items: center;
}
.mig-sold-rand:last-child { border-bottom: none; }
.mig-sold-cont { font-family: ui-monospace, monospace; font-weight: 600; color: var(--albastru); }
.mig-sold-den { color: var(--ardezie); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mig-sold-val { text-align: right; color: var(--ardezie); font-variant-numeric: tabular-nums; }

/* fereastra lărgită pe ecranele cu tabel (ex. preview solduri) */
.fereastra.fer-larg { max-width: 1000px; }

/* cap de tabel solduri */
.mig-sold-cap {
  display: grid; grid-template-columns: 100px 1fr 110px 110px; gap: 10px;
  padding: 7px 12px; font-size: var(--text-mic); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.03em; color: var(--gri); border-bottom: 1px solid var(--linie);
}
.mig-sold-cap span:nth-child(3), .mig-sold-cap span:nth-child(4) { text-align: right; }

/* pe fereastra lărgită: corpul nu scrollează, doar tabelul ia spațiul rămas */
.fereastra.fer-larg .fereastra-corp { overflow: auto; display: flex; flex-direction: column; }
.fereastra.fer-larg .mig-sold-tabel { max-height: none; flex: 1 1 auto; min-height: 100px; }
.fereastra.fer-larg .mig-inapoi,
.fereastra.fer-larg .mig-intro,
.fereastra.fer-larg .mig-sold-rezumat,
.fereastra.fer-larg .mig-sold-cap,
.fereastra.fer-larg .mig-sold-cap,
.fereastra.fer-larg .mig-cap-part,
.fereastra.fer-larg .mig-coer,
.fereastra.fer-larg .mig-cap-sal,
.fereastra.fer-larg .mig-cap-asoc,
.fereastra.fer-larg .mig-cap-mf,
.fereastra.fer-larg .mig-cap-ist,
.fereastra.fer-larg .mig-buton { flex: 0 0 auto; }


/* ---------- STRAT 3: PARTENERI (5 coloane) ---------- */
.mig-coer {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px;
}
.mig-coer .mig-eq { font-size: 12.5px; }
.mig-eq-gri {
  background: #eef1f5; color: #5a6678; border: 1px solid #dde2ea;
}
.mig-cap-part, .mig-rand-part {
  grid-template-columns: 80px 110px 1fr 100px 100px !important;
}
.mig-cap-part span:nth-child(4), .mig-cap-part span:nth-child(5) { text-align: right; }
.mig-rand-part .mig-sold-val { text-align: right; }
.mig-sold-cui { color: #44516b; font-variant-numeric: tabular-nums; }


/* ---------- STRAT 4: SALARIATI (5 coloane) ---------- */
.mig-cap-sal, .mig-rand-sal {
  grid-template-columns: 1fr 150px 90px 90px 100px !important;
}
.mig-cap-sal span:nth-child(4) { text-align: right; }
.mig-rand-sal .mig-sold-val { text-align: right; }
.mig-sold-cnp { font-variant-numeric: tabular-nums; }
.mig-cnp-ok { color: #15803d; }
.mig-cnp-no { color: #c0392b; font-weight: 600; }
.mig-sold-cor, .mig-sold-norma { color: #44516b; font-size: var(--text-mic); }
.mig-rand-invalid { background: #fdf0ee; }


/* ---------- STRAT 5: ASOCIATI (4 coloane) ---------- */
.mig-cap-asoc, .mig-rand-asoc {
  grid-template-columns: 1fr 150px 90px 90px !important;
}
.mig-cap-asoc span:nth-child(4) { text-align: right; }
.mig-rand-asoc .mig-sold-val { text-align: right; font-variant-numeric: tabular-nums; }
.mig-sold-tip { color: #6d28d9; font-size: var(--text-mic); }


/* ---------- STRAT 6: MIJLOACE FIXE (6 coloane) ---------- */
.mig-cap-mf, .mig-rand-mf {
  grid-template-columns: 70px 1fr 100px 100px 80px 90px !important;
}
.mig-cap-mf span:nth-child(3), .mig-cap-mf span:nth-child(4) { text-align: right; }
.mig-rand-mf .mig-sold-val { text-align: right; font-variant-numeric: tabular-nums; }
.mig-sold-dur, .mig-sold-met { color: #44516b; font-size: var(--text-mic); }
.mig-sold-met { color: #c0492b; }


/* ---------- STRAT 7: ISTORIC DECLARATII (4 coloane) ---------- */
.mig-cap-ist, .mig-rand-ist {
  grid-template-columns: 90px 70px 70px 1fr !important;
}
.mig-sold-an, .mig-sold-luna { color: #44516b; font-size: var(--text-mic); }


/* ---------- CONTROL FISCAL ---------- */
.cf-sumar { display: flex; flex-wrap: wrap; gap: 14px; margin: 4px 0 14px; }
.cf-pastila { display: inline-flex; align-items: center; gap: 7px; font-size: var(--text-mic); color: #3a4250; }
.cf-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.cf-stare {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 12px; border-radius: 999px; font-size: var(--text-mic); font-weight: 600; white-space: nowrap;
}
.cf-grup-titlu { font-size: var(--text-mic); font-weight: 700; margin: 14px 0 8px; text-transform: uppercase; letter-spacing: .3px; }
.cf-rosu { color: #c0392b; }
.cf-galben { color: #a06713; }
.cf-decl { display: flex; flex-direction: column; gap: 1px; }
.cf-rand-decl {
  display: grid; grid-template-columns: 70px 1fr auto; gap: 10px; align-items: center;
  padding: 9px 4px; border-bottom: 1px solid #eef0f3;
}
.cf-perioada { color: #44516b; font-size: var(--text-mic); }
.cf-termen { font-size: 12.5px; font-variant-numeric: tabular-nums; }
.cf-termen-rosu { color: #c0392b; }
.cf-termen-galben { color: #a06713; }


/* ---------- TERMENE ---------- */
.term-grup { margin-bottom: 18px; }
.term-data { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 2px solid #e6f6ec; }
.term-data-zi { font-size: var(--text); font-weight: 700; color: #15803d; }
.term-data-cat { font-size: var(--text-mic); color: #6a7585; }
.term-data.term-urgent { border-bottom-color: #fbe3d8; }
.term-data.term-urgent .term-data-zi { color: #c0492b; }
.term-items { display: flex; flex-direction: column; gap: 1px; }
.term-item {
  display: grid; grid-template-columns: 70px 1fr auto; gap: 12px; align-items: center;
  padding: 11px 8px; background: none; border: none; border-bottom: 1px solid #eef0f3;
  font-family: inherit; font-size: var(--text-mic); cursor: pointer; text-align: left; width: 100%;
}
.term-item:hover { background: #f6f8fb; }
.term-tip { font-weight: 700; color: #1f4e79; }
.term-nr { color: #44516b; }
.term-chev { color: #9aa3b2; }


/* ---------- DE VALIDAT ---------- */
.val-card {
  display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center;
  padding: 13px 14px; border: 1px solid #eef0f3; border-radius: 10px; margin-bottom: 8px;
  background: #fff;
}
.val-titlu { font-size: var(--text-mic); color: #1f2937; }
.val-sub { font-size: 12.5px; color: #6a7585; margin-top: 2px; }
.val-coer { font-size: 12.5px; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.val-coer-ok { background: #e6f6ec; color: #1d7a4d; }
.val-coer-gri { background: #eef0f3; color: #6a7585; }
.val-actiuni { display: flex; gap: 7px; }
.val-btn {
  padding: 7px 14px; border-radius: 8px; border: none; font-family: inherit; font-size: var(--text-mic);
  font-weight: 600; cursor: pointer; white-space: nowrap;
}
.val-aproba  { background: #1d9e75; color: #fff; }
.val-aproba:hover  { background: #178a64; }
.val-respinge { background: #fbe9e9; color: #c0392b; }
.val-respinge:hover { background: #f6d8d8; }
.val-depune  { background: #1d4ed8; color: #fff; }
.val-depune:hover  { background: #1842b8; }
.mig-eroare { color: #c0392b; font-size: var(--text-mic); margin-top: 10px; min-height: 16px; }


/* ---------- DIALOG INPUT (modal in fereastra) ---------- */
.dlg-eticheta { display: block; font-size: var(--text-mic); color: #344054; margin-bottom: 8px; }
.dlg-input {
  width: 100%; box-sizing: border-box; padding: 10px 12px; font-size: var(--text-mic);
  border: 1px solid #cfd6e0; border-radius: 8px; font-family: inherit;
}
.dlg-input:focus { outline: none; border-color: #1d4ed8; box-shadow: 0 0 0 3px rgba(29,78,216,.12); }
.dlg-eroare { color: #c0392b; font-size: var(--text-mic); margin-top: 8px; min-height: 16px; }
.dlg-actiuni { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.dlg-anuleaza { background: #eef0f3; color: #3a4250; }
.dlg-anuleaza:hover { background: #e2e6ec; }
.val-btn:disabled { opacity: .6; cursor: default; }


/* === ASISTENTI === */
.asi-sumar {
  font-size: var(--text-mic); color: var(--gri); margin: 4px 0 14px;
  font-weight: 600;
}
.asi-rand-sus {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 12px;
}
.asi-nume { font-weight: 700; color: var(--ardezie); font-size: var(--text-mic); }
.asi-rol { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.asi-actiuni-rand { display: flex; gap: 6px; flex-shrink: 0; }
.asi-perms { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }

/* pastile permisiuni */
.asi-perm {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12.5px; font-weight: 600;
  padding: 3px 9px; border-radius: 999px; border: 1px solid transparent;
}
.asi-perm-on  { color: #15803d; background: #e8f5ec; border-color: #bfe3cb; }
.asi-perm-off { color: var(--gri-clar); background: var(--fundal); border-color: var(--linie); }

/* actor inactiv */
.asi-inactiv { opacity: 0.6; }
.asi-badge-inactiv {
  font-size: var(--text-mic); font-weight: 700; color: var(--rosu);
  background: var(--rosu-fundal); padding: 2px 7px; border-radius: 999px;
  margin-left: 6px; vertical-align: middle;
}

/* editare */
.asi-sectiune-titlu {
  font-weight: 700; color: var(--ardezie); font-size: var(--text-mic);
  margin: 16px 0 8px;
}
.asi-sectiune-titlu:first-child { margin-top: 0; }
.asi-mic { font-size: var(--text-mic); color: var(--gri); margin: 0 0 10px; }
.asi-firma-rand {
  display: flex; align-items: center; gap: 9px;
  padding: 7px 2px; cursor: pointer; font-size: var(--text-mic); color: var(--ardezie);
}
.asi-firma-rand input { width: 17px; height: 17px; cursor: pointer; }
.asi-editbtns { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }

/* Vizualizează — alerte patru-ochi */
.asi-alerta-verde {
  background: #e8f5ec; color: #15803d; border: 1px solid #bfe3cb;
  border-radius: var(--raza); padding: 11px 13px; font-size: 13.5px;
  font-weight: 600; margin-bottom: 14px;
}
.asi-alerta-rosu {
  background: var(--rosu-fundal); color: #c0392b; border: 1px solid #f0b9b4;
  border-radius: var(--raza); padding: 11px 13px; font-size: 13.5px;
  font-weight: 600; margin-bottom: 14px;
}
.asi-act-rand {
  border: 1px solid var(--linie); border-radius: var(--raza);
  padding: 9px 12px; margin-bottom: 7px; background: var(--alb);
}
.asi-act-rosu { border-color: #f0b9b4; background: var(--rosu-fundal); }
.asi-act-tip { font-weight: 700; color: var(--ardezie); font-size: var(--text-mic); }
.asi-act-meta { font-size: 12.5px; color: var(--gri); margin-top: 2px; }
.asi-flag-rosu {
  color: #c0392b; font-weight: 700; margin-left: 6px;
}


/* === VAL-NOTA-PERM === */
.val-nota-perm {
  font-size: 12.5px; color: var(--gri-clar); font-style: italic;
  padding: 6px 4px; display: inline-block;
}\n

/* [patch3_fereastra_calitate] */
.asi-cal-carduri { display:flex; gap:10px; margin:8px 0 12px; }
.asi-cal-card { flex:1; background:#f5f6f8; border-radius:8px; padding:10px 12px; }
.asi-cal-eticheta { font-size: var(--text-mic); color:#5f5e5a; margin-bottom:4px; }
.asi-cal-cifra { font-size: var(--text-titlu); font-weight:500; }
.asi-cal-verde { color:#1d7a4d; }
.asi-cal-rosu  { color:#b3261e; }
.asi-cal-rand2 { display:flex; gap:18px; flex-wrap:wrap; font-size: var(--text-mic); color:#444; margin-bottom:14px; }
.asi-cal-motive-titlu { font-size: var(--text-mic); font-weight:500; color:#5f5e5a; margin:6px 0 8px; }
.asi-cal-motiv { display:flex; justify-content:space-between; font-size: var(--text-mic); padding:5px 0; border-top:0.5px solid #e6e5e1; }
.asi-cal-motiv-nr { color:#5f5e5a; }\n

/* [patch5_fereastra_completa] */
.asi-nivel-badge { font-size: var(--text-mic); font-weight:500; background:#e6eefb; color:#1c4fa3; padding:3px 10px; border-radius:8px; }
.asi-sem { width:10px; height:10px; border-radius:50%; display:inline-block; }
.asi-sem-verde  { background:#1d7a4d; }
.asi-sem-galben { background:#c9961f; }
.asi-sem-rosu   { background:#ff3b30; }

/* [patch11_semafor_explicit] */
.asi-sem-txt { font-size:12.5px; color:#5f5e5a; margin-left:5px; }
.asi-badge { font-size: var(--text-mic); padding:1px 7px; border-radius:6px; }
.asi-badge-rosu   { background:#fae0de; color:#9c2a22; }
.asi-badge-galben { background:#fcf0d6; color:#8a6516; }
.asi-badge-gri    { background:#eceae3; color:#5f5e5a; }\n

/* [patch6_editare_completa] */
.asi-cauta { padding:7px 10px; border:0.5px solid #d0cfc9; border-radius:8px; font-size: var(--text-mic); box-sizing:border-box; }
.asi-info-patru { font-size: var(--text-mic); color:#8a6516; background:#fcf0d6; border-radius:8px; padding:8px 10px; margin:8px 0 14px; }

/* [gridfix_asistenti] */
.asi-perms, .asi-rand-sus { grid-column: 1 / -1; }
.val-card:has(.asi-perms) { display:block; }


/* [patch8_lista_dez] */
.asi-toggle-dez {
  margin-top: 10px; padding: 7px 12px; font-family: inherit; font-size: var(--text-mic);
  background: var(--fundal, #f5f6f8); color: var(--gri, #5f5e5a);
  border: 0.5px solid var(--linie, #d0cfc9); border-radius: 8px; cursor: pointer;
}
.asi-toggle-dez:hover { background: #ecebe5; }
#asi-lista-dez { margin-top: 8px; }


/* [patch10_card_sem] */
.asi-echipa-banner {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; margin: 4px 0 12px;
  background: var(--fundal, #f5f6f8); border-radius: 10px;
}
.asi-echipa-text { font-size: var(--text-mic); color: var(--ardezie, #2c2b28); flex: 1; }
.asi-echipa-btn {
  padding: 6px 12px; font-family: inherit; font-size: var(--text-mic); cursor: pointer;
  background: #fff; border: 0.5px solid var(--linie, #d0cfc9); border-radius: 8px;
  color: var(--ardezie, #2c2b28);
}
.asi-echipa-btn:hover { background: #ecebe5; }


/* [p17_activitate] Ecran D - Activitate cabinet */
.ac-perbar { display:flex; gap:6px; margin-bottom:12px; flex:0 0 auto; }
.ac-per { font-size:12.5px; padding:5px 12px; border-radius:14px; border:0.5px solid var(--linie);
          background:#fff; color:#5f5e5a; cursor:pointer; }
.ac-per-on { background:#1d4ed8; color:#fff; border-color:#1d4ed8; }
.ac-carduri { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:14px; flex:0 0 auto; }
.ac-card { background:#f5f6f8; border-radius:8px; padding:10px 12px; text-align:center; }
.ac-cifra { font-size: var(--text); font-weight:700; color:#22324f; }
.ac-cifra.ac-rosu { color:#ff3b30; }
.ac-descr { font-size: var(--text-mic); color:#5f5e5a; margin-top:2px; }
/* jurnal: grid pe 5 coloane, antet fix prin mig-sold-tabel flex */
.ac-tabel .ac-rand, .ac-tabel .ac-cap {
  display:grid; grid-template-columns:130px 1fr 120px 1fr 1fr; gap:8px; align-items:center;
}
.ac-cap { font-size: var(--text-mic); letter-spacing:.04em; color:#8a8f98; font-weight:600;
          position:sticky; top:0; background:#fff; z-index:1; }
.ac-cand { color:#5f5e5a; font-size:12.5px; }
.ac-cine { font-weight:600; color:#22324f; }
.ac-act  { display:flex; align-items:center; }
.ac-decl, .ac-firma { font-size:12.5px; color:#3a4250; }
.ac-motiv { font-size: var(--text-mic); color:#ff3b30; padding:2px 0 6px 138px; }


/* [p19_selfview] Ecran F - self-view asistent */
.sv-sem-line { margin-left:10px; }
.sv-carduri { display:flex; gap:10px; margin:8px 0 14px; }
.sv-card { flex:1; background:#f5f6f8; border-radius:8px; padding:10px 12px; text-align:center; }
.sv-cifra { font-size: var(--text); font-weight:700; color:#22324f; }
.sv-cifra.sv-rosu { color:#ff3b30; }
.sv-descr { font-size: var(--text-mic); color:#5f5e5a; margin-top:2px; }
.sv-tipare { display:flex; flex-direction:column; gap:0; margin-bottom:14px; }
.sv-tipar { display:flex; align-items:center; gap:8px; padding:7px 0;
            border-top:0.5px solid #e6e5e1; font-size: var(--text-mic); }
.sv-tipar-motiv { flex:1; color:#3a4250; }
.sv-tipar-nr { color:#5f5e5a; font-size:12.5px; }
.sv-fara-tipare { display:flex; align-items:center; gap:8px; font-size: var(--text-mic);
                  color:#1d7a4d; padding:8px 0 14px; }
.sv-act-tabel .sv-act-rand, .sv-act-tabel .sv-act-cap {
  display:grid; grid-template-columns:150px 1fr 110px; gap:8px; align-items:center;
}
.sv-act-cap { font-size: var(--text-mic); letter-spacing:.04em; color:#8a8f98; font-weight:600;
              position:sticky; top:0; background:#fff; z-index:1; }
.sv-cand { color:#5f5e5a; font-size:12.5px; }
.sv-decl { display:flex; align-items:center; font-size:12.5px; color:#3a4250; }
.sv-stare { font-size:12.5px; color:#5f5e5a; }


/* [p22_bara_lant] lantul barei 1 (verigi + chevron) */
.bara-chevron { color: rgba(255,255,255,0.45); font-size: var(--text); margin: 0 2px; }
.bara-veriga { font-size: var(--text-mic); font-weight: 600; color: var(--alb); }
.bara-veriga-slab { font-size: var(--text-mic); color: #cdddf0; }


/* [p24_bara3] bara 3 motivationala (asistent) */
.sv-bara3 { margin-top:6px; font-size: var(--text-mic); color:var(--text-secondary,#5f5e5a); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sv-b3-item b { font-weight:600; color:#1d4ed8; }
.sv-b3-sep { color:#b4b2a9; }


/* [p25_bara3] bara 3 — fasie mai deschisa decat subbara */
.bara3 { height: 36px; background: #cdd8e6; display: flex; align-items: center; gap: 8px; padding: 0 16px; }
.bara3-item { font-size: var(--text-mic); color: #2b3a4f; }
.bara3-item b { font-weight: 700; color: #1a2535; }
.bara3-sep { color: #7f93ad; }
.bara3-gol { font-size: var(--text-mic); color: #51627a; font-style: italic; }


/* [p28_setari] Ecran Setari cont */
.set-sectiune { background:#f7f8fa; border:0.5px solid var(--linie,#e6e5e1); border-radius:10px; padding:14px 16px; margin-bottom:14px; max-width:520px; }
.set-titlu { font-size: var(--text-mic); font-weight:600; color:#22324f; margin-bottom:10px; }
.set-camp { display:block; margin-bottom:10px; }
.set-eticheta { display:block; font-size:12.5px; color:#5f5e5a; margin-bottom:4px; }
.set-input { width:100%; box-sizing:border-box; padding:8px 10px; font-size: var(--text-mic); border:0.5px solid #cfd4dc; border-radius:7px; background:#fff; }
.set-input:focus { outline:none; border-color:#1d4ed8; }
.set-mesaj { font-size: var(--text-mic); margin-top:8px; min-height:16px; }
.set-mesaj.set-ok { color:#1d7a4d; }
.set-mesaj.set-err { color:#ff3b30; }


/* [p34_raporteaza] Ecran + badge raportari */
.cab-card-badge { position:absolute; top:10px; right:10px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:#ff3b30; color:#fff; font-size: var(--text-mic); font-weight:700; display:flex; align-items:center; justify-content:center; box-sizing:border-box; }
.rap-titlu-lista { font-size: var(--text-mic); font-weight:600; color:#22324f; margin:18px 0 10px; }
.rap-lista { display:flex; flex-direction:column; gap:8px; max-width:640px; }
.rap-gol { font-size: var(--text-mic); color:#8a897f; font-style:italic; padding:8px 0; }
.rap-fir { border:0.5px solid var(--linie,#e6e5e1); border-radius:9px; background:#fff; overflow:hidden; }
.rap-fir-cap { display:flex; align-items:center; gap:10px; padding:10px 14px; cursor:pointer; }
.rap-fir-cap:hover { background:#f7f8fa; }
.rap-fir-subiect { font-size: var(--text-mic); font-weight:600; color:#1a2535; flex:1; }
.rap-badge { min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:#ff3b30; color:#fff; font-size: var(--text-mic); font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.rap-fir-stare { font-size:11.5px; padding:2px 8px; border-radius:10px; }
.rap-stare-noua { background:#eef2f9; color:#445; }
.rap-stare-raspuns { background:#e6f6ec; color:#15803d; }
.rap-stare-inchisa { background:#f0efe9; color:#8a897f; }
.rap-fir-data { font-size: var(--text-mic); color:#9a988f; }
.rap-fir-corp { padding:8px 14px 14px; border-top:0.5px solid #eee; }
.rap-mesaje { display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.rap-mesaj { padding:8px 12px; border-radius:9px; max-width:85%; }
.rap-msg-eu { background:#e9f0fe; align-self:flex-end; }
.rap-msg-admin { background:#f3f1ec; align-self:flex-start; }
.rap-mesaj-cap { display:flex; gap:8px; align-items:baseline; font-size: var(--text-mic); color:#5f5e5a; margin-bottom:3px; }
.rap-mesaj-data { font-size: var(--text-mic); color:#a8a69d; }
.rap-mesaj-text { font-size: var(--text-mic); color:#1a2535; white-space:pre-wrap; }
.rap-replica { display:flex; gap:8px; align-items:flex-end; }
.rap-replica .rap-replica-text { flex:1; }
.rap-replica-btn { white-space:nowrap; }


/* [p37_rap_img] imagini in raportari */
.rap-poze { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.rap-thumb { position:relative; width:84px; height:84px; border-radius:8px; overflow:hidden; border:0.5px solid #cfd4dc; }
.rap-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.rap-thumb-x { position:absolute; top:2px; right:2px; width:18px; height:18px; border:none; border-radius:9px; background:rgba(0,0,0,0.6); color:#fff; font-size: var(--text-mic); line-height:1; cursor:pointer; padding:0; }
.rap-actiuni { margin:6px 0 10px; }
.rap-btn-poza { font-size: var(--text-mic); color:#1d4ed8; background:#eef3ff; border:0.5px solid #cdddff; border-radius:7px; padding:6px 12px; cursor:pointer; }
.rap-btn-poza:hover { background:#e0eaff; }
.rap-mesaj-poze { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.rap-img { max-width:160px; max-height:160px; border-radius:7px; border:0.5px solid #d8dde5; cursor:zoom-in; display:block; }
.rap-img-link { display:inline-block; }


/* [p38_rap_pct] punct "in asteptare" pe firul de raportare */
.rap-badge-pct { width:9px; height:9px; border-radius:50%; background:#ff3b30; display:inline-block; flex-shrink:0; }


/* [p36_admin_raportari] */
/* ----- Admin Raportari: split master-detail in fereastra fer-larg ----- */
/* fereastra fer-larg: corpul devine flex column; split-ul ia spatiul ramas */
.fereastra.fer-larg .rap-split {
  display: flex;
  gap: 16px;
  flex: 1 1 auto;
  min-height: 200px;
}
.fereastra.fer-larg .mig-intro { flex: 0 0 auto; }

/* coloana stanga: lista sesizari, un singur scrollbar */
.rap-col-lista {
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--linie);
  border-radius: var(--raza);
  overflow: hidden;
}
.rap-col-lista > div {
  overflow-y: auto;
  flex: 1 1 auto;
}

/* coloana dreapta: firul, antet fix + mesaje scrollabile + compose fix */
.rap-col-fir {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--linie);
  border-radius: var(--raza);
  overflow: hidden;
  min-width: 0;
}

.rap-gol {
  padding: 24px;
  color: var(--gri-clar);
  font-size: var(--text-mic);
  text-align: center;
  margin: auto;
}

/* ----- rand sesizare (lista) ----- */
.rap-rand {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  background: var(--alb);
  border: 0;
  border-bottom: 1px solid var(--linie);
  cursor: pointer;
  font-family: var(--font);
}
.rap-rand:hover { background: var(--albastru-clar); }
.rap-rand-activ { background: var(--albastru-clar); }

/* bulina semafor: rosu = fara raspuns */
.rap-bulina {
  flex: 0 0 auto;
  width: 10px; height: 10px;
  border-radius: 50%;
  margin-top: 4px;
  background: transparent;
  border: 1px solid var(--linie);
}
.rap-bulina-on { background: #ff3b30; border-color: #ff3b30; }

.rap-rand-text { flex: 1 1 auto; min-width: 0; }
.rap-rand-sus {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}
.rap-subiect {
  font-size: var(--text-mic); font-weight: 600; color: var(--ardezie);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rap-cand { flex: 0 0 auto; font-size: var(--text-mic); color: var(--gri-clar); }
.rap-rand-jos {
  display: block;
  font-size: var(--text-mic); color: var(--gri);
  margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ----- firul sesizarii (dreapta) ----- */
.rap-fir-cap {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-bottom: 1px solid var(--linie);
  background: var(--fundal);
}
.rap-fir-subiect { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.rap-fir-meta { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }

.rap-mesaje {
  flex: 1 1 auto;
  min-height: 80px;
  overflow-y: auto;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rap-msg { max-width: 78%; }
.rap-msg-text {
  padding: 8px 12px;
  border-radius: 10px;
  font-size: var(--text-mic);
  line-height: 1.4;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.rap-msg-cand { font-size: var(--text-mic); color: var(--gri-clar); margin-top: 3px; }

/* utilizator = stanga, gri; admin = dreapta, albastru */
.rap-msg-user { align-self: flex-start; }
.rap-msg-user .rap-msg-text { background: var(--albastru-clar); color: var(--ardezie); }
.rap-msg-admin { align-self: flex-end; text-align: right; }
.rap-msg-admin .rap-msg-text { background: var(--albastru); color: var(--alb); }

.rap-msg-img {
  display: block;
  max-width: 220px; max-height: 220px;
  margin-top: 6px;
  border-radius: 8px;
  border: 1px solid var(--linie);
}
.rap-msg-admin .rap-msg-img { margin-left: auto; }

/* ----- compose (raspuns) ----- */
.rap-compose {
  flex: 0 0 auto;
  border-top: 1px solid var(--linie);
  padding: 10px 12px;
  background: var(--alb);
}
.rap-text {
  width: 100%;
  resize: vertical;
  min-height: 44px;
  border: 1px solid var(--linie);
  border-radius: var(--raza);
  padding: 8px 10px;
  font-family: var(--font);
  font-size: var(--text-mic);
  color: var(--ardezie);
  box-sizing: border-box;
}
.rap-text:focus { outline: 0; border-color: var(--albastru); box-shadow: 0 0 0 3px var(--albastru-clar); }
.rap-compose-bara {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}
.rap-atas {
  font-size: var(--text-mic); color: var(--albastru);
  cursor: pointer; user-select: none;
}
.rap-atas:hover { text-decoration: underline; }
.rap-trimite {
  border: 0;
  border-radius: var(--raza);
  background: var(--albastru);
  color: var(--alb);
  padding: 8px 18px;
  font-family: var(--font);
  font-size: var(--text-mic);
  cursor: pointer;
}
.rap-trimite:hover { background: var(--albastru-inchis); }
.rap-trimite:disabled { background: var(--gri-clar); cursor: default; }
.rap-img-nume { font-size: var(--text-mic); color: var(--gri); margin-top: 6px; }


/* [p39_rap_tabs] */
/* tab-uri casute Admin Raportari */
.fereastra.fer-larg .rap-tabs { flex: 0 0 auto; }
.rap-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--linie);
}
.rap-tab {
  border: 0;
  background: transparent;
  padding: 8px 14px;
  font-family: var(--font);
  font-size: var(--text-mic);
  color: var(--gri);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.rap-tab:hover { color: var(--ardezie); }
.rap-tab-activ { color: var(--albastru); border-bottom-color: var(--albastru); font-weight: 600; }
.rap-tab-nr {
  display: inline-block;
  min-width: 18px;
  padding: 0 5px;
  margin-left: 4px;
  font-size: var(--text-mic);
  line-height: 16px;
  text-align: center;
  border-radius: 9px;
  background: #ff3b30;
  color: #fff;
}
.rap-tab-nr:empty { display: none; }

/* buton mutare intre casute */
.rap-muta {
  margin-top: 8px;
  border: 1px solid var(--linie);
  background: var(--alb);
  border-radius: var(--raza);
  padding: 5px 10px;
  font-family: var(--font);
  font-size: var(--text-mic);
  color: var(--portocaliu);
  cursor: pointer;
}
.rap-muta:hover { background: var(--portocaliu-fundal); border-color: var(--portocaliu); }


/* [p41_rap_copy] */
/* iconita de copiere pe randul de reclamatie */
.rap-copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px; height: 26px;
  margin-left: 6px;
  border-radius: var(--raza);
  color: var(--gri);
  cursor: pointer;
}
.rap-copy:hover { background: var(--albastru-clar); color: var(--albastru); }
.rap-copy-ok { color: #1d7a4d; background: transparent; }


/* [p42_rap_copy_tot] */
/* butonul global Copiaza tot, in bara de tab-uri */
.rap-tabs-spatiu { flex: 1 1 auto; }
.rap-copy-tot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--linie);
  background: var(--alb);
  border-radius: var(--raza);
  padding: 5px 10px;
  margin-bottom: 4px;
  font-family: var(--font);
  font-size: var(--text-mic);
  color: var(--albastru);
  cursor: pointer;
}
.rap-copy-tot:hover { background: var(--albastru-clar); border-color: var(--albastru); }


/* [p45_declaratii] */
/* buton secundar (lipsea) */
.buton-secundar {
  border: 1px solid var(--linie);
  border-radius: var(--raza);
  background: var(--alb);
  color: var(--ardezie);
  padding: 9px 18px;
  font-family: var(--font);
  font-size: var(--text-mic);
  cursor: pointer; box-shadow: 0 2px 6px rgba(20,30,45,0.18); transition: background 0.15s, transform 0.1s, box-shadow 0.1s;
}
.buton-secundar:hover { background: var(--fundal); transform: translateY(-1px); box-shadow: 0 3px 9px rgba(20,30,45,0.25); }

/* ---- ecran Declaratii ---- */
.dec-form { display: flex; flex-direction: column; gap: 16px; margin-top: 4px; }
.dec-camp { display: flex; flex-direction: column; gap: 5px; }
.dec-eticheta { font-size: var(--text-mic); color: var(--gri); font-weight: 600; }
.dec-select, .dec-input {
  border: 1px solid var(--linie);
  border-radius: var(--raza);
  padding: 9px 10px;
  font-family: var(--font);
  font-size: var(--text-mic);
  color: var(--ardezie);
  background: var(--alb);
}
.dec-select:focus, .dec-input:focus { outline: 0; border-color: var(--albastru); box-shadow: 0 0 0 3px var(--albastru-clar); }
.dec-perioada-rand { display: flex; gap: 12px; flex-wrap: wrap; }
.dec-camp-mic { flex: 1 1 140px; }

.dec-bara { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.fereastra.fer-larg .dec-bara { flex: 0 0 auto; }

/* avertismente / ok */
.dec-avert {
  border: 1px solid #e7c97a;
  background: #fdf6e3;
  border-radius: var(--raza);
  padding: 12px 14px;
  margin: 4px 0 14px;
}
.dec-avert-cap { font-weight: 600; color: #8a6d1f; margin-bottom: 6px; font-size: var(--text-mic); }
.dec-avert ul { margin: 0; padding-left: 18px; font-size: var(--text-mic); color: var(--ardezie); }
.dec-avert li { margin: 3px 0; }
.dec-ok {
  border: 1px solid #aedcc0; background: #eef8f1;
  border-radius: var(--raza); padding: 12px 14px; margin: 4px 0 14px;
  font-size: var(--text-mic); color: #1d7a4d;
}
.dec-eroare {
  border: 1px solid #e6a59e; background: var(--rosu-fundal);
  border-radius: var(--raza); padding: 12px 14px; margin: 8px 0;
  font-size: var(--text-mic); color: var(--rosu);
}

/* XML */
.dec-xml { margin-bottom: 8px; }
.dec-xml summary { cursor: pointer; font-size: var(--text-mic); color: var(--albastru); }
.fereastra.fer-larg .dec-xml { flex: 1 1 auto; min-height: 80px; display: flex; flex-direction: column; }
.fereastra.fer-larg .dec-xml[open] .dec-xml-pre { flex: 1 1 auto; }
.dec-xml-pre {
  margin: 8px 0 0;
  background: #1e2733; color: #d6e2ee;
  border-radius: var(--raza);
  padding: 12px;
  font-family: "Cascadia Code", Consolas, monospace;
  font-size: var(--text-mic);
  white-space: pre-wrap;
  word-break: break-all;
  overflow: auto;
  max-height: 360px;
}

/* gata */
.dec-gata { text-align: center; padding: 26px 10px; }
.dec-gata-bif {
  width: 52px; height: 52px; margin: 0 auto 12px;
  border-radius: 50%; background: #eef8f1; color: #1d7a4d;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-titlu); font-weight: 700;
}
.dec-gata-titlu { font-size: var(--text); font-weight: 600; color: var(--ardezie); }
.dec-gata-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 6px; }


/* [p49_setari_bife] */
.set-nota { font-size: var(--text-mic); color: var(--gri); margin: 0 0 10px; }
.set-bifa {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--text-mic); color: var(--ardezie);
  padding: 5px 0; cursor: pointer;
}
.set-bifa input { width: 16px; height: 16px; cursor: pointer; }
.set-mesaj.set-ok { color: #1d7a4d; }
.set-mesaj.set-err { color: var(--rosu); }


/* [p52_edu] */
.edu-banner {
  display: flex; align-items: flex-start; gap: 12px;
  background: #eef4ff; border: 1px solid #cfe0fb;
  border-radius: var(--raza); padding: 14px 16px; margin-bottom: 18px;
}
.edu-icon {
  flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%;
  background: var(--albastru); color: #fff; font-weight: 700; font-style: italic;
  display: flex; align-items: center; justify-content: center; font-size: var(--text-mic);
}
.edu-text { flex: 1 1 auto; min-width: 0; }
.edu-titlu { font-weight: 600; color: var(--ardezie); font-size: var(--text-mic); margin-bottom: 4px; }
.edu-corp { font-size: var(--text-mic); color: var(--gri); line-height: 1.45; }
.edu-ok {
  flex: 0 0 auto; align-self: center;
  border: 0; border-radius: var(--raza); background: var(--albastru); color: #fff;
  padding: 9px 18px; font-family: var(--font); font-size: var(--text-mic); cursor: pointer;
}
.edu-ok:hover { background: var(--albastru-inchis); }


/* [p56_decizie] */
.edu-actiuni { display: flex; gap: 10px; margin-top: 10px; }
.edu-nu {
  border: 1px solid var(--linie); background: var(--alb); color: var(--gri);
  border-radius: var(--raza); padding: 9px 18px;
  font-family: var(--font); font-size: var(--text-mic); cursor: pointer;
}
.edu-nu:hover { background: var(--fundal); }


/* [p59_clopot] */
.nav-clopot {
  position: relative; background: transparent; border: 0; color: #fff;
  font-size: var(--text); cursor: pointer; padding: 6px 8px; margin-right: 4px; line-height: 1;
}
.nav-clopot:hover { opacity: 0.85; }
.nav-clopot-badge {
  position: absolute; top: 0; right: 0;
  min-width: 16px; height: 16px; padding: 0 4px;
  background: #ff3b30; color: #fff; border-radius: 9px;
  font-size: var(--text-mic); font-weight: 700;
  display: none; align-items: center; justify-content: center;
}
.clopot-panou {
  position: absolute; top: 52px; right: 16px; z-index: 200;
  width: 340px; max-height: 60vh;
  background: var(--alb); border: 1px solid var(--linie);
  border-radius: var(--raza); box-shadow: var(--umbra-card);
  display: flex; flex-direction: column; overflow: hidden;
}
.clopot-cap {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; border-bottom: 1px solid var(--linie);
  font-weight: 600; font-size: var(--text-mic); color: var(--ardezie); flex: 0 0 auto;
}
.clopot-toate { border: 0; background: transparent; color: var(--albastru); font-size: var(--text-mic); cursor: pointer; }
.clopot-toate:hover { text-decoration: underline; }
.clopot-lista { overflow-y: auto; flex: 1 1 auto; }
.clopot-gol { padding: 20px; text-align: center; color: var(--gri-clar); font-size: var(--text-mic); }
.clopot-item {
  display: block; width: 100%; text-align: left; border: 0;
  background: var(--alb); border-bottom: 1px solid var(--linie);
  padding: 10px 14px; cursor: pointer; font-family: var(--font);
}
.clopot-item:hover { background: var(--fundal); }
.clopot-necitit { background: #eef4ff; }
.clopot-necitit:hover { background: #e3edfd; }
.clopot-text { font-size: var(--text-mic); color: var(--ardezie); line-height: 1.4; }
.clopot-cand { font-size: var(--text-mic); color: var(--gri-clar); margin-top: 3px; }


/* [p64_pachete] */
.pac-rezumat { border: 1px solid var(--linie); border-radius: var(--raza); padding: 12px 14px; margin: 4px 0 16px; }
.pac-rez-rand { display: flex; justify-content: space-between; padding: 5px 0; font-size: var(--text-mic); color: var(--gri); }
.pac-rez-rand b { color: var(--ardezie); }
.pac-rez-total { border-top: 1px solid var(--linie); margin-top: 4px; padding-top: 8px; }
.pac-rez-total b { font-size: var(--text-mic); }
.pac-poveste-cap { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-weight: 600; color: var(--ardezie); font-size: var(--text-mic); }
.pac-genereaza {
  border: 1px solid var(--albastru); background: var(--albastru-clar); color: var(--albastru);
  border-radius: var(--raza); padding: 6px 12px; font-family: var(--font); font-size: var(--text-mic); cursor: pointer;
}
.pac-genereaza:hover { background: #dde9fb; }
.pac-genereaza:disabled { opacity: 0.6; cursor: default; }
.fereastra.fer-larg .pac-text { flex: 1 1 auto; min-height: 120px; }
.pac-text {
  width: 100%; box-sizing: border-box; resize: vertical; min-height: 160px;
  border: 1px solid var(--linie); border-radius: var(--raza); padding: 12px;
  font-family: var(--font); font-size: var(--text-mic); line-height: 1.5; color: var(--ardezie);
}
.pac-text:focus { outline: 0; border-color: var(--albastru); box-shadow: 0 0 0 3px var(--albastru-clar); }
.pac-stare { font-size: var(--text-mic); color: var(--gri); margin-top: 6px; }
.fereastra.fer-larg .pac-rezumat,
.fereastra.fer-larg .pac-poveste-cap,
.fereastra.fer-larg .pac-stare,
.fereastra.fer-larg .mig-intro { flex: 0 0 auto; }


/* [p65_pacmodal] */
/* zona de deschidere (pasul 2) */
.pac-deschide-zona {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 18px; margin-top: 8px;
  border: 1px dashed var(--linie); border-radius: var(--raza); background: var(--fundal);
}
.pac-deschide-stare { font-size: var(--text-mic); color: var(--gri); }

/* overlay modal central */
.pacm-overlay {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(20,30,45,0.5);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  animation: pacm-fade 0.12s ease-out;
}
@keyframes pacm-fade { from { opacity: 0; } to { opacity: 1; } }
.pacm {
  width: 100%; max-width: 720px; max-height: calc(100vh - 80px);
  background: var(--alb); border-radius: 10px;
  box-shadow: 0 8px 40px rgba(20,30,45,0.3);
  display: flex; flex-direction: column; overflow: hidden;
}
.pacm-cap {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 18px 22px; border-bottom: 1px solid var(--linie); flex: 0 0 auto;
}
.pacm-titlu { font-size: var(--text); font-weight: 600; color: var(--ardezie); }
.pacm-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.pacm-x { border: 0; background: transparent; font-size: var(--text); color: var(--gri); cursor: pointer; line-height: 1; padding: 4px; }
.pacm-x:hover { color: var(--ardezie); }

.pacm-corp { flex: 1 1 auto; overflow: hidden; display: flex; padding: 0; }
.pacm-editor { flex: 1 1 auto; display: flex; padding: 18px 22px; }
.pacm-text {
  width: 100%; box-sizing: border-box; resize: none; border: 0; outline: 0;
  font-family: var(--font); font-size: var(--text); line-height: 1.65; color: var(--ardezie);
}
.pacm-preview { flex: 1 1 auto; overflow-y: auto; padding: 22px; background: var(--fundal); }

/* preview email */
.pacm-mail {
  background: var(--alb); border: 1px solid var(--linie); border-radius: 8px;
  padding: 20px 24px; max-width: 600px; margin: 0 auto;
  font-family: sans-serif; color: #111;
}
.pacm-mail-h { font-size: var(--text); font-weight: 700; }
.pacm-mail-sub { color: #555; font-size: var(--text-mic); margin: 2px 0 14px; }
.pacm-mail-box { background: #f6f8fa; padding: 14px; border-radius: 8px; font-size: var(--text-mic); line-height: 1.6; }
.pacm-mail-foot { color: #888; font-size: var(--text-mic); margin-top: 16px; }

.pacm-stare { padding: 0 22px; font-size: var(--text-mic); color: var(--gri); flex: 0 0 auto; min-height: 16px; }
.pacm-bara {
  display: flex; align-items: center; gap: 8px;
  padding: 14px 22px; border-top: 1px solid var(--linie); flex: 0 0 auto; flex-wrap: wrap;
}
.pacm-spatiu { flex: 1 1 auto; }
.pacm-bara .buton-primar, .pacm-bara .buton-secundar { padding: 8px 14px; font-size: var(--text-mic); }


/* [p66_pacmodal_mare] */
/* fereastra MARE pentru poveste - contabilul nu e inghesuit */
.pacm-overlay { padding: 32px; }
.pacm {
  max-width: 900px;
  width: 100%;
  height: calc(100vh - 64px);
  max-height: none;
}
.pacm-corp { flex: 1 1 auto; }
.pacm-editor { padding: 26px 34px; }
.pacm-text {
  font-size: var(--text);
  line-height: 1.75;
}
.pacm-text::placeholder { color: var(--gri-clar); }


/* [p68_rec] */
.rec-cap { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.rec-vezi { border: 1px solid var(--linie); background: var(--alb); color: var(--albastru); border-radius: var(--raza); padding: 5px 12px; font-family: var(--font); font-size: var(--text-mic); cursor: pointer; }
.rec-vezi:hover { background: var(--albastru-clar); border-color: var(--albastru); }
.rec-overlay { position: fixed; inset: 0; z-index: 300; background: rgba(20,30,45,0.55); display: flex; align-items: center; justify-content: center; padding: 28px; }
.rec-modal { width: 100%; max-width: 640px; max-height: calc(100vh - 80px); background: var(--alb); border-radius: 10px; box-shadow: 0 8px 40px rgba(20,30,45,0.3); display: flex; flex-direction: column; overflow: hidden; }
.rec-modal-cap { display: flex; align-items: flex-start; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--linie); flex: 0 0 auto; }
.rec-modal-titlu { font-size: var(--text); font-weight: 600; color: var(--ardezie); }
.rec-modal-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.rec-modal-x { border: 0; background: transparent; font-size: var(--text); color: var(--gri); cursor: pointer; padding: 4px; }
.rec-modal-x:hover { color: var(--ardezie); }
.rec-modal-corp { overflow-y: auto; flex: 1 1 auto; padding: 22px; background: var(--fundal); }
.rec-modal-bara { padding: 12px 20px; border-top: 1px solid var(--linie); flex: 0 0 auto; display: flex; justify-content: flex-end; }

/* [p64_sumar_toast] toast sumar la login */
.sumar-toast {
  position: fixed; right: 20px; bottom: 20px; z-index: 9999;
  background: #ffffff; border: 1px solid #e3e6ea; border-left: 4px solid #1d7a4d;
  border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.14);
  padding: 12px 16px; max-width: 320px; cursor: pointer;
  opacity: 0; transform: translateY(12px); transition: opacity .3s ease, transform .3s ease;
}
.sumar-toast.sumar-toast-vizibil { opacity: 1; transform: translateY(0); }
.sumar-toast-cap { font-size: var(--text-mic); font-weight: 600; color: #1a1d21; margin-bottom: 4px; }
.sumar-toast-corp { font-size: var(--text-mic); color: #444; line-height: 1.4; }

/* [p71_capacitate] ecran Capacitate */
.cap-ecran { padding: 4px 2px; }
.cap-titlu { font-size: var(--text); text-transform: uppercase; letter-spacing: .04em;
  color: #888; margin: 22px 0 10px; }
.cap-titlu:first-child { margin-top: 4px; }
.cap-cifre { display: flex; gap: 28px; flex-wrap: wrap; }
.cap-cifra-bloc { min-width: 96px; }
.cap-cifra { font-size: var(--text-titlu); font-weight: 700; line-height: 1; }
.cap-cifra-desc { font-size: var(--text); color: #666; margin-top: 4px; }
.cap-nota { font-size: var(--text-mic); color: #999; margin: 8px 0 0; }
.cap-tabel-wrap { border: 1px solid #eee; border-radius: 8px; overflow: hidden; }
.cap-tabel { width: 100%; border-collapse: collapse; font-size: var(--text-mic); }
.cap-tabel th { text-align: left; background: #fafafa; color: #555;
  font-weight: 600; font-size: var(--text-mic); text-transform: uppercase; letter-spacing: .03em;
  padding: 8px 12px; border-bottom: 1px solid #eee; }
.cap-tabel td { padding: 9px 12px; border-bottom: 1px solid #f3f3f3; color: #1a1d21; }
.cap-tabel tr:last-child td { border-bottom: none; }
.cap-num { text-align: right; }
.cap-rol { font-size: var(--text-mic); color: #999; margin-left: 6px; }
.cap-gol { color: #999; text-align: center; padding: 16px; font-size: var(--text-mic); }

/* [p72_tipare] ecran Tipare */
.tip-ecran { padding: 4px 2px; }
.tip-titlu { font-size: var(--text-mic); text-transform: uppercase; letter-spacing: .04em;
  color: #888; margin: 22px 0 10px; }
.tip-titlu:first-child { margin-top: 4px; }
.tip-bara-cel { width: 120px; }
.tip-bara { background: #f0f0f0; border-radius: 4px; height: 8px; width: 100%; overflow: hidden; }
.tip-bara-fill { height: 100%; border-radius: 4px; }
.tip-gol-mare { padding: 24px 4px; }

/* [p73_sinteza_azi] panou sinteza azi (intampinare patron) */
.sa-gazda { margin: 0 0 20px; }
.sa-panou { display: flex; flex-direction: column; gap: 16px; }
.sa-sectiune { background: #fff; border: 1px solid #ececec; border-radius: 12px; padding: 16px 18px; }
.sa-cap { font-size: var(--text-mic); text-transform: uppercase; letter-spacing: .05em; color: #999; font-weight: 600; margin-bottom: 12px; }
.sa-cap-rand { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.sa-cap-rand .sa-cap { margin-bottom: 0; }
.sa-cifre { display: flex; gap: 10px; flex-wrap: wrap; }
.sa-cifra { display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  background: #fafafa; border: 1px solid #f0f0f0; border-radius: 10px; padding: 12px 16px;
  min-width: 92px; cursor: default; text-align: left; }
.sa-clic { cursor: pointer; transition: background .12s, border-color .12s; }
.sa-clic:hover { background: #f2f6ff; border-color: #d6e2fb; }
.sa-num { font-size: var(--text-titlu); font-weight: 700; line-height: 1; }
.sa-desc { font-size: var(--text-mic); color: #666; }
.sa-doua { display: flex; gap: 16px; flex-wrap: wrap; }
.sa-flex1 { flex: 1; min-width: 260px; }
.sa-asist-lista { display: flex; flex-direction: column; gap: 6px; }
.sa-asist { display: flex; justify-content: space-between; align-items: center;
  border: 1px solid #f0f0f0; border-radius: 8px; padding: 9px 12px; background: #fafafa; text-align: left; }
.sa-asist-nume { font-size: var(--text-mic); font-weight: 600; color: #1a1d21; }
.sa-asist-cifre { font-size: var(--text-mic); color: #777; }
.sa-jurnal { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sa-ev { display: flex; align-items: center; gap: 8px; font-size: var(--text-mic); color: #333; }
.sa-pct { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.sa-pct.pct-verde { background: #1d7a4d; }
.sa-pct.pct-rosu { background: #ff3b30; }
.sa-ev-txt { flex: 1; }
.sa-ev-ora { color: #aaa; font-size: var(--text-mic); }
.sa-link { background: none; border: none; color: #1d4ed8; font-size: var(--text-mic); cursor: pointer; padding: 0; }
.sa-link:hover { text-decoration: underline; }
.sa-gol { color: #999; font-size: var(--text-mic); padding: 4px 0; }

/* [p74_brief_modal] modal briefing de intampinare */
.brief-overlay { padding: 24px; }
.brief {
  width: 100%; max-width: 760px; max-height: calc(100vh - 80px);
  background: var(--alb); border-radius: 12px;
  box-shadow: 0 8px 40px rgba(20,30,45,0.3);
  display: flex; flex-direction: column; overflow: hidden;
}
.brief-cap {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 18px 22px; border-bottom: 1px solid var(--linie); flex: 0 0 auto;
}
.brief-titlu { font-size: var(--text); font-weight: 700; color: var(--ardezie); }
.brief-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.brief-corp { padding: 18px 22px; overflow-y: auto; display: flex; flex-direction: column; gap: 16px; }

/* [p75_carduri_mari] stari orizontale pe carduri (semafor doar cand e ceva) */
.cab-stari { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 12px; }
.cab-stare { display: inline-flex; align-items: center; font-size: var(--text); }  /* [p76_comasare_font] */

/* [p84_vector_css] formular vector fiscal */
.mig-form-titlu { font-size: var(--text-titlu); font-weight: 700; margin: 8px 0 2px; }
.mig-form-cui { font-size: var(--text-mic); color: var(--gri); margin: 0 0 16px; }
.vf-form { display: flex; flex-direction: column; gap: 18px; max-width: 520px; }
.vf-grup { display: flex; flex-direction: column; gap: 8px; }
.vf-eticheta { font-size: var(--text-mic); font-weight: 600; }
.vf-optiuni { display: flex; gap: 10px; flex-wrap: wrap; }
.vf-opt { padding: 10px 18px; border: 2px solid rgba(0,0,0,0.15); border-radius: 10px;
  background: #fff; font-family: inherit; font-size: var(--text-mic); cursor: pointer; transition: all 0.12s; }
.vf-opt:hover { border-color: rgba(0,0,0,0.3); }
.vf-opt.vf-on { border-color: #1d4ed8; background: #e9f0fe; color: #1d4ed8; font-weight: 600; }

/* [p89_portal_css] ecran client (portal) */
.cab-salut-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.pf-titlu { font-size: var(--text-titlu); font-weight: 700; margin: 6px 0 16px; }
.pf-intro { font-size: var(--text-mic); color: var(--gri); margin: 0 0 16px; }
.pf-lista { display: flex; flex-direction: column; gap: 2px; max-width: 640px; }
.pf-rand { display: flex; justify-content: space-between; gap: 16px; padding: 12px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.07); font-size: var(--text); }
.pf-et { color: var(--gri); }
.pf-val { font-weight: 600; text-align: right; }
.pf-frand { display: flex; justify-content: space-between; align-items: center; gap: 14px;
  padding: 14px; background: var(--alb); border: 1px solid var(--linie); border-radius: var(--raza); margin-bottom: 8px; }  /* portal_ds_audit_a_v1 */
.pf-frand-nume { font-size: var(--text-titlu); font-weight: 600; }
.pf-frand-sub { font-size: var(--text); color: var(--gri); margin-top: 2px; }
.pf-frand-suma { font-size: var(--text); font-weight: 600; white-space: nowrap; }
.pf-frand-ok { font-size: var(--text-mic); color: #1d7a4d; font-weight: 600; white-space: nowrap; }

/* [p92_portal_status] panou status ANAF pe portalul clientului */
.pa-status { margin: 4px 0 20px; }
.pa-card { border-radius: 12px; padding: 16px 22px; border: 2px solid; height: 100%; box-sizing: border-box; }  /* [p94_latime_panou] latime cat grila */
.pa-card .pa-titlu { font-size: var(--text-titlu); font-weight: 700; }
.pa-card .pa-sub { font-size: var(--text-mic); margin-top: 4px; opacity: 0.85; }
.pa-verde  { background: #eaf7f0; border-color: #1d7a4d; color: #145c39; }
.pa-galben { background: #fdf5e3; border-color: #c9961f; color: #8a6410; }
.pa-rosu   { background: #fdecec; border-color: #ff3b30; color: #a3231c; }
.pa-neutru { background: #f1f3f7; border-color: #c3c9d4; color: #4a5464; }
.pa-lista { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.pa-rand { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,0.6);
  border-radius: 8px; padding: 10px 14px; font-size: var(--text-mic); }
.pa-tip { font-weight: 700; min-width: 54px; }
.pa-perioada { font-weight: 600; opacity: 0.75; min-width: 40px; }
.pa-termen { margin-left: auto; opacity: 0.8; }

/* [p99_produse_css] ecran nomenclator produse */
.pr-cap { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pr-add { white-space:nowrap; }
.pr-form-zona { margin: 12px 0; }
.pr-form { background:#f7f9fc; border:2px solid rgba(0,0,0,0.10); border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:12px; }
.pr-form-rand { display:flex; gap:10px; flex-wrap:wrap; }
.pr-input { padding:10px 12px; border:1.5px solid #c8d0dc; border-radius:8px; font-size: var(--text-mic); }
.pr-den { width:100%; }
.pr-mic { flex:1; min-width:90px; }
.pr-form-detalii { }
.pr-form-actiuni { display:flex; gap:10px; align-items:center; }
.pr-anuleaza { background:none; border:none; color:#64748b; font-size: var(--text-mic); cursor:pointer; text-decoration:underline; }
.pr-cota-preview { min-height:4px; }
.pr-cota-cauta { color:#94a3b8; font-size: var(--text-mic); font-style:italic; }
.pr-cota-rezultat { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#fff; border-radius:8px; padding:8px 12px; border:1px solid #e2e8f0; }
.pr-cota-just { font-size: var(--text-mic); color:#475569; }
.pr-lista { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.pr-rand { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1.5px solid #e6eaf0; border-radius:10px; padding:12px 14px; }
.pr-rand-text { min-width:0; }
.pr-rand-nume { font-weight:600; font-size: var(--text-mic); }
.pr-rand-sub { font-size: var(--text-mic); color:#64748b; margin-top:2px; }
.pr-rand-drept { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.pr-badge { font-size: var(--text-mic); font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap; }
.prc-21 { background:#eef2f7; color:#475569; }
.prc-11 { background:#e7f6ee; color:#15803d; }
.prc-0  { background:#f3e8ff; color:#7e22ce; }
.pr-sterge { background:none; border:none; color:#cbd5e1; font-size: var(--text-titlu); line-height:1; cursor:pointer; padding:0 4px; }
.pr-sterge:hover { color:#ef4444; }

/* [p105_emitere_css] ecran emitere facturi */
.em-buton-sec { background:#eef2f7; color:#334155; border:1.5px solid #cbd5e1; border-radius:8px; padding:9px 16px; font-size: var(--text-mic); font-weight:600; cursor:pointer; }
.em-buton-sec:hover { background:#e2e8f0; }
.em-config { max-width:520px; margin-top:8px; }
.em-intrebare { font-size: var(--text); font-weight:600; margin-bottom:14px; }
.em-optiuni { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.em-config-form { }
.em-config-camp { display:flex; flex-direction:column; gap:5px; margin-bottom:12px; }
.em-config-camp label { font-size: var(--text-mic); color:#475569; font-weight:600; }
.em-hint { font-size: var(--text-mic); color:#64748b; margin:6px 0 12px; }
.em-numar { font-size: var(--text-mic); color:#475569; }
.em-numar b { color:#0f172a; }
.em-sectiune { margin:18px 0; }
.em-eticheta { font-size: var(--text-mic); font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:#64748b; margin-bottom:8px; }
.em-benef { display:flex; gap:8px; margin-bottom:8px; }
.em-cui { flex:1; }
.em-nume { width:100%; }
.em-cui-stare { font-size: var(--text-mic); margin-top:6px; min-height:16px; color:#64748b; }
.em-cui-ok { color:#15803d; font-weight:600; }
.em-cui-rau { color:#dc2626; }
.em-cui-atentie { color:#c2410c; }
.em-linii { display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.em-linie { display:grid; grid-template-columns: 1fr 80px 100px 54px 28px; gap:8px; align-items:center; }
.em-linie .pr-input { padding:9px 10px; }
.em-l-cota { text-align:center; font-weight:700; font-size: var(--text-mic); color:#64748b; }
.em-l-cota.cota-11 { color:#15803d; }
.em-l-cota.cota-21 { color:#475569; }
.em-l-cota.cota-0 { color:#7e22ce; }
.em-l-sterge { background:none; border:none; color:#cbd5e1; font-size: var(--text-titlu); cursor:pointer; }
.em-l-sterge:hover { color:#ef4444; }
.em-total { margin:16px 0; max-width:320px; margin-left:auto; }
.em-total-rand { display:flex; justify-content:space-between; padding:4px 0; font-size: var(--text-mic); color:#475569; }
.em-total-mare { border-top:2px solid #e2e8f0; margin-top:4px; padding-top:8px; font-size: var(--text); color:#0f172a; }
.em-actiuni { margin:16px 0; }
.em-emite { font-size: var(--text); padding:12px 28px; }
.em-rezultat { margin-top:12px; font-size: var(--text-mic); min-height:20px; }
.em-bun { color:#15803d; font-weight:600; }
.em-rau { color:#dc2626; }
@media (max-width:520px) {
  .em-linie { grid-template-columns: 1fr 60px 80px 44px 24px; gap:5px; }
}

/* [p108_fac_meniu_css] meniu facturi (2 optiuni) */
.fac-meniu { display:flex; flex-direction:column; gap:12px; max-width:520px; margin-top:8px; }
.fac-optiune { text-align:left; background:#cfe0f7; border:1px solid #a8c4e8; border-radius:12px; padding:18px 20px; cursor:pointer; font-family:var(--font); transition:border-color .15s, box-shadow .15s, transform .15s; }
.fac-optiune:hover { border-color:#0f6cbd; box-shadow:0 4px 14px rgba(15,108,189,0.14); transform:translateY(-1px); }
.fac-opt-titlu { font-size: var(--text); font-weight:700; color:#0f172a; }
.fac-opt-sub { font-size: var(--text-mic); color:#64748b; margin-top:3px; }

/* [p110_avert_css] avertisment firma inactiva la emitere */
.em-avert-inactiv { background:#fdecec; border:2px solid #ff3b30; border-radius:12px; padding:16px 18px; margin:12px 0; }
.em-avert-titlu { color:#c1121f; font-size: var(--text); font-weight:800; margin-bottom:8px; }
.em-avert-text { color:#a3231c; font-size: var(--text-mic); line-height:1.6; }
.em-avert-text b { font-weight:700; }

/* [p111_stil_benef] info TVA neutra + scot spinner de la input number */
.em-cui-info { color:#64748b; font-weight:400; }
.em-linie input[type=number]::-webkit-outer-spin-button,
.em-linie input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.em-linie input[type=number] { -moz-appearance:textfield; appearance:textfield; }

.fereastra-spatiu { flex: 1; }

/* ===== Detalii factura (fd-*) ===== */
.fd-antet { margin: 4px 0 16px; }
.fd-antet-sus { display: flex; align-items: center; gap: 10px; }
.fd-antet-linie { font-size: var(--text-mic); color: var(--gri); margin-top: 4px; }
.fd-tabel { width: 100%; border-collapse: collapse; margin: 8px 0 16px; font-size: var(--text-mic);
  background: #fff; border: 1px solid var(--linie); border-radius: var(--raza); overflow: hidden; }
.fd-tabel thead th { text-align: left; font-weight: 600; color: var(--ardezie);
  border-bottom: 1px solid var(--linie); padding: 8px 10px; background: #fff; }
.fd-tabel tbody td { padding: 8px 10px; border-bottom: 1px solid var(--linie); color: var(--ardezie); background: #fff; }
.fd-td-num, .fd-tabel thead th.fd-td-num, .fd-tabel thead th.fd-td-num { text-align: right; white-space: nowrap; }
.fd-td-um { color: var(--gri); }
.fd-td-den { font-weight: 500; }
.fd-totaluri { max-width: 320px; margin-left: auto; background: #fff; border: 1px solid var(--linie);
  border-radius: var(--raza); padding: 12px 9px; }
.fd-totaluri .fd-tot-rand span:last-child, .fd-totaluri .fd-tot-final span:last-child { text-align: right; min-width: 130px; }
.fd-tot-rand { display: flex; justify-content: space-between; gap: 24px; padding: 4px 0; font-size: var(--text-mic); color: var(--gri); }
.fd-tot-final { border-top: 1px solid var(--linie); margin-top: 4px; padding-top: 8px;
  font-size: var(--text-mic); font-weight: 700; color: var(--ardezie); }
.fd-valuta { max-width: 320px; margin: 14px 0 0 auto; padding: 12px;
  border: 1px solid var(--linie); border-radius: var(--raza); background: var(--fundal-usor, #f8f9fb); }
.fd-valuta-titlu { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); margin-bottom: 6px; }
.fd-valuta-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 6px; }

/* ===== Emitere: selector moneda + curs indisponibil ===== */
.em-moneda-rand { display: flex; align-items: center; gap: 10px; margin: 12px 0 4px; }
.em-moneda-eticheta { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); }
.em-moneda-select { padding: 6px 10px; border: 1px solid var(--linie); border-radius: var(--raza);
  font-size: var(--text-mic); background: var(--alb); color: var(--ardezie); }
.em-moneda-nota { font-size: var(--text-mic); color: var(--gri); }
.em-curs-box { border: 1px solid var(--portocaliu, #e08a2b); border-radius: var(--raza);
  background: var(--portocaliu-fundal, #fff6ec); padding: 12px; }
.em-curs-titlu { font-size: var(--text-mic); font-weight: 600; color: var(--ardezie); margin-bottom: 8px; }
.em-curs-actiuni { display: flex; gap: 8px; }
.em-curs-manual { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.em-curs-manual label { font-size: var(--text-mic); color: var(--gri); }
.em-curs-input { padding: 6px 10px; border: 1px solid var(--linie); border-radius: var(--raza); font-size: var(--text-mic); }
.em-curs-avertisment { font-size: var(--text-mic); color: var(--gri); }

/* ===== Model factura (mf-*) ===== */
.mf-layout { display: flex; gap: 24px; margin-top: 12px; flex-wrap: wrap; }
.mf-controale { flex: 1 1 260px; min-width: 240px; max-width: 320px; }
.mf-preview-wrap { flex: 2 1 380px; min-width: 300px; }
.mf-grup { margin-bottom: 18px; }
.mf-eticheta { display: block; font-size: var(--text-mic); font-weight: 600; color: var(--ardezie);
  margin-bottom: 8px; text-transform: uppercase; letter-spacing: .3px; }
.mf-logo-zona { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mf-logo-preview { max-width: 90px; max-height: 48px; border: 1px solid var(--linie); border-radius: 6px; padding: 4px; background: #fff; }
.mf-logo-btn { cursor: pointer; }
.mf-logo-sterge { background: none; border: none; color: var(--gri); font-size: var(--text-mic); cursor: pointer; text-decoration: underline; }
.mf-fonturi, .mf-culori { display: flex; gap: 8px; flex-wrap: wrap; }
.mf-font-opt { padding: 8px 14px; border: 1px solid var(--linie); border-radius: 8px;
  background: var(--alb); color: var(--ardezie); font-size: var(--text-mic); cursor: pointer; }
.mf-font-opt[data-font="serif"] { font-family: Georgia, serif; }
.mf-font-opt[data-font="mono"] { font-family: "Courier New", monospace; }
.mf-font-opt.mf-activ { border-color: var(--ardezie); box-shadow: 0 0 0 1px var(--ardezie) inset; font-weight: 600; }
.mf-culoare-opt { width: 30px; height: 30px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; }
.mf-culoare-opt.mf-activ { border-color: var(--ardezie); box-shadow: 0 0 0 2px #fff inset; }
.mf-salveaza { margin-top: 6px; }
/* preview factura-mostra */
.mf-preview { border: 1px solid var(--linie); border-radius: 10px; padding: 22px; background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.06); font-size: var(--text-mic); color: #222; }
.mfp-antet { display: flex; justify-content: space-between; align-items: flex-start;
  border-bottom: 2px solid; padding-bottom: 14px; margin-bottom: 14px; gap: 12px; }
.mfp-firma { display: flex; gap: 12px; align-items: flex-start; }
.mfp-logo { max-width: 70px; max-height: 56px; object-fit: contain; }
.mfp-nume { font-size: var(--text); font-weight: 700; }
.mfp-detalii { font-size: var(--text-mic); color: #666; margin-top: 2px; }
.mfp-titlu { text-align: right; font-size: var(--text-mic); font-weight: 700; line-height: 1.3; }
.mfp-nr { font-size: var(--text-mic); font-weight: 600; }
.mfp-tabel { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.mfp-tabel th { color: #fff; text-align: left; padding: 7px 9px; font-size: var(--text-mic); font-weight: 600; }
.mfp-tabel th:first-child { border-radius: 5px 0 0 5px; }
.mfp-tabel th:last-child { border-radius: 0 5px 5px 0; }
.mfp-tabel td { padding: 7px 9px; border-bottom: 1px solid #eee; }
.mfp-num { text-align: right; }
.mfp-totaluri { max-width: 220px; margin-left: auto; }
.mfp-totaluri > div { display: flex; justify-content: space-between; padding: 3px 0; color: #555; }
.mfp-total { border-top: 1.5px solid; margin-top: 4px; padding-top: 7px !important; font-weight: 700; font-size: var(--text-mic); }

/* ===== Model factura: nota + mesaj logo ===== */
.mf-logo-info { font-size: var(--text-mic); color: var(--gri); margin-top: 6px; }
.mf-logo-msg { font-size: var(--text-mic); margin-top: 6px; }
.mf-logo-msg-rau { color: #b3261e; }
.mf-logo-msg-bun { color: #1d7a4d; }

/* ===== buton Vezi PDF in Detalii ===== */
.fd-antet-sus { display: flex; align-items: center; gap: 10px; }
.fd-pdf-btn { margin-left: auto; cursor: pointer; white-space: nowrap; }

/* ===== Trimite pe email (fd-email-*) ===== */
.fd-email-btn { cursor: pointer; white-space: nowrap; }
.fd-email-zona { margin-top: 8px; }
.fd-email-box { background: #fff; border: 1px solid var(--linie); border-radius: var(--raza); padding: 14px 16px; margin: 10px 0 14px; max-width: 560px; }
.fd-email-eticheta { display: block; font-size: var(--text-mic); color: var(--ardezie); margin-bottom: 8px; }
.fd-email-rand { display: flex; gap: 8px; }
.fd-email-input { flex: 1; padding: 8px 10px; border: 1px solid var(--linie);
  border-radius: var(--raza); font-size: var(--text-mic); }
.fd-email-send { white-space: nowrap; }

/* ===== Storno (fd-storno-*) ===== */
.fd-storno-btn { cursor: pointer; white-space: nowrap; }
.fd-storno-zona { margin-top: 8px; }
.fd-storno-box .mig-buton { width: auto; margin-top: 0; }
.fd-storno-box { max-width: 560px; background: #fdf3f3; border: 2px solid #d98c8c; margin: 14px 0; border-radius: var(--raza);
  padding: 12px; background: #fdf3f3; max-width: 440px; }
.fd-storno-avert { font-size: var(--text-mic); color: #7a2020; margin-bottom: 12px; line-height: 1.4; }
.fd-storno-actiuni { display: flex; gap: 8px; }

/* ICRD_SOLICITARI_FRONT_V1 - chat solicitari client<->cabinet */
.sol-fir { display:flex; flex-direction:column; gap:10px; max-height:420px; overflow-y:auto; padding:12px; background: var(--alb); border: 1px solid var(--linie); border-radius: var(--raza); }  /* portal_ds_audit_a_v1 */
.sol-rand { max-width:80%; padding:10px 14px; border-radius:12px; }
.sol-client { align-self:flex-end; background:#e9f0fe; }
.sol-cabinet { align-self:flex-start; background:#f1f1f1; }
.sol-mesaj { font-size: var(--text-mic); line-height:1.4; white-space:pre-wrap; }
.sol-meta { font-size: var(--text-mic); color:#888; margin-top:4px; }
.sol-trimite { display:flex; gap:10px; margin-top:14px; }
.sol-trimite textarea { flex:1; resize:vertical; padding:10px; border-radius:8px; border:1px solid #ddd; font-family:inherit; font-size: var(--text-mic); }
.mig-rosu { color: #b91c1c; background: #fee2e2; }
#ac-lista [data-zebra="0"] { background: #fdeef2; }
#ac-lista [data-zebra="1"] { background: #eaf2fb; }
#ac-lista.pf-lista { max-width: none; }

.subbara--admin { height: 56px; padding: 0 24px; }
.subbara-admin-sumar { font-size: var(--text); font-weight: 600; color: #1a2535; }
.fereastra.fer-larg-simplu { max-width: 1000px; }

.pagina-bara { position: relative; height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: #fff; border-bottom: 1px solid var(--linie); }
.pagina-bara-centru { position: absolute; left: 50%; transform: translateX(-50%); font-size: var(--text); color: #0f6cbd; font-weight: 700; font-family: var(--font); }
.pagina-bara-stanga { display: flex; align-items: center; gap: 8px; }
.pagina-bara-logo { height: 28px; }
.pagina-bara-marca { font-size: var(--text); font-weight: 700; color: var(--ardezie); }
.pagina-bara-acces { background: #3d8fd6; color: #fff; border: none; border-radius: var(--raza); padding: 8px 20px; font-size: var(--text-mic); font-weight: 600; cursor: pointer; font-family: var(--font); }
.pagina-bara-acces:hover { background: #115ea3; }

/* ICRD_ACCES_OVERLAY_V1 */
.pagina-corp { min-height: calc(100dvh - 56px); background: var(--fundal); display: flex; flex-direction: column; }
.acces-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(20,30,45,0.45);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.acces-modal { padding-top: 40px !important;
  position: relative;
  background: #fff; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,0.18);
  width: 100%; max-width: 380px; padding: 32px 28px;
}
.acces-x {
  position: absolute; top: 14px; right: 14px;
  width: 28px; height: 28px; border-radius: 50%;
  border: none; background: transparent; color: var(--gri);
  font-size: var(--text-mic); cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.acces-x:hover { background: #f1f1f1; }
.acces-alegere { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.acces-card {
  display: flex; align-items: center; gap: 16px;
  text-align: left; border: 1px solid #a8c4e8; border-radius: 12px;
  padding: 18px 20px; background: #cfe0f7; cursor: pointer; font-family: var(--font);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.acces-card:hover { border-color: #0f6cbd; box-shadow: 0 4px 14px rgba(15,108,189,0.14); transform: translateY(-1px); }
.acces-card-icon { flex-shrink: 0; width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.acces-card-text { flex: 1; }
.acces-card-titlu { font-size: var(--text); font-weight: 700; color: var(--ardezie); }
.acces-card-sub { font-size: var(--text-mic); color: var(--gri); margin-top: 2px; }
.acces-card-sageata { flex-shrink: 0; color: #c4c9d1; }
.acces-modal { max-width: 420px; padding: 40px 32px 36px; }
.acces-overlay[hidden] { display: none !important; }
.login-subtagline { font-size: var(--text-mic); color: var(--gri); margin-top: 4px; text-align: center; }

.pagina-hero { text-align: center; max-width: 560px; margin: 20px auto 16px; padding: 0 24px; }
.pagina-hero-eyebrow { font-size: var(--text-mic); color: #0f6cbd; font-weight: 600; margin: 0 0 10px; }
.pagina-hero-titlu { font-family: "Segoe UI Variable Display", var(--font); font-weight: 700; font-size: 56px; line-height: 60px; letter-spacing: -0.02em; color: #1F2937; margin: 0 0 8px; }
.pagina-hero-sub { font-family: "Segoe UI Variable Text", "Segoe UI", var(--font); font-weight: 400; font-size: var(--text-titlu); line-height: 32px; letter-spacing: 0; color: #6B7280; margin: 0; }
.pagina-carduri-sectiune { flex: 1; display: flex; align-items: center; justify-content: center; padding: 16px 24px; }
.pagina-carduri-wrap { display: flex; align-items: stretch; gap: 28px; max-width: 1300px; width: 100%; }
.pagina-card-mare { flex: 0 0 320px; border-radius: 20px; padding: 40px 32px; display: flex; flex-direction: column; justify-content: center; }
.pagina-card-mare-icon { width: 68px; height: 68px; border-radius: 17px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.pagina-card-mare-titlu { font-size: var(--text-titlu); font-weight: 800; color: var(--ardezie); margin-bottom: 10px; }
.pagina-card-mare-sub { font-size: var(--text); color: var(--gri); line-height: 1.5; }
.pagina-card-buton { margin-top: 20px; background: #3d8fd6; color: #fff; border: none; border-radius: var(--raza); padding: 8px 20px; font-size: var(--text-mic); font-weight: 600; cursor: pointer; font-family: var(--font); align-self: flex-start; }
.pagina-carduri { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pagina-card { border-radius: 18px; padding: 28px 24px; }
.pagina-card-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.pagina-card-titlu { font-size: var(--text); font-weight: 700; color: var(--ardezie); margin-bottom: 8px; }
.pagina-card-sub { font-size: var(--text-mic); color: var(--gri); line-height: 1.5; }
.pagina-card { border-radius: 12px; padding: 14px 16px; }
.pagina-card-icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.pagina-card-titlu { font-size: var(--text); font-weight: 700; color: var(--ardezie); margin-bottom: 6px; }
.pagina-card-sub { font-size: var(--text-mic); color: var(--gri); line-height: 1.5; }
html, body { overflow-x: hidden; }

html, body { overflow-y: hidden; }

/* ICRD_LANDING_V3 — layout refacut dupa referinta */
.pagina-card-mare .pagina-card-buton { background: #3d8fd6; }
.pagina-card-mare .pagina-card-buton:hover { background: #115ea3; }

.pagina-carduri-randuri { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.pagina-carduri-rand { display: grid; gap: 12px; }
.pagina-carduri-rand:nth-child(1) { grid-template-columns: repeat(3, 1fr); }
.pagina-carduri-rand:nth-child(2) { grid-template-columns: repeat(4, 1fr); }

.pagina-card { position: relative; border-radius: 16px; padding: 20px 20px 24px; }
.pagina-card-icon { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.pagina-card-titlu { font-size: var(--text-mic); font-weight: 700; color: var(--ardezie); margin-bottom: 6px; }
.pagina-card-sub { font-size: var(--text-mic); color: var(--gri); line-height: 1.45; }
.pagina-card-sageata { position: absolute; right: 16px; bottom: 16px; }

.pagina-card-mare-icon { width: 60px; height: 60px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }

.pagina-incredere {
  display: flex; justify-content: center; gap: 40px; flex-wrap: wrap;
  padding: 20px 24px; border-top: 1px solid var(--linie); margin-top: auto;
}
.pagina-incredere-item { display: flex; align-items: center; gap: 10px; }
.pagina-incredere-icon { color: #0f6cbd; display: flex; }
.pagina-incredere-titlu { font-size: var(--text-mic); font-weight: 700; color: var(--ardezie); }
.pagina-incredere-sub { font-size: var(--text-mic); color: var(--gri); }
.pa-lista[hidden] { display: none !important; }
/* [portal_fix] spatiere doar pe portal client, nu afecteaza cabinetul */
.portal-sus { margin-top: 14vh; }
/* [font_unic] REGULA GLOBALA - nu se modifica. Forteaza font + stil normal peste tot. */
#app, #app * { font-family: var(--font) !important; font-style: normal !important; }
.subbara-gol { font-size: var(--text-mic) !important; color: inherit; }
/* [subbara_deschisa] fundal mai deschis pt contrast */
.subbara { background: #dfe4ea !important; }
/* [card_inaltime_fixa] toate cardurile: aceeasi inaltime, indiferent de continut */
.cab-grila { align-items: stretch; }
.cab-card-sinteza { min-height: 27px; }
/* [card_umbra] umbra discreta permanenta pe toate cardurile */
.cab-card, .firme-optiune, .mig-op { box-shadow: 0 3px 12px rgba(20,30,45,0.14) !important; }
.cab-card:hover, .firme-optiune:hover { box-shadow: 0 6px 20px rgba(20,30,45,0.2) !important; }
/* ============ [STANDARD_BUTOANE] NU SE MODIFICA ============ */
.buton-sters { border: none; border-radius: var(--raza); background: #ff3b30; color: #fff;
  padding: 9px 18px; font-family: var(--font); font-size: var(--text-mic); font-weight: 600; cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,30,45,0.25); transition: background 0.15s, transform 0.1s, box-shadow 0.1s; }
.buton-sters:hover { background: #d92d23; transform: translateY(-1px); box-shadow: 0 3px 9px rgba(20,30,45,0.3); }
.btn-nav { width: 32px; height: 32px; padding: 0; border-radius: 8px; border: none;
  background: #f97316; color: #fff; font-size: 18px; cursor: pointer; box-shadow: 0 2px 6px rgba(20,30,45,0.25); }
.btn-link { font-size: var(--text-mic); padding: 0; border: none; background: transparent;
  color: #3d8fd6; text-decoration: underline; cursor: pointer; box-shadow: none; }
.buton-mic { padding: 4px 10px !important; font-size: 12.5px !important; height: auto !important; }
.buton-verde { border: none; border-radius: var(--raza); background: #1d7a4d; color: #fff;
  padding: 9px 18px; font-family: var(--font); font-size: var(--text-mic); font-weight: 600; cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,30,45,0.25); transition: background 0.15s, transform 0.1s, box-shadow 0.1s; }
.buton-verde:hover { background: #16613d; transform: translateY(-1px); box-shadow: 0 3px 9px rgba(20,30,45,0.3); }
/* [STANDARD_ATENTIONARE] caseta de atentionare/confirmare - unica in toata aplicatia */
.caseta-atentie {
  background: #fdf3f3; border: 2px solid #d98c8c; border-radius: var(--raza);
  padding: 14px 16px; margin: 14px 0; max-width: 560px;
}
.caseta-atentie .ca-mesaj { font-size: var(--text-mic); color: #7a2020; line-height: 1.4; margin-bottom: 12px; }
.caseta-atentie .ca-actiuni { display: flex; gap: 8px; }
/* ============ sfarsit STANDARD_BUTOANE ============ */
/* [STANDARD_BUTOANE_MAPARE] clase vechi -> standard */
.rap-trimite, .asi-toggle-dez, .asi-echipa-btn, .rap-muta,
.em-emite, .mf-salveaza, .val-aproba, .val-depune, .pac-genereaza, .rap-btn-poza,
.fd-email-send, .fd-storno-ok, .acces-verifica-btn, .pr-add {
  font-size: var(--text-mic) !important; padding: 9px 18px !important; border-radius: 8px !important;
  border: none !important; background: #3d8fd6 !important; color: #fff !important; cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,30,45,0.25) !important; }
.mig-buton-sec, .mig-buton-mic, .rap-copy-tot,
.em-buton-sec, .em-curs-retry, .fd-email-btn, .fd-pdf-btn, .fd-storno-btn, .rap-replica-btn,
.fac-frand-btn, .rec-vezi, .sa-asist, .buton-ingust, .dlg-anuleaza, .pr-anuleaza, .bk-undo,
.mig-dec, .ac-per, .vf-opt, .rt-desc {
  font-size: var(--text-mic) !important; padding: 9px 18px !important; border-radius: 8px !important;
  border: 1px solid #d5dae2 !important; background: #eef1f5 !important; color: #1a2535 !important; cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,30,45,0.18) !important; }
.val-respinge, .pr-sterge, .rt-del, .rt-scoate, .em-l-sterge, .je-scoate, .sn-scoate, .mf-logo-sterge, .rap-thumb-x {
  font-size: var(--text-mic) !important; padding: 9px 18px !important; border-radius: 8px !important;
  border: none !important; background: #ff3b30 !important; color: #fff !important; cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,30,45,0.25) !important; }
/* ============ [STANDARD_SEMAFOR] NU SE MODIFICA ============
   Buline LED 16px, gradient luminat dreapta-sus. Se aplica peste orice definitie veche. */
.pct-verde, .sa-pct.pct-verde  { width:16px !important; height:16px !important; border-radius:50% !important;
  background: radial-gradient(circle at 65% 30%, #6fc494, #1d7a4d 60%) !important; }
.pct-galben { width:16px !important; height:16px !important; border-radius:50% !important;
  background: radial-gradient(circle at 65% 30%, #f0cd7a, #c9961f 60%) !important; }
.pct-rosu, .sa-pct.pct-rosu { width:16px !important; height:16px !important; border-radius:50% !important;
  background: radial-gradient(circle at 65% 30%, #ff8a80, #ff3b30 60%) !important; }
/* ============ sfarsit STANDARD_SEMAFOR ============ */
/* ============ [STANDARD_SEMAFOR_V2] NU SE MODIFICA ============ */
.cab-pct, .cf-dot, .asi-sem, .sa-pct { width:16px !important; height:16px !important; border-radius:50% !important; display:inline-block; }
.pct-verde, .asi-sem-verde, .sa-pct.pct-verde { background: radial-gradient(circle at 65% 30%, #7fe3a8, #16b364 60%) !important; box-shadow: 0 0 6px rgba(22,179,100,0.5) !important; }
.pct-galben, .asi-sem-galben { background: radial-gradient(circle at 65% 30%, #ffe08a, #ffb020 60%) !important; box-shadow: 0 0 6px rgba(255,176,32,0.5) !important; }
.pct-rosu, .asi-sem-rosu, .sa-pct.pct-rosu { background: radial-gradient(circle at 65% 30%, #ff9d95, #ff2d20 60%) !important; box-shadow: 0 0 6px rgba(255,45,32,0.5) !important; }
/* ============ sfarsit STANDARD_SEMAFOR_V2 ============ */
/* [STANDARD_SEMAFOR_V3] prinde orice bulina semafor, indiferent de clasa */
span[class*="pct"]:not(.rap-badge-pct), span[class*="sem-"], .cf-dot, i[class*="dot"] {
  width:16px !important; height:16px !important; border-radius:50% !important; }

/* [responsive-landing] <900px */
@media (max-width: 900px) {
  .pagina-hero-titlu { font-size: 36px; line-height: 42px; }
  .pagina-hero-sub { font-size: var(--text); line-height: 24px; }
  .pagina-carduri-wrap { flex-direction: column; gap: 16px; }
  .pagina-carduri { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pagina-carduri-rand:nth-child(1),
  .pagina-carduri-rand:nth-child(2) { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .pagina-hero-titlu { font-size: 28px; line-height: 34px; }
  .pagina-carduri,
  .pagina-carduri-rand:nth-child(1),
  .pagina-carduri-rand:nth-child(2) { grid-template-columns: 1fr; }
  .pagina-bara { padding: 0 14px; }
}
/* recomanda_mic_v1: card mic cat o coloana de grila */
.cab-card-mic { width: calc((100% - 24px) / 3); padding: 10px 16px; flex-shrink: 0; }
@media (max-width: 760px) { .cab-card-mic { width: calc((100% - 12px) / 2); } }
@media (max-width: 480px) { .cab-card-mic { width: auto; } }
/* portal_layout_v2: umbra pe panoul de status ca la carduri */
.pa-card { box-shadow: 0 3px 12px rgba(20,30,45,0.14); border-radius: 12px; border-width: 2px; }
.pa-card { cursor: pointer; transition: transform 0.12s, box-shadow 0.12s; }
.pa-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(20,30,45,0.12); }
/* conventie globala mesaje (msg_conventie_v1) */
.msg-eroare { color: #a3231c; font-weight: 600; font-size: var(--text-mic); }
.msg-avert  { color: #8a6410; font-weight: 600; font-size: var(--text-mic); }
.msg-info   { color: var(--gri); font-size: var(--text-mic); }
.acces-modal-inreg { background: #eaf2fc; }
/* meniu_card_v2: alias pe acces-card, latime plina */
.meniu-card { width: 100%; margin-bottom: 12px; }

/* [portal_ds_audit_a_v1] casete portal: detaliu Povestea lunii (clasa era folosita, dar nedefinita) */
.pov-card { background: var(--alb); border: 1px solid var(--linie); border-radius: var(--raza); padding: 16px 18px; margin-top: 14px; max-width: 640px; }
.pov-card h3 { margin: 0 0 10px; font-size: var(--text-titlu); }
.pov-text { font-size: var(--text); line-height: 1.55; }
.pov-dif { margin-top: 10px; font-size: var(--text-mic); }

/* [bon_flux_e4_v1] lupa pentru pozele documentelor (bon/chitanta) */
.lupa-mini { max-width: 170px; max-height: 240px; border: 1px solid var(--linie); border-radius: 8px;
  object-fit: contain; background: #fff; cursor: zoom-in; }
.lupa-overlay { position: fixed; inset: 0; z-index: 400; background: rgba(20,30,45,0.85);
  display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: zoom-out; }
.lupa-mare { max-width: 92vw; max-height: 94vh; user-select: none; cursor: grab; transition: transform 0.05s; }
.lupa-mare:active { cursor: grabbing; }

/* [bon_flux_e8_v1] detaliu document pozat: poza sticky langa date */
.doc-split { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.doc-poza { flex: 0 1 340px; min-width: 260px; position: sticky; top: 0;
  display: flex; flex-direction: column; gap: 8px; }
.doc-poza-cadru { overflow: hidden; border: 1px solid var(--linie); border-radius: var(--raza);
  background: #fff; cursor: zoom-in; max-height: 70vh; }
.doc-poza-cadru img { width: 100%; display: block; transition: transform 0.05s; user-select: none; }
.doc-campuri { flex: 1 1 380px; min-width: 300px; }

/* [bon_flux_e9c_v1] X-ul lupei (ecran complet) */
.lupa-x { position: absolute; top: 16px; right: 20px; border: 0; background: rgba(255,255,255,0.14);
  color: #fff; font-size: 20px; line-height: 1; padding: 10px 13px; border-radius: 10px; cursor: pointer; }
.lupa-x:hover { background: rgba(255,255,255,0.28); }

/* [STANDARD_BUTON_ACTIV] starea "apasat/deschis" pentru butoane cu zone toggle */
.buton-activ { background: #1a5a94 !important; color: #fff !important; border-color: #1a5a94 !important;
  box-shadow: inset 0 2px 5px rgba(0,0,0,0.25) !important; transform: none !important; }
