/* ==========================================================================
   PEF — Design system v2 (stil Sysarb pe culorile Elia)
   Alb dominant, accente roșu Elia #c0080e, Inter, aer, chenare fine.
   Tokens centralizate — rebranding = schimbi variabilele de mai jos.
   ========================================================================== */
:root {
  /* Culorile Elia (fixe) */
  --c-bg:        #f7f7f7;   /* fundal pagină neutru */
  --c-surface:   #ffffff;
  --c-text:      #17191c;
  --c-muted:     #6c6f74;   /* gri-cald text */
  --c-border:    #e5e5e5;   /* chenare fine, neutre */
  --c-border-2:  #dcdcdc;
  --c-track:     #e5e5e5;   /* fundal neutru de „track/fill" */
  --c-primary:   #c0080e;   /* roșu de accent Elia — singurul roșu (decizie PO) */
  --c-primary-700:#9a060b;  /* doar hover/apăsat — o treaptă mai închis */
  --c-primary-50:#fceaea;
  --c-danger:    #c0080e;
  /* Sistem neutru (spec PO) — gri/negru pentru tot ce nu e accent roșu */
  --c-label:        #747474; /* etichete de secțiune (eyebrow) */
  --c-title:        #1f1f1f; /* titluri închise / item de meniu activ */
  --c-nav-text:     #3a3a3a; /* itemi de meniu inactivi */
  --c-accent-soft:  #ececea; /* accent neutru rezervat (sibling mai închis al --c-bg) — la cererea PO */
  --c-icon:         #8a8a8a; /* iconuri meniu inactive */
  --c-icon-active:  #444444; /* icon pe item activ */
  --c-chevron:      #b5b5b5; /* săgeți de meniu */
  --c-chip-bg:      #f1f1f1; /* etichetă/chip de rol */
  --c-chip-text:    #5a5a5a;
  --c-soft-bg:      #fafafa; /* card „pasul următor" */
  --c-soft-border:  #e8e8e8;
  --c-ok:        #1f7a44;
  --c-ok-50:     #e8f4ed;
  --c-warning:   #9a5b00;   /* atenționare fără oprire (PEF Design System) */
  --c-warning-50:#fbf1e3;   /* fundal amber discret — singura nuanță */
  --c-warning-border:#e8d8a8; /* chenar amber discret */
  --c-info-50:   #eef2f6;   /* mesaj informativ discret */
  --c-focus:     #8f9aa6;   /* focus neutru, nu roșu */
  --c-focus-50:  #eef2f6;

  /* Formă */
  --radius:      8px;        /* butoane & input-uri */
  --radius-lg:   14px;       /* carduri */
  --shadow:      0 1px 2px rgba(16,24,40,.04);
  --shadow-lg:   0 4px 16px rgba(16,24,40,.06);
  --font:        'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-serif:  Georgia, 'Times New Roman', Times, serif;  /* titluri „din același film" cu fișa de post */
}

* { box-sizing: border-box; }
/* Atributul `hidden` are mereu prioritate (altfel regulile de display îl anulează) */
[hidden] { display: none !important; }
body {
  margin: 0; font-family: var(--font); color: var(--c-text);
  background: var(--c-bg); line-height: 1.55; font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--c-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
/* Acțiune de rând neutră (roșul rămâne pentru CTA principal, nu pe fiecare rând) */
.row-link { color: var(--c-text); font-weight: 600; }
.row-link:hover { color: var(--c-title); text-decoration: none; }

/* Tipografie */
h1 { font-family: var(--font); font-size: 21px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; margin: 0 0 6px; color: var(--c-text); }
h2 { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; margin: 30px 0 12px; }
.muted { color: var(--c-muted); }
.lead { font-size: 14.5px; color: var(--c-muted); margin-bottom: 22px; max-width: 760px; }
.eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .08em;
  color: var(--c-muted); font-weight: 600; }
.mini { font-size: 12px; }

/* Layout public (landing/login) */
.container { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.topbar { background: var(--c-surface); border-bottom: 1px solid var(--c-border); padding: 14px 0; }
.topbar .container { display: flex; align-items: center; justify-content: space-between; }
/* Pe telefon banda de sus devine grilă (regula comună de la ≤520px); ca element al grilei, containerul cu margini
   automate s-ar dimensiona după conținut (sigla lată + spațiile) și ar ieși cu 1-2px din ecranul de 375px.
   Ocupă tot rândul, cu spațiile în interior — fără tăierea conținutului. */
.topbar > .container { width: 100%; box-sizing: border-box; min-width: 0; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 15px; }
.brand img.logo { height: 30px; width: auto; display: block; }
.brand .product { padding-left: 12px; border-left: 1px solid var(--c-border);
  color: var(--c-text); font-weight: 700; letter-spacing: -0.01em; }
.brand .product small { color: var(--c-muted); font-weight: 500; font-size: 11px; display: block; }
.brand-link { text-decoration:none; }

/* Carduri */
.grid { display: grid; gap: 16px; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card {
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius-lg); padding: 22px; box-shadow: var(--shadow);
}
.card h3 { margin: 0 0 6px; font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }
.card.disabled { opacity: .55; }
.hero {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 32px; align-items: center; margin-top: 12px;
}
.hero-panel {
  background: linear-gradient(160deg, #f4f2ed, #fff);
  border: 1px solid var(--c-border); border-radius: var(--radius-lg);
  padding: 22px 24px;
}
.eyebrow {
  color: var(--c-label); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px;
}
.step-list { display: grid; gap: 10px; margin-top: 14px; }
.step {
  display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start;
  padding: 12px; border: 1px solid var(--c-border); border-radius: var(--radius);
  background: #fff;
}
.step-num {
  width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center;
  background: var(--c-bg); color: var(--c-title); border: 1px solid var(--c-border-2);
  font-weight: 700; font-size: 13px;
}
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.metric {
  border: 1px solid var(--c-border); border-radius: var(--radius); padding: 14px;
  background: #fff;
}
.metric strong { display: block; font-size: 22px; line-height: 1.1; margin: 4px 0; }
.progress {
  height: 3px; background: var(--c-track); border-radius: 999px; overflow: hidden; margin-top: 10px;
}
.progress > span { display: block; height: 100%; background: var(--c-ok); }
.progress-bar { --p: 0; width: calc(var(--p) * 1%); }
.header-actions-compact { margin-bottom: 12px; }
.progress-value-p-0 { --p: 0; }
.progress-value-p-1 { --p: 1; }
.progress-value-p-2 { --p: 2; }
.progress-value-p-3 { --p: 3; }
.progress-value-p-4 { --p: 4; }
.progress-value-p-5 { --p: 5; }
.progress-value-p-6 { --p: 6; }
.progress-value-p-7 { --p: 7; }
.progress-value-p-8 { --p: 8; }
.progress-value-p-9 { --p: 9; }
.progress-value-p-10 { --p: 10; }
.progress-value-p-11 { --p: 11; }
.progress-value-p-12 { --p: 12; }
.progress-value-p-13 { --p: 13; }
.progress-value-p-14 { --p: 14; }
.progress-value-p-15 { --p: 15; }
.progress-value-p-16 { --p: 16; }
.progress-value-p-17 { --p: 17; }
.progress-value-p-18 { --p: 18; }
.progress-value-p-19 { --p: 19; }
.progress-value-p-20 { --p: 20; }
.progress-value-p-21 { --p: 21; }
.progress-value-p-22 { --p: 22; }
.progress-value-p-23 { --p: 23; }
.progress-value-p-24 { --p: 24; }
.progress-value-p-25 { --p: 25; }
.progress-value-p-26 { --p: 26; }
.progress-value-p-27 { --p: 27; }
.progress-value-p-28 { --p: 28; }
.progress-value-p-29 { --p: 29; }
.progress-value-p-30 { --p: 30; }
.progress-value-p-31 { --p: 31; }
.progress-value-p-32 { --p: 32; }
.progress-value-p-33 { --p: 33; }
.progress-value-p-34 { --p: 34; }
.progress-value-p-35 { --p: 35; }
.progress-value-p-36 { --p: 36; }
.progress-value-p-37 { --p: 37; }
.progress-value-p-38 { --p: 38; }
.progress-value-p-39 { --p: 39; }
.progress-value-p-40 { --p: 40; }
.progress-value-p-41 { --p: 41; }
.progress-value-p-42 { --p: 42; }
.progress-value-p-43 { --p: 43; }
.progress-value-p-44 { --p: 44; }
.progress-value-p-45 { --p: 45; }
.progress-value-p-46 { --p: 46; }
.progress-value-p-47 { --p: 47; }
.progress-value-p-48 { --p: 48; }
.progress-value-p-49 { --p: 49; }
.progress-value-p-50 { --p: 50; }
.progress-value-p-51 { --p: 51; }
.progress-value-p-52 { --p: 52; }
.progress-value-p-53 { --p: 53; }
.progress-value-p-54 { --p: 54; }
.progress-value-p-55 { --p: 55; }
.progress-value-p-56 { --p: 56; }
.progress-value-p-57 { --p: 57; }
.progress-value-p-58 { --p: 58; }
.progress-value-p-59 { --p: 59; }
.progress-value-p-60 { --p: 60; }
.progress-value-p-61 { --p: 61; }
.progress-value-p-62 { --p: 62; }
.progress-value-p-63 { --p: 63; }
.progress-value-p-64 { --p: 64; }
.progress-value-p-65 { --p: 65; }
.progress-value-p-66 { --p: 66; }
.progress-value-p-67 { --p: 67; }
.progress-value-p-68 { --p: 68; }
.progress-value-p-69 { --p: 69; }
.progress-value-p-70 { --p: 70; }
.progress-value-p-71 { --p: 71; }
.progress-value-p-72 { --p: 72; }
.progress-value-p-73 { --p: 73; }
.progress-value-p-74 { --p: 74; }
.progress-value-p-75 { --p: 75; }
.progress-value-p-76 { --p: 76; }
.progress-value-p-77 { --p: 77; }
.progress-value-p-78 { --p: 78; }
.progress-value-p-79 { --p: 79; }
.progress-value-p-80 { --p: 80; }
.progress-value-p-81 { --p: 81; }
.progress-value-p-82 { --p: 82; }
.progress-value-p-83 { --p: 83; }
.progress-value-p-84 { --p: 84; }
.progress-value-p-85 { --p: 85; }
.progress-value-p-86 { --p: 86; }
.progress-value-p-87 { --p: 87; }
.progress-value-p-88 { --p: 88; }
.progress-value-p-89 { --p: 89; }
.progress-value-p-90 { --p: 90; }
.progress-value-p-91 { --p: 91; }
.progress-value-p-92 { --p: 92; }
.progress-value-p-93 { --p: 93; }
.progress-value-p-94 { --p: 94; }
.progress-value-p-95 { --p: 95; }
.progress-value-p-96 { --p: 96; }
.progress-value-p-97 { --p: 97; }
.progress-value-p-98 { --p: 98; }
.progress-value-p-99 { --p: 99; }
.progress-value-p-100 { --p: 100; }
.action-panel {
  border: 1px solid var(--c-border); border-left: 4px solid var(--c-border-2);
  border-radius: var(--radius); background: #fff; padding: 16px;
}
.document-list { display: grid; gap: 8px; margin-top: 12px; }
.document-item {
  display: flex; gap: 10px; align-items: center; justify-content: space-between;
  padding: 10px 12px; border: 1px solid var(--c-border); border-radius: var(--radius);
  background: #fff;
}
.pill-row { display: flex; gap: 8px; flex-wrap: wrap; }
.mini { font-size: 12px; }

/* Butoane — radius 8px; primarul roșu Elia, secundar alb cu chenar */
.btn {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  border-radius: var(--radius); border: 1px solid transparent;
  padding: 9px 16px; font-size: 13.5px; font-weight: 600; font-family: inherit;
  white-space: nowrap; min-width: 44px; max-width: 100%;
  transition: background .15s, border-color .15s, opacity .15s, box-shadow .15s;
}
.btn-primary { background: var(--c-primary); color: #fff; }
.btn-primary:hover { background: var(--c-primary-700); text-decoration: none; }
.btn-ghost { background: var(--c-surface); border-color: #687078; color: var(--c-text); }
.btn-ghost:hover { background: var(--c-bg); text-decoration: none; }
.btn.is-busy {
  opacity: .78;
  pointer-events: none;
}
.btn.is-busy::before {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-right-color: transparent;
  animation: ui-spin .75s linear infinite;
}
.btn-disabled {
  background: #f2f0ea;
  border-color: var(--c-border-2);
  color: var(--c-muted);
  cursor: not-allowed;
  pointer-events: none;
}
.btn-block { width: 100%; justify-content: center; }

/* Badge-uri */
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px;
  border-radius: 6px; font-size: 12px; font-weight: 600; }
.badge-on  { background: var(--c-ok-50); color: var(--c-ok); }
.badge-off { background: var(--c-track); color: var(--c-muted); }
.badge-warn{ background: var(--c-warning-50); color: var(--c-warning); }
.badge-role{ background: var(--c-chip-bg); color: var(--c-chip-text); border-radius: var(--radius); padding: 3px 9px; margin-right: 6px; }
/* Mini-bară de progres în celulă de tabel (ex. „Pregătire") */
.cell-meter { display: inline-flex; align-items: center; gap: 8px; }
.cell-meter .progress { width: 64px; flex-shrink: 0; }

/* Formulare */
.form { max-width: 380px; margin: 8px auto; }
label { display: block; font-size: 13px; font-weight: 600; margin: 14px 0 6px; }
input[type=email], input[type=password], input[type=text], input[type=number], select, textarea {
  width: 100%; padding: 9px 12px; border: 1px solid var(--c-border-2);
  border-radius: var(--radius); font-size: 14px; font-family: inherit; background: #fff;
  color: var(--c-text);
}
input:focus, select:focus, textarea:focus {
  outline: 3px solid var(--c-focus-50); border-color: var(--c-focus);
}
.error { color: var(--c-danger); font-size: 13px; margin-top: 8px; }

/* Selector segmentat (niveluri 1-8, stil Sysarb) — pentru evaluare */
.seg { display: inline-flex; border: 1px solid var(--c-border-2); border-radius: var(--radius);
  overflow: hidden; background: #fff; }
.seg > button, .seg > span {
  padding: 7px 12px; font-size: 13px; font-weight: 500; border: 0; background: none;
  border-right: 1px solid var(--c-border); cursor: pointer; color: var(--c-muted);
  font-family: inherit;
}
.seg > :last-child { border-right: 0; }
.seg > .on { background: var(--c-track); color: var(--c-primary); font-weight: 700; }

/* Auth */
.auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-card { background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: 34px; width: 100%; max-width: 420px; }
.auth-card.elia { border-top: 4px solid var(--c-border-2); }
.auth-brand {
  margin-bottom:20px;
}
.auth-title {
  font-size:22px;
}
.auth-intro {
  margin-top:0;
}
.auth-submit {
  margin-top:22px;
}
.auth-link-note {
  margin-top:16px;
  text-align:center;
  font-size:13px;
}
.auth-small-note {
  margin-top:20px;
  text-align:center;
  font-size:12px;
}
.auth-footer-links {
  margin-top:16px;
  text-align:center;
  font-size:12px;
}
.auth-demo-box {
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid var(--c-border);
  font-size:12px;
}
.auth-demo-title {
  display:block;
  margin-bottom:8px;
  text-align:center;
}
.auth-demo-table {
  width:100%;
  border-collapse:collapse;
}
.auth-demo-table td {
  padding:2px 0;
}
.auth-demo-table td:last-child {
  text-align:right;
}
.auth-demo-operator {
  margin:10px 0 0;
  text-align:center;
}
.auth-logout-form {
  margin-top:14px;
  text-align:center;
}
.account-security-card-warning {
  border-color:#f59e0b;
}
.account-security-title {
  margin-top:0;
}
.account-security-muted {
  font-size:13px;
}
.account-security-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px;
}
.account-security-code {
  display:block;
  padding:8px 10px;
  border:1px solid var(--c-border);
  border-radius:10px;
  background:#fff;
}
.account-security-secret {
  display:block;
  padding:10px 12px;
  border:1px solid var(--c-border);
  border-radius:10px;
  background:#fff;
  word-break:break-all;
}
.account-security-label {
  margin-top:14px;
}
.account-security-steps {
  margin:10px 0 0;
  padding-left:20px;
  line-height:1.6;
}
.account-security-qr {
  display:inline-block;
  margin:16px 0 8px;
  padding:12px;
  border:1px solid var(--c-border);
  border-radius:10px;
  background:#fff;
}
.account-security-qr svg { display:block; width:200px; height:200px; }
.account-security-manual { margin-top:10px; }
.account-security-manual summary { cursor:pointer; color:var(--c-muted); }
.account-security-manual .account-security-secret { margin-top:8px; }
.account-security-textarea {
  width:100%;
  padding:10px 12px;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
}
.account-security-form {
  margin-top:18px;
}
.account-security-button {
  margin-top:16px;
}
.account-security-error {
  margin:0;
}
.account-security-method-options {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
  margin-top:14px;
}
.account-security-method-option {
  padding:16px;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  background:#fff;
}
.account-security-method-option .btn {
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.account-security-method-option p {
  margin:10px 0 0;
}

/* Tabele — aerisite */
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
th { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--c-border);
  color: var(--c-muted); font-weight: 600; font-size: 12px; }
td { text-align: left; padding: 13px 14px; border-bottom: 1px solid var(--c-border); }
tr:last-child td { border-bottom: 0; }
code.hash { font-size: 11px; color: var(--c-muted); }
tr.clickable { cursor: pointer; }
tr.clickable:hover td { background: #faf9f6; }

/* Utilitare */
.row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.spacer { flex: 1; }
.mt { margin-top: 24px; }
.app-main {
  padding-top:32px;
  padding-bottom:64px;
}
.app-footer {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:16px;
  padding:24px 0 40px;
  border-top:1px solid var(--c-border);
  color:var(--muted);
  font-size:13px;
}
.app-footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}
.muted-link {
  color:var(--muted);
}
.shell-legal-foot {
  padding:12px 24px 20px;
  color:var(--muted);
  font-size:12px;
}
.legal-wrap {
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.legal-wrap-narrow {
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}
.legal-full-table {
  width:100%;
}
.legal-left {
  text-align:left;
}
.legal-operator-cell {
  width:35%;
}
.legal-scroll {
  overflow-x:auto;
}
.legal-doc-grid {
  display:grid;
  gap:12px;
  margin-top:20px;
}
.legal-doc-link {
  display:block;
  padding:16px 18px;
  text-decoration:none;
}
.legal-section-title {
  margin-top:28px;
}
.legal-reaccept-form {
  margin-top:20px;
}
.legal-checkbox {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:400;
  cursor:pointer;
}
.legal-checkbox-input {
  margin-top:3px;
}
.legal-submit {
  margin-top:18px;
}
.legal-unavailable-form {
  margin-top:18px;
}
.landing-hero {
  align-items:center;
  gap:32px;
}
.landing-feature-card {
  background:linear-gradient(160deg, var(--c-primary-50), #fff);
}
.landing-feature-title {
  margin-top:0;
}
.landing-feature-list {
  padding-left:18px;
  line-height:1.9;
}
.invitation-terms {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  font-weight:400;
  cursor:pointer;
}
.invitation-terms-input {
  margin-top:3px;
}
.invitation-ai-note {
  display:block;
  margin-top:4px;
}
.document-delivery-limit {
  max-width:42rem;
  padding-block:3rem;
}
.lead-flush {
  margin-bottom:0;
}
.title-flush {
  margin-top:0;
}
.section-title-flush {
  margin:0;
}
.section-subtitle-tight {
  margin:4px 0 0;
}
.inline-muted {
  font-weight:400;
}
.form-control-full {
  width:100%;
  padding:10px 12px;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
}
.setup-status-ok {
  color:var(--c-ok);
}
.note-flush {
  margin:0;
}
.note-paragraph-tight {
  margin:6px 0 0;
}
.setup-inline-options {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:6px;
}
.setup-inline-option {
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:400;
}
.setup-logo-preview {
  max-height:54px;
  max-width:200px;
  display:block;
  margin:8px 0;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  padding:6px;
  background:#fff;
}
.setup-logo-remove {
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:400;
  margin-bottom:8px;
}
.setup-color-pair {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
}
.setup-color-input {
  width:46px;
  height:38px;
  padding:2px;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
}
.setup-color-hex {
  max-width:120px;
}
.setup-muted-intro {
  margin:0 0 10px;
}
.module-checkbox-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.module-checkbox {
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
}
.commercial-inline-form {
  display:inline;
}
.form-flush {
  margin:0;
}
.form-spaced-bottom {
  margin-bottom:18px;
}
.confirm-line {
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.confirm-line-input {
  width:auto;
  margin-top:4px;
}
.inline-action-wrap {
  display:flex;
  gap:10px;
  margin-top:12px;
  flex-wrap:wrap;
}
.break-anywhere {
  word-break:break-all;
}
.table-cell-actions {
  text-align:right;
}
.danger-outline {
  color:var(--c-danger);
  border-color:var(--c-danger);
}
.muted-top {
  margin-top:14px;
}
.meta-spaced {
  margin-top:12px;
}
.header-actions-spaced {
  margin:6px 0 18px;
}
.title-spaced-small {
  margin-top:4px;
}
.weights-grid {
  gap:10px 24px;
}
.checkline-between {
  justify-content:space-between;
}
.weight-input-compact {
  max-width:90px;
}
.weight-input-suffix-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.weight-input-suffix {
  color: var(--c-muted);
  font-weight: 600;
}
.weights-total-bar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.97);
  box-shadow: 0 4px 18px rgba(16,24,40,.08);
  font-size: 14px;
}
.weights-total-bar strong {
  color: var(--c-ok);
}
.weights-total-bar.is-off strong {
  color: var(--c-danger);
}
.badge-large {
  font-size:15px;
}
.muted-note-small {
  font-size:12px;
  margin:10px 0;
}
.muted-helper-tight {
  font-size:13px;
  margin:2px 0 8px;
}
.missing-list-spaced {
  margin:8px 0 0;
}
.consent-checkline {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:16px 0 6px;
  font-weight:400;
  cursor:pointer;
}
.consent-checkline-input {
  margin-top:3px;
}
.empty-spaced {
  margin-top:16px;
}
.grid-gap-compact {
  gap:6px 24px;
}
.grid-gap-medium {
  gap:18px;
}
.btn-top-spaced {
  margin-top:8px;
}
.section-title-spaced {
  margin-top:18px;
}
.page-title-tight {
  margin-bottom:2px;
}
.lead-reset {
  margin:0;
}
.hero-panel-action {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:16px;
}
.field-note {
  margin:2px 0 6px;
  font-size:13px;
}
.field-note-small {
  margin:2px 0 6px;
  font-size:12px;
}
.field-label-spaced {
  margin-top:14px;
}
.cor-suggest-wrap {
  margin-top:6px;
}
.cor-suggest-button {
  padding:6px 12px;
  font-size:13px;
}
.cor-suggest-help {
  margin:6px 0 0;
  font-size:12.5px;
}
.cor-suggestions {
  margin-top:8px;
}
.cor-ok-message {
  color:var(--c-ok);
  font-size:13px;
}
.cor-pick {
  display:block;
  width:100%;
  margin-bottom:6px;
  padding:8px 12px;
  text-align:left;
  font-size:13px;
}
.textarea-full {
  width:100%;
  padding:10px 12px;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  font-family:inherit;
}
.note { background: #f2f0ea; border-left: 3px solid var(--c-border-2); color: var(--c-text);
  padding: 12px 16px; border-radius: var(--radius); font-size: 13.5px; }
.note-warn { background: var(--c-warning-50); border-left: 3px solid var(--c-warning); }

@keyframes ui-spin {
  to { transform: rotate(360deg); }
}

.ui-action-feedback {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 13px 16px;
  border: 1px solid var(--c-border-2);
  border-left: 4px solid var(--c-primary);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-text);
  box-shadow: 0 16px 44px rgba(16,24,40,.16);
  font-size: 13.5px;
  font-weight: 600;
}
.ui-action-feedback[hidden] {
  display: none;
}
.ui-action-spinner {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 50%;
  border: 2px solid var(--c-primary);
  border-right-color: transparent;
  animation: ui-spin .75s linear infinite;
}
@media (max-width: 640px) {
  .ui-action-feedback {
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width: none;
  }
}

/* Bară de salvare fixă jos */
.save-bar { position: sticky; bottom: 0; z-index: 5; background: var(--c-surface);
  border-top: 1px solid var(--c-border); box-shadow: 0 -2px 8px rgba(16,24,40,.04);
  padding: 12px 0; margin-top: 24px; display: flex; gap: 12px; align-items: center; }
.save-bar .hint { color: var(--c-muted); font-size: 13px; }

/* ==========================================================================
   Schelet de aplicație: meniu lateral + zonă principală
   ========================================================================== */
.app-shell { display: flex; min-height: 100vh; }
.sidebar {
  width: 240px; flex-shrink: 0; background: var(--c-surface);
  border-right: 1px solid var(--c-border);
  padding: 20px 12px; display: flex; flex-direction: column; gap: 2px;
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.sidebar .brand { display: flex; align-items: center; justify-content: center; margin: 0 8px 22px; }
.sidebar .brand img.logo { max-height: 60px; max-width: 100%; width: auto; height: auto; }
/* Butonul „Meniu" există doar pe ecrane mici (vezi media query-ul barei). */
.nav-toggle { display: none; }
.commercial-nav-map { display: grid; gap: 10px; margin-top: 14px; }
.commercial-nav-group { display: grid; gap: 7px; }
.commercial-nav-label { color: var(--c-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.commercial-subnav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 0; }
.commercial-subnav a[aria-current="page"] { border-color: var(--c-primary); color: var(--c-primary); }
.commercial-context-note { margin-top: 12px; }
/* Cardurile de cifre folosite de registrul de fișiere și de ecranele comerciale. */
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.stats-grid .stat { background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius); padding: 12px 14px; display: grid; gap: 4px; }
.stats-grid .stat span { color: var(--c-muted); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .03em; }
.stats-grid .stat strong { font-size: 20px; color: var(--c-title); }
.nav-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: var(--radius);
  color: var(--c-nav-text); font-size: 13.5px; font-weight: 500; text-decoration: none;
  border: 0; background: none; cursor: pointer; font-family: inherit; text-align: left;
  width: 100%;
}
.nav-item svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--c-icon); }
.nav-item:hover { background: var(--c-bg); text-decoration: none; }
.nav-item.active { background: var(--c-bg); color: var(--c-title); font-weight: 600; }
.nav-item.active svg { color: var(--c-icon-active); }
.nav-item.disabled { color: var(--c-muted); opacity: .6; cursor: default; }
.nav-item.disabled:hover { background: none; }
.nav-item .soon { margin-left: auto; font-size: 10px; font-weight: 600; color: var(--c-muted);
  border: 1px solid var(--c-border-2); border-radius: 999px; padding: 1px 7px; }
/* Starea unui grup din meniu, un cuvânt, gri — roșu numai unde e ceva de rezolvat. */
.nav-state { margin-left: auto; font-size: 11px; font-weight: 600; color: var(--c-muted); white-space: nowrap; }
.nav-state.is-attention { color: var(--c-danger); }
.nav-section { font-size: 11px; text-transform: uppercase; letter-spacing: .07em;
  color: var(--c-muted); margin: 18px 12px 6px; font-weight: 600; }
.sidebar-nav > .nav-section:first-of-type { margin-top: 8px; }

/* Meniu acordeon: secțiune cu sub-pagini care se desfac */
.nav-group { display: flex; flex-direction: column; }
.nav-parent .nav-chev { width: 15px; height: 15px; margin-left: auto; color: var(--c-chevron);
  transition: transform .15s ease; }
.nav-parent.is-open { color: var(--c-text); }
.nav-parent.is-open .nav-chev { transform: rotate(180deg); }
.nav-children { display: flex; flex-direction: column; gap: 1px; margin: 1px 0 2px; }
/* „Setarea companiei" stă chiar sub Acasă, ușor retras ca să se simtă legat de ea */
.nav-subtop { margin-left: 12px; }

/* Zonă de încărcare cu mai multe fișiere (drag & drop + listă) */
.dropzone { position: relative; border: 1.5px dashed var(--c-border-2); border-radius: var(--radius-lg);
  background: var(--c-bg); padding: 22px 16px; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.dropzone:hover, .dropzone.is-over { border-color: var(--c-primary); background: var(--c-primary-50); }
.dropzone input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.dropzone-hint { margin: 0; color: var(--c-muted); font-size: 13px; line-height: 1.5; }
.dropzone-hint strong { color: var(--c-text); }
.dropzone-list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dropzone-list li { display: flex; align-items: center; gap: 10px; padding: 8px 12px;
  background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); font-size: 13px; }
.dropzone-list .dz-ok { color: var(--c-ok); font-weight: 700; }
.dropzone-list .dz-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dropzone-list .dz-size { color: var(--c-muted); font-size: 12px; }
.dropzone-list .dz-remove { background: none; border: 0; cursor: pointer; color: var(--c-muted);
  font-size: 18px; line-height: 1; padding: 0 4px; border-radius: var(--radius); }
.dropzone-list .dz-remove:hover { color: var(--c-title); background: var(--c-bg); }
.nav-sub { display: block; padding: 7px 12px 7px 39px; border-radius: var(--radius);
  color: var(--c-muted); font-size: 13px; font-weight: 500; text-decoration: none; }
.nav-sub:hover { background: var(--c-bg); color: var(--c-text); text-decoration: none; }
.nav-sub.active { background: var(--c-bg); color: var(--c-title); font-weight: 600; }

/* Blocul utilizatorului, jos în sidebar (stil Sysarb) */
.sidebar .foot { margin-top: auto; border-top: 1px solid var(--c-border); padding-top: 12px; }
.user-block { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: var(--radius); }
.user-block:hover { background: var(--c-bg); }
.avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--c-label); color: #fff;
  display: grid; place-items: center; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.user-block .who { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.user-block .who strong { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-block .who small { font-size: 11.5px; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.logout-btn { margin-left: auto; background: none; border: 0; cursor: pointer; color: var(--c-muted);
  padding: 6px; border-radius: var(--radius); display: grid; place-items: center; }
.logout-btn:hover { background: var(--c-border); color: var(--c-title); }
.logout-btn svg { width: 17px; height: 17px; }
.main-area { flex: 1; min-width: 0; background: var(--c-bg); }
.page:focus { outline: none; }
/* Preaudit P3: legătură „Treceți la conținut”, ascunsă până primește focusul de la tastatură (nu e roșie: roșul e pentru acțiuni). */
.skip-link {
  position: absolute; left: 12px; top: -64px; z-index: 1000;
  padding: 10px 16px; border-radius: var(--radius);
  background: var(--c-title); color: #fff; font-weight: 600; text-decoration: none;
}
.skip-link:focus, .skip-link:focus-visible { top: 12px; outline: 2px solid var(--c-surface); outline-offset: 2px; text-decoration: none; }
.main-area > .page { max-width: 1360px; padding: 32px 40px 80px; }

/* Banda de sus: numele platformei, aliniat la stânga cu conținutul paginii */
.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 13px 40px; background: var(--c-surface);
  border-bottom: 1px solid var(--c-border);
}

.sidebar-gate-note {
  margin: 16px 12px; padding: 12px 14px; border-radius: var(--radius);
  border: 1px solid var(--c-border); color: var(--c-muted);
  font-size: 13px; line-height: 1.45;
}
.sidebar-module-request {
  margin: 10px 12px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-left: 3px solid var(--c-primary);
  background: var(--c-surface);
  border-radius: var(--radius);
}
.sidebar-module-request .eyebrow { display: block; font-size: 10px; }
.sidebar-module-request > strong { display: block; margin-top: 4px; color: var(--c-title); }
.sidebar-module-request p { margin: 5px 0 10px; color: var(--c-muted); font-size: 12px; line-height: 1.45; }
.sidebar-module-request form,
.sidebar-module-request .btn { width: 100%; }

.foundation-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.foundation-status-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.foundation-status-card__head > div { min-width: 0; }
.foundation-status-card__head .badge { margin-left: auto; flex-shrink: 0; }
.foundation-status-card h2 { margin: 4px 0 0; font-size: 20px; }
.foundation-status-card > p { min-height: 54px; }

.platform-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.platform-module {
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-surface);
}
.platform-module p { margin: 8px 0 12px; color: var(--c-muted); }
.platform-module__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  color: var(--c-muted);
  font-size: 12px;
}
.platform-status-list { display: grid; gap: 8px; }
.platform-status-list > div {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--c-border);
}

.pef-menu__notice {
    display: block;
    max-width: 260px;
    padding: 9px 12px;
    color: var(--c-danger);
    font-size: 12px;
    line-height: 1.35;
}
.platform-status-list > div:last-child { border-bottom: 0; }
.platform-status-list span > small { display: block; color: var(--c-muted); margin-top: 2px; }

.platform-request-list { display: grid; gap: 10px; }
.platform-request-list article {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
}
.platform-request-list article > div:first-child { display: grid; gap: 3px; }
.platform-request-list article small { color: var(--c-muted); }
.platform-request-list__actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.platform-request-list__actions form { margin: 0; }

@media (max-width: 900px) {
  .foundation-status-grid,
  .platform-module-grid { grid-template-columns: 1fr; }
  .platform-request-list article { align-items: flex-start; flex-direction: column; }
  .platform-request-list__actions { margin-left: 0; }
}
.topbar .brand-mark { text-align: left; line-height: 1; }
.topbar .brand-mark strong {
  display: block; font-size: 16px; font-weight: 700;
  letter-spacing: -0.01em; color: var(--c-text);
}
.topbar .brand-mark small {
  display: block; font-size: 12px; color: var(--c-muted);
  margin-top: 2px; font-weight: 500;
}
.credit-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid var(--c-border-2);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-text);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.credit-pill:hover {
  background: var(--c-bg);
  text-decoration: none;
}
.credit-pill span {
  color: var(--c-muted);
  font-weight: 600;
}
.credit-pill strong {
  display: inline-grid;
  min-width: 28px;
  height: 22px;
  place-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--c-primary-50);
  color: var(--c-primary);
  line-height: 1;
}
.wallet-pill-wrap {
  position: relative;
}
.wallet-pill {
  cursor: pointer;
  list-style: none;
}
.wallet-pill::-webkit-details-marker {
  display: none;
}
.wallet-pill.is-empty strong {
  background: var(--c-primary);
  color: #fff;
}
.wallet-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 20;
  min-width: 240px;
  padding: 14px;
  border: 1px solid var(--c-border-2);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-lg);
}
.wallet-panel__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.wallet-panel__grid div {
  display: grid;
  gap: 2px;
}
.wallet-panel__grid span {
  color: var(--c-muted);
  font-size: 11.5px;
  font-weight: 600;
}
.wallet-panel__grid strong {
  font-size: 17px;
  color: var(--c-title);
}
.production-risk-banner {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin: 16px 40px 0;
  padding: 14px 16px;
  border: 1px solid #f0d1d1;
  border-left: 4px solid var(--c-primary);
  border-radius: var(--radius);
  background: #fffafa;
  box-shadow: var(--shadow);
}
.production-risk-banner strong {
  color: var(--c-primary);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.production-risk-banner p {
  margin: 0 0 6px;
  color: var(--c-text);
  font-size: 13.5px;
}
.production-risk-banner p:last-child {
  margin-bottom: 0;
}

/* Carduri de indicatori (KPI) */
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.kpi { background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius-lg); padding: 18px 20px; box-shadow: var(--shadow); }
.kpi .num { font-size: 28px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; }
.kpi .lbl { font-size: 12.5px; color: var(--c-muted); margin-top: 3px; }
.elia-signal-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.elia-signal-strip > div {
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  padding: 12px 14px;
  background: #faf9f6;
}
.elia-signal-strip strong {
  display: block;
  font-size: 24px;
  line-height: 1;
}
.elia-signal-strip span {
  display: block;
  margin-top: 4px;
  color: var(--c-muted);
  font-size: 12.5px;
}
.elia-monitor-page {
  display: grid;
  gap: 0;
}
.elia-monitor-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.elia-monitor-kpis article {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  padding: 15px 16px;
  box-shadow: var(--shadow);
}
.elia-monitor-kpis strong {
  display: block;
  font-size: 26px;
  line-height: 1;
}
.elia-monitor-kpis span {
  display: block;
  margin-top: 6px;
  color: var(--c-muted);
  font-size: 12.5px;
  font-weight: 600;
}
.elia-monitor-filters {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(220px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
}
.elia-monitor-filters label {
  margin: 0;
}
.elia-monitor-list {
  display: grid;
  gap: 14px;
}
.elia-monitor-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow);
}
.elia-monitor-card.needs-attention {
  border-left: 4px solid var(--c-primary);
}
.elia-monitor-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.elia-monitor-card h2 {
  margin: 2px 0 0;
  font-size: 18px;
}
.elia-monitor-score {
  text-align: right;
}
.elia-monitor-score strong {
  display: block;
  font-size: 24px;
  line-height: 1;
}
.elia-monitor-score span {
  display: block;
  margin-top: 5px;
  color: var(--c-muted);
  font-size: 12.5px;
}
.elia-monitor-meta,
.elia-monitor-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.elia-monitor-meta span,
.elia-monitor-signals span {
  border-radius: 6px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 600;
}
.elia-monitor-meta span {
  background: #f5f3ee;
  color: var(--c-muted);
}
.elia-monitor-signals span {
  background: var(--c-primary-50);
  color: var(--c-primary);
}
.elia-monitor-signals.ok span {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.elia-monitor-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.elia-monitor-details > div {
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  padding: 12px;
  background: #faf9f6;
}
.elia-monitor-details strong {
  display: block;
  margin-bottom: 6px;
}
.elia-monitor-details p {
  margin: 4px 0 0;
  color: var(--c-muted);
}
.elia-monitor-card footer {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 760px) {
  .elia-monitor-filters,
  .elia-monitor-details {
    grid-template-columns: 1fr;
  }
  .elia-monitor-card header {
    display: grid;
  }
  .elia-monitor-score {
    text-align: left;
  }
  .elia-monitor-card footer .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Bare de progres fine */
.progress { height: 3px; background: var(--c-border); border-radius: 999px; overflow: hidden; }
.progress > span { display: block; height: 100%; background: var(--c-ok); transition: width .3s; }

/* Chat consultant */
.chat-log { display: flex; flex-direction: column; gap: 10px; max-height: 52vh; overflow-y: auto; padding: 4px; }
.bubble { max-width: 78%; padding: 10px 14px; border-radius: 14px; font-size: 14px; line-height: 1.5; white-space: pre-wrap; }
.bubble.assistant { align-self: flex-start; background: #f2f0ea; color: var(--c-text); border-bottom-left-radius: 4px; }
.bubble.user { align-self: flex-end; background: var(--c-accent-soft); color: var(--c-title); border-bottom-right-radius: 4px; }
.chat-input { display: flex; gap: 8px; margin-top: 12px; }
.chat-input textarea { flex: 1; resize: vertical; }
.applied-note { font-size: 12px; color: var(--c-ok); align-self: flex-start; margin-top: -4px; }

/* Chat focalizat (tip interviu) */
.chat-history { display: flex; flex-direction: column; gap: 8px; max-height: 28vh; overflow-y: auto;
  margin: 6px 0 22px; padding: 4px; opacity: .92; }
.chat-history .bubble { font-size: 13px; max-width: 70%; }
.chat-focus { max-width: 720px; margin: 0 auto; }
.current-question { font-size: 20px; line-height: 1.45; text-align: center; font-weight: 600;
  letter-spacing: -0.01em; color: var(--c-text); margin: 6px auto 18px; }
.chat-input-big textarea { width: 100%; min-height: 140px; font-size: 15px; padding: 14px;
  border-radius: var(--radius-lg); }
.chat-input-big .actions { display: flex; justify-content: center; gap: 10px; margin-top: 14px; }
.thinking { color: var(--c-muted); font-style: italic; }

@media (max-width: 900px) {
  .app-shell { flex-direction: column; }
  /* Pe ecrane mici bara devine antet compact: sigla, butonul „Meniu" și contul cu
     ieșirea rămân mereu vizibile; linkurile se desfac din buton (.nav-open). */
  .sidebar { width: auto; height: auto; position: static; flex-direction: row;
    flex-wrap: wrap; align-items: center; gap: 6px; }
  .sidebar .brand { margin: 0 10px 0 0; }
  .sidebar .brand img.logo { max-height: 40px; }
  .nav-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px;
    border: 1px solid var(--c-border); border-radius: var(--radius); background: none;
    color: var(--c-nav-text); font-family: inherit; font-size: 13.5px; font-weight: 600;
    cursor: pointer; }
  .nav-toggle svg { width: 17px; height: 17px; }
  .sidebar-nav > .nav-item, .sidebar .nav-group, .sidebar .nav-section, .sidebar .sidebar-module-request { display: none; }
  .sidebar.nav-open .sidebar-nav > .nav-item { display: flex; width: 100%; }
  .sidebar.nav-open .sidebar-nav > .nav-section { display: block; width: 100%; }
  .sidebar.nav-open .nav-group,
  .sidebar.nav-open .sidebar-module-request { display: block; width: 100%; }
  .sidebar .foot { margin: 0 0 0 auto; border: 0; padding: 0; }
  .topbar { padding: 12px 16px; }
  .production-risk-banner {
    grid-template-columns: 1fr;
    margin: 12px 16px 0;
  }
  .main-area > .page { padding: 20px 16px 56px; }
}

/* ==========================================================================
   Wizard fișă de post - Pasul 3: discuția cu consultantul virtual
   ========================================================================== */
.wiz-page {
  display: grid;
  gap: 20px;
}
.wiz-back {
  width: fit-content;
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.wiz-back:hover {
  color: var(--c-primary);
  text-decoration: none;
}
.wiz-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 20px;
  align-items: stretch;
}
.wiz-hero h1 {
  margin-bottom: 8px;
  max-width: 780px;
}
.wiz-progress-card {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-progress-card > span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.wiz-progress-card strong {
  font-size: 19px;
  line-height: 1.1;
}
.wiz-progress-card small {
  color: var(--c-muted);
  font-size: 14px;
  font-weight: 600;
}
.wiz-progress {
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--c-border);
}
.wiz-progress > span {
  display: block;
  height: 100%;
  background: var(--c-ok);
  transition: width .25s ease;
}
.wiz-progress-bar {
  /* Lățimea urmează procentul setat de app.js prin clasa progress-value-p-NN (--p). */
  width: calc(var(--p, 0) * 1%);
}
.wiz-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.wiz-top-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.btn-small-text {
  font-size:13px;
}
.wiz-upload-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.wiz-note-spaced {
  margin-top:14px;
}
.chat-privacy-note {
  margin:.5rem 0 0;
  color:var(--muted);
  font-size:.85rem;
}
.wiz-input-hint {
  margin:6px 2px 0;
  font-size:12px;
  color:var(--c-muted);
}
.wiz-note {
  padding: 13px 16px;
  border: 1px solid var(--c-border);
  border-left: 4px solid var(--c-border-2);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-text);
  font-size: 13.5px;
}
.wiz-note-warning {
  border-left-color: var(--c-warning);
  background: var(--c-warning-50);
  font-weight: 600;
}
/* Capitolele fișei — listă verticală în coloana din dreapta (verde/roșu/gri, fără cutii) */
.wiz-side { display: grid; gap: 16px; align-content: start; }
.wiz-criteria-head { font-size: 11px; text-transform: uppercase; letter-spacing: .05em;
  font-weight: 700; color: var(--c-muted); margin-bottom: 4px; }
.wiz-criteria-strip {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border: 0;
}
.wiz-criteria-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--c-border);
  background: none;
  color: var(--c-muted);
}
.wiz-criteria-pill:last-child { border-bottom: 0; }
.wiz-criteria-pill > span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--c-bg);
  color: var(--c-muted);
  font-size: 11.5px;
  font-weight: 700;
}
.wiz-criteria-pill.current > span {
  background: var(--c-primary);
  color: #fff;
}
.wiz-criteria-pill.covered > span {
  background: var(--c-ok);
  color: #fff;
}
.wiz-criteria-pill strong {
  font-size: 13px;
  font-weight: 500;
  color: var(--c-muted);
}
.wiz-criteria-pill.current strong { color: var(--c-primary); font-weight: 700; }
.wiz-criteria-pill.covered strong { color: var(--c-text); }
.wiz-criteria-pill em { display: none; }
.wiz-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}
.wiz-current-card,
.wiz-aspect-panel {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-current-card {
  padding: 18px;
}
.wiz-section-line {
  margin-bottom: 14px;
  color: var(--c-muted);
  font-size: 13px;
}
.wiz-section-line strong {
  color: var(--c-text);
}
.wiz-history {
  max-height: 210px;
  margin-bottom: 18px;
  padding: 8px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #faf9f6;
}
.wiz-question {
  max-width: 760px;
  margin: 6px auto 18px;
  text-align: left;
}
.wiz-conversation-text,
.consultant-review-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.wiz-answer-box textarea {
  min-height: 150px;
  border-radius: var(--radius-lg);
}
.wiz-answer-box textarea:focus {
  border-color: var(--c-ok);
  outline-color: var(--c-ok-50);
}
.wiz-answer-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.wiz-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wiz-send-status {
  min-height: 22px;
  margin: 8px 2px 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-muted);
}
.wiz-send-status[data-state="sending"] {
  color: var(--c-text);
}
.wiz-send-status[data-state="sending"]::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  vertical-align: -2px;
  border-radius: 50%;
  border: 2px solid var(--c-primary);
  border-right-color: transparent;
  animation: ui-spin .75s linear infinite;
}
.wiz-send-status[data-state="done"] {
  color: var(--c-ok);
}
.wiz-send-status[data-state="error"] {
  color: var(--c-danger);
}
.wiz-applied-note {
  margin-left: 8px;
}
.wiz-aspect-panel {
  position: sticky;
  top: 18px;
  padding: 18px;
}
.wiz-aspect-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px;
  gap: 12px;
  align-items: start;
}
.wiz-aspect-head h2 {
  margin: 0;
  font-size: 18px;
}
.wiz-aspect-count {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 10px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #faf9f6;
}
.wiz-aspect-count strong {
  font-size: 24px;
  line-height: 1;
}
.wiz-aspect-count span,
.wiz-aspect-count em {
  color: var(--c-muted);
  font-size: 12px;
  font-style: normal;
}
.wiz-aspect-help {
  margin: 14px 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.5;
}
.wiz-aspect-list {
  display: grid;
  gap: 9px;
}
.wiz-aspect-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
  padding: 11px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.wiz-aspect-item.done {
  border-color: #cfe8d8;
  background: #fbfefd;
}
.wiz-aspect-item.open {
  border-color: var(--c-border-2);
}
.wiz-aspect-mark {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 14px;
  font-weight: 800;
}
.wiz-aspect-item.done .wiz-aspect-mark {
  background: var(--c-ok);
  color: #fff;
}
.wiz-aspect-item strong {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}
.wiz-aspect-item em {
  display: inline-flex;
  margin-top: 5px;
  padding: 2px 7px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 700;
}
.wiz-aspect-item.done em {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.wiz-empty-aspects {
  padding: 14px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 13px;
}

@media (max-width: 1080px) {
  .wiz-workspace {
    grid-template-columns: 1fr;
  }
  .wiz-aspect-panel {
    position: static;
  }
}

@media (max-width: 760px) {
  .wiz-hero,
  .wiz-aspect-head {
    grid-template-columns: 1fr;
  }
  .wiz-answer-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .wiz-secondary-actions,
  .wiz-answer-actions .btn {
    width: 100%;
  }
  .wiz-answer-actions .btn {
    justify-content: center;
  }
}

/* ==========================================================================
   Wizard fișă de post - bara comună pentru pași
   ========================================================================== */
.wiz-steps-shell {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 4px 0 18px;
  border: 0;
  border-bottom: 1px solid var(--c-border);
  background: none;
  box-shadow: none;
}
.wiz-steps-compact {
  display: none;
  gap: 2px;
}
.wiz-steps-compact span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wiz-steps-compact strong {
  color: var(--c-text);
  font-size: 16px;
  line-height: 1.3;
}
.wiz-steps-list {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Numărul de pași diferă pe parcurs (4 la fișa de post și configurare, 5 la remunerație);
   clasa vine din server, fără style="" inline (CSP style-src 'self'). */
.wiz-steps-list[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wiz-steps-list[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wiz-steps-list[data-count="6"] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.wiz-steps-list::before,
.wiz-steps-list::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 14px;
  left: 10%;
  right: 10%;
  height: 2px;
  border-radius: 999px;
}
.wiz-steps-list::before {
  background: var(--c-border);
}
.wiz-steps-list::after {
  background: var(--c-border-2);
  transform: scaleX(calc(var(--p, 0) / 100));
  transform-origin: left center;
}
.wiz-steps-item {
  min-width: 0;
}
.wiz-steps-link {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-height: 0;
  padding: 0 6px;
  color: var(--c-text);
  text-align: center;
  text-decoration: none;
}
.wiz-steps-link:hover {
  text-decoration: none;
}
.wiz-steps-marker {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 2px solid var(--c-border-2);
  border-radius: 999px;
  background: var(--c-surface);
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 0 0 5px var(--c-bg);
}
.wiz-steps-copy {
  display: grid;
  gap: 3px;
  justify-items: center;
  min-width: 0;
}
.wiz-steps-kicker { display: none; }
.wiz-steps-copy strong {
  max-width: 140px;
  color: var(--c-text);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}
.wiz-steps-copy em { display: none; }
.wiz-steps-item--done .wiz-steps-marker {
  border-color: var(--c-ok);
  background: var(--c-ok);
  color: #fff;
  font-size: 0;
}
.wiz-steps-item--done .wiz-steps-marker::after {
  content: "✓";
  font-size: 13px;
}
.wiz-steps-item--done .wiz-steps-copy em {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.wiz-steps-item--current .wiz-steps-link {
  background: none;
}
/* Pasul curent: cerc plin gri închis cu inel — NICIODATĂ roșu (roșul e rezervat
   avertismentelor, peste tot altundeva în produs). */
.wiz-steps-item--current .wiz-steps-marker {
  border-color: var(--c-title);
  background: var(--c-title);
  color: #fff;
  box-shadow: 0 0 0 5px var(--c-bg), 0 0 0 8px var(--c-border-2);
}
.wiz-steps-item--current .wiz-steps-copy strong {
  color: var(--c-title);
  font-weight: 700;
}
.wiz-steps-item--future .wiz-steps-link {
  color: var(--c-muted);
}
.wiz-steps-item--future .wiz-steps-copy strong,
.wiz-steps-link--disabled {
  color: var(--c-muted);
}
.wiz-steps-link--disabled {
  cursor: default;
}
/* Pagina pe care sunteți acum, dacă diferă de pasul curent real: subliniere discretă,
   fără să „devină" pasul curent (audit UX §4.7). */
.wiz-steps-item--viewing .wiz-steps-copy strong {
  text-decoration: underline;
  text-decoration-color: var(--c-border-2);
  text-underline-offset: 3px;
}
button.wiz-steps-link {
  appearance: none;
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}

@media (max-width: 900px) {
  .wiz-steps-shell {
    padding: 14px;
  }
  .wiz-steps-list {
    gap: 6px;
  }
  .wiz-steps-link {
    min-height: 98px;
    padding-inline: 4px;
  }
  .wiz-steps-marker {
    width: 38px;
    height: 38px;
    box-shadow: 0 0 0 5px var(--c-surface);
  }
  .wiz-steps-copy strong {
    max-width: 112px;
    font-size: 11.5px;
  }
  .wiz-steps-copy em {
    display: none;
  }
}

@media (max-width: 640px) {
  .wiz-steps-compact {
    display: grid;
  }
  .wiz-steps-list {
    display: none;
  }
}

/* Pesmet pentru ecranele de raport din „Analiza echității salariale" — fără bară de
   pași, pentru că nu sunteți într-un parcurs (audit UX §4.7). */
.report-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--c-muted);
}
.report-crumb a {
  color: var(--c-muted);
  font-weight: 600;
  text-decoration: none;
}
.report-crumb a:hover {
  text-decoration: underline;
}
.report-crumb-sep {
  color: var(--c-border-2);
}
.report-crumb [aria-current="page"] {
  color: var(--c-text);
  font-weight: 600;
}

/* ==========================================================================
   Wizard fișă de post - Pasul 1: pornire
   ========================================================================== */
.wiz-start-page {
  gap: 18px;
}
.wiz-start-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 20px;
  align-items: stretch;
}
.wiz-start-hero h1 {
  margin-bottom: 8px;
  max-width: 820px;
}
.wiz-start-status {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-start-status > span {
  color: var(--c-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wiz-start-status strong {
  font-size: 34px;
  line-height: 1;
}
.wiz-start-status small {
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
}
.wiz-start-error {
  border-left-color: var(--c-danger);
  background: #fff7f7;
}
.wiz-start-choices {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(260px, .9fr) minmax(240px, .75fr);
  gap: 14px;
  align-items: stretch;
}
.wiz-start-card {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-start-card--primary {
  border-color: #e5d3d3;
  box-shadow: 0 0 0 3px var(--c-primary-50);
}
.wiz-start-card--disabled {
  background: #faf9f6;
  color: var(--c-muted);
}
.wiz-start-card-head {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: start;
}
.wiz-start-card h2 {
  margin: 0 0 5px;
  font-size: 18px;
}
.wiz-start-card p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.5;
}
.wiz-start-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}
.wiz-start-card--disabled .wiz-start-icon {
  background: #e7e3db;
  color: var(--c-muted);
}
.wiz-upload-form {
  display: grid;
  gap: 10px;
}
.wiz-upload-form label {
  margin: 0;
  color: var(--c-text);
  font-size: 13px;
  font-weight: 800;
}
.wiz-upload-form select,
.wiz-upload-form input[type="file"] {
  width: 100%;
}
.wiz-start-help {
  margin: -2px 0 2px;
  color: var(--c-muted);
  font-size: 12px;
}
.wiz-start-actions {
  display: grid;
  gap: 9px;
}
.wiz-start-actions .btn {
  justify-content: center;
}
.wiz-start-soon {
  width: fit-content;
  padding: 4px 9px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
}
.wiz-start-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 14px;
  align-items: start;
}
.wiz-start-summary-main,
.wiz-start-docs,
.wiz-start-footer {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-start-summary-main {
  padding: 18px;
}
.wiz-start-summary-main h2 {
  margin: 0 0 12px;
  font-size: 18px;
}
.wiz-start-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}
.wiz-start-meta span {
  padding: 11px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #faf9f6;
  color: var(--c-muted);
  font-size: 13px;
}
.wiz-start-meta strong {
  color: var(--c-text);
}
.wiz-start-docs {
  padding: 16px;
}
.wiz-start-docs-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.wiz-start-docs-head h3 {
  margin: 0;
  font-size: 16px;
}
.wiz-start-docs-head span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
}
.wiz-start-doc-item {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid var(--c-border);
}
.wiz-start-doc-item strong,
.wiz-start-doc-item em {
  display: block;
}
.wiz-start-doc-item strong {
  font-size: 13px;
}
.wiz-start-doc-item em {
  color: var(--c-muted);
  font-size: 12px;
  font-style: normal;
}
.wiz-start-doc-state {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 11.5px;
  font-weight: 800;
}
.wiz-start-doc-state.is-ok {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.wiz-start-footer {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
}
.wiz-start-footer strong {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
}
.wiz-start-footer p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13px;
}
.wiz-start-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.wiz-start-footer-actions form {
  margin: 0;
}
.wiz-start-danger {
  border-color: var(--c-danger);
  color: var(--c-danger);
}

@media (max-width: 1120px) {
  .wiz-start-choices,
  .wiz-start-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .wiz-start-hero,
  .wiz-start-footer {
    grid-template-columns: 1fr;
  }
  .wiz-start-hero,
  .wiz-start-footer {
    display: grid;
  }
  .wiz-start-footer-actions,
  .wiz-start-footer-actions .btn,
  .wiz-start-footer-actions form {
    width: 100%;
  }
  .wiz-start-footer-actions .btn {
    justify-content: center;
  }
}

/* ==========================================================================
   Wizard fișă de post - Pasul 5: verificare și validare
   ========================================================================== */
.wiz-review-page {
  gap: 18px;
}
.wiz-review-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 20px;
  align-items: stretch;
}
.wiz-review-hero h1 {
  margin-bottom: 8px;
  max-width: 820px;
}
.wiz-review-status {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-review-status > span {
  color: var(--c-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wiz-review-status strong {
  font-size: 34px;
  line-height: 1;
}
.wiz-review-status small {
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
}
.wiz-review-shell {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.wiz-review-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px;
  border-bottom: 1px solid var(--c-border);
  background: #faf9f6;
}
.wiz-review-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--c-muted);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
}
.wiz-review-tab:hover {
  color: var(--c-primary);
  background: #fff;
}
.wiz-review-tab.is-active {
  border-color: var(--c-primary);
  background: #fff;
  color: var(--c-primary);
  box-shadow: 0 0 0 3px var(--c-primary-50);
}
.wiz-review-tab span {
  display: grid;
  place-items: center;
  min-width: 21px;
  height: 21px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-size: 11px;
  line-height: 1;
}
.wiz-review-panel {
  padding: 20px;
}
.wiz-review-panel-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}
.wiz-review-panel-head h2 {
  margin: 0 0 4px;
  font-size: 18px;
}
.wiz-review-panel-head p {
  max-width: 720px;
  margin: 0;
  color: var(--c-muted);
  font-size: 13.5px;
}
.wiz-doc-preview {
  display: grid;
  gap: 14px;
}
.wiz-doc-chapter {
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.wiz-doc-chapter header {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}
.wiz-doc-kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--c-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wiz-doc-chapter h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
}
.wiz-chapter-badge {
  flex: 0 0 auto;
  padding: 4px 9px;
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 800;
}
.wiz-chapter-badge.is-complete {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.wiz-chapter-badge.is-open {
  background: var(--c-primary-50);
  color: var(--c-primary);
}
.wiz-doc-fields {
  display: grid;
  gap: 12px;
  margin: 0;
}
.wiz-doc-fields div {
  display: grid;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--c-border);
}
.wiz-doc-fields dt {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
}
.wiz-doc-fields dd {
  margin: 0;
  color: var(--c-text);
  font-size: 14px;
  line-height: 1.55;
}
.wiz-doc-fields ul {
  margin: 0;
  padding-left: 18px;
}
.wiz-empty-text {
  margin: 0;
  padding: 12px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 13px;
}
.wiz-eval-summary {
  display: grid;
  gap: 14px;
  max-width: 780px;
}
.wiz-eval-score,
.wiz-eval-empty,
.wiz-clear-state {
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.wiz-eval-score {
  display: grid;
  gap: 6px;
  border-left: 4px solid var(--c-primary);
}
.wiz-eval-score span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wiz-eval-score strong {
  font-size: 34px;
  line-height: 1;
}
.wiz-eval-score small {
  color: var(--c-muted);
  font-size: 15px;
  font-weight: 600;
}
.wiz-eval-score em {
  color: var(--c-primary);
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}
.wiz-eval-summary p,
.wiz-eval-empty p,
.wiz-clear-state p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.wiz-eval-empty strong,
.wiz-clear-state strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}
.wiz-open-list {
  display: grid;
  gap: 10px;
}
.wiz-open-item {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.wiz-open-item > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--c-primary-50);
  color: var(--c-primary);
  font-weight: 900;
}
.wiz-open-item strong {
  display: block;
  font-size: 14px;
}
.wiz-open-item em {
  display: block;
  margin-top: 2px;
  color: var(--c-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.wiz-clear-state {
  border-color: #cfe8d8;
  background: #fbfefd;
}
.wiz-clear-state strong {
  color: var(--c-ok);
}
.wiz-coherence-form {
  margin: 0;
}
.wiz-coherence-list {
  display: grid;
  gap: 10px;
}
.wiz-coherence-item {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #ead6d6;
  border-left: 4px solid var(--c-primary);
  border-radius: var(--radius);
  background: #fffafa;
}
.wiz-coherence-item span {
  width: fit-content;
  padding: 3px 8px;
  border-radius: var(--radius);
  background: var(--c-primary-50);
  color: var(--c-primary);
  font-size: 11.5px;
  font-weight: 800;
}
.wiz-coherence-item strong {
  font-size: 14px;
  line-height: 1.4;
}
.wiz-coherence-item p,
.wiz-coherence-clear p,
.wiz-coherence-empty p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.wiz-coherence-clear,
.wiz-coherence-empty {
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.wiz-coherence-clear {
  border-color: #cfe8d8;
  background: #fbfefd;
}
.wiz-coherence-clear strong,
.wiz-coherence-empty strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}
.wiz-coherence-clear strong {
  color: var(--c-ok);
}
.wiz-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.wiz-review-actions form {
  margin: 0;
}

@media (max-width: 900px) {
  .wiz-review-hero {
    grid-template-columns: 1fr;
  }
  .wiz-review-panel-head {
    align-items: stretch;
    flex-direction: column;
  }
  .wiz-review-panel-head .btn {
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .wiz-review-tabs,
  .wiz-review-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .wiz-review-tab,
  .wiz-review-actions .btn,
  .wiz-review-actions form {
    justify-content: center;
    width: 100%;
  }
  .wiz-doc-chapter header {
    align-items: stretch;
    flex-direction: column;
  }
  .wiz-chapter-badge {
    width: fit-content;
  }
}

/* ==========================================================================
   Modul evaluare posturi (M2) - clase izolate .eval-*
   ========================================================================== */
.eval-page {
  display: grid;
  gap: 22px;
  padding-bottom: 100px;
}
.eval-hero,
.eval-result-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 22px;
  align-items: stretch;
}
.eval-hero h1,
.eval-result-hero h1 {
  margin-bottom: 8px;
  max-width: 820px;
}
.eval-eyebrow {
  color: var(--c-label);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.eval-muted {
  color: var(--c-muted);
}
.eval-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.eval-meta-line span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  color: var(--c-muted);
  background: var(--c-surface);
  font-size: 12.5px;
  font-weight: 600;
}
.eval-card,
.eval-score-card,
.eval-factor-card,
.eval-summary-card,
.eval-breakdown-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.eval-score-card {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.eval-score-card strong,
.eval-result-score strong {
  display: block;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.03em;
}
.eval-score-card small,
.eval-result-score small {
  color: var(--c-muted);
  font-size: 16px;
  font-weight: 600;
}
.eval-band {
  color: var(--c-text);
  font-size: 13px;
  font-weight: 700;
}
.eval-score-card-sticky {
  position: sticky;
  top: 18px;
}
.eval-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--c-border);
}
.eval-progress > span {
  display: block;
  height: 100%;
  background: var(--c-nav-text);
  transition: width .2s ease;
}
.eval-progress-bar {
  /* Lățimea urmează procentul setat de app.js prin clasa progress-value-p-NN (--p). */
  width: calc(var(--p, 0) * 1%);
}
.eval-needs-info-compact {
  margin-top:8px;
  font-size:13px;
}
.eval-warning-pill {
  color:var(--c-warning);
  font-size:12px;
}
.eval-guidance-title {
  margin:8px 0 2px;
}
.eval-save-actions-spaced {
  margin-top:18px;
}
.eval-subfactor-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 18px;
  padding: 22px;
}
.eval-subfactor-card h2,
.eval-section-title h2,
.eval-factor-header h2 {
  margin: 0;
}
.eval-subfactor-card p,
.eval-section-title p,
.eval-factor-header p {
  margin: 6px 0 0;
  color: var(--c-muted);
}
.eval-current-points {
  border-left: 1px solid var(--c-border);
  padding-left: 18px;
  align-self: center;
}
.eval-current-points span {
  display: block;
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.eval-current-points strong {
  display: block;
  margin-top: 4px;
  font-size: 24px;
  line-height: 1.1;
}
.eval-current-points small {
  color: var(--c-muted);
  font-size: 13px;
}
/* Criteriile de calibrare — stepper minimalist inline (roșu = curent, gri = restul) */
.eval-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 20px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--c-border);
}
.eval-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-muted);
  text-decoration: none;
}
.eval-nav-item:hover { text-decoration: none; }
.eval-nav-item:hover strong { color: var(--c-text); }
.eval-nav-item span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--c-bg);
  color: var(--c-muted);
  font-size: 11px;
  font-weight: 700;
}
.eval-nav-item.active span {
  background: var(--c-primary);
  color: #fff;
}
.eval-nav-item strong {
  font-size: 13px;
  font-weight: 500;
  color: var(--c-muted);
}
.eval-nav-item.active strong { color: var(--c-primary); font-weight: 700; }
.eval-nav-item em { display: none; }
.eval-matrix {
  overflow: hidden;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.eval-matrix-head,
.eval-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(300px, 1.2fr) minmax(260px, 1.3fr) 90px;
  gap: 14px;
  align-items: center;
}
.eval-matrix-head {
  padding: 12px 16px;
  color: var(--c-muted);
  background: #faf9f6;
  border-bottom: 1px solid var(--c-border);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.eval-row {
  padding: 14px 16px;
  border-bottom: 1px solid var(--c-border);
}
.eval-row:last-child {
  border-bottom: 0;
}
.eval-row:hover {
  background: #faf9f6;
}
.eval-role-cell {
  display: grid;
  gap: 3px;
}
.eval-role-cell strong {
  font-size: 14px;
}
.eval-role-cell span,
.eval-level-panel p,
.eval-clear-level {
  color: var(--c-muted);
  font-size: 12.5px;
}
.eval-level-cell {
  display: grid;
  gap: 8px;
}
.eval-stepper {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}
.eval-level-button {
  width: 34px;
  height: 34px;
  border: 1px solid var(--c-border-2);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-muted);
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
}
.eval-level-button:hover {
  border-color: var(--c-title);
  color: var(--c-title);
}
/* Nivelul ales e o stare, nu o acțiune: închis la culoare, nu roșu (linia minimalistă, D-A44). */
.eval-level-button.active {
  background: var(--c-title);
  border-color: var(--c-title);
  color: #fff;
}
.eval-clear-level {
  width: fit-content;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: inherit;
}
.eval-clear-level:hover {
  color: var(--c-primary);
  text-decoration: underline;
}
.eval-level-desc {
  color: var(--c-text);
  font-size: 13px;
  line-height: 1.5;
}
.eval-points-cell {
  display: grid;
  gap: 2px;
  justify-items: end;
}
.eval-points-cell strong {
  font-size: 20px;
}
.eval-points-cell span {
  color: var(--c-muted);
  font-size: 12px;
}
.eval-empty,
.eval-complete,
.eval-note {
  padding: 16px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-text);
}
.eval-autosave {
  position: sticky;
  bottom: 14px;
  justify-self: end;
  min-width: 190px;
  padding: 10px 14px;
  border: 1px solid var(--c-border);
  border-radius: 999px;
  background: var(--c-surface);
  box-shadow: var(--shadow-lg);
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.eval-autosave[data-state="saving"] {
  color: var(--c-muted);
}
.eval-autosave[data-state="saved"] {
  color: var(--c-ok);
  border-color: #cfe7d8;
  background: var(--c-ok-50);
}
.eval-autosave[data-state="error"] {
  color: var(--c-danger);
  border-color: #f2b8b8;
  background: var(--c-primary-50);
}
.eval-back {
  width: fit-content;
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.eval-back:hover {
  color: var(--c-primary);
  text-decoration: none;
}
.eval-factor-stack {
  display: grid;
  gap: 18px;
}
.eval-factor-card {
  overflow: hidden;
}
.eval-factor-header {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--c-border);
  background: #faf9f6;
}
.eval-factor-header > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: var(--c-track);
  color: var(--c-title);
  font-weight: 800;
}
.eval-criterion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--c-border);
}
.eval-criterion > .eval-profile-context {
  grid-column: 1 / -1;
}
.eval-criterion:last-child {
  border-bottom: 0;
}
.eval-factor-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  border-top: 1px solid var(--c-border);
  background: #faf9f6;
}
.eval-factor-footer > div:first-child {
  display: grid;
  gap: 2px;
}
.eval-factor-footer > div:first-child span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.eval-factor-footer > div:first-child strong {
  font-size: 16px;
}
.eval-factor-footer form {
  margin: 0;
}
.eval-category-confirmed {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid #cfe8d8;
  border-radius: var(--radius);
  background: var(--c-ok-50);
  color: var(--c-ok);
  font-size: 13px;
  font-weight: 800;
}
.eval-category-confirmed span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--c-ok);
  color: #fff;
  font-size: 12px;
}
.eval-criterion-title {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}
.eval-criterion-title span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 8px;
  border-radius: var(--radius);
  background: var(--c-track);
  color: var(--c-title);
  font-size: 12px;
  font-weight: 800;
}
.eval-criterion-title h3 {
  margin: 0;
  font-size: 17px;
}
.eval-definition {
  margin: 0 0 12px;
  color: var(--c-muted);
  font-size: 13.5px;
}
.eval-details {
  margin: 10px 0;
  color: var(--c-muted);
  font-size: 13px;
}
.eval-details summary {
  cursor: pointer;
  width: fit-content;
  color: var(--c-title);
  font-weight: 700;
}
.eval-details ul {
  margin: 8px 0 0;
  padding-left: 18px;
}
.eval-profile-context {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #faf9f6;
}
.eval-profile-context strong {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--c-muted);
}
.eval-profile-context p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
}
.eval-level-panel {
  align-self: start;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.eval-level-panel label {
  margin: 0;
  display: grid;
  gap: 3px;
  font-size: 13px;
}
.eval-level-panel label span {
  color: var(--c-muted);
  font-weight: 500;
}
.eval-level-panel select {
  min-width: 0;
  width: 100%;
}
.eval-level-selected {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--c-title);
}
.eval-save-bar {
  position: sticky;
  bottom: 0;
  z-index: 4;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
  padding: 14px 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.96);
  box-shadow: 0 -4px 18px rgba(16,24,40,.08);
}
.eval-save-bar div:first-child {
  display: grid;
  gap: 2px;
}
.eval-save-bar span {
  color: var(--c-muted);
  font-size: 12.5px;
}
.eval-save-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}
.eval-save-link {
  font-size: 13.5px;
}
.eval-result-hero {
  align-items: center;
  padding: 24px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, #fff, #f7f6f1);
}
.eval-result-score {
  display: grid;
  gap: 8px;
  padding: 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.eval-result-score span,
.eval-result-score em,
.eval-summary-card span {
  color: var(--c-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.eval-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.eval-summary-card {
  padding: 16px;
}
.eval-summary-card strong {
  display: block;
  margin-top: 6px;
  font-size: 26px;
  line-height: 1;
}
.eval-section-title {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 22px;
  border-bottom: 1px solid var(--c-border);
}
.eval-breakdown {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  padding: 18px;
}
.eval-breakdown-card {
  box-shadow: none;
  overflow: hidden;
}
.eval-breakdown-head {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  padding: 14px;
  border-bottom: 1px solid var(--c-border);
  background: #faf9f6;
}
.eval-breakdown-head > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--c-track);
  color: var(--c-title);
  font-weight: 800;
}
.eval-breakdown-head h3 {
  margin: 0 0 3px;
  font-size: 15px;
}
.eval-breakdown-list {
  display: grid;
}
.eval-breakdown-list > div {
  display: grid;
  gap: 3px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--c-border);
}
.eval-breakdown-list > div:last-child {
  border-bottom: 0;
}
.eval-breakdown-list span {
  color: var(--c-muted);
  font-size: 12.5px;
}
.eval-breakdown-list strong {
  font-size: 13px;
}
.eval-missing-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 18px;
}
.eval-missing-list > div {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.eval-missing-list span {
  width: fit-content;
  padding: 2px 8px;
  border-radius: var(--radius);
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
}
.eval-missing-list em {
  color: var(--c-muted);
  font-size: 12px;
  font-style: normal;
}
.eval-complete {
  margin: 18px;
  border-left: 4px solid var(--c-ok);
}
.eval-ai-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, #fff, #faf9f6);
  box-shadow: var(--shadow);
}
.eval-ai-copy {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
}
.eval-ai-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.eval-blocked-panel .eval-ai-icon {
  background: var(--c-warning-50);
  color: var(--c-warning);
}
.eval-ai-copy h2 {
  margin: 0;
  font-size: 18px;
}
.eval-ai-copy p {
  margin: 6px 0 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.eval-ai-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.eval-ai-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-muted);
  font-size: 12.5px;
  font-weight: 600;
}
.eval-ai-action {
  display: grid;
  gap: 8px;
  justify-items: stretch;
  margin: 0;
}
.eval-ai-action .btn {
  justify-content: center;
}
.eval-ai-action span {
  color: var(--c-muted);
  font-size: 12.5px;
  line-height: 1.45;
  text-align: center;
}
.eval-criterion.has-ai {
  background: linear-gradient(90deg, #fff, #fff 72%, #faf9f6);
}
.eval-criterion.is-confirmed {
  border-left: 4px solid var(--c-ok);
}
.eval-ai-suggestion {
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid var(--c-border);
  border-left: 4px solid var(--c-primary);
  border-radius: var(--radius);
  background: #fff;
}
.eval-ai-suggestion-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.eval-ai-suggestion-head strong {
  font-size: 13px;
}
.eval-ai-suggestion p {
  margin: 9px 0 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.eval-ai-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: var(--radius);
  background: var(--c-track);
  color: var(--c-nav-text);
  font-size: 12px;
  font-weight: 800;
}
.eval-ai-badge.confirmed {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.eval-confirm-hint {
  padding: 10px 12px;
  border-radius: var(--radius);
  background: var(--c-track);
  color: var(--c-nav-text);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.45;
}
.eval-confirm-hint.confirmed {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.eval-level-hint {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--c-ink-600, #687078);
}
.eval-level-guide summary {
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 600;
}
.eval-level-guide ul {
  margin: 8px 0 0;
  padding-left: 18px;
}
.eval-level-guide li {
  font-size: 12.5px;
  line-height: 1.5;
  margin-bottom: 4px;
}

@media (max-width: 1050px) {
  /* Audit UX 2, lotul 1: matricea de calibrare devine cartonașe reale, fără derulare
     laterală. Fiecare post: numele sus, butoanele de nivel, explicația, punctele. */
  .eval-matrix-head {
    display: none;
  }
  .eval-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "role points"
      "level level"
      "desc desc";
    gap: 10px 14px;
    align-items: start;
  }
  .eval-row > .eval-role-cell { grid-area: role; }
  .eval-row > .eval-level-cell { grid-area: level; }
  .eval-row > .eval-level-desc { grid-area: desc; }
  .eval-row > .eval-points-cell { grid-area: points; text-align: right; }
  .eval-criterion {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .eval-hero,
  .eval-result-hero,
  .eval-subfactor-card,
  .eval-ai-panel,
  .eval-summary-grid {
    grid-template-columns: 1fr;
  }
  .eval-ai-action span {
    text-align: left;
  }
  .eval-current-points {
    border-left: 0;
    border-top: 1px solid var(--c-border);
    padding: 14px 0 0;
  }
  .eval-score-card-sticky {
    position: static;
  }
  .eval-save-bar,
  .eval-section-title {
    align-items: stretch;
    flex-direction: column;
  }
  .eval-save-actions {
    justify-content: stretch;
  }
  .eval-save-actions .btn,
  .eval-section-title .btn {
    justify-content: center;
    width: 100%;
  }
}

/* Fișa de post — acordeon pe capitole (D29) */
.fisa-acordeon { display: grid; gap: 10px; }
.fisa-capitol {
  border: 1px solid var(--c-border); border-radius: var(--radius-lg);
  background: var(--c-surface); overflow: hidden;
}
.fisa-capitol > summary {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  padding: 14px 18px; font-weight: 600; list-style: none; user-select: none;
}
.fisa-capitol > summary::-webkit-details-marker { display: none; }
.fisa-capitol[open] > summary { border-bottom: 1px solid var(--c-border); }
.fisa-cap-nr {
  width: 26px; height: 26px; flex-shrink: 0; border-radius: 999px;
  display: grid; place-items: center; font-size: 13px; font-weight: 700;
  background: var(--c-bg); color: var(--c-primary);
}
.fisa-capitol[open] .fisa-cap-nr { background: var(--c-primary); color: #fff; }
.fisa-cap-titlu { font-size: 15px; }
.fisa-cap-corp { padding: 6px 18px 20px; }

/* Backoffice Elia */
.elia-create-path {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 18px 0 4px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #faf9f6;
}
.elia-create-path strong {
  margin-right: 4px;
  color: var(--c-primary);
}
.elia-create-path span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-muted);
  font-size: 12.5px;
  font-weight: 600;
}
.elia-onboarding {
  display: grid;
  gap: 16px;
}
.elia-onboarding-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 18px;
  align-items: center;
}
.elia-onboarding-head h2 {
  margin: 2px 0 6px;
}
.elia-onboarding-head p {
  margin: 0;
}
.elia-onboarding-score {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #faf9f6;
}
.elia-onboarding-score strong {
  font-size: 28px;
  line-height: 1;
}
.elia-onboarding-score span {
  color: var(--c-muted);
  font-size: 12.5px;
  font-weight: 700;
}
.elia-onboarding-next {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border: 1px solid var(--c-border);
  border-left: 4px solid var(--c-primary);
  border-radius: var(--radius);
  background: var(--c-primary-50);
}
.elia-onboarding-next strong {
  font-size: 13px;
}
.elia-onboarding-next span {
  color: var(--c-muted);
  font-size: 13.5px;
}
.elia-onboarding-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.elia-onboarding-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
}
.elia-onboarding-step > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--c-track);
  color: var(--c-muted);
  font-weight: 800;
}
.elia-onboarding-step.done {
  border-color: #cfe8d8;
  background: var(--c-ok-50);
}
.elia-onboarding-step.done > span {
  background: var(--c-ok);
  color: #fff;
}
.elia-onboarding-step.attention {
  border-color: #f0d1d1;
  background: #fffafa;
}
.elia-onboarding-step.attention > span {
  background: var(--c-primary);
  color: #fff;
}
.elia-onboarding-step-title {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.elia-onboarding-step-title strong {
  font-size: 13.5px;
}
.elia-onboarding-step-title em {
  padding: 2px 8px;
  border-radius: 999px;
  background: #fff;
  color: var(--c-muted);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 800;
}
.elia-onboarding-step p {
  margin: 5px 0 0;
  color: var(--c-muted);
  font-size: 12.5px;
  line-height: 1.45;
}
.elia-module-list {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; margin-top: 10px;
}
.elia-module-list label {
  display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px;
  border: 1px solid var(--c-border); border-radius: var(--radius); background: #fbfbfc; cursor: pointer;
}
.elia-credit-form { display: grid; gap: 8px; margin-top: 14px; }
.elia-credit-form label { margin-bottom: 0; }
.elia-ledger { display: grid; gap: 8px; margin-top: 18px; }
.elia-ledger > div {
  display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 10px; align-items: center;
  border: 1px solid var(--c-border); border-radius: var(--radius); padding: 10px; background: #fbfbfc;
}
.elia-ledger strong { color: var(--c-primary); }
.elia-ledger span { color: var(--c-text); }
.elia-ledger em { color: var(--c-muted); font-style: normal; font-size: 12px; }
.elia-module-statuses { display: grid; gap: 8px; margin-top: 14px; }
.elia-module-statuses > div {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  border: 1px solid var(--c-border); border-radius: var(--radius); padding: 10px 12px; background: #fbfbfc;
}
.elia-module-statuses strong {
  border-radius: 999px; padding: 2px 8px; font-size: 12px;
}
.elia-module-statuses strong.on { background: var(--c-ok-50); color: var(--c-ok); }
.elia-module-statuses strong.off { background: #f2f0ea; color: var(--c-muted); }

@media (max-width: 720px) {
  .elia-onboarding-head,
  .elia-onboarding-steps { grid-template-columns: 1fr; }
  .elia-ledger > div { grid-template-columns: 1fr; }
}

/* Dashboard ghidat: plan de lucru, nu listă de module */
.guide-page { display: grid; gap: 22px; }
.guide-hero {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 18px; align-items: stretch;
}
.guide-next {
  background: transparent; border: 0;
  border-left: 2px solid var(--c-primary); border-radius: 0;
  padding: 2px 0 2px 18px; box-shadow: none;
}
.guide-next > span {
  display: block; color: var(--c-label); font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px;
}
.guide-next h2 { margin: 0 0 8px; font-size: 19px; line-height: 1.25; }
.guide-next p { margin: 0; color: var(--c-muted); }
.guide-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.guide-kpis { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.guide-kpis > div {
  display: flex; align-items: baseline; gap: 8px; padding: 0;
  background: none; border: 0; border-radius: 0; box-shadow: none;
}
.guide-kpis strong {
  font-size: 20px; line-height: 1; letter-spacing: 0;
}
.guide-kpis span { color: var(--c-muted); font-size: 13px; }

/* Acțiunile secundare din cardul „Următorul pas" (Nu am / Mai târziu) */
.guide-next-secondary { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 12px; }
.guide-next-secondary form { margin: 0; }
.btn-link { background: none; border: 0; padding: 0; cursor: pointer; font: inherit;
  color: var(--c-chip-text); text-decoration: underline; text-underline-offset: 2px; }
.btn-link:hover { color: var(--c-title); }
.inline-form { display: inline; margin: 0; }
.guide-next-foot { margin-top: 14px !important; color: var(--c-muted); font-size: 12.5px; }

/* KPI-uri ca linie discretă sub plan (nu mai domină pagina de sus) */
.pef-panel .guide-kpis { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--c-border); }
.guide-plan { display: flex; flex-direction: column; gap: 0; }
.guide-step {
  display: flex; flex-direction: row; align-items: flex-start; gap: 13px;
  min-height: 0; padding: 12px 2px; border: 0; border-bottom: 1px solid var(--c-border);
  border-radius: 0; background: none; color: var(--c-text); text-decoration: none;
}
.guide-step:last-child { border-bottom: 0; }
.guide-step:hover { text-decoration: none; background: none; }
.guide-step:hover strong { color: var(--c-primary); }
.guide-step.is-active, .guide-step.is-done { background: none; box-shadow: none; border-color: var(--c-border); }
.guide-step-mark {
  width: 24px; height: 24px; flex-shrink: 0; border-radius: 999px; display: grid; place-items: center;
  background: var(--c-bg); color: var(--c-muted); font-weight: 700; font-size: 12px;
}
.guide-step.is-active .guide-step-mark { background: var(--c-primary); color: #fff; }
.guide-step.is-done .guide-step-mark { background: var(--c-ok); color: #fff; }
.guide-step > div { display: flex; flex-direction: column; min-width: 0; }
.guide-step strong { display: block; font-size: 14px; line-height: 1.25; margin-bottom: 2px; }
.guide-step.is-active strong { color: var(--c-primary); }
.guide-step em { display: block; color: var(--c-muted); font-size: 12.5px; line-height: 1.45; font-style: normal; }
.guide-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.guide-doc-list { display: flex; flex-direction: column; }
.guide-doc-item {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 10px 2px; border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0; background: none;
}
.guide-doc-item:last-child { border-bottom: 0; }
.guide-doc-item > span {
  width: 22px; height: 22px; flex-shrink: 0; display: grid; place-items: center; border-radius: 999px;
  background: var(--c-bg); color: var(--c-muted); font-weight: 700; font-size: 13px;
}
.guide-doc-item > div { display: flex; flex-direction: column; min-width: 0; }
.guide-doc-item strong,
.guide-doc-item em { display: block; }
.guide-doc-item em { color: var(--c-muted); font-size: 12.5px; font-style: normal; margin-top: 2px; }
.guide-inline-action { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.guide-deliverables { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.guide-deliverables li { position: relative; padding-left: 24px; color: var(--c-text); font-size: 13.5px; }
.guide-deliverables li::before {
  content: "✓"; position: absolute; left: 0; top: 0; color: var(--c-ok); font-weight: 800;
}
.guide-company {
  display: flex; flex-wrap: wrap; gap: 6px 24px;
  margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--c-border);
}
.guide-company div { display: flex; align-items: baseline; gap: 7px; background: none; border: 0; border-radius: 0; padding: 0; }
.guide-company span { order: 2; color: var(--c-muted); font-size: 13px; }
.guide-company strong { order: 1; font-size: 18px; line-height: 1; }
.guide-modules { display: flex; flex-direction: column; }
.guide-module {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; align-items: center;
  padding: 13px 2px; border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0; background: none;
}
.guide-module:last-child { border-bottom: 0; }
.guide-module.is-disabled { opacity: .6; }
.guide-module > div { grid-column: 1; grid-row: 1; display: flex; justify-content: flex-start; gap: 10px; align-items: center; }
.guide-module strong { font-size: 14px; }
.guide-module p { grid-column: 1; grid-row: 2; min-height: 0; margin: 2px 0 0; color: var(--c-muted); font-size: 13px; }
.guide-module .btn { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
/* Configurarea companiei ca pași (wizard) */
/* Bara de pași a configurării folosește acum componenta comună (partials/steps,
   clasele .wiz-steps-*, mod „client" — vezi mai jos secțiunea „bara comună pentru pași"). */
.wizard-step[hidden] { display: none; }
.wizard-step { border: 0; padding: 0; margin: 0 0 4px; }
.wizard-nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.wizard-nav-spacer { flex: 1; }
.setup-choice-group h3 .req { display: inline-block; margin-left: 8px; font-size: 10.5px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em; color: var(--c-primary);
  background: var(--c-primary-50); border-radius: 999px; padding: 2px 8px; vertical-align: middle; }

/* Structura fișei de post — listă minimalistă cu bife verzi */
.sectiuni-grup { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700;
  color: var(--c-muted); margin: 18px 0 8px; }
.sectiuni-grup:first-child { margin-top: 4px; }
.check-list { list-style: none; margin: 0; padding: 0; }
.check-row { display: flex; align-items: center; gap: 11px; padding: 9px 2px; border-bottom: 1px solid var(--c-border); }
.check-row:last-child { border-bottom: 0; }
.check-row label { display: flex; align-items: center; gap: 11px; cursor: pointer; margin: 0; width: 100%; }
.check-row input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--c-ok); cursor: pointer; }
.check-row.is-locked input[type="checkbox"] { cursor: default; opacity: 1; }
.checkline { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 12px 14px;
  border: 1px solid var(--c-border-2); border-radius: var(--radius); background: var(--c-surface); color: var(--c-text);
  line-height: 1.45; cursor: pointer; }
.checkline input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--c-primary); }
.check-label { font-size: 14px; color: var(--c-text); }
.check-label em { color: var(--c-muted); font-style: normal; font-size: 12.5px; }
.check-label em.orient { display: inline-block; margin-left: 6px; font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: var(--c-muted); background: var(--c-bg); border: 1px solid var(--c-border-2);
  border-radius: 999px; padding: 1px 7px; vertical-align: middle; }
.check-hint { margin-left: auto; font-size: 12px; color: var(--c-ok); font-weight: 600; }
.sectiuni-nota { margin-top: 14px; font-size: 12.5px; color: var(--c-muted); line-height: 1.5;
  background: var(--c-bg); border-radius: var(--radius); padding: 10px 13px; }
.krakpi-block { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--c-border); }

/* Arii KRA/KPI (editor) */
.kra-area { border: 1px solid var(--c-border-2); border-radius: var(--radius); padding: 14px; margin-bottom: 12px; background: #fbfbfc; }
.kra-area-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.kra-area-head input { flex: 1; font-weight: 600; }
.kra-area-head .btn-link { font-size: 20px; line-height: 1; color: var(--c-muted); }
.kra-area-head .btn-link:hover { color: var(--c-title); }

.setup-wizard-card {
  border-left: 4px solid var(--c-primary);
}
.setup-wizard-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.setup-wizard-step {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 12px;
  min-height: 160px;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
  color: var(--c-text);
  text-decoration: none;
}
.setup-wizard-step:hover {
  border-color: var(--c-border-2);
  background: #fff;
  text-decoration: none;
}
.setup-wizard-step > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--c-track);
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 800;
}
.setup-wizard-step.is-active {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px var(--c-primary-50);
  background: #fff;
}
.setup-wizard-step.is-active > span {
  background: var(--c-primary);
  color: #fff;
}
.setup-wizard-step.is-done {
  border-color: #cfe8d8;
  background: var(--c-ok-50);
}
.setup-wizard-step.is-done > span {
  background: var(--c-ok);
  color: #fff;
}
.setup-wizard-step.is-disabled {
  opacity: .7;
  cursor: default;
}
.setup-wizard-step strong {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.25;
}
.setup-wizard-step em {
  display: block;
  color: var(--c-muted);
  font-size: 12.5px;
  font-style: normal;
  line-height: 1.45;
}

@media (max-width: 1050px) {
  .guide-hero,
  .guide-split { grid-template-columns: 1fr; }
  .guide-plan { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .setup-wizard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-modules { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .guide-kpis,
  .guide-plan,
  .setup-wizard-grid,
  .guide-company { grid-template-columns: 1fr; }
  .pef-panel__head { display: grid; }
  .guide-actions .btn,
  .guide-inline-action .btn { width: 100%; justify-content: center; }
}

/* Guided-first home modal (G2) */
body.guided-home-open {
  overflow: hidden;
}
.guided-home-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 32px;
  background: rgba(23, 25, 28, .34);
  backdrop-filter: blur(5px);
}
.guided-home-overlay[hidden] {
  display: none;
}
.guided-home-modal {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, .58fr) minmax(0, 1fr);
  width: min(1080px, 100%);
  max-height: min(780px, calc(100vh - 64px));
  overflow: auto;
  border: 1px solid var(--c-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(16, 24, 40, .24);
}
.guided-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-muted);
  cursor: pointer;
  font: inherit;
}
.guided-close:hover {
  color: var(--c-primary);
  background: var(--c-primary-50);
}
.guided-close span {
  font-size: 24px;
  line-height: 1;
}
/* Modal de ghidare SIMPLU (1 titlu, 1 paragraf, max 3 acțiuni) */
.guided-simple {
  position: relative;
  width: min(520px, 100%);
  padding: 40px 38px 28px;
  border: 1px solid var(--c-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(16, 24, 40, .24);
}
.guided-simple h1 {
  margin: 10px 0 0;
  font-size: 24px;
  line-height: 1.25;
}
.guided-simple-why {
  margin: 12px 0 26px;
  color: var(--c-muted);
  font-size: 15px;
  line-height: 1.6;
}
.guided-simple-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.guided-simple-actions .btn-primary {
  flex: 0 0 100%;
  justify-content: center;
}
.guided-simple-foot {
  margin: 20px 0 0;
  color: var(--c-muted);
  font-size: 12.5px;
}
/* Reminder discret pe Acasă, după „Încarc mai târziu" */
.guided-reminder {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding: 14px 18px;
  border: 1px solid var(--c-warning-border);
  border-left: 4px solid var(--c-warning);
  border-radius: var(--radius);
  background: var(--c-warning-50);
}
.guided-reminder > div {
  display: grid;
  gap: 2px;
}
.guided-reminder strong {
  font-size: 15px;
}
.guided-reminder span {
  color: var(--c-muted);
  font-size: 13px;
}
.guided-reminder .btn {
  margin-left: auto;
}
.guided-progress-pane,
.guided-step-pane {
  padding: 46px;
}
.guided-progress-pane {
  display: grid;
  align-content: start;
  gap: 22px;
  border-right: 1px solid var(--c-border);
  background: #fbfbfc;
}
.guided-step-pane {
  display: grid;
  align-content: center;
  gap: 22px;
  min-height: 620px;
}
.guided-kicker {
  display: inline-flex;
  width: fit-content;
  color: var(--c-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.guided-progress-pane h2,
.guided-step-pane h1 {
  margin: 0;
  letter-spacing: 0;
}
.guided-progress-pane h2 {
  font-size: 22px;
  line-height: 1.2;
}
.guided-step-pane h1 {
  max-width: 680px;
  font-size: 36px;
  line-height: 1.08;
}
.guided-progress-pane p,
.guided-why {
  margin: 0;
  color: var(--c-muted);
}
.guided-why {
  max-width: 700px;
  font-size: 16px;
  line-height: 1.65;
}
.guided-meter {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.guided-meter::before {
  content: "";
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background:
    linear-gradient(90deg, var(--c-primary) var(--guided-progress), transparent 0),
    #edf0f2;
}
.guided-meter strong {
  color: var(--c-primary);
  font-size: 32px;
  line-height: 1;
}
.guided-meter span,
.guided-next-preview > span,
.guided-escape > span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.guided-done-list {
  display: grid;
  gap: 10px;
}
.guided-done-list > div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #cfe7d8;
  border-radius: var(--radius);
  background: var(--c-ok-50);
}
.guided-done-list span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--c-ok);
  color: #fff;
  font-weight: 800;
}
.guided-done-list p,
.guided-next-preview p {
  margin: 0;
}
.guided-done-list strong,
.guided-done-list em,
.guided-next-preview strong,
.guided-next-preview em {
  display: block;
}
.guided-done-list em,
.guided-next-preview em {
  color: var(--c-muted);
  font-size: 12.5px;
  font-style: normal;
}
.guided-choice-card,
.guided-next-preview,
.guided-escape,
.guided-blockers {
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.guided-choice-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border-left: 4px solid var(--c-primary);
}
.guided-choice-card > div:first-child {
  display: grid;
  gap: 2px;
}
.guided-choice-card strong {
  font-size: 15px;
}
.guided-choice-card span,
.guided-consequence {
  color: var(--c-muted);
  font-size: 13px;
}
.guided-choice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.guided-choice-actions form {
  margin: 0;
}
.guided-assume-button {
  color: var(--c-primary);
}
.guided-consequence {
  margin: 0;
  padding: 12px;
  border-radius: var(--radius);
  background: var(--c-primary-50);
}
.guided-next-preview {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: #fbfbfc;
}
.guided-next-preview p {
  padding-top: 10px;
  border-top: 1px solid var(--c-border);
}
.guided-next-preview p:first-of-type {
  padding-top: 0;
  border-top: 0;
}
.guided-escape {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: #fbfbfc;
}
.guided-escape div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.guided-escape a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid var(--c-border-2);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-text);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.guided-escape a:hover {
  color: var(--c-primary);
  border-color: #f0b8b8;
  background: var(--c-primary-50);
}
.guided-blockers {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-color: #f0d1d1;
  background: #fffafa;
}
.guided-blockers span {
  color: var(--c-primary);
  font-size: 13px;
}
.guided-footer {
  display: flex;
  justify-content: center;
  padding-top: 2px;
}
.guided-footer button {
  border: 0;
  background: transparent;
  color: var(--c-muted);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
}
.guided-footer button:hover {
  color: var(--c-primary);
  text-decoration: underline;
}

@media (max-width: 920px) {
  .guided-home-overlay {
    align-items: start;
    padding: 18px;
    overflow-y: auto;
  }
  .guided-home-modal {
    grid-template-columns: 1fr;
    max-height: none;
  }
  .guided-progress-pane {
    border-right: 0;
    border-bottom: 1px solid var(--c-border);
  }
  .guided-step-pane {
    min-height: 0;
  }
  .guided-progress-pane,
  .guided-step-pane {
    padding: 34px 24px;
  }
  .guided-step-pane h1 {
    font-size: 30px;
  }
}

@media (max-width: 620px) {
  .guided-home-overlay {
    padding: 0;
  }
  .guided-home-modal {
    min-height: 100vh;
    border-radius: 0;
  }
  .guided-close {
    top: 12px;
    right: 12px;
  }
  .guided-progress-pane,
  .guided-step-pane {
    padding: 30px 18px;
  }
  .guided-step-pane h1 {
    font-size: 27px;
  }
  .guided-choice-actions,
  .guided-choice-actions form,
  .guided-choice-actions .btn,
  .guided-escape a {
    width: 100%;
  }
  .guided-choice-actions .btn,
  .guided-escape a {
    justify-content: center;
  }
}

/* Landing-uri pentru participanți: angajat, manager, HR */
.participant-page {
  display: grid;
  gap: 20px;
}
.participant-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: stretch;
}
.participant-hero h1 {
  margin-bottom: 8px;
}
.participant-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
}
.participant-actions span {
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
}
.participant-focus-card,
.participant-panel,
.participant-note {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.participant-focus-card {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
}
.participant-focus-card span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.participant-focus-card strong {
  font-size: 30px;
  line-height: 1.1;
}
.participant-focus-card p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13.5px;
}
.participant-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.participant-panel {
  padding: 22px;
}
.participant-panel.quiet {
  background: #faf9f6;
}
.participant-panel h2,
.participant-note h2 {
  margin-top: 0;
}
.participant-checklist {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.participant-checklist li {
  position: relative;
  padding-left: 24px;
  font-size: 13.5px;
}
.participant-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .5em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--c-primary);
}
.participant-checklist.muted-list li::before {
  background: var(--c-muted);
}
.participant-note {
  padding: 18px 20px;
  border-left: 4px solid var(--c-primary);
}
.participant-note strong {
  display: block;
  margin-bottom: 4px;
}
.participant-note p {
  margin: 0;
  color: var(--c-muted);
}
.participant-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.participant-section-head h2,
.participant-section-head p {
  margin-top: 0;
}
.participant-assignment-list {
  display: grid;
  gap: 10px;
}
.participant-assignment {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
  color: var(--c-text);
  text-decoration: none;
}
.participant-assignment:hover {
  border-color: var(--c-border-2);
  background: #fff;
  text-decoration: none;
}
.participant-assignment > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--c-track);
  color: var(--c-muted);
  font-weight: 800;
}
.participant-assignment.completed > span {
  background: var(--c-ok);
  color: #fff;
}
.participant-assignment.needs_review > span {
  background: var(--c-primary);
  color: #fff;
}
.participant-assignment strong,
.participant-assignment em {
  display: block;
}
.participant-assignment em {
  color: var(--c-muted);
  font-size: 12.5px;
  font-style: normal;
  margin-top: 2px;
}
.participant-assignment b {
  padding: 3px 8px;
  border-radius: 999px;
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 11.5px;
}
.participant-assignment.completed b {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.participant-empty {
  padding: 16px;
  border: 1px dashed var(--c-border-2);
  border-radius: var(--radius);
  background: #faf9f6;
  color: var(--c-muted);
}

@media (max-width: 860px) {
  .participant-hero,
  .participant-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .participant-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .participant-assignment {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .participant-assignment b {
    grid-column: 2;
    width: fit-content;
  }
}

/* Configurare companie: documente și invitații */
.setup-page {
  display: grid;
  gap: 20px;
}
.setup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  gap: 16px;
  align-items: start;
}
.setup-form {
  display: grid;
  gap: 12px;
}
.setup-form label {
  margin: 0 0 2px;
}
.setup-form .btn {
  width: fit-content;
}
.setup-guide-list {
  display: flex;
  flex-direction: column;
}
.setup-guide-list > div {
  display: grid;
  gap: 2px;
  padding: 11px 2px;
  border: 0;
  border-bottom: 1px solid var(--c-border);
  border-radius: 0;
  background: none;
}
.setup-guide-list > div:last-child { border-bottom: 0; }
.setup-guide-list strong {
  font-size: 13.5px;
}
.setup-guide-list span {
  color: var(--c-muted);
  font-size: 12.5px;
  line-height: 1.45;
}
.setup-list {
  display: grid;
  gap: 10px;
}
.setup-list-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
}
.setup-list-row form {
  margin: 0;
}
.setup-list-row strong,
.setup-list-row em {
  display: block;
}
.setup-list-row em {
  margin-top: 2px;
  color: var(--c-muted);
  font-size: 12.5px;
  font-style: normal;
}
.setup-list-row b {
  padding: 3px 8px;
  border-radius: 999px;
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 11.5px;
  white-space: nowrap;
}
.setup-list-row b.done {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.setup-list-row b.attention {
  background: var(--c-primary-50);
  color: var(--c-primary);
}
.setup-file-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--c-track);
  color: var(--c-muted);
  font-weight: 800;
}
.setup-file-mark.done {
  background: var(--c-ok);
  color: #fff;
}
.setup-file-mark.attention {
  background: var(--c-primary);
  color: #fff;
}
.setup-checkbox-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}
.setup-checkbox-list label {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  min-height: 42px;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
  font-weight: 600;
}
.setup-checkbox-list input {
  margin-top: 3px;
}
.setup-company-form {
  display: grid;
  gap: 16px;
}
.setup-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.setup-form-grid.one {
  grid-template-columns: 1fr;
}
.setup-field {
  display: grid;
  gap: 6px;
  margin: 0;
}
.setup-field.full {
  grid-column: 1 / -1;
}
.setup-field span {
  color: var(--c-text);
  font-size: 13px;
  font-weight: 800;
}
.setup-field em {
  color: var(--c-primary);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.setup-field input,
.setup-field textarea,
.setup-form select {
  width: 100%;
}
.setup-saved {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--c-ok-50);
  color: var(--c-ok);
  font-size: 12px;
  font-weight: 800;
}
.setup-choice-group {
  display: grid;
  gap: 18px;
}
.setup-choice-group h3 {
  margin: 0 0 10px;
  font-size: 14px;
}
.setup-radio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
}
.setup-radio-card {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 58px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--c-text);
  font-weight: 700;
  line-height: 1.35;
}
.setup-radio-card.is-selected {
  border-color: var(--c-primary);
  background: var(--c-primary-50);
  box-shadow: 0 0 0 2px rgba(192, 8, 14, .08);
}
.setup-radio-card input {
  margin-top: 2px;
  accent-color: var(--c-primary);
}
.setup-action-bar {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
  padding: 16px 2px 4px;
  border-top: 1px solid var(--c-border);
}

/* Controale native uniformizate (butonul de fișier arăta nativ/inconsistent) */
input[type="file"]:not(.dropzone input) { font: inherit; font-size: 13px; color: var(--c-muted); max-width: 100%; }
input[type="file"]:not(.dropzone input)::file-selector-button {
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
  padding: 8px 14px; margin-right: 12px; border-radius: var(--radius);
  border: 1px solid var(--c-border-2); background: var(--c-surface); color: var(--c-text);
}
input[type="file"]:not(.dropzone input)::file-selector-button:hover { background: var(--c-bg); border-color: var(--c-primary); }
.error-box {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid #f2b8b8;
  border-radius: var(--radius);
  background: var(--c-primary-50);
  color: var(--c-primary);
}
.error-box span {
  font-size: 13px;
  font-weight: 600;
}

/* Dosarul final — documente generate, lipsă, învechite sau eșuate */
.dossier-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

/* Dosar minimalist — liste cu bife, nu carduri */
.dossier-doc-list { display: flex; flex-direction: column; }
.doc-checklist { list-style: none; margin: 0; padding: 0; }
.doc-row, .doc-check { display: flex; align-items: center; gap: 13px; padding: 11px 2px; border-bottom: 1px solid var(--c-border); }
.doc-row:last-child, .doc-check:last-child { border-bottom: 0; }
.doc-mark { flex-shrink: 0; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%;
  font-size: 13px; font-weight: 700; background: var(--c-bg); color: var(--c-muted); }
.doc-mark.ok { background: var(--c-ok-50); color: var(--c-ok); }
.doc-mark.warn { background: var(--c-warning-50); color: var(--c-warning); }
.doc-mark.danger { background: var(--c-warning-50); color: var(--c-warning); }
.doc-row-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.doc-row-body strong { font-size: 14px; color: var(--c-text); font-weight: 600; }
.doc-row-body em { font-style: normal; font-size: 12.5px; color: var(--c-muted); }
.doc-row-actions { display: flex; gap: 8px; flex-shrink: 0; }
.btn-sm { padding: 6px 12px; font-size: 13px; }
.dossier-gate-accordion {
  padding: 0;
}
.dossier-gate-accordion > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  list-style: none;
  padding: 18px;
}
.dossier-gate-accordion > summary::-webkit-details-marker {
  display: none;
}
.dossier-gate-accordion > summary h2 {
  margin: 4px 0;
  font-size: 18px;
}
.dossier-gate-accordion > summary p {
  margin: 0;
  color: var(--c-muted);
}
.dossier-gate-accordion > *:not(summary) {
  margin-left: 18px;
  margin-right: 18px;
}
.dossier-gate-accordion > *:last-child {
  margin-bottom: 18px;
}
.dossier-blockers-accordion {
  padding: 0;
}
.dossier-blockers-accordion > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  list-style: none;
  padding: 18px;
}
.dossier-blockers-accordion > summary::-webkit-details-marker {
  display: none;
}
.dossier-blockers-accordion > summary h2 {
  margin: 4px 0;
  font-size: 18px;
}
.dossier-blockers-accordion > summary p {
  margin: 0;
  color: var(--c-muted);
}
.dossier-blockers-accordion .dossier-doc-list {
  margin: 0 18px 18px;
}
.dossier-gate-disclaimer {
  margin-top: 0;
  color: var(--c-muted);
  font-size: 14px;
  line-height: 1.55;
}
.dossier-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.dossier-kpi {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: #fff;
}
.dossier-kpi span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 700;
}
.dossier-kpi strong {
  color: var(--c-text);
  font-size: 24px;
  line-height: 1;
}
.dossier-kpi.is-ok {
  border-color: #cfe7d8;
  background: var(--c-ok-50);
}
.dossier-kpi.is-warn {
  border-color: var(--c-warning-border);
  background: var(--c-warning-50);
}
.dossier-kpi.is-danger {
  border-color: var(--c-warning-border);
  background: var(--c-warning-50);
}
.dossier-panel--priority,
.pef-panel--priority {
  border-left: 4px solid var(--c-warning);
}
.dossier-gate--ok {
  border-left: 4px solid var(--c-ok);
}
.dossier-gate--warn {
  border-left: 4px solid var(--c-warning);
}
.dossier-gate--danger {
  border-left: 4px solid var(--c-warning);
}
.dossier-gate-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  padding: 12px;
  border-radius: var(--radius);
  background: #f7f6f1;
}
.dossier-gate-summary strong {
  color: var(--c-text);
}
.dossier-gate-summary span {
  color: var(--c-muted);
}
.dossier-gate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}
.dossier-gate-check {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.dossier-gate-check span {
  width: fit-content;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f2f0ea;
  color: var(--c-muted);
  font-size: 11.5px;
  font-weight: 800;
}
.dossier-gate-check strong {
  font-size: 13.5px;
}
.dossier-gate-check em {
  color: var(--c-muted);
  font-size: 12.5px;
  font-style: normal;
}
.dossier-gate-check.is-ok {
  border-color: #cfe7d8;
}
.dossier-gate-check.is-ok span {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.dossier-gate-check.is-open {
  border-color: var(--c-warning-border);
}
.dossier-gate-check.is-open span {
  background: var(--c-warning-50);
  color: var(--c-warning);
}
.dossier-gate-notes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}
.dossier-gate-notes > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: var(--radius);
  background: var(--c-warning-50);
  color: #6f4a00;
}
.dossier-gate-notes > div:first-child {
  background: var(--c-warning-50);
  color: var(--c-warning);
}
.dossier-gate-notes strong {
  color: inherit;
}
.dossier-task-list {
  display: grid;
  gap: 10px;
}
.dossier-task {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.dossier-task h3 {
  margin: 6px 0 2px;
  font-size: 14px;
}
.dossier-task p {
  margin: 0;
  color: var(--c-muted);
}
.dossier-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 12px;
}
.dossier-doc-card {
  display: grid;
  gap: 12px;
  min-height: 210px;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.dossier-doc-card--warn {
  border-color: var(--c-warning-border);
  background: #fffdfa;
}
.dossier-doc-card--danger {
  border-color: var(--c-warning-border);
  background: #fffdfa;
}
.dossier-doc-card header,
.dossier-doc-card footer,
.dossier-post > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.dossier-doc-card h3,
.dossier-post h3,
.dossier-empty h3 {
  margin: 0;
  font-size: 15px;
}
.dossier-doc-card p,
.dossier-empty p {
  margin: 0;
  color: var(--c-muted);
  line-height: 1.45;
}
.dossier-scope,
.dossier-date,
.dossier-post header span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 600;
}
.dossier-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 800;
  white-space: nowrap;
}
.dossier-badge--ok {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.dossier-badge--warn {
  background: #fff1d6;
  color: #8a5a00;
}
.dossier-badge--danger {
  background: var(--c-warning-50);
  color: var(--c-warning);
}
.dossier-badge--muted {
  background: #f2f0ea;
  color: var(--c-muted);
}
.dossier-missing {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: var(--radius);
  background: #f7f6f1;
  color: var(--c-muted);
  font-size: 12.5px;
}
.dossier-missing strong {
  color: var(--c-text);
}
.dossier-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.dossier-card-actions .btn {
  padding: 7px 11px;
  font-size: 12.5px;
}
.dossier-action-muted {
  align-self: center;
  color: var(--c-muted);
  font-size: 12.5px;
  font-weight: 700;
}
.dossier-post {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
}
.dossier-post + .dossier-post {
  margin-top: 12px;
}
.dossier-empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 20px;
  border: 1px dashed var(--c-border-2);
  border-radius: var(--radius);
  background: #fbfbfc;
}

/* Conformitate salarială - clase izolate .pay-* */
.pay-danger-zone {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow);
}
.pay-inline-actions,
.pay-panel-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.pay-inline-actions form {
  margin: 0;
}
.pay-kpi span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pay-kpi small,
.pay-panel-foot p,
.pay-doc-card p,
.pay-range-card span,
.pay-alert p,
.pay-code-block span,
.pay-danger-zone p {
  color: var(--c-muted);
  font-size: 13px;
}
.pay-progress {
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--c-border);
}
.pay-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--c-ok);
}
/* Nav remunerație — stepper minimalist (roșu = pasul curent, gri = restul), fără cutii */
.pay-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 20px;
  margin: 14px 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--c-border);
}
.pay-flow-step {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-muted);
  text-decoration: none;
}
.pay-flow-step:hover {
  background: none;
  text-decoration: none;
}
.pay-flow-step:hover strong { color: var(--c-text); }
.pay-step-index {
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--c-bg);
  color: var(--c-muted);
  font-weight: 700;
  font-size: 11.5px;
}
.pay-flow-step.is-active .pay-step-index {
  background: var(--c-primary);
  color: #fff;
}
.pay-flow-step strong {
  display: block;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.pay-flow-step.is-active strong { color: var(--c-primary); font-weight: 700; }
.pay-flow-step em { display: none; }
.pay-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 28px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--c-border);
}
.pay-kpi {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.pay-kpi span {
  order: 2;
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}
.pay-kpi strong {
  order: 1;
  color: var(--c-text);
  font-size: 20px;
  line-height: 1;
}
.pay-kpi small { display: none; }
.pay-kpi.is-ok { border: 0; background: none; }
.pay-kpi.is-ok strong { color: var(--c-ok); }
.pay-kpi.is-danger { border: 0; background: none; }
.pay-kpi.is-danger strong { color: var(--c-warning); }
.pay-grid {
  display: grid;
  gap: 16px;
}
.pay-grid--split {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
}
.pay-doc-card h3 {
  margin: 0 0 4px;
}
.pay-panel-foot p,
.pay-doc-card p,
.pay-alert p,
.pay-danger-zone p {
  margin: 0;
}
.pay-form-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 16px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
}
.pay-form-strip strong {
  display: block;
  margin-bottom: 3px;
}
.pay-form-strip p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13px;
}
.pay-number-input,
.pay-table input[type="number"] {
  width: 100%;
  min-width: 112px;
  padding: 8px 10px;
  border: 1px solid var(--c-border-2);
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 13.5px;
}
.pay-table {
  min-width: 760px;
}
.pay-table--grades {
  min-width: 780px;
  table-layout: fixed;
}
.pay-table--grades th:nth-child(1) { width: 14%; }
.pay-table--grades th:nth-child(2) { width: 16%; }
.pay-table--grades th:nth-child(3) { width: 8%; }
.pay-table--grades th:nth-child(n+4) { width: 20.666%; }
.pay-table--grades input[type="number"] {
  min-width: 120px;
  text-align: right;
}
.pay-amount-field {
  display: flex; align-items: center; gap: 6px;
}
.pay-amount-field .pay-amount-unit {
  color: var(--c-muted); font-size: 12.5px; white-space: nowrap;
}
.pay-table th {
  background: #fbfbfc;
}
.pay-row-muted td {
  color: var(--c-muted);
  background: #fbfbfc;
}
.pay-row-danger td {
  background: #fff5f5;
}
.pay-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.pay-badge--ok {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.pay-badge--danger {
  background: var(--c-warning-50);
  color: var(--c-warning);
}
.pay-badge--muted {
  background: var(--c-track);
  color: var(--c-nav-text);
}
.pay-form {
  display: grid;
  gap: 12px;
}
.pay-form label {
  margin: 0;
}
.pay-form input[type="file"] {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--c-border-2);
  border-radius: var(--radius);
  background: #fff;
  font: inherit;
}
.pay-check {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: var(--c-text);
  font-weight: 500;
}
.pay-check input {
  margin-top: 3px;
}
.pay-code-block {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfc;
}
.pay-code-block code {
  color: var(--c-text);
  white-space: normal;
  word-break: break-word;
}
.pay-alert {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: var(--radius);
}
.pay-alert--danger {
  border: 1px solid var(--c-warning-border);
  background: var(--c-warning-50);
}
.pay-alert--ok {
  border: 1px solid #cfe7d8;
  background: var(--c-ok-50);
}
.pay-alert--warn {
  border: 1px solid var(--c-warning-border);
  background: var(--c-warning-50);
}
.pay-panel-foot {
  justify-content: space-between;
  padding-top: 2px;
}
.pay-danger-zone {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: 18px;
  padding: 14px;
  border-color: #f2b8b8;
  background: #fffafa;
}
.pay-danger-zone form {
  margin: 0;
}
.pay-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
}
.pay-doc-card {
  display: grid;
  align-content: space-between;
  gap: 16px;
  min-height: 210px;
  padding: 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.pay-doc-card header,
.pay-doc-card footer {
  display: grid;
  justify-items: start;
  gap: 10px;
}
.pay-doc-card footer {
  grid-template-columns: repeat(2, max-content);
}
.pay-doc-card.is-disabled {
  background: #fbfbfc;
}
.pay-range-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 10px;
}
.pay-range-card {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.pay-range-card div {
  display: grid;
  gap: 3px;
}
.pay-range-card.is-missing {
  background: #fbfbfc;
}

@media (max-width: 920px) {
  .setup-grid,
  .pay-grid--split,
  .pay-form-strip {
    grid-template-columns: 1fr;
  }
  .dossier-kpis,
  .pay-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pay-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .setup-list-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .setup-list-row b,
  .setup-list-row form {
    grid-column: 2;
    width: fit-content;
  }
  .setup-form .btn,
  .setup-list-row .btn {
    width: 100%;
    justify-content: center;
  }
  .setup-form-grid,
  .setup-radio-grid {
    grid-template-columns: 1fr;
  }
  .setup-action-bar {
    position: static;
    display: grid;
  }
  .setup-action-bar .btn {
    justify-content: center;
    width: 100%;
  }
  .dossier-kpis,
  .dossier-task,
  .pay-kpis,
  .pay-flow {
    grid-template-columns: 1fr;
  }
  .dossier-doc-card header,
  .dossier-doc-card footer,
  .dossier-post > header,
  .pay-doc-card footer {
    display: grid;
  }
  .dossier-card-actions,
  .dossier-actions,
  .pef-header-actions,
  .pay-inline-actions,
  .pay-panel-foot,
  .pay-danger-zone {
    display: grid;
    justify-content: stretch;
  }
  .dossier-card-actions .btn,
  .dossier-actions .btn,
  .pef-header-actions .btn,
  .dossier-task .btn,
  .dossier-post header .btn,
  .pay-inline-actions .btn,
  .pay-panel-foot .btn,
  .pay-danger-zone .btn,
  .pay-doc-card .btn,
  .pay-range-card .btn {
    justify-content: center;
    width: 100%;
  }
  .pay-range-card {
    display: grid;
  }
  .pay-table input[type="number"] {
    min-width: 0;
    width: 100%;
  }
  .dossier-gate-accordion > summary {
    display: grid;
  }
  /* UX1-04: titlul și explicația pe toată lățimea cardului, apoi PDF și Word pe un rând
     propriu, în interiorul cardului (fără margine care împinge butoanele în afara ecranului). */
  .doc-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .doc-row-body {
    flex: 1 1 calc(100% - 40px);
  }
  .doc-row-actions {
    flex: 1 1 100%;
    margin-left: 0;
  }
  .doc-row-actions .btn {
    flex: 1 1 0;
    justify-content: center;
  }
}


/* ==========================================================================
   PEF DESIGN SYSTEM — strat unic de componente (.pef-*)
   Premium · minimalist · plat. Hairlines, mult alb, roșul DOAR ca accent.
   Markeri verde/roșu/gri sobri. Detalii: docs/design/PEF-DESIGN-SYSTEM.md
   ========================================================================== */

/* --- Butoane: 3 niveluri + danger (rafinate, fără greutate inutilă) --- */
.btn-secondary { background: var(--c-surface); color: var(--c-text); border: 1px solid #687078; font-weight: 600; }
.btn-secondary:hover { background: #fbfbfc; border-color: #687078; text-decoration: none; }
.btn-tertiary { background: none; border: 1px solid transparent; color: var(--c-muted); font-weight: 600; }
.btn-tertiary:hover { color: var(--c-text); background: none; text-decoration: none; }
.btn-danger { background: none; color: var(--c-primary); border: 1px solid #eccccc; font-weight: 600; }
.btn-danger:hover { background: var(--c-primary-50); border-color: var(--c-primary); text-decoration: none; }

/* --- Antet de pagină — „din același film" cu fișa de post (titlu serif, romb roșu) --- */
.pef-page-header { margin-bottom: 26px; }
.pef-page-header .eyebrow,
.pef-eyebrow { display: block; color: var(--c-label);
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 12px; }
.pef-page-header .eyebrow::before,
.pef-eyebrow::before { content: none; }
.pef-page-header h1 { margin: 0 0 10px; font-weight: 700;
  font-size: 21px; line-height: 1.25; letter-spacing: -.01em; color: var(--c-text); }
.pef-page-header .lead,
.pef-page-header > p { margin: 0; color: var(--c-muted); max-width: 720px; line-height: 1.6; }
.pef-header-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }

/* Pagini de eroare (404/500…) — centrate, branduite, în română */
.error-page { max-width: 540px; margin: 56px auto; text-align: center; }
.error-page .pef-header-actions { justify-content: center; }

/* Meniu „Mai multe" — dropdown din <details>, fără JS (acțiuni secundare grupate) */
.pef-menu { position: relative; display: inline-block; }
.pef-menu > summary { list-style: none; cursor: pointer; }
.pef-menu > summary::-webkit-details-marker { display: none; }
.pef-menu > summary::after { content: " ▾"; }
.pef-menu[open] > summary::after { content: " ▴"; }
.pef-menu__list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30;
  min-width: 210px; display: flex; flex-direction: column; padding: 6px;
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.pef-menu__list a, .pef-menu__list button { display: block; width: 100%; text-align: left;
  padding: 8px 10px; border-radius: 6px; border: 0; background: none; cursor: pointer;
  color: var(--c-nav-text); font: inherit; font-size: 13.5px; text-decoration: none; }
.pef-menu__list a:hover, .pef-menu__list button:hover { background: var(--c-bg); text-decoration: none; }
.pef-menu__list form { margin: 0; }
.pef-menu__list .is-danger { color: var(--c-danger); }

/* Alegere de fișier — în română, neutru (înlocuiește controlul nativ în engleză) */
.pef-file { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; }
.pef-file input[type="file"] { position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pef-file__btn { display: inline-flex; align-items: center; padding: 9px 14px;
  border-radius: var(--radius); border: 1px solid var(--c-border-2); background: var(--c-surface);
  color: var(--c-text); font-weight: 500; font-size: 14px; }
.pef-file:hover .pef-file__btn { background: var(--c-bg); }
.pef-file input:focus-visible + .pef-file__btn { outline: 2px solid var(--c-border-2); outline-offset: 2px; }
.pef-file__name { color: var(--c-muted); font-size: 13.5px; }

/* Antet cu card de stare în dreapta (înlocuiește setup-hero/pay-hero/guide-hero/dossier-hero/wiz-hero) */
.pef-hero { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 18px;
  align-items: stretch; margin-bottom: 26px; }
.pef-hero > .pef-page-header { margin-bottom: 0; }
@media (max-width: 900px) { .pef-hero { grid-template-columns: 1fr; } }

/* Card de stare (cifră/%/„Salvată") — deschis, fără cutie („antet deschis" — design system).
   Înlocuiește setup-score/pay-hero-meter/wiz-progress-card/dossier-score */
.pef-score-card { display: grid; align-content: center; gap: 8px; }
.pef-score-card > span { color: var(--c-muted); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; }
.pef-score-card > strong { font-size: 22px; line-height: 1.1; color: var(--c-text); font-weight: 700; }
.pef-score-card > p,
.pef-score-card > small { margin: 0; font-size: 13px; color: var(--c-muted); line-height: 1.5; }

/* Linie roșie subțire (semnătura din fișă) — accent, nu pe fiecare ecran */
.pef-rule { height: 2px; border-radius: 999px; margin: 0 0 20px;
  background: linear-gradient(90deg, var(--c-primary), var(--c-primary-700)); }
.pef-rule--short { width: 56px; margin-top: 2px; }

/* Antet de secțiune cu romb roșu (semnătura din fișă) */
.pef-section-title { display: block; font-size: 12.5px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--c-label); margin: 0 0 14px; }
.pef-section-title::before { content: none; }

/* --- Linie de statistici (discretă, nu carduri) --- */
.pef-stats-line { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 18px 0 2px;
  padding: 0 0 20px; border-bottom: 1px solid var(--c-border); }
.pef-stats-line > span { color: var(--c-muted); font-size: 13px; }
.pef-stats-line strong { color: var(--c-text); font-size: 15px; font-weight: 700; margin-right: 6px; }

/* --- Status dot (marcaj 20px, sobru) --- */
.pef-status { display: inline-grid; place-items: center; width: 20px; height: 20px; flex-shrink: 0;
  border-radius: 999px; font-size: 11px; font-weight: 700; background: #f0f2f4; color: var(--c-muted); }
.pef-status--success { background: var(--c-ok-50); color: var(--c-ok); }
.pef-status--current { background: var(--c-primary); color: #fff; }
.pef-status--neutral { background: #f0f2f4; color: #9aa1a8; }
.pef-status--warning { background: var(--c-warning-50); color: var(--c-warning); }
.pef-status--danger  { background: var(--c-warning-50); color: var(--c-warning); }

/* --- Lozenge (status scurt, blând, fără majuscule) --- */
.pef-lozenge { display: inline-block; font-size: 11.5px; font-weight: 600; line-height: 1.5;
  padding: 1px 9px; border-radius: 999px; background: #f2f0ea; color: var(--c-muted); }
.pef-lozenge--success { background: var(--c-ok-50); color: var(--c-ok); }
.pef-lozenge--neutral { background: #f2f0ea; color: var(--c-muted); }
.pef-lozenge--info    { background: var(--c-info-50); color: #566472; }
.pef-lozenge--warning { background: var(--c-warning-50); color: var(--c-warning); }
.pef-lozenge--danger  { background: var(--c-warning-50); color: var(--c-warning); }

/* --- Section message (alertă plată, discretă) --- */
.pef-section-message { display: block; border-radius: var(--radius); padding: 13px 15px;
  font-size: 13.5px; line-height: 1.55; border: 0; border-left: 2px solid var(--c-muted);
  background: var(--c-info-50); color: var(--c-text); }
.pef-section-message strong { display: block; margin-bottom: 2px; font-weight: 600; }
.pef-section-message p { margin: 0; color: var(--c-muted); }
.pef-section-message--info    { border-left-color: #9aa6b2; background: var(--c-info-50); }
.pef-section-message--warning { border-left-color: var(--c-warning); background: var(--c-warning-50); }
.pef-section-message--danger  { border-left-color: var(--c-warning); background: var(--c-warning-50); }

/* --- Lista PEF (componenta de bază) — hairlines, mult aer --- */
.pef-list { display: flex; flex-direction: column; }
.pef-list-row { display: flex; align-items: center; gap: 13px; padding: 15px 2px;
  border-bottom: 1px solid var(--c-border); }
.pef-list-row:last-child { border-bottom: 0; }
.pef-list-row__content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pef-list-row__content strong { font-size: 14px; font-weight: 600; color: var(--c-text); }
.pef-list-row__content span { font-size: 13px; color: var(--c-muted); line-height: 1.5; }
.pef-list-row__action { flex-shrink: 0; display: flex; gap: 8px; align-items: center; }

/* --- Tabel PEF --- */
.pef-table { width: 100%; border-collapse: collapse; }
.pef-table thead th { text-align: left; font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .06em; color: var(--c-muted); padding: 11px 14px; border-bottom: 1px solid var(--c-border); }
.pef-table tbody td { padding: 14px; border-bottom: 1px solid var(--c-border); font-size: 14px; vertical-align: middle; }
.pef-table tbody tr:last-child td { border-bottom: 0; }
.pef-table tbody tr:hover { background: #fbfbfc; }
.pef-table .num { text-align: right; font-variant-numeric: tabular-nums; }

/* --- Progress tracker (pași fini) --- */
.pef-stepper { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 0 0 18px; border-bottom: 1px solid var(--c-border); }
.pef-stepper__step { display: flex; align-items: center; gap: 9px; color: var(--c-muted);
  text-decoration: none; font-size: 13px; font-weight: 500; }
.pef-stepper__step.is-current { color: var(--c-primary); font-weight: 700; }
.pef-stepper__step.is-done { color: var(--c-text); }

/* --- Bară de progres foarte subțire --- */
.pef-progress { height: 4px; border-radius: 999px; background: var(--c-track); overflow: hidden; }
.pef-progress > span { display: block; height: 100%; background: var(--c-ok); }
.pef-progress-label { font-size: 13px; color: var(--c-muted); }
.pef-progress-label strong { color: var(--c-text); font-weight: 700; }

/* --- Empty state --- */
.pef-empty { padding: 24px 2px; color: var(--c-muted); font-size: 13.5px; }
.pef-empty .btn { margin-top: 14px; }

/* --- Panou (grupare) — plat, hairline, mult aer --- */
.pef-panel { background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius-lg); padding: 26px; }
.pef-panel--soft { background: var(--c-bg); }   /* panou „liniștit" (înlocuiește setup quiet / pay--soft) */
.pef-panel > :first-child { margin-top: 0; }
.pef-panel + .pef-panel { margin-top: 16px; }
.pef-panel__head { display: flex; justify-content: space-between; gap: 16px;
  align-items: flex-start; margin-bottom: 16px; }
.pef-panel__head h2 { margin: 0 0 4px; font-size: 17px; }
.pef-panel__head p { margin: 0; color: var(--c-muted); }
.pef-panel__foot { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--c-border);
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13.5px; }
.pef-panel__foot-sep { color: var(--c-muted); }
.eval-row-warning { margin-top: 4px; font-size: 11.5px; }

/* Stare goală (§4.13 din audit): o propoziție despre ecran, de ce e gol, un singur buton. */
.pef-empty-state { display: grid; justify-items: start; gap: 10px;
  padding: 32px; text-align: left; }
.pef-empty-state h2, .pef-empty-state h3 { margin: 0; font-size: 17px; }
.pef-empty-state p { margin: 0; color: var(--c-muted); line-height: 1.5; max-width: 60ch; }

/* UX simplificat pentru utilizatori HR non-tehnici */
.hr-task-box {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--c-border);
  border-left: 3px solid var(--c-border-2);
  border-radius: var(--radius);
  background: var(--c-surface);
}
.hr-task-box > span {
  color: var(--c-muted);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hr-task-box h2,
.hr-task-box h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 650;
}
.hr-task-box p {
  margin: 0;
  color: var(--c-muted);
  line-height: 1.55;
}
.hr-task-box .btn {
  justify-self: start;
}
.hr-simple-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--c-border);
}
.hr-simple-row:last-child { border-bottom: 0; }
.hr-simple-row strong { font-weight: 600; color: var(--c-text); }
.hr-simple-row span,
.hr-simple-row em {
  display: block;
  color: var(--c-muted);
  font-style: normal;
  line-height: 1.45;
}
.hr-details {
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-surface);
}
.hr-details + .hr-details { margin-top: 10px; }
.hr-details > summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}
.hr-details > summary::-webkit-details-marker { display: none; }
.hr-details > summary::after {
  content: "Detalii";
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 600;
}
.hr-details[open] > summary::after { content: "Închideți"; }
.hr-details__body {
  padding: 0 16px 16px;
  color: var(--c-text);
}
.hr-details__body p {
  margin: 8px 0 0;
  line-height: 1.55;
}
.hr-kicker {
  display: block;
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 600;
}
.admin-table-wrap table {
  margin: 0;
  min-width: 760px;
}
.company-portfolio-panel { padding: 0; overflow: hidden; }
.company-portfolio-panel > .row { padding: 20px 20px 0; }
.company-portfolio-table { border: 0; border-top: 1px solid var(--c-border); border-radius: 0; }
.company-portfolio-table table { min-width: 0; }
.company-portfolio-table td { vertical-align: top; }
.company-portfolio-table td .badge + .badge { margin-top: 5px; }
.company-commercial-header .mt { margin-top: 14px; }
.company-commercial-stats .stat small { color: var(--c-muted); font-size: 12px; line-height: 1.45; }
.company-commercial-stats .stat small .badge { margin-top: 3px; }
.company-commercial-signals { display: flex; flex-wrap: wrap; gap: 7px; }
.commercial-center-header { max-width: 820px; }
.commercial-flow { padding: 22px; border: 1px solid var(--c-border); border-radius: var(--radius-lg); background: var(--c-surface); }
.commercial-flow__heading { display: flex; align-items: flex-end; gap: 16px; }
.commercial-flow__heading > div { flex: 1; }
.commercial-flow__heading h2 { margin: 0; }
.commercial-workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.commercial-workspace-card { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start;
  min-height: 190px; padding: 18px; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-bg); }
.commercial-workspace-card--primary { border-color: var(--c-primary); background: var(--c-primary-50); }
.commercial-workspace-card__step { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px;
  background: var(--c-surface); border: 1px solid var(--c-border-2); color: var(--c-title); font-size: 12px; font-weight: 800; }
.commercial-workspace-card h3 { margin: 3px 0 8px; }
.commercial-workspace-card p { margin: 0; color: var(--c-muted); line-height: 1.55; }
.commercial-workspace-card .btn { grid-column: 2; justify-self: start; align-self: end; }
.commercial-workspace-reference { padding-top: 18px; border-top: 1px dashed var(--c-border-2); }
.commercial-workspace-card--reference { border-style: dashed; background: var(--c-surface); max-width: 420px; }
.commercial-workspace-card--reference .commercial-workspace-card__step { background: var(--c-track); color: var(--c-primary); border-color: var(--c-primary); }
.company-commercial-jumps { display: flex; flex-wrap: wrap; gap: 8px; }
.company-commercial-jumps + section,
.company-commercial-header + .note,
.company-commercial-header + .stats-grid { scroll-margin-top: 18px; }
.company-commercial-header ~ section[id] { scroll-margin-top: 18px; }
.company-commercial-header ~ .pef-panel h2 { margin-top: 4px; }
.admin-danger-zone {
  border-color: var(--c-warning-border);
  background: var(--c-warning-50);
}
.admin-danger-zone > summary {
  color: var(--c-text);
}
.hr-primary-only .btn-primary + .btn-primary,
.pef-panel__head .btn-primary + .btn-primary {
  margin-left: 0;
}
@media (max-width: 720px) {
  .hr-simple-row {
    grid-template-columns: 1fr;
  }
  .hr-simple-row .btn,
  .hr-task-box .btn {
    width: 100%;
    justify-self: stretch;
  }
  .hr-details > summary {
    align-items: flex-start;
  }
  .admin-table-wrap table {
    min-width: 680px;
  }
  .company-portfolio-table table { min-width: 0; }
  .company-commercial-jumps .btn { flex: 1 1 calc(50% - 8px); justify-content: center; }
}

/* ==========================================================================
   Lotul 4 — regula unică de tabel (audit UX §4.5), aplicată o singură dată,
   global, peste toate cardurile de tabel din produs (.pay-table-wrap,
   .admin-table-wrap, .table-wrap):
   - pe desktop: derulare orizontală în card, cu umbră pe margine ca semn că
     mai există conținut; prima coloană rămâne fixă;
   - pe telefon (sub 640px): rândul devine cartonaș, fiecare valoare își
     poartă eticheta prin data-label (capul de tabel rămâne accesibil, doar
     ascuns vizual — nu display:none);
   - un tabel cu corpul gol nu își mai afișează capul de tabel.
   ========================================================================== */
.pay-table-wrap,
.admin-table-wrap,
.table-wrap {
  position: relative;
  overflow-x: auto;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background-color: var(--c-surface);
  background-image:
    linear-gradient(to right, var(--c-surface) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to left, var(--c-surface) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to right, rgba(17, 17, 17, .12), rgba(17, 17, 17, 0)),
    linear-gradient(to left, rgba(17, 17, 17, .12), rgba(17, 17, 17, 0));
  background-position: left center, right center, left center, right center;
  background-repeat: no-repeat;
  background-size: 30px 100%, 30px 100%, 12px 100%, 12px 100%;
  background-attachment: local, local, scroll, scroll;
}
.pay-table-wrap table th:first-child,
.pay-table-wrap table td:first-child,
.admin-table-wrap table th:first-child,
.admin-table-wrap table td:first-child,
.table-wrap table th:first-child,
.table-wrap table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background-color: var(--c-surface);
}
.pay-table-wrap table thead th:first-child,
.admin-table-wrap table thead th:first-child,
.table-wrap table thead th:first-child {
  z-index: 2;
}
.pay-row-danger td:first-child { background-color: #fff5f5; }
.pay-row-muted td:first-child { background-color: #fbfbfc; }
.pay-table-wrap table:has(tbody:empty) thead,
.admin-table-wrap table:has(tbody:empty) thead,
.table-wrap table:has(tbody:empty) thead {
  display: none;
}

@media (max-width: 640px) {
  .pay-table-wrap,
  .admin-table-wrap,
  .table-wrap {
    overflow: visible;
    border: 0;
    background: none;
  }
  .pay-table-wrap table,
  .admin-table-wrap table,
  .table-wrap table {
    min-width: 0;
    display: block;
  }
  /* Capul de tabel ramane in DOM, pentru cititoarele de ecran, dar dispare
     vizual: nu display:none (§4.5, „ramane accesibil"). */
  .pay-table-wrap table thead,
  .admin-table-wrap table thead,
  .table-wrap table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .pay-table-wrap table tbody,
  .pay-table-wrap table tr,
  .pay-table-wrap table td,
  .pay-table-wrap table th,
  .admin-table-wrap table tbody,
  .admin-table-wrap table tr,
  .admin-table-wrap table td,
  .admin-table-wrap table th,
  .table-wrap table tbody,
  .table-wrap table tr,
  .table-wrap table td,
  .table-wrap table th {
    display: block;
    width: 100%;
  }
  .pay-table-wrap table tbody,
  .admin-table-wrap table tbody,
  .table-wrap table tbody {
    display: grid;
    gap: 12px;
  }
  .pay-table-wrap table tr,
  .admin-table-wrap table tr,
  .table-wrap table tr {
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-surface);
    padding: 12px;
  }
  .pay-table-wrap table td,
  .pay-table-wrap table th,
  .admin-table-wrap table td,
  .admin-table-wrap table th,
  .table-wrap table td,
  .table-wrap table th {
    position: static;
    border: 0;
    padding: 9px 0;
    text-align: left;
    background: none;
  }
  .pay-table-wrap table td + td,
  .pay-table-wrap table th + td,
  .admin-table-wrap table td + td,
  .admin-table-wrap table th + td,
  .table-wrap table td + td,
  .table-wrap table th + td {
    border-top: 1px solid var(--c-border);
  }
  .pay-table-wrap table td[data-label]::before,
  .pay-table-wrap table th[data-label]::before,
  .admin-table-wrap table td[data-label]::before,
  .admin-table-wrap table th[data-label]::before,
  .table-wrap table td[data-label]::before,
  .table-wrap table th[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 5px;
    color: var(--c-muted);
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
}

/* Cartonașul compact pe telefon (audit UX 2, lotul 1): nu mai transformăm fiecare
   celulă într-un rând cu etichetă mare. Prima celulă e titlul cartonașului, fără
   etichetă; valorile scurte stau una lângă alta („Documente 0 · Stadiu …"); celula
   de acțiune și celulele marcate .cell-block ocupă tot rândul, jos. Un post ocupă
   astfel ~120 px în loc de ~410 px, iar 14 posturi se pot compara derulând puțin. */
@media (max-width: 640px) {
  .pay-table-wrap table tr,
  .admin-table-wrap table tr,
  .table-wrap table tr {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 18px;
    padding: 14px 16px;
  }
  .pay-table-wrap table tr > *,
  .admin-table-wrap table tr > *,
  .table-wrap table tr > * {
    width: auto;
    flex: 0 1 auto;
    max-width: 100%;
    padding: 0;
  }
  .pay-table-wrap table td + td,
  .pay-table-wrap table th + td,
  .admin-table-wrap table td + td,
  .admin-table-wrap table th + td,
  .table-wrap table td + td,
  .table-wrap table th + td {
    border-top: 0;
  }
  .pay-table-wrap table tr > :first-child,
  .admin-table-wrap table tr > :first-child,
  .table-wrap table tr > :first-child {
    flex: 1 1 100%;
    font-size: 15px;
  }
  .pay-table-wrap table tr > :first-child::before,
  .admin-table-wrap table tr > :first-child::before,
  .table-wrap table tr > :first-child::before {
    content: none;
  }
  .pay-table-wrap table td[data-label]::before,
  .pay-table-wrap table th[data-label]::before,
  .admin-table-wrap table td[data-label]::before,
  .admin-table-wrap table th[data-label]::before,
  .table-wrap table td[data-label]::before,
  .table-wrap table th[data-label]::before {
    display: inline;
    margin: 0 6px 0 0;
    font-size: 12.5px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
  }
  .pay-table-wrap table tr > .cell-block,
  .admin-table-wrap table tr > .cell-block,
  .table-wrap table tr > .cell-block,
  .pay-table-wrap table tr > td[colspan],
  .admin-table-wrap table tr > td[colspan],
  .table-wrap table tr > td[colspan] {
    flex: 1 1 100%;
  }
  .pay-table-wrap table tr > :last-child:not(:first-child):has(a, button, form),
  .admin-table-wrap table tr > :last-child:not(:first-child):has(a, button, form),
  .table-wrap table tr > :last-child:not(:first-child):has(a, button, form),
  .pay-table-wrap table tr > .cell-action,
  .admin-table-wrap table tr > .cell-action,
  .table-wrap table tr > .cell-action {
    flex: 1 1 100%;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid var(--c-border);
  }
  .pay-table-wrap table tr > .cell-secondary,
  .admin-table-wrap table tr > .cell-secondary,
  .table-wrap table tr > .cell-secondary {
    display: none;
  }
}

/* --- Bară de acțiuni (footer, nu sticky) --- */
.pef-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-top: 20px; padding: 18px 2px 4px; border-top: 1px solid var(--c-border); }
.pef-actions__spacer { flex: 1; }

/* --- Câmpuri (înălțime uniformă 40px, focus discret) --- */
.pef-field { display: flex; flex-direction: column; gap: 7px; }
.pef-field > span, .pef-field > label { font-size: 13px; font-weight: 600; color: var(--c-text); }
.pef-field input, .pef-field select, .pef-field textarea {
  font: inherit; font-size: 14px; width: 100%; padding: 0 12px; height: 40px;
  border: 1px solid var(--c-border-2); border-radius: var(--radius); background: var(--c-surface); color: var(--c-text); }
.pef-field textarea { height: auto; min-height: 96px; padding: 10px 12px; line-height: 1.55; }
.pef-field input:focus, .pef-field select:focus, .pef-field textarea:focus {
  outline: none; border-color: var(--c-focus); box-shadow: 0 0 0 3px var(--c-focus-50); }
.pef-field .hint { font-size: 12.5px; color: var(--c-muted); }
.pef-field .err { font-size: 12.5px; color: var(--c-primary); }

@media (max-width: 720px) {
  .pef-list-row { flex-wrap: wrap; }
  .pef-actions { flex-direction: column; align-items: stretch; }
}

/* === Migrare: semnătura PEF (romb roșu) peste toate eyebrow-urile existente === */
.eyebrow {
  display: block;
  color: var(--c-label); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em; margin-bottom: 12px;
}
.eyebrow::before { content: none; }
/* Titlurile de antet ușor mai mari, serif (din global h1) */
.wiz-hero h1, .guide-hero h1 { font-size: 22px; }


/* === Model Claude/Codex cu accente Elia: antet deschis + conținut în carduri curate === */

/* Antetul (titlu + descriere + stare) stă deschis pe pagină, fără cutie */
.wiz-progress-card {
  background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0;
}

/* Conținutul grupat în carduri curate — UN singur stil consecvent (delimitare clară) */
.pef-panel,
.card, .eval-card, .wiz-current-card, .wiz-aspect-panel {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 14px;
  box-shadow: none;
  padding: 24px;
}
/* Spațiu generos între carduri */
.pef-panel + .guide-split, .guide-split + .pef-panel, .pef-panel + .pef-panel,
.eval-card + .eval-card { margin-top: 16px; }

/* „Următorul pas" — card curat cu accent roșu discret la stânga */
.guide-next {
  background: var(--c-soft-bg); border: 1px solid var(--c-soft-border);
  border-radius: 12px;
  padding: 22px; box-shadow: none;
}

/* Sidebar: aceeași mărime de font ca textul din dreapta (uniform) */
.nav-item { font-size: 14px; }
.nav-sub { font-size: 14px; }

/* === Buton principal: roșul Elia ca accent (o singură culoare) ===
   Fundal plin roșu Elia, text alb; la apăsare/focus fundalul se închide o treaptă.
   Exact un buton principal pe ecran; restul acțiunilor sunt secundare sau terțiare.
   Roșul rămâne exclusiv accent: aici, eyebrow, pas curent, capitole, alerte reale, Ștergeți.
   Convenție semantică: verde=gata · roșu=stop/accent · amber=atenție · neutru=info. */
.btn-primary { background: var(--c-primary); color: #fff;
  border: 1.5px solid var(--c-primary); font-weight: 600; box-shadow: none; }
.btn-primary:hover, .btn-primary:focus-visible {
  background: var(--c-primary-700); color: #fff; border-color: var(--c-primary-700); }

/* === Pagină de lucru: o singură coloană (audit UX 2, lotul 1) ===
   Tabelul are toată lățimea paginii. „Următorul pas" devine o bandă scurtă deasupra
   conținutului, iar explicațiile coboară sub el, în două coloane. Panoul lateral
   permanent îngusta tabelele la ~630 px și ascundea coloane în dreapta. */
.pef-workspace {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}
.pef-workspace__main {
  grid-column: 1 / -1;
  min-width: 0;
}
.pef-workspace__aside {
  display: contents;
}
.pef-workspace__aside > * {
  min-width: 0;
}
.pef-workspace__aside > .pef-next-box {
  grid-column: 1 / -1;
  order: -1;
}
/* O singură casetă de explicații rămasă sub conținut ocupă tot rândul. */
.pef-workspace__aside > .pef-next-box:first-child + :last-child,
.pef-workspace__aside > :only-child {
  grid-column: 1 / -1;
}
.pef-sidebox {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  padding: 20px;
}
.pef-sidebox h2,
.pef-sidebox h3 {
  margin: 0 0 8px;
  font-size: 16px;
}
.pef-sidebox p {
  margin: 0;
  color: var(--c-muted);
  line-height: 1.55;
}
.pef-sidebox .pef-actions {
  padding-top: 14px;
  margin-top: 14px;
}
.pef-info-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.pef-info-list li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.pef-info-list li::before {
  content: "✓";
  display: grid;
  place-items: center;
  grid-row: 1 / span 2;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--c-ok-50);
  color: var(--c-ok);
  font-size: 12px;
  font-weight: 700;
}
.pef-info-list strong {
  display: block;
  grid-column: 2;
  color: var(--c-text);
  font-weight: 600;
}
.pef-info-list span {
  grid-column: 2;
}
.pef-flow-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.pef-flow-header h2 {
  margin: 0 0 6px;
}
.pef-flow-header p {
  margin: 0;
  color: var(--c-muted);
  line-height: 1.55;
}
.pef-step-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.pef-step-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  background: var(--c-surface);
}
.pef-step-list .pef-step-no {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--c-soft-bg);
  color: var(--c-primary);
  font-size: 12px;
  font-weight: 700;
}
.pef-step-list strong {
  display: block;
  color: var(--c-text);
  font-weight: 650;
}
.pef-step-list span {
  display: block;
  margin-top: 2px;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.pef-action-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.setup-grid,
.guide-split,
.pay-grid--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 18px;
  align-items: start;
}
.setup-grid > .pef-panel--soft,
.guide-split > .pef-panel:nth-child(2),
.pay-grid--split > aside {
  position: sticky;
  top: 78px;
}
.setup-grid .pef-panel--soft,
.guide-split > .pef-panel:nth-child(2) {
  border-left: 3px solid var(--c-border-2);
}
@media (max-width: 980px) {
  .setup-grid,
  .guide-split,
  .pay-grid--split {
    grid-template-columns: 1fr;
  }
  .setup-grid > .pef-panel--soft,
  .guide-split > .pef-panel:nth-child(2),
  .pay-grid--split > aside {
    position: static;
  }
  .credit-offer-row {
    grid-template-columns: 1fr;
  }
  .credit-offer-row summary {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .credit-offer-open {
    text-align: left;
  }
  .credit-offer-details {
    padding: 0 14px 14px;
  }
  .credit-howto {
    grid-template-columns: 1fr;
  }
  .credit-offer-meta {
    justify-content: flex-start;
  }
  .credit-quantity {
    max-width: 160px;
  }
}
.pef-next-box {
  border-left: 3px solid var(--c-border-2);
}
.pef-next-box .btn {
  margin-top: 14px;
}
.pef-workspace .pef-next-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 18px;
  padding: 14px 20px;
  border-left: 3px solid var(--c-primary);
}
.pef-workspace .pef-next-box h2,
.pef-workspace .pef-next-box h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c-muted);
  flex: 0 0 auto;
}
.pef-workspace .pef-next-box p {
  flex: 1 1 320px;
  color: var(--c-text);
}
.pef-workspace .pef-next-box .btn {
  margin-top: 0;
  margin-left: auto;
}
@media (max-width: 980px) {
  .pef-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
  .pef-workspace .pef-next-box .btn {
    margin-left: 0;
  }
}

/* === Dashboard: claritate operationala === */
.dash-page {
  display: grid;
  gap: 18px;
}
.dash-overview-hero {
  display: block;
  padding: 24px;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  background: var(--c-surface);
}
.dash-overview-hero h1 {
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.1;
}
.dash-overview-hero p {
  max-width: 720px;
  margin: 0 0 16px;
  color: var(--c-muted);
  font-size: 16px;
  line-height: 1.55;
}
.dash-overview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -2px 0 16px;
}
.dash-hero {
  display: grid;
  grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}
.dash-title {
  align-self: center;
}








































































































.dash-next,
.dash-section,
.dash-stage-panel,
.dash-screen-accordion {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  box-shadow: none;
}
.dash-hero {
  grid-template-columns: minmax(360px, 1.05fr) minmax(320px, .95fr);
  gap: 24px;
}
.dash-title {
  align-self: center;
  padding: 6px 8px;
}
.dash-title h1 {
  margin: 8px 0 12px;
  color: var(--c-title);
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: 0;
}
.dash-title p {
  margin: 0;
}
.dash-reporting-callout {
  max-width: 720px;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--c-border);
  border-left: 4px solid var(--c-ok);
  border-radius: var(--radius);
  background: #fff;
}
.dash-reporting-callout p {
  margin: 0;
  color: var(--c-text);
  font-size: 14px;
  line-height: 1.5;
}
.dash-reporting-link {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-primary);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.dash-reporting-link:hover,
.dash-reporting-link:focus {
  color: var(--c-primary-700);
}
.dash-reporting-dialog {
  width: min(620px, calc(100vw - 32px));
  padding: 24px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0 24px 80px rgba(26, 25, 22, .22);
}
.dash-reporting-dialog::backdrop {
  background: rgba(26, 25, 22, .38);
}
.dash-reporting-dialog h2 {
  margin: 6px 36px 10px 0;
  color: var(--c-title);
  font-size: 22px;
  line-height: 1.2;
}
.dash-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--c-border);
  border-radius: 999px;
  background: #fff;
  color: var(--c-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.dash-dialog-intro,
.dash-dialog-note {
  margin: 0;
  color: var(--c-muted);
  font-size: 14px;
  line-height: 1.55;
}
.dash-obligation-section {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.dash-obligation-section h3 {
  margin: 0;
  color: var(--c-title);
  font-size: 15px;
}
.dash-obligation-summary {
  margin: 0;
  color: var(--c-text);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.45;
}
.dash-obligation-checklist {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0 0 0 20px;
}
.dash-obligation-checklist li {
  color: var(--c-title);
  font-size: 13.5px;
  line-height: 1.45;
}
.dash-obligation-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.dash-obligation-meta div {
  display: grid;
  gap: 3px;
  padding: 11px 13px;
  border-right: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.dash-obligation-meta div:nth-child(2n) {
  border-right: 0;
}
.dash-obligation-meta div:nth-last-child(-n + 2) {
  border-bottom: 0;
}
.dash-obligation-meta dt {
  color: var(--c-muted);
  font-size: 12.5px;
  font-weight: 700;
}
.dash-obligation-meta dd {
  margin: 0;
  color: var(--c-title);
  font-size: 13.5px;
  line-height: 1.45;
}



.dash-source-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}
.dash-source-row span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border-radius: var(--radius);
  background: var(--c-chip-bg);
  color: var(--c-chip-text);
  font-size: 12.5px;
  font-weight: 600;
}

.dash-next {
  padding: 30px;
  border-color: var(--c-border-2);
  background: linear-gradient(180deg, #fff, #fbfaf7);
}
.dash-next > span {
  display: block;
  margin-bottom: 10px;
  color: var(--c-label);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.dash-next h2 {
  margin: 0 0 10px;
  color: var(--c-title);
  font-size: 27px;
  line-height: 1.18;
}
.dash-next p {
  margin: 0;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.55;
}
.dash-next .btn-primary {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}
.dash-next .btn-primary:hover {
  border-color: var(--c-primary-700);
  background: var(--c-primary-700);
}
.dash-actions,
.dash-next-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.dash-next-links {
  gap: 18px;
}
.dash-next-links form {
  margin: 0;
}
.dash-guidance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.dash-guidance > div {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-surface);
}
.dash-guidance span {
  color: var(--c-label);
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.dash-guidance strong {
  color: var(--c-title);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
}
.dash-guidance p {
  margin: 0;
  color: var(--c-muted);
  font-size: 13px;
  line-height: 1.45;
}
.dash-stage-panel {
  padding: 24px;
}
.dash-stage-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.dash-stage-head h2 {
  margin: 4px 0 0;
  color: var(--c-title);
  font-size: 22px;
}
.dash-stage-total {
  display: grid;
  gap: 4px;
  justify-items: end;
  text-align: right;
}
.dash-stage-total strong {
  color: var(--c-title);
  font-size: 34px;
  line-height: 1;
  letter-spacing: 0;
}
.dash-stage-total span {
  color: var(--c-muted);
  font-size: 12.5px;
}
.dash-stage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.dash-stage-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 116px;
  padding: 16px;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-surface);
}
.dash-stage-card:hover {
  background: #fbfbfa;
  text-decoration: none;
}
.dash-stage-ring {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, var(--c-surface) 0 56%, transparent 57%),
    conic-gradient(var(--c-ok) calc(var(--p) * 1%), var(--c-track) 0);
}
.dash-stage-ring strong {
  color: var(--c-title);
  font-size: 15px;
  font-weight: 750;
}
.dash-stage-card b,
.dash-stage-card span,
.dash-stage-card em {
  display: block;
}
.dash-stage-card b {
  margin-bottom: 4px;
  color: var(--c-title);
  font-size: 15px;
}
.dash-stage-card span {
  color: var(--c-muted);
  font-size: 13px;
  line-height: 1.35;
}
.dash-stage-card em {
  margin-top: 8px;
  color: var(--c-label);
  font-size: 12.5px;
  font-style: normal;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dash-stage-card:hover em {
  color: var(--c-title);
}
.dash-ring {
  --ring: var(--c-ok);
  min-height: 168px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  background:
    radial-gradient(circle at center, var(--c-surface) 0 58%, transparent 59%),
    conic-gradient(var(--ring) calc(var(--p) * 1%), var(--c-border) 0);
}
.dash-ring--ok { --ring: var(--c-ok); }
.dash-ring--warn { --ring: var(--c-warning); }
.dash-ring--danger { --ring: var(--c-warning); }
.dash-ring strong {
  font-size: 34px;
  line-height: 1;
}
.dash-ring span {
  max-width: 110px;
  color: var(--c-muted);
  font-size: 12.5px;
  line-height: 1.3;
  text-align: center;
}
.dash-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.dash-status-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 18px;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  background: var(--c-surface);
}
.dash-status-card span,
.dash-status-card em {
  color: var(--c-muted);
  font-size: 13px;
  font-style: normal;
}
.dash-status-card strong {
  align-self: end;
  font-size: 34px;
  line-height: 1;
}
.dash-status-card.needs-attention {
  border-color: var(--c-warning-border);
  background: var(--c-warning-50);
}
.dash-status-card.is-ok {
  border-color: var(--c-ok-50);
  background: var(--c-ok-50);
}
.dash-status-card.is-delivery {
  border-color: var(--c-soft-border);
  background: var(--c-soft-bg);
}
.dash-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  gap: 18px;
  align-items: start;
}
.dash-main {
  display: grid;
  gap: 18px;
}
.dash-side {
  position: sticky;
  top: 78px;
  display: grid;
  gap: 14px;
}
.dash-section {
  padding: 22px;
}
.dash-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.dash-section-head h2,
.dash-delivery h2,
.dash-modules h2 {
  margin: 0;
  font-size: 20px;
}
.dash-todo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.dash-priority-list {
  display: grid;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-surface);
}
.dash-priority-row {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--c-border);
}
.dash-priority-row:last-child {
  border-bottom: 0;
}
.dash-priority-type {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--c-soft-bg);
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 700;
}
.dash-priority-type--job {
  background: #e6f1fb;
  color: #185fa5;
}
.dash-priority-type--document {
  background: var(--c-soft-bg);
  color: var(--c-label);
}
.dash-priority-type--salary {
  background: var(--c-warning-50);
  color: var(--c-warning);
}
.dash-priority-type--import {
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.dash-priority-row--info {
  background: #fbfcfd;
}
.dash-priority-row strong,
.dash-priority-row small {
  display: block;
}
.dash-priority-row strong {
  font-size: 15px;
  font-weight: 650;
}
.dash-priority-row small {
  margin-top: 3px;
  color: var(--c-muted);
  line-height: 1.35;
}
.dash-priority-row em {
  color: var(--c-label);
  font-style: normal;
  font-weight: 650;
  white-space: nowrap;
}
.dash-priority-row:hover em {
  color: var(--c-title);
}
.dash-priority-empty {
  display: grid;
  gap: 4px;
  padding: 18px;
}
.dash-priority-empty span {
  color: var(--c-muted);
}
.dash-worklist {
  padding: 0;
}
.dash-worklist > summary {
  cursor: pointer;
  list-style: none;
  margin: 0;
  padding: 22px;
}
.dash-worklist > summary::-webkit-details-marker {
  display: none;
}
.dash-worklist > summary p {
  max-width: 620px;
  margin: 5px 0 0;
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.dash-worklist .dash-priority-list {
  margin: 0 22px 22px;
}
.dash-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--c-soft-bg);
  color: var(--c-label);
  font-size: 13px;
  font-weight: 750;
}
.dash-list-card {
  overflow: hidden;
}
.dash-list-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--c-border);
}
.dash-list-card h3 {
  margin: 0;
  font-size: 16px;
}
.dash-list-card header span {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--c-soft-bg);
  color: var(--c-title);
  font-weight: 750;
}
.dash-list {
  display: grid;
}
.dash-list-row,
.dash-delivery-row,
.dash-module {
  color: inherit;
  text-decoration: none;
}
.dash-list-row {
  display: grid;
  gap: 3px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--c-border);
}
.dash-list-row:last-child {
  border-bottom: 0;
}
.dash-list-row b {
  font-size: 14px;
  font-weight: 650;
}
.dash-list-row small {
  color: var(--c-muted);
  line-height: 1.35;
}
.dash-list-row--danger {
  background: var(--c-warning-50);
}
.dash-list-row--warn {
  background: var(--c-warning-50);
}
.dash-empty {
  padding: 16px;
  color: var(--c-muted);
  font-size: 13.5px;
}
.dash-timeline {
  display: grid;
}
.dash-step {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 13px;
  padding: 12px 0;
  color: inherit;
  text-decoration: none;
}
.dash-step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 37px;
  bottom: -7px;
  left: 14px;
  width: 2px;
  background: var(--c-border);
}
.dash-step span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--c-border);
  border-radius: 999px;
  background: var(--c-surface);
  color: var(--c-muted);
  font-weight: 750;
}
.dash-step strong,
.dash-step small {
  display: block;
}
.dash-step strong {
  color: var(--c-title);
  font-size: 14px;
}
.dash-step small {
  margin-top: 2px;
  color: var(--c-muted);
  line-height: 1.35;
}
.dash-step.is-done span {
  border-color: #b9dec6;
  background: var(--c-ok-50);
  color: var(--c-ok);
}
.dash-step.is-active span {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}
.dash-step.is-active strong {
  color: var(--c-primary);
}
.dash-screen-accordion {
  overflow: hidden;
}
.dash-screen-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: var(--c-title);
  cursor: pointer;
  list-style: none;
}
.dash-screen-accordion summary::-webkit-details-marker {
  display: none;
}
.dash-screen-accordion summary span {
  color: var(--c-muted);
  font-weight: 600;
}
.dash-screen-accordion summary span::after {
  content: " ▸";
}
.dash-screen-accordion[open] summary {
  border-bottom: 1px solid var(--c-border);
}
.dash-screen-accordion[open] summary span::after {
  content: " ▾";
}
.dash-screen-list {
  display: grid;
  padding: 4px 16px 10px;
}
.dash-module {
  display: grid;
  gap: 2px;
  padding: 11px 0;
  border-top: 1px solid var(--c-border);
}
.dash-module:first-child {
  border-top: 0;
}
.dash-module small {
  color: var(--c-muted);
}
.dash-module.is-disabled {
  opacity: .55;
  pointer-events: none;
}
.dash-screen-note {
  margin: -4px 0 0;
  color: var(--c-muted);
  font-size: 12px;
  text-align: center;
}
@media (max-width: 1180px) {
  .dash-status-grid,.dash-stage-grid,.dash-todo-grid,.dash-guidance{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  .dash-overview-hero,
  .dash-hero,
  .dash-layout {
    grid-template-columns: 1fr;
  }
  .dash-title {
    order: -1;
    padding: 4px 2px 2px;
  }
  .dash-reporting-callout {
    max-width: none;
  }
  .dash-obligation-meta {
    grid-template-columns: 1fr;
  }
  .dash-obligation-meta div,
  .dash-obligation-meta div:nth-child(2n),
  .dash-obligation-meta div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--c-border);
  }
  .dash-obligation-meta div:last-child {
    border-bottom: 0;
  }
  .dash-obligation-meta div {
    gap: 4px;
  }
  .dash-overview-hero {
    align-items: start;
    flex-direction: column;
  }
  .dash-side {
    position: static;
  }
  
  
  
  
  
  
  
}
@media (max-width: 680px) {
  .dash-status-grid,
  .dash-stage-grid,
  .dash-todo-grid,
  .dash-guidance {
    grid-template-columns: 1fr;
  }
  .dash-priority-row{
    grid-template-columns: 1fr;
  }
  .dash-stage-head {
    align-items: start;
  }
  .dash-stage-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .dash-actions{
    align-items: stretch;
    flex-direction: column;
  }
  .dash-actions .btn{
    justify-content: center;
    width: 100%;
  }
  .dash-priority-row {
    grid-template-columns: 90px minmax(0, 1fr);
    row-gap: 5px;
  }
  .dash-priority-row em {
    grid-column: 2;
    justify-self: start;
    white-space: normal;
  }
}
@media (max-width: 520px) {
  .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
  }
  .topbar .brand-mark {
    min-width: 0;
    max-width: none;
  }
  .topbar .brand-mark small {
    white-space: normal;
    line-height: 1.3;
  }
  /* Audit de utilizare (#173): pe telefon, portofelul deschis se aliniază la dreapta pilulei și nu iese din ecran. */
  .wallet-panel {
    right: 0;
    left: auto;
    min-width: 0;
    width: min(260px, calc(100vw - 24px));
  }
  .credit-pill {
    flex-shrink: 0;
    justify-self: end;
    padding-inline: 9px;
  }
  .dash-page,
  .dash-hero,
  .dash-title,
  .dash-next,
  .dash-section,
  .dash-stage-panel {
    min-width: 0;
  }
  .dash-next,
  .dash-section,
  .dash-stage-panel {
    padding: 20px;
  }
  .dash-next h2 {
    font-size: 24px;
    overflow-wrap: anywhere;
  }
  .dash-next .btn {
    white-space: normal;
  }
  .dash-stage-head {
    display: grid;
  }
  .dash-stage-total {
    justify-items: start;
    text-align: left;
  }
  .dash-priority-row {
    grid-template-columns: 1fr;
  }
  .dash-priority-row em {
    grid-column: auto;
  }
}

/* === Elia: catalog credite si pachete === */
.credit-admin {
  display: grid;
  gap: 18px;
  padding-bottom: 82px;
}
.credit-admin__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 18px;
  align-items: end;
}
.credit-admin__hero h1 {
  margin-bottom: 8px;
}
.credit-admin__hero p {
  margin: 0;
}
.credit-admin__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.credit-admin__metric {
  padding: 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-surface);
}
.credit-admin__metric span,
.credit-field > span,
.credit-section-kicker {
  display: block;
  color: var(--c-label);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.credit-admin__metric strong {
  display: block;
  margin-top: 4px;
  font-size: 23px;
  line-height: 1;
  font-weight: 650;
}
.credit-section {
  overflow: hidden;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
}
.credit-section__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  padding: 18px 20px;
  border-bottom: 1px solid var(--c-border);
  background: #fbfbfb;
}
.credit-section__head h2 {
  margin: 4px 0;
  font-size: 18px;
}
.credit-section__head p {
  margin: 0;
  color: var(--c-muted);
}
.credit-section__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.credit-section__actions .btn {
  min-height: 32px;
  padding: 7px 11px;
  font-size: 12.5px;
}
.credit-section__body {
  padding: 14px 16px 18px;
}
.credit-table-wrap {
  overflow: auto;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.credit-table--admin {
  min-width: 880px;
  table-layout: fixed;
}
.credit-table--packages {
  min-width: 960px;
}
.credit-table--admin th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 12px;
  color: var(--c-label);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: #f6f6f5;
}
.credit-table--admin td {
  padding: 10px 12px;
  vertical-align: middle;
}
.credit-table--admin tbody tr.credit-row:nth-of-type(even) {
  background: #fbfbfa;
}
.credit-row:hover {
  background: #f8f8f7;
}
.credit-row.is-editing {
  background: #fffdf5;
  box-shadow: inset 3px 0 0 var(--c-primary);
}
.credit-table__number {
  text-align: right;
}
.credit-table__group td {
  padding: 8px 12px;
  color: var(--c-label);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--c-bg);
}
.credit-display {
  color: #33363a;
  font-size: 14px;
  font-weight: 500;
}
.credit-title-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
.credit-title-cell strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--c-text);
  font-weight: 600;
}
.credit-control {
  display: none !important;
}
.credit-row.is-editing .credit-display {
  display: none !important;
}
.credit-row.is-editing .credit-control {
  display: block !important;
}
.credit-row.is-editing .credit-title-edit {
  display: grid !important;
}
.credit-row.is-editing td > .badge,
.credit-row.is-editing .credit-status-stack {
  display: none;
}
.credit-title-edit {
  gap: 6px;
}
.credit-muted-inline {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 600;
}
.credit-field {
  display: grid;
  gap: 6px;
  margin: 0;
}
.credit-field input,
.credit-field select,
.credit-control input,
.credit-control select,
select.credit-control,
input.credit-control {
  min-height: 34px;
}
.credit-doc-price,
.credit-price-field input {
  width: 62px;
  text-align: right;
}
.credit-price-field {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.credit-row.is-editing .credit-price-field.credit-control,
.credit-row.is-editing .credit-switch.credit-control,
.credit-row.is-editing .credit-switch-stack.credit-control {
  display: inline-flex !important;
}
.credit-price-field > span {
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 700;
}
.credit-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 40px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}
.credit-switch input {
  position: absolute;
  opacity: 0;
}
.credit-switch > span {
  display: block;
  width: 40px;
  height: 22px;
  border-radius: 999px;
  background: #d8d8d6;
  transition: background .16s ease;
}
.credit-switch > span::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  transition: transform .16s ease;
}
.credit-switch input:checked + span {
  background: #2f8a4b;
}
.credit-switch input:checked + span::before {
  transform: translateX(18px);
}
.credit-switch-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-text);
  font-size: 13px;
  font-weight: 650;
}
.credit-switch-stack,
.credit-status-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.credit-table--admin td > .badge-on,
.credit-status-stack .badge-on {
  padding: 0;
  background: transparent;
  color: var(--c-ok);
  font-weight: 600;
}
.credit-table--admin td > .badge-on::before,
.credit-status-stack .badge-on::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--c-ok);
}
.credit-row.is-editing .credit-switch-stack {
  display: grid !important;
  justify-items: start;
}
.credit-row-actions {
  text-align: right;
}
.credit-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--c-border);
  border-radius: 7px;
  color: var(--c-muted);
  background: #fff;
  cursor: pointer;
  opacity: .38;
  transition: opacity .15s ease, color .15s ease, border-color .15s ease, background .15s ease;
}
.credit-row:hover .credit-icon-btn,
.credit-row:focus-within .credit-icon-btn,
.credit-icon-btn[aria-pressed="true"] {
  opacity: 1;
}
.credit-icon-btn:hover,
.credit-icon-btn[aria-pressed="true"] {
  color: var(--c-primary);
  border-color: var(--c-primary);
  background: var(--c-primary-50);
}
.credit-package-doc-row {
  display: none;
}
.credit-row.is-editing + .credit-package-doc-row {
  display: table-row;
}
.credit-package-doc-row td {
  padding: 0 12px 14px;
  background: #fffdf5;
}
.credit-doc-picker {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.credit-doc-picker--new {
  margin-top: 12px;
}
.credit-doc-picker__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.credit-doc-picker fieldset {
  margin: 0;
  padding: 10px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fbfbfa;
}
.credit-doc-picker legend {
  padding: 0 4px;
  color: var(--c-label);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.credit-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 8px 0 0;
  color: var(--c-text);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.35;
}
.credit-check input {
  margin-top: 2px;
}
.credit-add-row td {
  padding: 12px;
  background: #fbfbfa;
}
.credit-add-row details {
  border: 1px dashed var(--c-border-2);
  border-radius: var(--radius);
  background: #fff;
}
.credit-add-row summary {
  padding: 12px 14px;
  color: var(--c-muted);
  font-size: 13px;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}
.credit-add-row summary::-webkit-details-marker {
  display: none;
}
.credit-add-row details[open] summary {
  border-bottom: 1px dashed var(--c-border);
  color: var(--c-text);
}
.credit-add-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.2fr) repeat(4, minmax(120px, .7fr));
  gap: 12px;
  align-items: end;
  padding: 14px;
}
.credit-add-form--package {
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.2fr) repeat(4, minmax(120px, .7fr));
}
.credit-add-form--group {
  grid-template-columns: minmax(180px, .7fr) minmax(320px, 1.3fr);
}
.credit-save-bar {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: none;
  align-items: center;
  gap: 12px;
  padding-right: 20px;
  padding-left: 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  box-shadow: 0 -12px 32px rgba(20, 22, 26, .08);
}
.credit-save-bar[hidden] {
  display: none !important;
}
.credit-admin.has-dirty .credit-save-bar {
  display: flex;
}
@media (max-width: 1180px) {
  .credit-admin__hero,
  .credit-doc-picker__grid,
  .credit-add-form,
  .credit-add-form--package {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .commercial-flow { padding: 16px; }
  .commercial-flow__heading { align-items: stretch; flex-direction: column; }
  .commercial-workspace-grid { grid-template-columns: 1fr; }
  .commercial-workspace-card { min-height: 0; }
  .credit-admin__hero,
  .credit-admin__metrics,
  .credit-doc-picker__grid,
  .credit-add-form,
  .credit-add-form--package,
  .credit-add-form--group {
    grid-template-columns: 1fr;
  }
  .credit-section__head,
  .credit-section__actions {
    display: grid;
    justify-content: stretch;
  }
  .credit-admin.has-dirty .credit-save-bar:not([hidden]) {
    display: grid;
  }
}
/* Self-service UX refinements */
.eval-simple-panel{
    background:#fff;
    border:1px solid var(--c-border);
    border-radius:var(--radius);
    padding:18px;
    margin:18px 0;
}
.eval-simple-panel h2{margin:4px 0 8px;font-size:20px}
.eval-simple-panel p{margin:0;color:var(--c-muted);max-width:760px}
.eval-simple-steps{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.eval-simple-steps span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    border:1px solid var(--c-border);
    border-radius:999px;
    color:var(--c-text);
    background:#f8faf9;
    font-size:13px;
    font-weight:600;
}
.eval-simple-actions{
    margin-top:16px;
}
.eval-advanced-details{
    background:#fff;
    border:1px solid var(--c-border);
    border-radius:var(--radius);
    margin:16px 0;
    overflow:hidden;
}
.eval-advanced-details > summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 18px;
    list-style:none;
}
.eval-advanced-details > summary::-webkit-details-marker{display:none}
.eval-advanced-details > summary strong{font-size:18px}
.eval-advanced-details > summary span{color:var(--c-muted);font-size:13px}
.eval-advanced-details .eval-factor-stack{padding:0 18px 18px}
.doc-row-meta{
    display:block;
    margin-top:4px;
    color:var(--c-muted);
    font-size:12px;
    line-height:1.45;
}
@media (max-width: 720px){
    .eval-advanced-details > summary{align-items:flex-start;flex-direction:column}
    .eval-advanced-details .eval-factor-stack{padding:0 10px 12px}
    .eval-simple-steps{flex-direction:column}
    .pef-panel__head,
    .dossier-blockers-accordion > summary,
    .dossier-gate-accordion > summary{
        display:grid;
        justify-content:stretch;
    }
    .pef-panel__head .btn{
        width:100%;
        justify-content:center;
    }
}

/* Self-service P0: primul nivel simplu, detaliile doar la cerere */
.dash-stage-panel--compact {
    padding:0;
}
.dash-stage-panel--compact > summary,
.dash-more-priorities > summary,
.dash-journey > summary,
.dossier-later-docs > summary,
.dossier-section > summary,
.pay-advanced-calc > summary,
.pay-unlocks > summary,
.wiz-danger-menu > summary,
.wiz-upload-details > summary {
    cursor:pointer;
    list-style:none;
}
.dash-stage-panel--compact > summary::-webkit-details-marker,
.dash-more-priorities > summary::-webkit-details-marker,
.dash-journey > summary::-webkit-details-marker,
.dossier-later-docs > summary::-webkit-details-marker,
.dossier-section > summary::-webkit-details-marker,
.pay-advanced-calc > summary::-webkit-details-marker,
.pay-unlocks > summary::-webkit-details-marker,
.wiz-danger-menu > summary::-webkit-details-marker,
.wiz-upload-details > summary::-webkit-details-marker {
    display:none;
}
.dash-stage-panel--compact > summary {
    margin:0;
    padding:22px 24px;
}
.dash-stage-panel--compact > summary p {
    margin:4px 0 0;
    color:var(--c-muted);
    font-size:13px;
}
.dash-stage-panel--compact .dash-stage-grid {
    padding:0 24px 24px;
}
.dash-more-priorities {
    margin-top:10px;
}
.dash-more-priorities > summary {
    color:var(--c-label);
    font-size:13px;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}
.dash-more-priorities .dash-priority-list {
    margin-top:10px;
}
.dash-journey {
    padding:0;
}
.dash-journey > summary {
    padding:18px;
}
.dash-journey .dash-timeline {
    padding:0 18px 18px;
}
.pay-advanced-calc {
    margin:16px 0;
    border:1px solid var(--c-border);
    border-radius:var(--radius);
    background:#fff;
}
.pay-advanced-calc > summary {
    display:grid;
    gap:4px;
    padding:14px 16px;
}
.pay-advanced-calc > summary strong {
    color:var(--c-text);
}
.pay-advanced-calc > summary span {
    color:var(--c-muted);
    font-size:13px;
}
.pay-advanced-calc .pay-form-strip {
    margin:0;
    border-width:1px 0 0;
    border-radius:0;
}
.pay-unlocks {
    padding:16px;
}
.pay-unlocks > summary h2 {
    margin:0;
    font-size:17px;
}
.pay-unlocks .pef-info-list {
    margin-top:12px;
}
.dossier-later-docs {
    padding:0;
}
.dossier-later-docs > summary {
    padding:18px;
}
.dossier-later-docs > .dossier-doc-list,
.dossier-later-docs > .dossier-post,
.dossier-later-docs > .dossier-empty {
    margin-left:18px;
    margin-right:18px;
}
.dossier-later-docs > :last-child {
    margin-bottom:18px;
}
.wiz-danger-menu {
    position:relative;
}
.wiz-danger-menu > summary {
    min-height:34px;
    display:inline-flex;
    align-items:center;
    padding:7px 12px;
    border:1px solid var(--c-border-2);
    border-radius:var(--radius);
    background:var(--c-surface);
    color:var(--c-muted);
    font-size:13px;
    font-weight:650;
}
.wiz-danger-menu form {
    position:absolute;
    right:0;
    z-index:3;
    min-width:240px;
    margin-top:6px;
    padding:10px 12px;
    border:1px solid var(--c-border);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:var(--shadow-lg);
}
.wiz-upload-details {
    display:block;
}
.wiz-upload-details > summary {
    font-weight:700;
    color:var(--c-text);
}
.wiz-upload-details form {
    margin-top:12px;
    display:grid;
    gap:10px;
}
.wiz-upload-details p {
    margin:0;
    color:var(--c-muted);
    font-size:13px;
}
.pricing-scroll {
    overflow-x:auto;
}
.pricing-table {
    width:100%;
    border-collapse:collapse;
}
.pricing-table th,
.pricing-table td {
    padding:.8rem;
    text-align:left;
    border-bottom:1px solid var(--c-border,#ddd);
}
.pricing-fields {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:1rem;
}
.pricing-fields label {
    display:flex;
    flex-direction:column;
    gap:.4rem;
}
.pricing-checkbox {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin:.5rem 1rem .5rem 0;
}
.pricing-fields input,
.pricing-fields select {
    width:100%;
    min-width:0;
}
.pricing-summary {
    padding:1rem;
    border-left:4px solid var(--c-primary,#345);
    background:var(--c-primary-50,#f4f8fa);
}
.pricing-scroll-hint {
    display:none;
}
.v3-scroll {
    overflow-x:auto;
}
.v3-table {
    width:100%;
    border-collapse:collapse;
}
.v3-table th,
.v3-table td {
    padding:.6rem;
    text-align:left;
    vertical-align:top;
}
.v3-table input {
    width:100%;
    min-width:6rem;
}
.v3-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:1rem;
}
.v3-grid label {
    display:flex;
    flex-direction:column;
    gap:.35rem;
}
.v3-row {
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    align-items:end;
}
.v3-caption {
    color:var(--muted,#596775);
    font-size:.92rem;
}
.v3-card {
    border:1px solid var(--border,#d9e2e8);
    border-radius:8px;
    padding:1rem;
    margin:1rem 0;
}
.v3-winner {
    background:var(--success-light,#eaf6ee);
}
.v3-checkbox {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin:.4rem 1rem .4rem 0;
}
.v3-checkbox input {
    width:auto;
}
.arh-stats {
    display:flex;
    flex-wrap:wrap;
    gap:6px 26px;
    margin:14px 0 20px;
    padding:0 0 18px;
    border-bottom:1px solid var(--c-border);
}
.arh-stat {
    display:flex;
    align-items:baseline;
    gap:8px;
}
.arh-stat strong {
    font-size:20px;
    color:var(--c-text);
    font-weight:700;
}
.arh-stat span {
    color:var(--c-muted);
    font-size:13px;
}
.arh-tree,
.arh-children {
    list-style:none;
    margin:0;
    padding:0;
}
.arh-children {
    margin-left:22px;
    padding-left:14px;
    border-left:2px solid #e8eaee;
}
.arh-node {
    margin:0;
}
.arh-card {
    background:none;
    border:0;
    border-bottom:1px solid var(--c-border);
    border-radius:0;
    padding:12px 2px;
}
.arh-tree > .arh-node:last-child > .arh-card {
    border-bottom:0;
}
.arh-card-main {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:10px;
}
.arh-card-main strong {
    font-size:14px;
}
.arh-edit summary {
    cursor:pointer;
    color:#687078;
    font-size:12.5px;
    margin-top:6px;
}
.arh-form {
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:8px;
}
.arh-form select {
    padding:6px 8px;
    border:1px solid #d7dbe0;
    border-radius:var(--radius,8px);
    min-width:240px;
}
.v3-client-scroll {
    max-width:100%;
    overflow-x:auto;
}
.v3-client-scroll table {
    min-width:550px;
}
.v3-client-form {
    display:grid;
    gap:16px;
    max-width:760px;
}
.v3-client-form label {
    display:grid;
    gap:6px;
}
.v3-client-form input:not([type=checkbox]),
.v3-client-form select,
.v3-client-form textarea {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.v3-client-form .v3-check {
    display:flex;
    align-items:flex-start;
    gap:10px;
}
.v3-client-form .v3-check input {
    margin-top:4px;
    flex:none;
}
.v3-client-pair {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.v3-client-reference {
    overflow-wrap:anywhere;
}
.v3-client-total {
    font-size:1.5rem;
    font-weight:700;
}
.v3-admin-card {
    padding:1.25rem;
    margin:1rem 0;
}
.v3-admin-entry {
    padding:1rem 0;
    border-bottom:1px solid #ddd;
}
.v3-admin-field {
    display:block;
}
.v3-admin-check {
    display:block;
    margin:.75rem 0;
}
.v3-admin-fieldset {
    margin:1rem 0;
    padding:1rem;
    border:1px solid #ddd;
}
.v3-result-scroll-hint {
    display:none;
}
@media (max-width:720px){
    .dash-stage-panel--compact > summary,
    .dossier-later-docs > summary{
        display:grid;
        gap:10px;
    }
    .dash-stage-panel--compact .dash-stage-grid{
        padding:0 16px 16px;
    }
    .wiz-danger-menu form{
        position:static;
    }
}
@media (max-width:700px){
    .pricing-scroll-hint{
        display:block;
    }
    .v3-client-pair{
        grid-template-columns:1fr;
    }
    .v3-client-scroll table{
        min-width:480px;
    }
}
@media screen and (max-width:700px){
    .v3-result-scroll-hint{
        display:block;
        color:#667085;
        font-size:.875rem;
    }
}
@media print{
    .pricing-scroll-hint{
        display:none;
    }
}

/* P-05: ce are clientul pregătit pentru fiecare rezultat, spus înainte de lansare. */
.v3-readiness { list-style: none; padding: 0; margin: 0.5rem 0 0; display: grid; gap: 0.4rem; }
.v3-readiness li { line-height: 1.45; }
.v3-ready { color: var(--ok, #1f7a3d); font-weight: 600; }
.v3-not-ready { color: var(--muted, #687078); }

/* Audit UX §4.4: textul unui buton nu se rupe pe două rânduri. Excepție doar pe ecranele
   foarte înguste, unde un text lung ar ieși altfel din pagină. */
@media (max-width: 480px) {
  .btn { white-space: normal; text-align: center; justify-content: center; }
}

/* D-A36 — ecranul „Documente": file, căutare și arhive. */
.doc-tabs { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--c-border-2);
  border-radius: var(--radius); overflow: hidden; background: #fff; margin: 18px 0 14px; }
.doc-tab { padding: 9px 16px; font-size: 13.5px; font-weight: 600; border: 0; background: none;
  border-right: 1px solid var(--c-border); cursor: pointer; color: var(--c-muted); font-family: inherit; }
.doc-tab:last-child { border-right: 0; }
.doc-tab.is-active { background: var(--c-track); color: var(--c-primary); }
.doc-tab-count { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px;
  background: var(--c-chip-bg); color: var(--c-chip-text); font-size: 11.5px; font-weight: 700; }
/* Lot 10 — dosarul companiei Elia: file pe secțiuni, fără reîncărcare de pagină. */
.elia-dossier-tabs { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--c-border-2);
  border-radius: var(--radius); overflow: hidden; background: #fff; margin: 18px 0 14px; }
.elia-dossier-tab { padding: 9px 16px; font-size: 13.5px; font-weight: 600; border: 0; background: none;
  border-right: 1px solid var(--c-border); cursor: pointer; color: var(--c-muted); font-family: inherit; }
.elia-dossier-tab:last-child { border-right: 0; }
.elia-dossier-tab.is-active { background: var(--c-track); color: var(--c-primary); }
.elia-row-menu { display: inline-block; text-align: left; }
.elia-row-menu > summary { list-style: none; cursor: pointer; }
.elia-row-menu > summary::-webkit-details-marker { display: none; }
.elia-row-menu__body { margin-top: 8px; min-width: 260px; }
.doc-search { margin: 0 0 18px; max-width: 420px; }
.doc-search label { display: block; font-size: 12.5px; color: var(--c-muted); margin-bottom: 4px; font-weight: 600; }
.doc-search input { width: 100%; }
.dossier-section { margin-bottom: 14px; }
.dossier-section > .dossier-doc-list,
.dossier-section > .dossier-post,
.dossier-section > .dossier-empty { margin: 0 20px 20px; }

/* Text doar pentru cititoarele de ecran (ex. capul coloanei de acțiune). */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Audit UX 2, lotul 1: pe telefon antetul ocupă un singur rând de cont (inițialele și
   iconițele, fără nume lung) și un rând scurt cu numele produsului, ca titlul paginii
   și primul tabel să apară mai sus. Numele complet rămâne în title/aria. */
@media (max-width: 640px) {
  .sidebar .foot .user-block .who { display: none; }
  .sidebar { padding-top: 12px; padding-bottom: 12px; }
  .topbar { padding: 8px 16px; }
  .topbar .brand-mark small { display: none; }
}

/* ==========================================================================
   D-A42 — Discuția cu consultantul, pe două coloane (macheta aprobată de PO):
   stânga discuția și întrebarea curentă, dreapta fișa așa cum arată acum, cu
   modificările ultimului răspuns marcate. Linie minimalistă: un singur buton
   roșu (Trimiteți răspunsul), restul neutru, fără casete decorative.
   ========================================================================== */
.studio-head {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin: 6px 0 16px;
  padding: 0;
  border: 0;
  background: none;
}
.studio-head__title { flex: 1 1 360px; min-width: 0; }
.studio-head__title .wiz-back { font-size: 13px; color: var(--c-muted); text-decoration: none; }
.studio-head__title h1 { margin: 4px 0 2px; font-size: 24px; letter-spacing: -.01em; }
.studio-head__meta { margin: 0; color: var(--c-muted); font-size: 13px; }
.studio-head__progress { display: grid; gap: 6px; min-width: 220px; color: var(--c-muted); font-size: 13px; }
.studio-head__progress strong { color: var(--c-text); }
.studio-head__actions { display: flex; align-items: center; gap: 8px; }

.fisa-studio .studio-split {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 18px;
  align-items: start;
}
.studio-panel {
  min-width: 0;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 14px;
}
.studio-panel__head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--c-border);
}
.studio-panel__head h2 { margin: 0; font-size: 15px; }
.studio-panel__head small { color: var(--c-muted); font-size: 12.5px; }
.studio-panel__head small strong { color: var(--c-text); }

.studio-history {
  max-height: 420px;
  overflow-y: auto;
  padding: 14px 18px;
  display: grid;
  gap: 10px;
}
.fisa-studio .studio-history { margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.studio-history:not(:has(*)) { display: none; }
.studio-ask { padding: 16px 18px; border-top: 1px solid var(--c-border); }
.studio-ask .wiz-question { margin: 0 0 12px; font-size: 16px; font-weight: 600; line-height: 1.5; text-align: left; }
.studio-ask .wiz-answer-box { margin: 0; }
.studio-ask .wiz-answer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.studio-ask .wiz-secondary-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.studio-ask .chat-privacy-note { margin: 10px 0 0; font-size: 12px; color: var(--c-muted); }
.studio-fold { border-top: 1px solid var(--c-border); padding: 12px 18px; font-size: 13px; }
.studio-fold > summary { cursor: pointer; color: var(--c-muted); }
.studio-fold > summary strong { color: var(--c-text); }
.studio-fold[open] > summary { margin-bottom: 10px; }

.fisa-studio .studio-doc { position: sticky; top: 16px; }
.studio-doc__body {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  padding: 10px 24px 22px;
}
.studio-chapter { padding: 14px 14px 10px; margin: 0 -14px 4px; border-radius: 10px; }
.studio-chapter + .studio-chapter { border-top: 1px solid var(--c-border); border-radius: 0; }
.studio-chapter header { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; }
.studio-chapter h3 {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-label);
}
.studio-chapter__count { margin-left: auto; font-size: 12px; color: var(--c-muted); }
.studio-chapter.is-complete .studio-chapter__count { color: var(--c-ok); font-weight: 600; }
.studio-chapter__now { display: none; font-size: 11.5px; font-weight: 600; color: var(--c-primary); }
.studio-chapter.is-current .studio-chapter__now { display: inline; }
.studio-chapter__tag {
  display: inline-block;
  margin: 0 0 6px;
  padding: 1px 8px;
  border: 1px solid var(--c-warning-border);
  border-radius: 999px;
  background: var(--c-warning-50);
  color: var(--c-warning);
  font-size: 11px;
  font-weight: 700;
}
.studio-chapter__tag[hidden] { display: none; }
.studio-chapter.is-changed {
  background: #fffaf0;
  box-shadow: inset 3px 0 0 var(--c-warning); /* accent din paleta Elia (lot B: doar culoarea) */
  border-radius: 10px;
}
.studio-chapter dl { margin: 0; display: grid; gap: 8px; }
.studio-field dt { font-size: 12.5px; color: var(--c-muted); margin: 0 0 2px; }
.studio-field dd { margin: 0; line-height: 1.6; }
.studio-field dd ul { margin: 2px 0 0; padding-left: 18px; }
.studio-field.is-empty { display: flex; gap: 8px; align-items: baseline; }
.studio-field.is-empty dt { margin: 0; }
.studio-empty { color: #9aa0a6; font-style: italic; font-size: 12.5px; }
.studio-field.is-changed ins { text-decoration: none; background: #fdf0c4; border-radius: 3px; padding: 0 2px; }
.studio-field ins { text-decoration: none; }
.studio-previous { display: block; color: #9aa0a6; margin-bottom: 2px; }

.studio-tabs { display: none; }
@media (max-width: 900px) {
  .fisa-studio .studio-split { grid-template-columns: minmax(0, 1fr); }
  .fisa-studio .studio-doc { position: static; }
  .studio-doc__body { max-height: none; }
  .fisa-studio.studio-js .studio-tabs {
    display: flex;
    gap: 4px;
    padding: 4px;
    margin-bottom: 12px;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: 10px;
  }
  .studio-tab {
    flex: 1;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: var(--c-text);
    cursor: pointer;
  }
  .studio-tab.is-active { background: var(--c-chip-bg); }
  .studio-tab.has-news::after { content: " •"; color: var(--c-warning); }
  .fisa-studio.studio-js[data-studio-view="chat"] [data-studio-pane="doc"],
  .fisa-studio.studio-js[data-studio-view="doc"] [data-studio-pane="chat"] { display: none; }
  .studio-head__actions { width: 100%; }
  .studio-doc__body { padding: 8px 16px 18px; }
}

/* D-A44 — un singur buton roșu pe ecran. Când pagina are banda „Următorul pas”, ea poartă
   acțiunea principală; butoanele roșii din antet devin neutre, ca omul să nu aleagă între
   două direcții. */
.page:has(.pef-next-box .btn-primary) .pef-page-header .btn-primary {
  background: var(--c-surface);
  border-color: #687078;
  color: var(--c-text);
}
.page:has(.pef-next-box .btn-primary) .pef-page-header .btn-primary:hover,
.page:has(.pef-next-box .btn-primary) .pef-page-header .btn-primary:focus-visible {
  background: var(--c-soft-bg);
  border-color: var(--c-title);
  color: var(--c-title);
}

/* Pornirea fișei (D-A44): două alegeri, documentele doar când există, ștergerea discretă. */
.wiz-start-page .wiz-start-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wiz-start-docs-min { margin-top: 18px; }
.wiz-start-docs-min .wiz-start-doc-item { padding: 12px 18px; border-top: 1px solid var(--c-border); }
.wiz-start-docs-min .wiz-start-doc-item:first-of-type { border-top: 0; }
.wiz-start-footer-min { margin-top: 22px; }
.wiz-start-footer-min .btn-link { color: var(--c-muted); font-size: 13px; }
@media (max-width: 760px) {
  .wiz-start-page .wiz-start-choices { grid-template-columns: minmax(0, 1fr); }
}
.wiz-start-page .wiz-start-icon { background: var(--c-chip-bg); color: var(--c-text); border-color: transparent; }
.wiz-start-page .wiz-start-card--primary { border-color: var(--c-border); box-shadow: none; }

/* Verificarea fișei (D-A44): antet ca pe celelalte ecrane, fișa ca document liniștit —
   capitole despărțite de o linie, fără cutii; numărătoarea capitolelor gri, verde când e gata. */
.wiz-review-page .studio-head.wiz-review-hero { display: flex; grid-template-columns: none; background: none; border: 0; padding: 0; box-shadow: none; }
.wiz-review-page .studio-head .wiz-review-status { background: none; border: 0; padding: 0; box-shadow: none; }
.wiz-doc-preview { display: block; }
.wiz-doc-preview .wiz-doc-chapter {
  border: 0;
  border-top: 1px solid var(--c-border);
  border-radius: 0;
  box-shadow: none;
  background: none;
  padding: 14px 2px 10px;
  margin: 0;
}
.wiz-doc-preview .wiz-doc-chapter:first-child { border-top: 0; }
.wiz-doc-preview .wiz-doc-kicker { display: none; }
.wiz-doc-preview .wiz-doc-chapter header { border: 0; padding: 0; margin-bottom: 6px; }
.wiz-doc-preview .wiz-doc-chapter h3 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-label);
}
.wiz-doc-preview .wiz-chapter-badge,
.wiz-doc-preview .wiz-chapter-badge.is-open { background: none; border: 0; color: var(--c-muted); font-weight: 500; }
.wiz-doc-preview .wiz-chapter-badge.is-complete { background: none; border: 0; color: var(--c-ok); font-weight: 600; }
.wiz-doc-preview .wiz-empty-text { background: none; border: 0; padding: 0; color: #9aa0a6; font-style: italic; font-size: 12.5px; }
.wiz-doc-preview .wiz-doc-fields > div { border: 0; padding: 4px 0; }
.wiz-doc-preview .wiz-doc-fields dt { font-size: 12.5px; font-weight: 500; color: var(--c-muted); }
.wiz-review-page .studio-head__progress span { font-size: 13px; font-weight: 400; color: var(--c-muted); text-transform: none; letter-spacing: 0; }
.wiz-review-page .studio-head__progress strong { display: inline; font-size: inherit; line-height: inherit; color: var(--c-text); }
/* Numărul capitolului deschis: închis la culoare, nu roșu (D-A44). */
.fisa-capitol .fisa-cap-nr { color: var(--c-text); }
.fisa-capitol[open] .fisa-cap-nr { background: var(--c-title); color: #fff; }

/* UX1-02: tabelele din contul V3 (abonament, ofertă, rezultatele lucrărilor) urmează regula
   unică de cartonaș pe telefon — fără lățime minimă fixă și fără derulare laterală. */
@media (max-width: 640px) {
  .v3-client-scroll { overflow: visible; }
  .v3-client-scroll table,
  .v3-client-scroll .table-wrap table { min-width: 0; }
  .pricing-scroll { overflow: visible; }
  .pricing-scroll table.pricing-table { min-width: 0; }
  .table-wrap table caption { display: block; width: 100%; text-align: left; font-weight: 600; padding: 0 0 8px; }
}
/* UX1-05: amprentele tehnice lungi nu mai lățesc pagina. */
.break-anywhere { overflow-wrap: anywhere; word-break: break-all; }
.tech-details > summary { cursor: pointer; }

/* D-A45: spațiul de lucru compact, după macheta aprobată. */
.workspace-compact { --c-muted: #687078; }
.workspace-compact .sidebar { width: 240px; padding: 22px 16px 14px; }
.workspace-compact .sidebar .brand { justify-content: flex-start; margin: 0 8px 26px; }
.workspace-compact .sidebar .brand img.logo { width: 144px; max-height: 32px; }
.workspace-compact .nav-item { padding: 8px 10px; gap: 8px; font-weight: 400; }
.workspace-compact .nav-parent.is-open { background: #f1f1f1; font-weight: 600; }
.workspace-compact .nav-sub { padding-top: 6px; padding-bottom: 6px; font-size: 12.5px; }
.workspace-compact .nav-state { font-size: 10px; color: var(--c-muted); }
.workspace-compact .main-area > .topbar { min-height: 0; padding: 10px 32px; background: transparent; border: 0; }
.workspace-compact .brand-mark strong { font-size: 12px; color: var(--c-muted); font-weight: 500; }
.workspace-compact .main-area > .page { max-width: none; padding: 10px 32px 32px; }
.workspace-compact .shell-legal-foot { margin: 0; padding: 16px 32px; font-size: 12px; }
.workspace-compact .shell-legal-foot a { color: var(--c-muted); }
.workspace-compact .studio-head { align-items: center; gap: 12px 20px; margin: 0 0 10px; }
.workspace-compact .studio-head__title { flex: 1 1 420px; }
.workspace-compact .studio-head__title h1 { font-size: 24px; line-height: 1.25; }
.workspace-compact .studio-head__progress { flex: 0 1 220px; }
.workspace-compact .studio-head__actions { flex: 1 1 100%; gap: 12px; margin: 0; }
.workspace-compact .fisa-studio { display: block; }
.studio-context { margin: 0 0 12px; font-size: 12px; color: var(--c-muted); }
.studio-context > summary { cursor: pointer; padding: 4px 0; }
.studio-context .wiz-steps-shell { margin: 8px 0; }
.studio-demo { font-size: 12px; color: var(--c-muted); margin: 0 0 12px; }
.workspace-compact .fisa-studio .studio-split { grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 18px; }
.workspace-compact .studio-panel__head { padding: 14px 18px; }
.workspace-compact .studio-panel__head small { font-size: 12px; }
.workspace-compact .studio-history { max-height: 230px; padding: 16px 18px; overscroll-behavior: contain; }
.workspace-compact .studio-history .bubble { max-width: 94%; font-size: 13px; padding: 10px 12px; line-height: 1.55; }
.workspace-compact .studio-history .bubble.assistant { background: #f4f4f3; }
.workspace-compact .studio-ask .wiz-question { font-size: 15px; font-weight: 500; max-height: 180px; overflow-y: auto; overflow-wrap: anywhere; }
.studio-recap { margin: 0 0 12px; color: var(--c-muted); font-size: 12px; }
.studio-recap summary { cursor: pointer; padding: 4px 0; }
.studio-recap-text { white-space: pre-wrap; max-height: 230px; overflow-y: auto; margin-top: 8px; color: var(--c-text); font-size: 13px; line-height: 1.6; }
.studio-current-question { white-space: pre-wrap; }
.workspace-compact .studio-history .bubble.user { background: #fff; color: var(--c-text); border: 1px solid var(--c-border); }
.workspace-compact .studio-ask textarea { min-height: 92px; font-size: 14px; }
.workspace-compact .studio-ask .wiz-secondary-actions { gap: 12px; }
.workspace-compact .studio-ask .wiz-quick { color: var(--c-muted); font-size: 12px; min-height: 32px; }
.workspace-compact .studio-ask .chat-privacy-note { font-size: 11.5px; line-height: 1.5; }
.workspace-compact .studio-fold { padding: 10px 18px; font-size: 12px; }
.workspace-compact .studio-doc__body { padding: 16px 28px 24px; max-height: calc(100dvh - 300px); min-height: 360px; overscroll-behavior: contain; }
.workspace-compact .studio-chapter { padding: 14px; }
.workspace-compact .studio-chapter header { flex-wrap: wrap; gap: 4px 10px; }
.workspace-compact .studio-chapter + .studio-chapter { border-top: 0; }
.workspace-compact .studio-chapter__now { color: var(--c-muted); }
.workspace-compact .studio-field.is-empty { flex-wrap: wrap; gap: 2px 8px; }
.workspace-compact .studio-field dd { overflow-wrap: anywhere; }
.studio-identity { margin: 0 0 8px; font-size: 14px; }
.studio-identity-details > summary { color: var(--c-muted); font-size: 12px; cursor: pointer; }
.studio-identity-details[open] > summary { margin-bottom: 14px; }
.studio-identity-details dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
.workspace-compact .studio-identity-details .studio-field { display: block; }
.workspace-compact .studio-field:only-child > dt { display: none; }
.auth-wrap { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0; }
.auth-card { padding: 32px; max-width: 440px; box-shadow: none; }
.auth-card .auth-brand { margin-bottom: 28px; }
.auth-card .auth-brand img.logo { width: 156px; height: auto; }
.auth-card .auth-title { font-size: 24px; margin: 0 0 12px; }
.auth-card .auth-intro { margin: 0 0 24px; line-height: 1.6; }
.auth-card .form { max-width: none; margin: 0; }
.auth-card .form label { margin: 16px 0 8px; }
.auth-card .form label:first-of-type { margin-top: 0; }
.auth-card .auth-submit { margin-top: 20px; min-height: 44px; }
.auth-card .auth-logout-form .btn-ghost { border: 0; color: var(--c-muted); background: none; }
@media (max-width: 900px) {
  .workspace-compact .sidebar { width: auto; padding: 10px 16px; }
  .workspace-compact .sidebar .brand { margin: 0 12px 0 0; }
  .workspace-compact .sidebar .brand img.logo { width: 110px; }
}
@media (max-width: 900px) {
  .workspace-compact .fisa-studio .studio-split { grid-template-columns: minmax(0,1fr); }
  .workspace-compact .studio-doc__body { max-height: none; min-height: 0; padding: 16px 20px; }
}
@media (max-width: 640px) {
  .workspace-compact .main-area > .topbar { padding: 6px 14px; }
  .workspace-compact .main-area > .page { padding: 10px 14px 24px; }
  .workspace-compact .studio-head__title { flex-basis: 100%; }
  .workspace-compact .studio-head__title h1 { font-size: 20px; }
  .workspace-compact .studio-head__progress { flex-basis: 100%; }
  .workspace-compact .studio-head__actions { flex-wrap: wrap; }
  .workspace-compact .studio-head__actions .btn { font-size: 12px; }
  .workspace-compact .studio-panel__head { padding: 14px; }
  .workspace-compact .studio-history { max-height: 180px; padding: 14px; }
  .workspace-compact .studio-ask { padding: 14px; }
  .workspace-compact .studio-ask .wiz-question { max-height: 160px; }
  .workspace-compact .studio-ask .wiz-secondary-actions { width: 100%; gap: 16px; }
  .workspace-compact .studio-identity-details dl { grid-template-columns: minmax(0,1fr); }
  .auth-wrap { padding: 20px 14px; }
  .auth-card { padding: 26px 22px; }
}

/* ==========================================================================
   Vocabularul comun al ecranelor (prefix `ui-`) — linia minimalistă D-A44, pornită în
   lotul listelor (27 sep 2026) și extinsă la ecranele postului (lot B). Clasele `pl-` ale
   listelor rămân valabile ca sinonime. Fără JS: <details>/<summary>; cel mult 5 coloane,
   fără derulare laterală; pe telefon rândul devine cartonaș compact.
   Piese: antet liniștit (eyebrow, titlu, o frază, starea) · banda „Pasul următor” cu
   singurul buton roșu · rânduri compacte cu punct de stare · acordeon nativ · ajutor pliat ·
   liste cheie–valoare · titluri de secțiune · legături neutre cu → · stare goală · file.
   ========================================================================== */
.ui-page, .pl-page { max-width: 1120px; }

/* Antetul: legătura înapoi, eyebrow, titlul, o frază, starea; la dreapta (opțional) starea în cifre */
.ui-header, .pl-header { margin-bottom: 20px; }
.ui-header h1, .pl-header h1 { margin: 0 0 8px; font-size: 22px; line-height: 1.25; letter-spacing: -.015em; }
.ui-header > p, .pl-header > p, .ui-header__title > p { margin: 0; color: var(--c-muted); max-width: 68ch; line-height: 1.6; }
.ui-back { display: block; width: fit-content; margin-bottom: 10px; font-size: 13px; color: var(--c-muted); text-decoration: none; }
.ui-page > .note, .ui-page > form > .note { margin-bottom: 14px; }
.ui-back:hover { color: var(--c-text); text-decoration: none; }
.ui-status, .pl-status { display: flex; flex-wrap: wrap; gap: 6px 0; margin-top: 12px !important; font-size: 13px; color: var(--c-muted); }
.ui-status span + span::before, .pl-status span + span::before { content: "·"; margin: 0 10px; color: var(--c-chevron); }
.ui-status strong, .pl-status strong { color: var(--c-text); font-weight: 600; }
.ui-status a { color: var(--c-nav-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-header--split { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px 32px; }
.ui-header__title { flex: 1 1 380px; min-width: 0; }
.ui-header__state { flex: 0 1 260px; display: grid; gap: 6px; font-size: 13px; color: var(--c-muted); padding-bottom: 4px; }
.ui-header__state strong { color: var(--c-text); font-weight: 600; }
.ui-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.ui-header__actions form { margin: 0; }
/* Măsură subțire (cât e gata) — lățimea vine din clasa progress-value-p-NN pusă de app.js */
.ui-meter { height: 3px; overflow: hidden; border-radius: 999px; background: var(--c-border); }
.ui-meter > span { display: block; height: 100%; background: var(--c-ok); width: calc(var(--p, 0) * 1%); transition: width .25s ease; }

/* Pasul principal — o bandă liniștită, un singur buton roșu */
.ui-next, .pl-next { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap;
  padding: 14px 0; margin: 4px 0 22px; border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.ui-next p, .pl-next p { margin: 0; flex: 1 1 320px; font-size: 14px; line-height: 1.5; color: var(--c-text); }
.ui-next p + p { flex-basis: 100%; }
.ui-next__label, .pl-next__label { display: inline-block; margin-right: 8px; font-size: 11px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--c-label); }
.ui-next .btn, .pl-next .btn { flex: 0 0 auto; }
.ui-next form { margin: 0; flex: 0 0 auto; }
.ui-next__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; flex: 0 0 auto; }

/* Stare goală: o propoziție despre ecran, de ce e gol, un singur buton */
.ui-empty, .pl-empty { display: grid; justify-items: start; gap: 12px; padding: 28px 0 8px; max-width: 62ch; }
.ui-empty h2, .pl-empty h2 { margin: 0; font-size: 17px; }
.ui-empty p, .pl-empty p { margin: 0; color: var(--c-muted); line-height: 1.6; }
.ui-empty .btn, .pl-empty .btn { margin-top: 4px; }
.ui-empty__alt, .pl-empty__alt { font-size: 13px; }
.ui-empty__alt a, .pl-empty__alt a { color: var(--c-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }

/* Secțiuni: titlu mic gri (majuscule), opțional o frază și o acțiune neutră la dreapta */
.ui-section { margin-top: 26px; }
.ui-section__title, .ui-section > h2, .ui-section > h3 { margin: 0 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--c-label); }
.ui-section__head { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 10px; }
.ui-section__head > div { min-width: 0; flex: 1 1 320px; }
.ui-section__head h2 { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.ui-section__head p { margin: 0; font-size: 13px; color: var(--c-muted); line-height: 1.5; max-width: 68ch; }
.ui-section__head form { margin: 0; }
.ui-section__head .btn { flex: 0 0 auto; }
.ui-section__note { margin: 8px 0 0; font-size: 13px; color: var(--c-muted); line-height: 1.5; }

/* Cheie–valoare: două coloane pe calculator, una pe telefon */
.ui-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 32px; margin: 0; }
.ui-kv > div { min-width: 0; }
.ui-kv dt { font-size: 12.5px; color: var(--c-muted); }
.ui-kv dd { margin: 2px 0 0; font-size: 14px; color: var(--c-text); overflow-wrap: anywhere; }

/* Rânduri compacte (documente, fișe de ales…) */
.ui-rows { border-top: 1px solid var(--c-border-2); }
.ui-rows__head { display: grid; gap: 14px; align-items: center; padding: 8px 4px; border-bottom: 1px solid var(--c-border-2);
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-row { display: grid; grid-template-columns: minmax(0, 1.6fr) 150px minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 11px 4px; border-bottom: 1px solid var(--c-border); font-size: 13px; color: var(--c-text); margin: 0; }
.ui-row > * { min-width: 0; }
.ui-row__title { display: grid; gap: 2px; font-size: 14px; font-weight: 600; letter-spacing: -.005em; }
.ui-row__sub, .pl-sub { display: block; font-size: 12px; font-weight: 400; color: var(--c-muted); }
.ui-row__links { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; }
.ui-row__links a { color: var(--c-nav-text); font-weight: 500; }
.ui-row--select { grid-template-columns: 22px minmax(0, 1.4fr) minmax(0, 1fr) 170px 170px; cursor: pointer; }
.ui-row--select input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--c-title); }
.ui-row--select:hover { background: var(--c-soft-bg); }
.ui-rows__head--select { grid-template-columns: 22px minmax(0, 1.4fr) minmax(0, 1fr) 170px 170px; }
.ui-row--doc { grid-template-columns: minmax(0, 1.6fr) 150px auto; }

/* Starea: un punct colorat + text — fără casete; roșul rămâne doar pentru acțiune */
.ui-state, .pl-state { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
.ui-state::before, .pl-state::before { content: ""; width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; background: var(--c-chevron); }
.ui-state--ok::before, .pl-state--ok::before { background: var(--c-ok); }
.ui-state--warn::before, .pl-state--warn::before { background: var(--c-warning); }
.ui-state--muted, .pl-state--muted { color: var(--c-muted); }

/* Legături neutre cu săgeată */
.ui-link, .pl-action { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; color: var(--c-text); white-space: nowrap; }
.ui-link:hover, .pl-action:hover { text-decoration: underline; text-underline-offset: 3px; }
.ui-link > span, .pl-action > span { color: var(--c-icon); }
.ui-links { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.ui-links a, .pl-body__links a { display: inline-block; padding: 3px 0; font-size: 13px; color: var(--c-nav-text); font-weight: 500; }
.ui-links a::after, .pl-body__links a::after { content: "→"; margin-left: 5px; color: var(--c-icon); }
.ui-links--inline { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.ui-list { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 4px; font-size: 14px; line-height: 1.5; }

/* Acordeon nativ pentru capitole/secțiuni: titlu, o informație scurtă, săgeată */
.ui-acc { border-top: 1px solid var(--c-border-2); }
.ui-acc__item { border-bottom: 1px solid var(--c-border); }
.ui-acc__item > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 20px; gap: 12px; align-items: center;
  padding: 12px 4px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; }
.ui-acc__item > summary::-webkit-details-marker { display: none; }
.ui-acc__item > summary:hover { background: var(--c-soft-bg); }
.ui-acc__item > summary:focus-visible { outline: 2px solid var(--c-focus); outline-offset: -2px; border-radius: 4px; }
.ui-acc__meta { font-size: 12.5px; font-weight: 500; color: var(--c-muted); white-space: nowrap; }
.ui-acc__meta.is-ok { color: var(--c-ok); }
/* Săgeata acordeonului: vizibilă, în același verde ca pe Acasă (home.css, .home-chevron), nu roșie (D-A44). */
.ui-acc__chevron, .pl-chevron { width: 10px; height: 10px; justify-self: center; border-right: 2px solid #37734f;
  border-bottom: 2px solid #37734f; transform: rotate(45deg); transition: transform .15s ease; }
.ui-acc__item[open] > summary > .ui-acc__chevron, .pl-row[open] > summary > .pl-chevron { transform: rotate(225deg); }
.ui-acc__body { padding: 2px 4px 16px; font-size: 14px; line-height: 1.55; }
.ui-acc__body p { margin: 6px 0 0; }
.ui-acc__body .muted { font-size: 13px; }

/* File neutre (starea aleasă nu e roșie): subliniere închisă la culoare */
.ui-tabs { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 4px 0 18px; border-bottom: 1px solid var(--c-border-2); }
.ui-tab { display: inline-flex; align-items: center; gap: 7px; margin-bottom: -1px; padding: 8px 2px 10px; border: 0; border-bottom: 2px solid transparent;
  background: none; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--c-muted); cursor: pointer; }
.ui-tab:hover { color: var(--c-text); }
.ui-tab.is-active { color: var(--c-text); border-bottom-color: var(--c-title); }
.ui-tab:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: 4px; }
.ui-tab__count { font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: var(--c-chip-bg); color: var(--c-chip-text); }
.ui-tab.has-alert .ui-tab__count { background: var(--c-warning-50); color: var(--c-warning); }
/* UX 3 lotul 3 (U-039/U-097): planurile pe cartonașe scurte; alegerea nu e roșie (D-A44). */
.ui-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
.ui-plan { position: relative; display: grid; gap: 4px; padding: 14px 14px 14px 38px; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); cursor: pointer; font-size: 13px; color: var(--c-muted); line-height: 1.45; }
.ui-plan input, .ui-form--v3 .ui-plan input:not([type=checkbox]) { position: absolute; left: 14px; top: 17px; margin: 0; width: auto; }
.ui-plan__name { font-size: 15px; font-weight: 600; color: var(--c-title); }
.ui-plan__price strong { color: var(--c-text); }
.ui-plan__note { font-size: 12px; color: var(--c-text); }
.ui-plan:has(input:checked) { border-color: var(--c-title); box-shadow: inset 0 0 0 1px var(--c-title); }
.ui-plan:has(input:focus-visible) { outline: 2px solid var(--c-focus); outline-offset: 2px; }
/* UX 3 lotul 3 (D-A71): filele ca legături între pagini (Organizarea companiei, Colegii și accesul, Abonament și credite). */
.ui-tabs--links { margin-top: 0; }
.ui-tabs--links .ui-tab { text-decoration: none; }
.ui-tabs--links .ui-tab:hover { text-decoration: none; }

/* Rândul de acțiuni de la finalul ecranului: butoane neutre și, dacă e cazul, unul roșu */
.ui-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--c-border); }
.ui-actions form { margin: 0; }
.ui-actions__spacer { flex: 1 1 auto; }
.ui-actions__hint { font-size: 13px; color: var(--c-muted); }
.ui-danger-link { color: var(--c-muted); font-size: 13px; }
.ui-danger-link:hover { color: var(--c-danger); }

/* Ajutorul pliat, sub conținut */
.ui-fold, .pl-help { margin-top: 22px; font-size: 13px; color: var(--c-muted); }
.ui-fold > summary, .pl-help > summary { list-style: none; cursor: pointer; color: var(--c-nav-text); font-weight: 500; width: fit-content; }
.ui-fold > summary::-webkit-details-marker, .pl-help > summary::-webkit-details-marker { display: none; }
.ui-fold > summary::before, .pl-help > summary::before { content: "+"; display: inline-block; width: 14px; color: var(--c-icon); }
.ui-fold[open] > summary::before, .pl-help[open] > summary::before { content: "–"; }
.ui-fold > summary:focus-visible, .pl-help > summary:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: 4px; }
.ui-fold ol, .pl-help ol { margin: 10px 0 0; padding-left: 32px; display: grid; gap: 6px; max-width: 70ch; line-height: 1.5; }
.ui-fold strong, .pl-help strong { color: var(--c-text); font-weight: 600; }
.ui-fold__body { margin-top: 10px; color: var(--c-text); }
.ui-fold--form { margin-top: 18px; }
.ui-fold--form textarea { margin-top: 10px; }

.ui-row--stack { grid-template-columns: minmax(0, 1fr); gap: 2px; }
.ui-row--stack p { margin: 2px 0 0; color: var(--c-muted); line-height: 1.5; }
.ui-row__kicker { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-page > .wiz-steps-shell { margin-bottom: 20px; }

/* Formulare fără casete: secțiuni despărțite de titluri mici, câmpurile pe două coloane */
.ui-section__title label { display: inline; margin: 0; font: inherit; color: inherit; }
.ui-form .ui-section:first-of-type { margin-top: 20px; }
.ui-form .grid-2 { gap: 0 24px; }
.ui-form textarea, .ui-form input[type="text"], .ui-form input[type="number"], .ui-form select { width: 100%; box-sizing: border-box; }
.ui-form .field-note { margin: -2px 0 6px; }

/* ---- Listele de posturi (fișele de post, evaluările): capul „tabelului” și rândurile-acordeon ---- */
.pl-listbar { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap;
  margin-bottom: 8px; font-size: 13px; color: var(--c-muted); }
.pl-listbar a { color: var(--c-nav-text); font-weight: 500; }
.pl-listbar__links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.pl-head, .pl-row > summary {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) 150px minmax(0, 1.25fr) 176px 28px;
  gap: 14px; align-items: center;
}
.pl-head { padding: 8px 12px; border-bottom: 1px solid var(--c-border-2);
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.pl-row { border-bottom: 1px solid var(--c-border); }
.pl-row > summary { list-style: none; cursor: pointer; padding: 12px 12px; min-height: 56px; }
.pl-row > summary::-webkit-details-marker { display: none; }
.pl-row > summary:hover { background: var(--c-soft-bg); }
.pl-row > summary:focus-visible { outline: 2px solid var(--c-focus); outline-offset: -2px; border-radius: 4px; }
.pl-row[open] > summary { background: var(--c-soft-bg); }
.pl-cell { min-width: 0; font-size: 13px; line-height: 1.4; color: var(--c-text); }
.pl-cell--title { display: grid; gap: 2px; }
.pl-title { font-size: 14px; font-weight: 600; letter-spacing: -.005em; }
.ui-tag, .pl-tag { display: inline-block; width: fit-content; margin-top: 2px; padding: 1px 7px; border-radius: 999px;
  border: 1px solid var(--c-border-2); font-size: 11px; font-weight: 400; color: var(--c-muted); }
.pl-cell--info { color: var(--c-text); }
.pl-cell--score strong { font-weight: 600; }
/* Lista evaluărilor: stadiul poartă și o informație scurtă, deci coloana e mai lată */
.pl-list--evaluare .pl-head, .pl-list--evaluare .pl-row > summary { grid-template-columns: minmax(0, 1.3fr) 200px minmax(0, 1.1fr) 176px 28px; }
.pl-muted { color: var(--c-muted); }

/* Acordeonul listei: documentele postului și legăturile de lucru */
.pl-body { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr); gap: 16px 40px;
  padding: 6px 12px 18px 28px; background: var(--c-soft-bg); }
.pl-body h3 { margin: 6px 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.pl-docs { margin: 0; padding: 0; list-style: none; }
.pl-docs li { display: grid; grid-template-columns: minmax(0, 1fr) 132px minmax(96px, auto); gap: 12px; align-items: center;
  padding: 7px 0; border-top: 1px solid var(--c-border); font-size: 13px; }
.pl-docs li:first-child { border-top: 0; }
.pl-docs li.is-off .pl-doc__label { color: var(--c-muted); }
.pl-doc__state { font-size: 12px; color: var(--c-muted); }
.pl-docs li:not(.is-off) .pl-doc__state { color: var(--c-ok); }
.pl-doc__links { display: flex; justify-content: flex-end; gap: 12px; font-size: 12.5px; }
.pl-doc__links a { color: var(--c-nav-text); font-weight: 500; }
.pl-note { margin: 8px 0 0; font-size: 12.5px; color: var(--c-muted); }
.pl-archive { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 10px 0 0; padding-top: 8px;
  border-top: 1px solid var(--c-border-2); font-size: 13px; }
.pl-body__links ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }

/* ---- Ecranele evaluării (lot C): criteriile, calibrarea, ponderile, rezultatul ---- */
/* Rândul de salvare al evaluării poartă clasa istorică `eval-save-actions`; e același rând de acțiuni. */
.eval-save-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px;
  margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--c-border); }
.ui-score strong { font-size: 15px; }
.ui-score small { font-size: 13px; font-weight: 400; color: var(--c-muted); }
/* Un criteriu: textul la stânga, nivelul ales la dreapta; fără casete */
.ui-crit { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 8px 32px; padding: 14px 0 16px; border-top: 1px solid var(--c-border-2); }
.ui-crit:first-child { border-top: 0; padding-top: 6px; }
.ui-crit__main { min-width: 0; }
.ui-crit__main h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 14.5px; font-weight: 600; }
.ui-crit__id { font-size: 12px; font-weight: 700; color: var(--c-label); }
.ui-crit__def { margin: 0; font-size: 13px; color: var(--c-muted); line-height: 1.5; max-width: 68ch; }
.ui-crit__ai { display: grid; gap: 2px; margin: 8px 0 0; font-size: 13px; line-height: 1.5; }
.ui-crit__why { color: var(--c-muted); }
.ui-crit__warn { margin: 8px 0 0; font-size: 13px; color: var(--c-warning); }
.ui-crit__subtitle { margin: 8px 0 0; }
.ui-fold--tight { margin-top: 8px; }
.ui-fold--tight .ui-list { margin-top: 6px; font-size: 13px; }
.ui-fold--tight .ui-fold__body { margin-top: 6px; font-size: 13px; line-height: 1.55; }
.ui-crit__level { display: grid; gap: 6px; align-content: start; min-width: 0; }
.ui-crit__level label, .ui-crit__label { margin: 0; font-size: 12.5px; color: var(--c-muted); }
.ui-crit__level select { width: 100%; box-sizing: border-box; }
.ui-crit__chosen { margin: 0; font-size: 14px; }
.ui-crit__hint { margin: 0; font-size: 12.5px; color: var(--c-muted); line-height: 1.5; }
.ui-crit__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
  padding: 12px 0 4px; border-top: 1px solid var(--c-border-2); font-size: 13px; color: var(--c-muted); }
.ui-crit__foot strong { color: var(--c-text); font-weight: 600; }
.ui-crit__foot form { margin: 0; }
/* Rezultatul pe criterii și grupurile de valoare egală: titlu, nivel/grad, puncte */
.ui-row--result { grid-template-columns: minmax(0, 1.6fr) 150px 110px; }
.ui-row__points { text-align: right; font-weight: 600; white-space: nowrap; }
/* Calibrarea: postul, butoanele de nivel, explicația, punctele */
.ui-row--calib, .ui-rows__head--calib { grid-template-columns: minmax(0, 1.1fr) minmax(220px, auto) minmax(0, 1.2fr) 72px; }
.ui-row--calib { align-items: start; }
.ui-row--calib .ui-row__title .ui-state { margin-top: 2px; font-size: 12px; }
.ui-row--calib .eval-level-desc { font-size: 13px; }
.ui-row--calib .eval-points-cell strong { font-size: 15px; }
.ui-rows__head--calib span:last-child { text-align: right; }
/* Ponderile: numele criteriului și procentul */
.ui-row--weight { grid-template-columns: minmax(0, 1fr) auto; padding: 8px 4px; }
.ui-row--weight label { margin: 0; font-size: 14px; font-weight: 500; color: var(--c-text); }
.ui-row--weight input[type="number"] { width: 90px; }
.ui-weights-total { position: sticky; top: 0; z-index: 4; background: var(--c-bg); }
.ui-weights-total strong { color: var(--c-ok); }
.ui-weights-total.is-off strong { color: var(--c-danger); }
.ui-weights-total .ui-actions__hint { margin-left: 8px; }

/* ---- Remunerația (lot D): analiza echității, alinierea, beneficiile, evaluarea comună, grila, documentele, structura ---- */
/* Acordeon cu coloane: capul listei și rândul-rezumat stau pe aceeași grilă (cel mult 4 coloane + săgeata);
   detaliul (mediane, intervale, dovezi) se deschide sub rând. Pe telefon rândul devine cartonaș, iar
   fiecare celulă își spune singură sensul prin data-label. */
.ui-acc--cols .ui-acc__head { display: grid; gap: 14px; align-items: center; padding: 8px 4px; border-bottom: 1px solid var(--c-border-2);
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-acc--cols .ui-acc__item > summary { font-weight: 500; }
.ui-acc--cols .ui-acc__item > summary > * { min-width: 0; }
.ui-acc--cols .ui-acc__item[open] > summary { background: var(--c-soft-bg); }
.ui-acc__cell { font-size: 13px; line-height: 1.4; color: var(--c-text); }
.ui-acc__cell strong { font-weight: 600; }
.ui-acc__cell--title { display: grid; gap: 2px; font-size: 14px; font-weight: 600; letter-spacing: -.005em; }
.ui-acc__cell--muted { color: var(--c-muted); }
.ui-acc--cols .ui-acc__body { padding: 8px 4px 18px; }
.ui-acc--cols .ui-acc__body .ui-kv + .ui-kv { margin-top: 10px; }
.ui-acc--cols .ui-acc__body .ui-links { margin-top: 10px; }
/* Legăturile din detaliu (analiza categoriei, completarea grilei) sunt neutre: roșul rămâne pentru acțiune */
.ui-acc__body .ui-kv a, .ui-acc__body > p a, .ui-fold__body a, .ui-form .field-note a { color: var(--c-nav-text); text-decoration: underline;
  text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-acc__body .ui-kv a:hover, .ui-acc__body > p a:hover, .ui-fold__body a:hover, .ui-form .field-note a:hover { color: var(--c-text); }
/* Grilele fiecărui ecran: Categorie | Persoane | Decalaj | Stare · Grad | În afara intervalului | Poziție | Cost ·
   Beneficiu | Cine îl primește | Decalaj | Stare · Categoria | Decalaj | Termen | Stare */
.ui-acc--paygap .ui-acc__head, .ui-acc--paygap .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr) 150px 20px; }
.ui-acc--align .ui-acc__head, .ui-acc--align .ui-acc__item > summary { grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.1fr) 20px; }
.ui-acc--benefit .ui-acc__head, .ui-acc--benefit .ui-acc__item > summary { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.3fr) 110px 150px 20px; }
.ui-acc--findings .ui-acc__head, .ui-acc--findings .ui-acc__item > summary { grid-template-columns: minmax(0, 1.1fr) 110px minmax(0, 1.3fr) 200px 20px; }
/* Cazul deschis (evaluarea comună): dovezi/decizie/responsabil/termen, apoi cele două acțiuni separate */
.ui-case__actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px 32px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--c-border-2); }
.ui-case__actions form { margin: 0; display: grid; gap: 6px; align-content: start; }
.ui-case__actions label { margin: 0; font-size: 13px; }
.ui-case__actions label span { display: block; font-weight: 400; color: var(--c-muted); }
.ui-case__actions textarea { width: 100%; box-sizing: border-box; }
.ui-case__actions .btn { justify-self: start; }
/* Tabelul intervalelor grilei: hairlines în locul cardului cu umbră; pe telefon rândul devine cartonaș prin regula comună a tabelelor */
.ui-table-wrap { border: 0; border-radius: 0; background: none; overflow: visible; }
.ui-table { width: 100%; border-collapse: collapse; }
.ui-table th { padding: 8px 8px 8px 4px; border-bottom: 1px solid var(--c-border-2); text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-table td { padding: 10px 8px 10px 4px; border-bottom: 1px solid var(--c-border); font-size: 13px; vertical-align: middle; }
.ui-table td:first-child, .ui-table th:first-child { position: static; background: none; }
.ui-table__amount { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-weight: 400; }
.ui-table__amount input[type="number"], .ui-table__amount input[inputmode="numeric"] { width: 110px; margin: 0; }
.ui-table__amount span { font-size: 12px; color: var(--c-muted); }
/* Rândurile catalogului de beneficii: numele, inclus în import, regula, acțiunile */
.ui-row--benefit, .ui-rows__head--benefit { grid-template-columns: minmax(0, 1.5fr) 150px minmax(0, 1fr) auto; }
.ui-row--benefit.is-off .ui-row__title { color: var(--c-muted); }
.ui-row__links form { margin: 0; display: inline; }
.ui-row__links .btn-link { color: var(--c-nav-text); font-weight: 500; font-size: 12.5px; text-decoration: none; }
.ui-row__links .btn-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.ui-row__links .ui-danger-link { font-size: 12.5px; }
/* Rândurile de grade (structura): gradul, punctele, posturile */
.ui-row--grade, .ui-rows__head--grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 150px; }
/* Structura organizației: arborele cu hairlines, pe aceeași linie */
.ui-page .arh-tree { margin-top: 4px; border-top: 1px solid var(--c-border-2); }
.ui-page .arh-card { padding: 11px 4px; }
.ui-page .arh-card-main strong { font-size: 14px; letter-spacing: -.005em; }
.ui-page .arh-card-main .muted { font-size: 12.5px; }
.ui-page .arh-children { margin-left: 18px; padding-left: 14px; border-left: 1px solid var(--c-border-2); }
.ui-page .arh-edit > summary { list-style: none; width: fit-content; color: var(--c-nav-text); font-weight: 500; font-size: 12.5px; }
.ui-page .arh-edit > summary::-webkit-details-marker { display: none; }
.ui-page .arh-edit > summary::before { content: "+"; display: inline-block; width: 14px; color: var(--c-icon); }
.ui-page .arh-edit[open] > summary::before { content: "–"; }
.ui-page .arh-form select { margin: 0; padding: 8px 10px; }


/* ---- Compania, contul, documentele, participanții (lot E) ---- */
/* Alegerea companiei: butonul radio, compania și rolurile, starea; motivul și creditele sub rând */
.ui-row--company { grid-template-columns: 22px minmax(0, 1fr) 170px; }
.ui-row--company input[type="radio"], .ui-row--choice input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--c-title); }
.ui-row--company label.ui-row__title, .ui-row--choice label.ui-row__title { margin: 0; cursor: pointer; font-size: 14px; }
.ui-row--company:has(input:checked), .ui-row--choice:has(input:checked) { background: var(--c-soft-bg); }
.ui-row--company.is-off .ui-row__title { color: var(--c-muted); }
.ui-row__extra { grid-column: 2 / -1; margin: 0; font-size: 12.5px; color: var(--c-muted); line-height: 1.5; }
.ui-row__extra.ui-fold { margin-top: 0; }
.ui-kv--3 { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.ui-acc__body .ui-section--first { margin-top: 6px; }
/* Alegerea proiectului nou: radio | obiectiv | când îl alegeți | ce obțineți; detaliile pliate sub rând */
.ui-row--choice, .ui-rows__head--choice { grid-template-columns: 22px minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1.1fr); }
.ui-row--choice { align-items: start; }
.ui-row--choice input[type="radio"] { margin-top: 3px; }
.ui-row--choice > .ui-fold { grid-column: 2 / -1; margin-top: 0; }
.ui-row--catalog, .ui-rows__head--catalog { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr); align-items: start; }
/* Invitațiile: persoana | rolul | stare | acțiune · documentele încărcate: document | tipul | stare | acțiuni */
.ui-row--invite, .ui-rows__head--invite { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) 150px auto; }
.ui-row--upload, .ui-rows__head--upload { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) 150px auto; }
.ui-rows__head--doc { grid-template-columns: minmax(0, 1.6fr) 150px auto; }
/* Dosarul: documentul | starea | acțiunile (clasa istorică doc-row-actions rămâne, o folosesc testele) */
.ui-row--dossier { grid-template-columns: minmax(0, 1.6fr) 170px auto; }
.ui-row--dossier .doc-row-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; }
.ui-row--dossier .doc-row-actions a { color: var(--c-nav-text); font-weight: 500; }
.ui-acc--nested { margin-top: 8px; border-top: 0; }
.ui-acc--nested .ui-acc__item > summary { font-size: 13.5px; padding: 10px 4px; }
.ui-fold--gate { margin: 0 0 18px; }
.ui-fold--gate > summary .ui-state { font-size: 13px; }
.ui-search { max-width: 380px; margin: 0 0 16px; }
.ui-search label { margin-top: 0; }
.ui-search input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--c-border-2); border-radius: var(--radius);
  background: var(--c-surface); font: inherit; font-size: 14px; color: var(--c-text); }
.ui-search input:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 1px; }
/* Rânduri care sunt legături (posturile atribuite, coada de validare) */
a.ui-row { text-decoration: none; color: inherit; }
a.ui-row:hover { background: var(--c-soft-bg); }
a.ui-row .ui-row__links { color: var(--c-nav-text); font-weight: 500; font-size: 12.5px; }
/* Bifele compacte pe mai multe coloane (posturile atribuite, sursele de date) */
.ui-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 2px 16px; margin: 4px 0 8px; }
.ui-checks label { display: flex; align-items: center; gap: 8px; margin: 0; padding: 5px 0; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.ui-checks input { width: 16px; height: 16px; margin: 0; accent-color: var(--c-title); }
/* Formularul datelor companiei: pașii ca secțiuni fără casete; alegerile ca rânduri cu bifă, niciodată roșii */
.ui-form fieldset.ui-section { border: 0; padding: 0; margin: 20px 0 0; min-width: 0; }
.ui-form .check-list + .grid { margin-top: 12px; }
.ui-form .setup-choice-group { margin-top: 16px; }
.ui-form .setup-choice-group .sectiuni-grup { margin-top: 0; }
.ui-form .setup-color-pair { display: flex; align-items: center; gap: 8px; }
.ui-form .check-row input[type="radio"] { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--c-title); }

/* ---- Comercialul V3 al clientului (lot F): abonamentul, ofertele, plata, lucrările, paginile publice ---- */
/* Formularele de cumpărare și de lansare: câmpurile pe o coloană îngustă, fără casete; bifele de confirmare ca rânduri */
.ui-form--v3 { display: grid; gap: 14px; max-width: 640px; }
.ui-form--v3 > label:not(.ui-check), .ui-form--v3 fieldset > label:not(.ui-check) { display: grid; gap: 6px; margin: 0; font-size: 13px; font-weight: 500; }
.ui-form--v3 input:not([type=checkbox]), .ui-form--v3 select, .ui-form--v3 textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.ui-form--v3 fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 8px; }
.ui-form--v3 legend { padding: 0; margin: 0 0 2px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-form--v3 .muted, .ui-form--v3 .ui-section__note { margin: 0; font-size: 13px; line-height: 1.5; }
.ui-form--v3 > label + .muted, .ui-form--v3 > label + .note { margin-top: -6px; }
.ui-form--v3 > div > .btn + .muted { margin-top: 8px; }
.ui-form--v3 .note { margin: 0; }
/* Tabelele comerciale: legăturile sunt neutre (roșul rămâne pentru acțiune), prima coloană nu e lipicioasă, titlul la stânga */
.ui-table a { color: var(--c-nav-text); font-weight: 500; text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-table a:hover { color: var(--c-text); }
.ui-table-wrap table th:first-child, .ui-table-wrap table td:first-child { position: static; background: none; }
.ui-table caption { caption-side: top; text-align: left; padding: 0 0 8px; }
.ui-form--v3 .ui-checks { margin: 0; }
.ui-check { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 13.5px; font-weight: 400; line-height: 1.5; color: var(--c-text); cursor: pointer; }
.ui-check input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--c-title); }
.ui-check a { color: var(--c-nav-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
/* Confirmarea (oferta, lucrarea, runda): bifa obligatorie și singurul buton roșu, într-un rând despărțit de conținut */
.ui-confirm { display: grid; gap: 12px; justify-items: start; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--c-border); }
.ui-confirm > p { margin: 0; }
.ui-total { margin: 12px 0 0; font-size: 20px; font-weight: 700; letter-spacing: -.01em; color: var(--c-text); }
.ui-total small { font-size: 13px; font-weight: 400; color: var(--c-muted); }
/* Rândurile lucrărilor: lucrarea | starea | creditele | legătura · rezultatele unei lucrări: rezultatul | starea | pasul */
.ui-row--work, .ui-rows__head--work { grid-template-columns: minmax(0, 1.5fr) 190px 110px auto; }
.ui-row--item, .ui-rows__head--item { grid-template-columns: minmax(0, 1.4fr) 210px auto; }
.ui-row--round { grid-template-columns: minmax(0, 1fr) auto; }
.ui-row--round form { margin: 0; }
.ui-row--round > .ui-row__extra { grid-column: 1 / -1; }
.ui-row--round > .ui-fold { margin-top: 2px; }
/* Ce aveți pregătit pentru fiecare rezultat: rezultatul și starea lui, pe un rând */
.ui-readiness { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13.5px; line-height: 1.5; }
.ui-readiness strong { font-weight: 600; }
/* Rezultatul propus (același conținut ca în livrabil), pe liniile subțiri ale ecranului */
.ui-result h2 { margin: 18px 0 8px; font-size: 14px; font-weight: 600; }
.ui-result h2:first-child { margin-top: 0; }
.ui-result h3 { margin: 12px 0 4px; font-size: 13.5px; font-weight: 600; }
.ui-result p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.55; }
.ui-result ul { margin: 6px 0 0; padding-left: 18px; font-size: 13.5px; line-height: 1.5; }
.ui-result dl { margin: 0; }
.ui-result dt { margin-top: 8px; font-size: 12.5px; color: var(--c-muted); }
.ui-result dd { margin: 0; font-size: 13.5px; line-height: 1.5; }
.ui-result .ui-table-wrap { margin-top: 8px; }
/* Paginile publice (prețuri, reguli) în layoutul public: același antet, aceleași tabele și acordeoane */
.ui-page--public { margin: 8px auto 40px; }
.ui-page--public .ui-header h1 { font-size: 24px; max-width: 30ch; }
.ui-prose h2 { margin: 24px 0 8px; font-size: 15px; font-weight: 600; letter-spacing: -.005em; }
.ui-prose p { margin: 0 0 10px; max-width: 76ch; font-size: 14px; line-height: 1.6; }
.ui-pricing-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 20px; }
.ui-pricing-fields label { display: grid; gap: 6px; margin: 0; font-size: 13px; font-weight: 500; }
.ui-pricing-fields input, .ui-pricing-fields select { width: 100%; min-width: 0; box-sizing: border-box; }
.ui-pricing-form { display: grid; gap: 14px; max-width: 900px; }
.ui-pricing-form .btn { justify-self: start; }
@media (max-width: 900px) {
  .pl-head, .pl-row > summary { grid-template-columns: minmax(0, 1.4fr) 132px minmax(0, 1.1fr) 150px 24px; gap: 10px; }
  .pl-list--evaluare .pl-head, .pl-list--evaluare .pl-row > summary { grid-template-columns: minmax(0, 1.2fr) 170px minmax(0, 1fr) 150px 24px; }
  .ui-row--select, .ui-rows__head--select { grid-template-columns: 22px minmax(0, 1.4fr) minmax(0, 1fr) 140px 150px; gap: 10px; }
}
/* Telefon: rândul devine cartonaș compact — titlul, apoi starea și informația, apoi pasul */
@media (max-width: 640px) {
  .pl-head { display: none; }
  .pl-row > summary, .pl-list--evaluare .pl-row > summary { grid-template-columns: minmax(0, 1fr) 20px; grid-template-rows: auto auto auto; gap: 6px 10px; padding: 12px 4px; }
  .pl-cell--title { grid-column: 1; grid-row: 1; }
  .pl-chevron { grid-column: 2; grid-row: 1; align-self: center; }
  .pl-cell--stage { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
  .pl-cell--info, .pl-cell--score { grid-column: 1 / -1; grid-row: 3; }
  .pl-cell--action { grid-column: 1 / -1; grid-row: 4; }
  .pl-action { min-height: 40px; }
  .pl-body { grid-template-columns: minmax(0, 1fr); padding: 4px 4px 14px; gap: 12px; }
  .pl-docs li { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; }
  .pl-doc__label { grid-column: 1; }
  .pl-doc__state { grid-column: 1; grid-row: 2; }
  .pl-doc__links { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .pl-doc__links a, .pl-body__links a, .ui-links a, .ui-row__links a { min-height: 40px; display: inline-flex; align-items: center; }
  .ui-next, .pl-next { padding: 12px 0; }
  .ui-next .btn, .pl-next .btn, .ui-next form, .ui-actions .btn, .ui-actions form, .ui-header__actions .btn, .ui-header__actions form,
  .ui-section__head .btn, .ui-section__head form { width: 100%; justify-content: center; }
  .ui-next__actions { width: 100%; }
  .ui-header__actions form .btn, .ui-actions form .btn, .ui-next form .btn, .ui-section__head form .btn { width: 100%; }
  .ui-header__actions .pef-menu { width: 100%; }
  .ui-header__actions .pef-menu > summary { width: 100%; justify-content: center; box-sizing: border-box; }
  .ui-header__actions .pef-menu__list { left: 0; right: auto; width: 100%; box-sizing: border-box; }
  .ui-header__state { flex-basis: 100%; padding-bottom: 0; }
  .pl-listbar { flex-direction: column; align-items: flex-start; }
  .ui-rows__head { display: none; }
  .ui-row, .ui-row--doc { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 4px; }
  .ui-row__links { justify-content: flex-start; }
  .ui-row--select { grid-template-columns: 22px minmax(0, 1fr); gap: 4px 12px; }
  .ui-row--select > :not(input) { grid-column: 2; }
  .ui-row--select input[type="checkbox"] { grid-row: 1 / span 4; align-self: start; margin-top: 2px; }
  .ui-tabs { gap: 2px 16px; }
  .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) 20px; }
  .ui-acc__meta { grid-column: 1; grid-row: 2; }
  .ui-acc__chevron { grid-column: 2; grid-row: 1; }
  .ui-actions__spacer { display: none; }
  /* Ecranele evaluării (lot C) pe telefon: o coloană, butoanele pe toată lățimea */
  .eval-save-actions .btn, .eval-save-actions form { width: 100%; justify-content: center; }
  .ui-crit { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ui-crit__foot .btn { width: 100%; justify-content: center; }
  .ui-row--result { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; }
  .ui-row--result .ui-row__title { grid-column: 1 / -1; }
  .ui-row--result .ui-row__points { text-align: left; }
  .ui-row--calib { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .ui-row--calib .ui-row__title, .ui-row--calib .eval-level-cell, .ui-row--calib .eval-level-desc { grid-column: 1 / -1; }
  .ui-row--calib .eval-points-cell { grid-column: 1 / -1; justify-items: start; }
  .ui-row--weight { grid-template-columns: minmax(0, 1fr) auto; }
  .ui-weights-total { position: static; }
  /* Remunerația (lot D) pe telefon: rândul-rezumat devine cartonaș, celulele își spun sensul */
  .ui-acc--cols .ui-acc__head { display: none; }
  .ui-acc--cols .ui-acc__item > summary, .ui-acc--paygap .ui-acc__item > summary, .ui-acc--align .ui-acc__item > summary,
  .ui-acc--benefit .ui-acc__item > summary, .ui-acc--findings .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) 20px; gap: 5px 10px; }
  .ui-acc--cols .ui-acc__cell--title { grid-column: 1; grid-row: 1; }
  .ui-acc--cols .ui-acc__chevron { grid-column: 2; grid-row: 1; }
  .ui-acc--cols .ui-acc__cell:not(.ui-acc__cell--title) { grid-column: 1 / -1; }
  .ui-acc--cols .ui-acc__cell[data-label]::before { content: attr(data-label) ": "; color: var(--c-muted); font-weight: 400; }
  .ui-case__actions { grid-template-columns: minmax(0, 1fr); }
  .ui-case__actions .btn { width: 100%; justify-content: center; }
  .ui-row--benefit, .ui-row--grade { grid-template-columns: minmax(0, 1fr); }
  .ui-table__amount { width: 100%; }
  .ui-table__amount input[type="number"], .ui-table__amount input[inputmode="numeric"] { width: 100%; }
  .ui-table-wrap table tr { border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0; padding: 8px 0 12px; }
  .ui-table-wrap table tbody { gap: 0; }
  .ui-page .arh-children { margin-left: 10px; padding-left: 10px; }
  .ui-page .arh-form { display: grid; }
  .ui-page .arh-form select, .ui-page .arh-form .btn { width: 100%; box-sizing: border-box; justify-content: center; }
  /* Lot E pe telefon: rândurile devin cartonașe; bifele pe o coloană */
  .ui-row--company { grid-template-columns: 22px minmax(0, 1fr); gap: 4px 12px; }
  .ui-row--company > .ui-state { grid-column: 2; }
  .ui-row--choice { grid-template-columns: 22px minmax(0, 1fr); gap: 4px 12px; }
  .ui-row--choice > :not(input) { grid-column: 2; }
  .ui-row--invite, .ui-row--upload, .ui-row--dossier, .ui-row--catalog { grid-template-columns: minmax(0, 1fr); }
  .ui-row--dossier .doc-row-actions { justify-content: flex-start; }
  .ui-row--dossier .doc-row-actions a { min-height: 40px; display: inline-flex; align-items: center; }
  .ui-checks { grid-template-columns: minmax(0, 1fr); }
  .ui-search { max-width: none; }
  .ui-next__actions .btn { width: 100%; justify-content: center; }
  /* Lot F pe telefon: rândurile lucrărilor devin cartonașe; formularele și confirmările pe toată lățimea */
  .ui-row--work, .ui-row--item, .ui-row--round { grid-template-columns: minmax(0, 1fr); }
  .ui-row--round form { width: 100%; }
  .ui-confirm .btn, .ui-confirm form, .ui-form--v3 .btn, .ui-pricing-form .btn { width: 100%; justify-content: center; box-sizing: border-box; }
  .ui-pricing-fields { grid-template-columns: minmax(0, 1fr); }
  .ui-page--public .ui-header h1 { font-size: 22px; }
}

/* ---- Accesul (lot G): autentificarea, verificarea în doi pași, invitațiile, erorile, documentele legale, bun venit ---- */
/* Paginile fără cont păstrează coloana centrată (singurul „cartonaș” admis): sigla, titlul, o frază, câmpurile,
   singurul buton roșu; legăturile de dedesubt sunt neutre (roșul rămâne pentru pasul principal). */
.ui-auth { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 32px 16px; }
.ui-auth .auth-card { width: 100%; max-width: 420px; padding: 36px 36px 30px; background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--radius-lg); box-shadow: none; }
.ui-auth .auth-card.elia { border-top: 3px solid var(--c-title); }
.ui-auth .auth-brand { margin: 0 0 26px; }
.ui-auth .auth-brand img.logo { width: 140px; height: auto; }
.ui-auth .auth-brand .product { font-size: 14px; }
.ui-auth .ui-header { margin-bottom: 20px; }
.ui-auth .ui-header h1 { font-size: 22px; margin: 0 0 6px; }
.ui-auth .ui-header > p { font-size: 14px; }
.ui-auth .note { margin: 0 0 16px; }
.ui-auth .form { max-width: none; margin: 0; }
.ui-auth .form label { margin: 14px 0 6px; font-size: 13px; }
.ui-auth .form > label:first-of-type { margin-top: 0; }
.ui-auth .form input[type=email], .ui-auth .form input[type=password], .ui-auth .form input[type=text] { width: 100%; box-sizing: border-box; }
.ui-auth .form input[disabled] { background: var(--c-soft-bg); color: var(--c-muted); }
.ui-auth .form .error { margin-top: 6px; }
.ui-auth .auth-submit { margin-top: 22px; min-height: 44px; }
.ui-auth .form .muted { font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
.ui-auth .form .muted a, .ui-auth .ui-check a { color: var(--c-nav-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-auth .ui-check { margin-top: 18px; }
.ui-auth .ui-check small { display: block; margin-top: 4px; font-size: 12.5px; }
/* Legăturile de sub formular (parola uitată, cod nou, ieșirea): neutre, cu ținte de 40px pe telefon */
.ui-auth__links { display: grid; justify-items: center; gap: 4px; margin: 18px 0 0; font-size: 13px; color: var(--c-muted); }
.ui-auth__links form { margin: 0; }
.ui-auth__links a, .ui-auth__links .btn-link { display: inline-flex; align-items: center; min-height: 32px; padding: 0 4px; color: var(--c-nav-text);
  font-weight: 500; font-size: 13px; text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-auth__links a:hover, .ui-auth__links .btn-link:hover { color: var(--c-text); }
.ui-auth__links .btn-link:focus-visible, .ui-auth__links a:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: 4px; }
/* Subsolul paginilor fără cont: documentele legale, discret */
.ui-auth__foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin: 18px 0 0; font-size: 12.5px; color: var(--c-muted); }
.ui-auth__foot a { color: var(--c-nav-text); }
.ui-auth .ui-fold { margin-top: 20px; }
.ui-auth .ui-fold__body { font-size: 12.5px; }
.ui-auth .ui-kv { gap: 6px 16px; grid-template-columns: minmax(0, 1fr); }
.ui-auth .ui-kv dt { font-size: 12px; }
.ui-auth .ui-kv dd { font-size: 12.5px; }
/* Confirmarea reprezentării (invitația de reprezentant) își păstrează stilul din invitation-representation.css (Codex) */
.ui-auth .invitation-representation .ui-check { margin-top: 10px; }

/* Securitatea contului (verificarea în doi pași) și celelalte ecrane din aplicație: starea în antet, secțiuni fără casete */
.ui-options { display: grid; gap: 0; border-top: 1px solid var(--c-border-2); }
.ui-option { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 6px 24px; align-items: center; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--c-border); }
.ui-option .btn { width: 100%; justify-content: center; box-sizing: border-box; }
.ui-option p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--c-muted); }
.ui-option p strong { color: var(--c-text); font-weight: 600; }
.ui-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px 16px; margin: 10px 0 0; }
.ui-codes code { display: block; padding: 8px 10px; border: 1px solid var(--c-border-2); border-radius: var(--radius); background: var(--c-surface);
  font-size: 14px; letter-spacing: .06em; text-align: center; }
.ui-qr { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 32px; margin: 12px 0 0; }
.ui-qr .account-security-qr { margin: 0; padding: 8px; border: 1px solid var(--c-border-2); border-radius: var(--radius); background: #fff; }
.ui-qr .account-security-qr svg { display: block; width: 180px; height: 180px; }
.ui-qr__side { flex: 1 1 320px; min-width: 0; }
.ui-qr__side .ui-fold { margin-top: 12px; }
.ui-secret { display: block; margin: 8px 0 0; padding: 8px 10px; border: 1px solid var(--c-border-2); border-radius: var(--radius); background: var(--c-surface);
  font-size: 13px; letter-spacing: .08em; overflow-wrap: anywhere; }
.ui-form--narrow { max-width: 420px; margin: 0; }
.ui-form--narrow label { margin: 0 0 6px; font-size: 13px; }
.ui-form--narrow input[type=text], .ui-form--narrow input[type=password] { width: 100%; box-sizing: border-box; }
.ui-form--narrow .btn { margin-top: 14px; }
.ui-form--narrow + form { margin-top: 10px; }
.ui-form--narrow .error { margin-top: 6px; }
.ui-page .ui-list--steps { margin: 6px 0 0; padding-left: 20px; max-width: 68ch; }
.ui-header > p.ui-header__hint { margin-top: 8px; font-size: 13.5px; }

/* Paginile de eroare: în stânga, liniștite; o frază, o legătură înapoi (singurul buton roșu) */
.ui-error { max-width: 640px; margin: 40px auto 0; }
.ui-error .ui-header h1 { font-size: 24px; max-width: 26ch; }
.ui-error .ui-header > p { max-width: 60ch; }
.ui-error .ui-header > p + p { margin-top: 8px; }
.ui-error .ui-header__actions { margin-top: 20px; }

/* Centrul legal și documentele (ui-page--legal, ca lotul F să rămână neatins): rânduri-legături, apoi textul pe linia ui-prose; conținutul rămâne același */
.ui-row--legal { grid-template-columns: minmax(0, 1fr) auto; }
.ui-page--legal .ui-prose ul, .ui-page--legal .ui-prose ol { margin: 0 0 12px; padding-left: 22px; max-width: 76ch; display: grid; gap: 5px; font-size: 14px; line-height: 1.6; }
.ui-page--legal .ui-prose ul.dash { list-style: none; padding-left: 0; }
.ui-page--legal .ui-prose ul.dash li { position: relative; padding-left: 18px; }
.ui-page--legal .ui-prose ul.dash li::before { content: "–"; position: absolute; left: 0; color: var(--c-icon); }
.ui-page--legal .ui-prose table { width: 100%; margin: 4px 0 16px; border-collapse: collapse; font-size: 13.5px; }
.ui-page--legal .ui-prose th { padding: 8px 10px 8px 0; border-bottom: 1px solid var(--c-border-2); text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-page--legal .ui-prose td { padding: 9px 10px 9px 0; border-bottom: 1px solid var(--c-border); vertical-align: top; line-height: 1.5; }
.ui-page--legal .ui-prose td.k { color: var(--c-muted); }
.ui-page--legal .ui-prose td small { display: block; font-size: 12px; }
.ui-page--legal .ui-prose .legal-scroll { overflow: visible; }
.ui-page--legal .ui-prose h2:first-child { margin-top: 8px; }
.ui-page--legal .ui-prose a { color: var(--c-nav-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-page--legal .ui-prose a:hover { color: var(--c-text); }
.ui-page--legal .ui-prose p.muted { font-size: 13px; }
.ui-page--legal .ui-prose strong { font-weight: 600; }
.ui-page--legal .ui-links--inline a { font-size: 14px; }
.ui-page--legal .ui-confirm { max-width: 640px; }
.ui-page--legal .ui-header > p.ui-status { max-width: none; }
.ui-page--legal .ui-status a { color: var(--c-nav-text); }
/* Bun venit: fraza de poziționare, apoi intrarea în cont ca pas principal și ce construiți, ca listă */
.ui-page--welcome .ui-header h1 { font-size: 26px; max-width: 24ch; }
.ui-page--welcome .ui-header > p { max-width: 72ch; font-size: 15px; }
.ui-page--welcome .ui-next { margin-top: 24px; }
.ui-page--welcome .ui-next p { font-size: 14.5px; }
.ui-page--welcome .ui-list { max-width: 68ch; }
@media (max-width: 640px) {
  .ui-auth { padding: 20px 16px 28px; justify-content: flex-start; }
  .ui-auth .auth-card { padding: 22px 0 0; border: 0; border-radius: 0; background: none; }
  .ui-auth .auth-card.elia { border-top: 0; }
  .ui-auth .auth-brand { margin-bottom: 22px; }
  .ui-auth__links a, .ui-auth__links .btn-link { min-height: 40px; }
  .ui-option { grid-template-columns: minmax(0, 1fr); }
  .ui-qr { flex-direction: column; }
  .ui-error { margin-top: 16px; }
  .ui-error .ui-header h1 { font-size: 22px; }
  .ui-error .ui-header__actions .btn, .ui-error .ui-header__actions form { width: 100%; justify-content: center; }
  .ui-error .ui-header__actions form .btn { width: 100%; }
  .ui-row--legal { grid-template-columns: minmax(0, 1fr); }
  .ui-page--welcome .ui-header h1 { font-size: 23px; }
  .ui-page--welcome .ui-next p { flex-basis: 100%; }
  /* Tabelele documentelor legale: pe telefon rândul devine cartonaș, fiecare celulă își spune capul de coloană */
  .ui-page--legal .ui-prose table.ui-table--stack thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
  .ui-page--legal .ui-prose table.ui-table--stack, .ui-prose table.ui-table--stack tbody, .ui-prose table.ui-table--stack tr, .ui-prose table.ui-table--stack td { display: block; width: 100%; }
  .ui-page--legal .ui-prose table.ui-table--stack tr { padding: 10px 0; border-bottom: 1px solid var(--c-border); }
  .ui-page--legal .ui-prose table.ui-table--stack td { padding: 3px 0; border: 0; }
  .ui-page--legal .ui-prose table.ui-table--stack td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
}

/* ---- Contul de grup (lot E2): reprezentarea companiei, structura internă, companiile din cont ---- */
/* Grilele fiecărui ecran (cel mult 4 coloane + acțiunea): Ce se cere | Cine, de când | acțiune · Prestatorul | Mandatul | De când | acțiune ·
   Transferul | Stare | Termene | acțiune · Unitatea | Posturi | Persoane | acțiuni · Compania | Destinația | (pliul) · Compania | Termene | acțiune */
.ui-row--decide, .ui-rows__head--decide { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr) auto; align-items: start; }
.ui-row--mandate, .ui-rows__head--mandate { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 110px auto; }
.ui-row--transfer, .ui-rows__head--transfer { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, 1fr) auto; }
.ui-row--unit, .ui-rows__head--unit { grid-template-columns: minmax(0, 1.6fr) 100px 100px 110px; }
.ui-row--unit > .ui-row__links { justify-self: end; }
.ui-row--dest, .ui-rows__head--dest { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) auto; }
.ui-row--incoming, .ui-rows__head--incoming { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) auto; }
.ui-row--decide .ui-row__links .btn, .ui-row--incoming .ui-row__links .btn { white-space: nowrap; }
/* Pliul cu motivul, termenele sau redenumirea stă sub rând, pe toată lățimea */
.ui-row--decide > .ui-row__extra, .ui-row--mandate > .ui-row__extra, .ui-row--transfer > .ui-row__extra,
.ui-row--unit > .ui-row__extra, .ui-row--dest > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
.ui-row .ui-tag { margin-left: 6px; vertical-align: middle; }
.ui-state--stack { display: grid; gap: 2px; }
/* Formularele scurte de decizie: eticheta, câmpul, un buton neutru; în linie când sunt doar un câmp și butonul */
.ui-decide { display: grid; gap: 6px; margin: 10px 0 4px; max-width: 520px; }
.ui-decide label, .ui-decide__label { margin: 0; font-size: 12.5px; color: var(--c-muted); }
.ui-decide textarea, .ui-decide input[type="text"], .ui-decide input[type="date"], .ui-decide select { width: 100%; box-sizing: border-box; margin: 0; }
.ui-decide .btn { justify-self: start; }
.ui-decide--inline { display: flex; flex-wrap: wrap; align-items: end; gap: 6px 12px; max-width: none; }
.ui-decide--inline label { flex: 0 0 100%; }
.ui-decide--inline input, .ui-decide--inline select { flex: 1 1 200px; width: auto; }
.ui-decide--inline > label + input, .ui-decide--inline > label + select { flex-basis: 220px; }
.ui-decide--inline .btn { flex: 0 0 auto; }
.ui-decide__forms { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px 32px; }
.ui-decide .ui-checks { margin: 0 0 4px; }
/* Încadrarea postului: câte un formular pe grupare, unul lângă altul */
.ui-placement { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px 32px; margin-top: 8px; }
.ui-placement .ui-decide { margin: 0; }
@media (max-width: 640px) {
  .ui-row--decide, .ui-row--mandate, .ui-row--transfer, .ui-row--unit, .ui-row--dest, .ui-row--incoming { grid-template-columns: minmax(0, 1fr); }
  .ui-row--unit .ui-row__desk { display: none; }
  .ui-row--unit .ui-row__label { display: inline; color: var(--c-muted); }
  .ui-row--unit > .ui-row__links { justify-self: start; }
  .ui-row--decide .ui-row__links form, .ui-row--incoming .ui-row__links form, .ui-row--decide .ui-row__links .btn, .ui-row--incoming .ui-row__links .btn { width: 100%; justify-content: center; }
  .ui-decide, .ui-decide--inline { max-width: none; }
  /* Pe o coloană fără împachetare: altfel eticheta cu baza 100% ar umple coloana, iar câmpul și butonul ar sări
     într-o a doua coloană, în dreapta, în afara ecranului; baza flex a câmpurilor ar deveni înălțime */
  .ui-decide--inline { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  .ui-decide--inline label { flex: 0 0 auto; }
  .ui-decide--inline input, .ui-decide--inline select, .ui-decide--inline > label + input, .ui-decide--inline > label + select { flex: 0 0 auto; width: 100%; }
  .ui-decide .btn, .ui-decide--inline .btn { width: 100%; justify-content: center; }
  .ui-decide__forms, .ui-placement { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Contul de grup (lot E2, contractul rutelor): ansamblul contului, membrii contului, creditele pe companii ---- */
/* Ansamblul: Compania | Starea | Posturi | Lucrări | Credite (5 coloane, fără derulare laterală) */
.ui-row--overview, .ui-rows__head--overview { grid-template-columns: minmax(0, 1.5fr) 110px 80px minmax(0, 1.2fr) minmax(0, 1fr); }
.ui-row--overview .ui-row__num { font-size: 13px; color: var(--c-text); }
.ui-row--overview .ui-row__works { line-height: 1.4; }
/* Pe telefon fiecare rând devine un cartonaș: etichetele scurte apar înaintea valorilor */
.ui-row__label { display: none; }
@media (max-width: 640px) {
  .ui-row--overview { grid-template-columns: minmax(0, 1fr); }
  .ui-row--overview .ui-row__label { display: inline; color: var(--c-muted); }
  .ui-row--overview .ui-row__num { font-size: 12.5px; }
}
/* Persoanele din cont: Persoana | Rolul | De când | (pliul retragerii sub rând) */
.ui-row--member, .ui-rows__head--member { grid-template-columns: minmax(0, 1.6fr) 190px 110px auto; }
.ui-row--member > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
@media (max-width: 640px) {
  .ui-row--member { grid-template-columns: minmax(0, 1fr); }
}
/* Creditele pe companii: Compania | Pentru lucrări noi | Rezervate | Consumate (pliul cu formularele sub rând) */
.ui-row--credit, .ui-rows__head--credit { grid-template-columns: minmax(0, 1.6fr) 150px 110px 130px; }
.ui-row--credit .ui-row__num { font-size: 13px; color: var(--c-text); }
.ui-row--credit > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
/* Cele două formulare scurte stau unul lângă altul; cel mai scurt nu se întinde pe înălțimea celuilalt */
.ui-row--credit .ui-decide__forms > .ui-decide { align-content: start; }
@media (max-width: 640px) {
  .ui-row--credit { grid-template-columns: minmax(0, 1fr); }
  .ui-row--credit .ui-row__label { display: inline; color: var(--c-muted); }
  .ui-row--credit .ui-row__num { font-size: 12.5px; }
}

/* D-A50: distribuția femeilor și bărbaților pe cele patru grupe de salarizare (ecranul analizei, panou pliat). */
.ui-row--quartile, .ui-rows__head--quartile { grid-template-columns: minmax(0, 1.5fr) 120px minmax(0, 1fr) minmax(0, 1fr); }
.ui-row--quartile .ui-row__wide { grid-column: span 2; font-size: 13px; }
@media (max-width: 640px) {
  .ui-row--quartile { grid-template-columns: minmax(0, 1fr); }
  .ui-row--quartile .ui-row__wide { grid-column: auto; }
}

/* ---- Lot H: ecranele echipei Elia, pe aceeași linie ui- ca ecranele clientului ---- */
/* Semnalele unei companii, unul sub altul, ca puncte de stare */
.ui-signals { display: grid; gap: 2px; }
/* Consultantul AI: Postul | Completare | Semnale | săgeata */
.ui-acc--monitor .ui-acc__head, .ui-acc--monitor .ui-acc__item > summary { grid-template-columns: minmax(0, 1.5fr) 170px minmax(0, 1.2fr) 20px; }
.ui-acc--monitor .ui-acc__body .ui-kv { margin-top: 8px; }
.ui-acc--monitor .ui-acc__body .ui-kv dd p { margin: 0 0 4px; }
.ui-acc--monitor .ui-acc__body .ui-links { margin-top: 10px; }
/* Formularul setărilor: câmpurile pe o coloană îngustă, butonul roșu sub ele */
.ui-page .ui-decide .form-control-full { width: 100%; box-sizing: border-box; }
/* Bifele modulelor și butonul lor de salvare, în acordeonul organizației */
.ui-acc__body .ui-checks { margin: 6px 0 10px; }
/* Tabelele Elia (admin-table-wrap) pe linia hairline a ui-table: starea cu punct nu se rupe pe două rânduri */
.ui-table .ui-state { white-space: nowrap; }
.ui-table td .ui-fold { margin-top: 6px; }
@media (max-width: 640px) {
  .ui-acc--monitor .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) 20px; }
}
/* Fișa companiei: pașii de lansare ca rânduri (numărul, pasul, starea, explicația) */
.ui-row--step { grid-template-columns: 28px minmax(0, 1fr) 150px minmax(0, 2fr); align-items: start; }
.ui-row--step .ui-row__kicker { padding-top: 3px; }
.ui-row--step .ui-row__sub { font-size: 13px; }
.ui-page .ui-tabs.elia-dossier-tabs { margin-top: 0; }
.ui-page .ui-fold.hr-details > summary { font-weight: 500; }
@media (max-width: 640px) {
  .ui-row--step { grid-template-columns: 28px minmax(0, 1fr); }
  .ui-row--step > :nth-child(n+3) { grid-column: 2; }
}
/* Filele fișei companiei rămân file (fără chenar de buton), starea aleasă nu e roșie */
.ui-page .ui-tabs .ui-tab { border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; box-shadow: none; padding: 8px 2px 10px; }
.ui-page .ui-tabs .ui-tab.is-active { border-bottom-color: var(--c-title); color: var(--c-text); }
/* Starea platformei: fundațiile ca acordeon (Fundația | ce arată | starea | săgeata), modulele ca rânduri */
.ui-acc--found .ui-acc__head, .ui-acc--found .ui-acc__item > summary { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr) 150px 20px; }
.ui-acc--found .ui-acc__body .ui-kv { margin-top: 8px; }
.ui-acc--found .ui-acc__body ul { margin: 8px 0 0; padding-left: 18px; font-size: 13px; color: var(--c-muted); }
.ui-row--module, .ui-rows__head--module { grid-template-columns: minmax(0, 1.1fr) 110px minmax(0, 2fr); align-items: start; }
/* Backupul: acțiunile controlate ca rânduri (ce face | butonul) */
.ui-row--action { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.ui-row--action form { margin: 0; }
.ui-row--action .ui-row__sub { font-size: 13px; line-height: 1.5; }
.ui-kv dd .ui-state { font-size: 13px; }
@media (max-width: 640px) {
  .ui-acc--found .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) 20px; }
  .ui-row--module, .ui-row--action { grid-template-columns: minmax(0, 1fr); }
  .ui-row--action form, .ui-row--action .btn { width: 100%; justify-content: center; box-sizing: border-box; }
}
/* Sub-navigarea comercială în antetul ui-: legături neutre (roșul rămâne pentru acțiune), pagina curentă subliniată */
.ui-page .commercial-nav-map { margin: 14px 0 0; }
.ui-page .commercial-nav-label { display: block; margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-page .commercial-subnav { display: flex; flex-wrap: wrap; gap: 2px 18px; }
.ui-page .commercial-subnav .btn { padding: 4px 0; min-height: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font-size: 13px; font-weight: 500; color: var(--c-nav-text); }
.ui-page .commercial-subnav .btn:hover { color: var(--c-text); text-decoration: underline; text-underline-offset: 3px; }
.ui-page .commercial-subnav .btn[aria-current="page"] { color: var(--c-text); font-weight: 600; text-decoration: underline; text-decoration-color: var(--c-title); text-underline-offset: 4px; }
.ui-page .ui-header > p a, .ui-page .note a { color: var(--c-nav-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-page .ui-header > p a:hover, .ui-page .note a:hover { color: var(--c-text); }
.ui-page .commercial-context-note, .ui-page .commercial-compatibility-notice { margin-top: 14px; }
/* Centrul comercial: etapele ca rânduri (numărul, etapa, ce faceți acolo, legătura) */
.ui-row--flow { grid-template-columns: 28px minmax(0, 1fr) minmax(0, 2fr) auto; align-items: start; }
.ui-row--flow .ui-row__kicker { padding-top: 3px; }
.ui-row--flow .ui-row__sub { font-size: 13px; line-height: 1.5; }
@media (max-width: 640px) {
  .ui-row--flow { grid-template-columns: 28px minmax(0, 1fr); }
  .ui-row--flow > :nth-child(n+3) { grid-column: 2; }
}
/* Rândul pe o coloană: pliul cu formularul stă sub titlu, pe toată lățimea */
.ui-row--stack > .ui-row__extra { grid-column: 1 / -1; }

/* ---- Experiența țintă a ecranelor clientului (lotul J): accesibilitate practică comună ----
   Focus vizibil pe butoane, legături, rânduri-legătură și butoanele de nivel; stările sunt spuse și prin text
   (ui-state, filtrele cu aria-pressed), nu doar prin culoare; contextul de lucru stă în rândul de stare al antetului. */
.btn:focus-visible, .btn-link:focus-visible, .nav-item:focus-visible, .nav-sub:focus-visible, .credit-pill:focus-visible,
a.ui-row:focus-visible, .pl-action:focus-visible, .ui-row__links a:focus-visible, .ui-links a:focus-visible, .ui-back:focus-visible,
.ui-status a:focus-visible, .doc-row-actions a:focus-visible, .eval-level-button:focus-visible, .eval-clear-level:focus-visible,
.muted-link:focus-visible, .logout-btn:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: 4px; }
.btn-primary:focus-visible { outline-color: var(--c-title); }
.ui-context strong { font-weight: 600; }
.ui-context a { color: var(--c-nav-text); }
/* Filtrul local al calibrării: aceleași file, dar butoane de filtrare (aria-pressed), sub linia de stare. */
.ui-tabs--filter { margin: 0 0 10px; }
.ui-tabs--filter .ui-tab { cursor: pointer; background: none; font: inherit; }
/* Bara lipicioasă a salvării automate nu acoperă rândurile: stă sub listă, la dreapta, și lasă loc tastaturii pe telefon. */
@media (max-width: 640px) {
  .eval-autosave { position: static; justify-self: stretch; margin-top: 12px; }
}

/* ==== Experiența țintă — Elia (lot K, 28 sep 2026): publicare fără confuzie între revizii, compania după nume,
   liste utile la volum, limbaj și interacțiune comune, mobil și accesibilitate. Bloc delimitat, la finalul fișierului;
   nu modifică regulile comune de mai sus. ==== */
/* Semnalul local „Aveți modificări nesalvate” (în starea antetului și lângă salvare); ascuns până la prima editare */
.ui-page .ui-unsaved { font-weight: 600; color: var(--c-warning); }
.ui-page .ui-unsaved[hidden] { display: none; }
/* Rezumatul efectului înaintea aprobării/publicării: text, nu casetă; „Ce se întâmplă” îngroșat */
.ui-page .ui-effect { margin: 8px 0 4px; font-size: 13px; line-height: 1.55; color: var(--c-text); }
.ui-page .ui-effect strong { font-weight: 600; }
.ui-page .ui-effect code { font-size: 12px; }
.ui-page .ui-row--stack > .ui-effect { grid-column: 1 / -1; margin-top: 2px; color: var(--c-muted); }
/* Cuprinsul propunerii (ancore): legături neutre, fără săgeți, ca omul să sară la secțiune și la salvare */
.ui-page .ui-anchors { margin: 14px 0 0; gap: 4px 16px; }
.ui-page .ui-anchors a::after { content: none; }
.ui-page .ui-anchors a { color: var(--c-nav-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-page .ui-anchors a:hover { color: var(--c-text); }
/* Paginarea listelor (jurnal, consultant, revizii): un rând liniștit — anterioară · pagina X din Y · următoare */
.ui-page .ui-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 14px; font-size: 13px; color: var(--c-muted); }
.ui-page .ui-pager a { color: var(--c-nav-text); font-weight: 500; text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-page .ui-pager a:hover { color: var(--c-text); }
.ui-page .ui-pager__off { color: var(--c-chevron); }
/* Compania după nume: câmpul de căutare, apoi lista bifelor (nume + identificator), derulabilă când e lungă */
.ui-page .ui-org-picker { max-width: 620px; }
.ui-page .ui-org-picker input[type="search"] { width: 100%; box-sizing: border-box; }
.ui-page .ui-org-list { display: grid; gap: 2px; max-height: 320px; overflow-y: auto; margin: 4px 0 8px; border-top: 1px solid var(--c-border-2); border-bottom: 1px solid var(--c-border); padding: 4px 0; }
.ui-page .ui-org-option { padding: 7px 4px; border-bottom: 1px solid var(--c-border); }
.ui-page .ui-org-option:last-of-type { border-bottom: 0; }
.ui-page .ui-org-option input[type="radio"] { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--c-title); flex-shrink: 0; }
.ui-page .ui-org-option[hidden] { display: none; }
.ui-page .ui-org-picker .ui-fold__body { margin-top: 8px; }
/* Tabelele propunerii (câmpuri de editare și rezultatul) pe telefon: fiecare rând devine un cartonaș cu eticheta lângă câmp;
   fără derulare laterală; câmpurile nu se schimbă */
@media (max-width: 640px) {
  .ui-page--v3 .v3-table--cards thead { display: none; }
  .ui-page--v3 .v3-table--cards, .ui-page--v3 .v3-table--cards tbody, .ui-page--v3 .v3-table--cards tr, .ui-page--v3 .v3-table--cards td { display: block; width: 100%; box-sizing: border-box; }
  .ui-page--v3 .v3-table--cards tr { padding: 8px 0 10px; border-bottom: 1px solid var(--c-border); }
  .ui-page--v3 .v3-table--cards td { padding: 4px 0; }
  .ui-page--v3 .v3-table--cards td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
  .ui-page--v3 .v3-table--cards input { min-width: 0; }
  .ui-page--v3 .v3-table--cards td[colspan] { grid-column: 1 / -1; }
  .ui-page--v3 .v3-row .btn, .ui-page--v3 .v3-row form { width: 100%; justify-content: center; box-sizing: border-box; }
  .ui-page .ui-org-list { max-height: 260px; }
}
/* Accesibilitate: focus vizibil pe legături, butoane și câmpuri din ecranele Elia; ținte de 40px pe telefon pentru paginare */
.ui-page .btn:focus-visible, .ui-page a:focus-visible, .ui-page [data-row-href]:focus-visible, .ui-page .ui-org-option:focus-within { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: 4px; }
.ui-page input:focus-visible, .ui-page select:focus-visible, .ui-page textarea:focus-visible { outline: 3px solid var(--c-focus-50); border-color: var(--c-focus); }
@media (max-width: 640px) {
  .ui-page .ui-pager a, .ui-page .ui-anchors a { min-height: 40px; display: inline-flex; align-items: center; }
}
/* Filtrele listelor Elia (jurnal, consultant): pe calculator câmpurile stau pe un rând, cât conținutul; pe telefon, pe o coloană */
@media (min-width: 641px) {
  .ui-page .ui-decide--filters > select, .ui-page .ui-decide--filters > input { width: auto; flex: 0 1 auto; min-width: 150px; max-width: 300px; }
  .ui-page .ui-decide--filters > label { flex: 0 0 auto; }
}
/* ==== Goluri de acoperire cod → ecran (28 sep 2026, docs/audits/ACOPERIRE-FUNCTIONALA-COD-ECRAN-20260928.md §4): funcții existente
   cu cale vizibilă, pe aceeași linie ui-. Bloc delimitat, la finalul fișierului; nu modifică regulile comune de mai sus. ==== */
/* §4.2 Cererea pentru o firmă existentă: alegerea „acces / mutare” ca listă de opțiuni, fără chenar de fieldset */
.ui-page .ui-request__kind { border: 0; padding: 0; margin: 14px 0 0; min-width: 0; display: grid; gap: 0; }
.ui-page .ui-request__kind legend { padding: 0; font-size: 13px; font-weight: 600; color: var(--c-text); }
.ui-page .ui-request__kind .consent-checkline { margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; }
.ui-page .ui-request__kind .consent-checkline strong { font-weight: 600; }
.ui-page .ui-request .ui-fold__body > .note { margin-top: 8px; }
/* §4.3 „Companiile din cont” cu marcajul „de acceptat” lângă text, în intrarea de meniu */
.nav-sub .nav-state { margin-left: 6px; }
/* §4.7 Cererile trimise de solicitant: Cererea | Starea | Trimisă | Valabilă până (4 coloane; pe telefon, cartonaș pe o coloană) */
.ui-page .ui-row--request, .ui-page .ui-rows__head--request { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) 110px 120px; }
.ui-page .ui-sent-requests .ui-fold__body { margin-top: 8px; }
@media (max-width: 640px) {
  .ui-page .ui-row--request { grid-template-columns: minmax(0, 1fr); }
}
/* §4.9 Încadrarea persoanelor din statul de plată: Persoana | Încadrarea de acum | (pliul „Unitatea” sub rând, cu un formular pe grupare) */
.ui-page .ui-row--person, .ui-page .ui-rows__head--person { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) auto; align-items: start; }
.ui-page .ui-row--person > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
.ui-page .ui-people-placement .ui-fold__body { margin-top: 8px; }
.ui-page .ui-people-placement .ui-placement { margin-top: 6px; }
@media (max-width: 640px) {
  .ui-page .ui-row--person { grid-template-columns: minmax(0, 1fr); }
}
/* §4.13 Tabloul Elia: pliul abonamentelor care expiră (tabel de 4 coloane, pe linia ui-table) */
.ui-page .ui-expiry .ui-fold__body { margin-top: 8px; }
.ui-page .ui-expiry .ui-table-wrap { margin-top: 10px; }
/* ==== Aprobări pe cont și landinguri (28 sep 2026, D-A52 și D-A53): cererile de aprobare din tot contul în ansamblul contului și
   paginile de start ale rolurilor restrânse (comisia, observatorul, reprezentantul lucrătorilor). Bloc delimitat, la finalul
   fișierului; aceeași linie ui-, fără modificarea regulilor comune de mai sus. ==== */
/* Cererile de aprobare în cont: Solicitantul | Lucrarea | Costul | Starea | (legătura) — 5 coloane; pe telefon, cartonaș pe o coloană cu etichete */
.ui-page .ui-account-approvals__company { margin: 14px 0 4px; font-size: 13px; font-weight: 600; letter-spacing: .01em; color: var(--c-text); }
.ui-page .ui-account-approvals__company:first-of-type { margin-top: 4px; }
.ui-page .ui-row--approval, .ui-page .ui-rows__head--approval { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 100px 150px auto; }
.ui-page .ui-row--approval .ui-row__label { display: none; }
.ui-page .ui-account-approvals .ui-section__note { margin-top: 10px; }
@media (max-width: 640px) {
  .ui-page .ui-row--approval { grid-template-columns: minmax(0, 1fr); }
  .ui-page .ui-row--approval .ui-row__label { display: inline; color: var(--c-muted); }
}
/* Paginile de start ale rolurilor restrânse (comisia, observatorul, reprezentantul lucrătorilor): rândurile posturilor folosesc linia
   ui-row--doc; aici doar nota de consultare, când nu există încă nimic de deschis */
.ui-page .ui-landing-note { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--c-muted); }

/* ==== Conturi de grup Elia (28 sep 2026, contractul docs/audits/CONTRACT-ELIA-CONTURI-ROLURI-20260928.md): lista conturilor
   cu căutarea locală, dosarul contului (companiile ca acordeon, cu reprezentanți, mandate, cereri și transferuri), persoanele
   contului și rolurile lor. Bloc delimitat, la finalul fișierului; nu modifică regulile comune de mai sus. ==== */
/* Lista: căutarea locală după nume, apoi tabelul cu 5 coloane (Contul | Tipul | Companii | Abonamentul | Transferuri deschise) */
.ui-page .ui-accounts-search { margin: 0 0 10px; }
.ui-page .ui-accounts-search input[type="search"] { max-width: 420px; }
.ui-page .ui-table--accounts td .ui-row__sub { margin-top: 2px; }
.ui-page tr[data-org-option][hidden] { display: none; }
/* Dosarul: Compania | Reprezentanți | Mandate | De decis | săgeata */
.ui-acc--accounts .ui-acc__head, .ui-acc--accounts .ui-acc__item > summary { grid-template-columns: minmax(0, 1.6fr) 120px 90px minmax(0, 1.1fr) 20px; }
.ui-page .ui-acc__sub { margin: 16px 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-page .ui-acc__body > .muted { margin: 0; font-size: 13px; }
.ui-page .ui-acc__body .ui-fold { margin-top: 8px; }
.ui-page .ui-acc__body .ui-table-wrap { margin: 0; }
/* Rândul de decizie de sub un rând al tabelului: fără etichetă pe telefon, fără chenar dublu */
.ui-page .ui-table__extra td { padding-top: 0; }
.ui-page .ui-table__extra .ui-fold { margin-top: 6px; }
.ui-page .ui-row__links--start { justify-content: flex-start; margin-top: 6px; }
.ui-page .ui-row__links--start form { margin: 0; }
/* Formularele scurte pe persoană sau pe cont (verificarea reprezentării, a mandatului): eticheta e numele, apoi dovada și butonul */
.ui-page .ui-decide--person { margin: 8px 0 0; }
.ui-page .ui-decide--person + .ui-decide--person { padding-top: 8px; border-top: 1px solid var(--c-border); }
/* Eroarea pe câmp stă sub câmp, cu inputul păstrat */
.ui-page .ui-field-error { margin: 0; font-size: 12.5px; color: var(--c-danger); }
.ui-page .ui-decide--inline .ui-field-error { flex: 0 0 100%; }
/* Persoanele contului: Persoana | Rolul | (liber) | (pliul retragerii sub rând) */
.ui-page--account .ui-row--member, .ui-page--account .ui-rows__head--member { grid-template-columns: minmax(0, 1.6fr) 220px minmax(0, 1fr) auto; }
@media (max-width: 640px) {
  .ui-acc--accounts .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) 20px; }
  .ui-page .ui-table__extra td::before { content: none; }
  .ui-page .ui-table__extra td { border-top: 0; }
  .ui-page--account .ui-row--member { grid-template-columns: minmax(0, 1fr); }
  .ui-page .ui-row__links--start form, .ui-page .ui-row__links--start .btn { width: 100%; justify-content: center; }
}

/* ==== Fișa de post v6, etapa B (28 sep 2026, contractul docs/audits/CONTRACT-FISA-POST-V6-STRUCTURA-20260928.md): în editorul
   fișei, câmpurile recomandate pentru modelul v6 și tabelele de competențe cu rânduri adăugabile. Pe telefon, fiecare rând al
   tabelului devine un cartonaș; fără derulare laterală. Bloc delimitat, la finalul fișierului; nu modifică regulile comune de mai sus. ==== */
.ui-header__state .fisa-v6-state { font-size: 12.5px; line-height: 1.45; color: var(--c-muted); }
.fisa-v6-tag { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--c-chip-bg); color: var(--c-chip-text); font-size: 11.5px; font-weight: 500; vertical-align: 1px; }
.fisa-v6-fallback { margin: 0 0 6px; font-size: 12px; color: var(--c-muted); }
.fisa-cap-recomandat { flex-shrink: 0; font-size: 12px; font-weight: 500; color: var(--c-muted); white-space: nowrap; }
.fisa-tabel { margin-top: 4px; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); }
.fisa-tabel__head, .fisa-tabel__row { display: grid; gap: 8px; align-items: center; padding: 8px 10px; }
.fisa-tabel--tehnic .fisa-tabel__head, .fisa-tabel--tehnic .fisa-tabel__row { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr) minmax(0, 1fr) 76px; }
.fisa-tabel--comportamental .fisa-tabel__head, .fisa-tabel--comportamental .fisa-tabel__row { grid-template-columns: minmax(0, 1.7fr) minmax(0, .9fr) minmax(0, 1.8fr) 76px; }
.fisa-tabel__head { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); background: var(--c-soft-bg); border-bottom: 1px solid var(--c-border); border-radius: var(--radius) var(--radius) 0 0; }
.fisa-tabel__row + .fisa-tabel__row { border-top: 1px solid var(--c-border); }
.fisa-tabel__cell { display: block; min-width: 0; margin: 0; font-weight: 400; }
.fisa-tabel__cell input[type=text], .fisa-tabel__cell select, .fisa-tabel__cell textarea { min-width: 0; }
.fisa-tabel__cell textarea { min-height: 42px; resize: vertical; line-height: 1.4; }
.fisa-tabel__row { align-items: start; }
.fisa-tabel__remove { margin-top: 3px; }
.fisa-tabel__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fisa-tabel__remove { padding: 6px 10px; font-size: 12.5px; }
.fisa-tabel__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 8px 10px; border-top: 1px solid var(--c-border); }
.fisa-tabel__count { font-size: 12.5px; color: var(--c-muted); }
.fisa-tabel__count strong { color: var(--c-text); font-weight: 600; }
@media (max-width: 640px) {
  .fisa-tabel__head { display: none; }
  .fisa-tabel--tehnic .fisa-tabel__row, .fisa-tabel--comportamental .fisa-tabel__row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 12px; }
  .fisa-tabel__label { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; display: block; margin: 0 0 3px; font-size: 12px; font-weight: 600; color: var(--c-muted); }
  .fisa-tabel__remove { justify-self: start; }
  .fisa-v6-tag { margin: 4px 0 0; }
  .fisa-capitol > summary:has(.fisa-cap-recomandat) { flex-wrap: wrap; row-gap: 2px; }
  .fisa-capitol > summary:has(.fisa-cap-recomandat) .fisa-cap-titlu { flex: 1 1 0; min-width: 0; }
  .fisa-capitol > summary:has(.fisa-cap-recomandat) .spacer { display: none; }
  .fisa-cap-recomandat { order: 5; flex-basis: 100%; padding-left: 38px; }
}

/* ==== Accesul împuternicit la documente (D-A60, 28 sep 2026, contractul docs/audits/CONTRACT-ECRAN-REPREZENTANT-LUCRATORI-20260928.md):
   lista acordărilor și formularul de acordare pentru administrator, „Documentele mele” pentru persoana împuternicită.
   Bloc delimitat, la finalul fișierului; aceeași linie ui-, fără modificarea regulilor comune de mai sus. ==== */
/* Acordările: Persoana | Documentele | Perioada | Starea — 4 coloane; detaliile și retragerea în pliul de sub rând */
.ui-page .ui-row--grant, .ui-page .ui-rows__head--grant { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr) 170px minmax(0, 1fr); }
.ui-page .ui-row--grant > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
.ui-page .ui-row--grant .ui-grant-review { margin-top: 3px; color: var(--c-warning); }
.ui-page .ui-row--grant .ui-kv { margin-bottom: 4px; }
/* Formularul de acordare: grupuri fără casete, despărțite de titluri mici */
.ui-page .ui-grant-form { max-width: 720px; }
.ui-page .ui-grant-form__field { margin-top: 4px; }
.ui-page .ui-grant-form__group { margin: 22px 0 0; padding: 0; border: 0; min-width: 0; }
.ui-page .ui-grant-form__group > legend { padding: 0; margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--c-label); }
.ui-page .ui-grant-form input[type="date"] { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--c-border-2);
  border-radius: var(--radius); font: inherit; font-size: 14px; background: #fff; color: var(--c-text); }
.ui-page .ui-grant-form__dates { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 24px; }
.ui-page .ui-grant-form .ui-actions { margin-top: 22px; }
.ui-page .ui-choices { display: grid; gap: 2px; }
.ui-page .ui-choice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; padding: 7px 2px;
  border-bottom: 1px solid var(--c-border); font-size: 14px; font-weight: 400; color: var(--c-text); cursor: pointer; }
.ui-page .ui-choice:last-child { border-bottom: 0; }
.ui-page .ui-choice input { width: 16px; height: 16px; margin: 0; flex-shrink: 0; accent-color: var(--c-title); align-self: center; }
.ui-page .ui-choice .ui-row__sub { flex: 0 0 100%; padding-left: 26px; }
.ui-page .ui-choice--off { color: var(--c-muted); cursor: default; }
/* „Documentele mele”: Documentul | Starea | (Deschideți, Descărcați) */
.ui-page .ui-row--mydoc, .ui-page .ui-rows__head--mydoc { grid-template-columns: minmax(0, 1.6fr) 150px 210px; }
@media (max-width: 640px) {
  .ui-page .ui-rows__head--grant, .ui-page .ui-rows__head--mydoc { display: none; }
  .ui-page .ui-row--grant, .ui-page .ui-row--mydoc { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .ui-page .ui-row--grant .ui-row__label { display: inline; color: var(--c-muted); }
  .ui-page .ui-row--mydoc .ui-row__links { justify-content: flex-start; }
}

/* ==== Acordarea abonamentului de către echipa Elia (D-A68, 29 sep 2026, contractul docs/audits/CONTRACT-ACORDARE-ABONAMENT-ELIA-20260929.md):
   formularul „Acordați abonamentul”, rezumatul efectului și istoricul acordărilor din pagina comercială a companiei.
   Bloc delimitat, la finalul fișierului; aceeași linie ui-, fără modificarea regulilor comune de mai sus. ==== */
/* Istoricul: Data | Operația | Planul și perioada | Cine | Starea — 5 coloane; motivul și amprentele în pliul de sub rând */
.ui-page .ui-row--grantlog, .ui-page .ui-rows__head--grantlog { grid-template-columns: 96px minmax(0, 1.2fr) minmax(0, 1.5fr) minmax(0, .9fr) minmax(0, 1fr); }
.ui-page .ui-row--grantlog > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
.ui-page .ui-grant-date { font-size: 13px; color: var(--c-muted); font-variant-numeric: tabular-nums; }
/* Blocurile acțiunilor (oferta deschisă, abonamentul activ, comanda blocată): acțiuni neutre, pliate, pe un rând */
.ui-page .ui-grant-block { margin-top: 12px; }
.ui-page .ui-grant-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 18px; margin-top: 6px; }
.ui-page .ui-grant-actions > details { flex: 1 1 260px; min-width: 0; }
.ui-page .ui-inline-form { display: inline-flex; margin: 6px 0 0; }
.ui-page .ui-decide input[type="datetime-local"], .ui-page .ui-grant-form input[type="datetime-local"],
.ui-page .ui-grant-form input[type="number"], .ui-page .ui-grant-form input[type="text"] { width: 100%; box-sizing: border-box; padding: 9px 12px;
  border: 1px solid var(--c-border-2); border-radius: var(--radius); font: inherit; font-size: 14px; background: #fff; color: var(--c-text); }
/* Rezumatul efectului, în fraze, înainte de confirmare */
.ui-page .ui-grant-effect { margin: 6px 0 14px; padding-left: 18px; display: grid; gap: 6px; font-size: 14px; line-height: 1.55; color: var(--c-text); }
.ui-page .ui-grant-back { margin-top: 10px; }
.ui-page .ui-grant-form [hidden] { display: none; }
@media (max-width: 640px) {
  .ui-page .ui-rows__head--grantlog { display: none; }
  .ui-page .ui-row--grantlog { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ui-page .ui-grant-actions > details { flex-basis: 100%; }
}

/* ==== UX 3, lotul 1 — U-004 (decizia PO): generarea fișei pe ecranul discuției, cu starea lângă buton ==== */
.studio-generate { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.studio-generate__status { font-size: 13px; color: var(--c-muted); max-width: 42ch; }
.studio-generate__status[data-state="error"] { color: var(--c-danger); }
/* Butonul dezactivat (de ex. consultantul care nu poate lucra acum) nu mai pare activ. */
.btn-primary:disabled, .btn-primary[disabled] { opacity: .45; cursor: not-allowed; }
/* ==== sfârșit U-004 ==== */

/* ==== UX 3, lotul 1 — fără spinner infinit: mesajul de oprire și „Încercați din nou” din bara de stare ==== */
.ui-action-feedback__retry { margin-left: 8px; }
.ui-action-feedback.is-stalled .ui-action-spinner { display: none; }
/* ==== sfârșit ==== */

/* ==== UX 3, lotul 1 — meniul clientului: fiecare intrare pe un singur rând, fără trunchiere ==== */
@media (min-width: 901px) {
  .sidebar, .workspace-compact .sidebar { width: 264px; }
}
.sidebar .nav-sub { padding-left: 36px; }
/* ==== sfârșit meniu ==== */

/* ==== UX 3, lotul 2 — U-048: grila de grade cu intervalul pe rând (4 coloane; pe telefon, cartonaș cu etichete) ==== */
.ui-row--grade4, .ui-rows__head--grade4 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 150px minmax(0, 1.1fr); }
@media (max-width: 640px) {
  .ui-row--grade4 { grid-template-columns: minmax(0, 1fr); }
  .ui-row--grade4 [data-label]::before { content: attr(data-label) ": "; color: var(--c-muted); font-weight: 400; }
}
/* ==== sfârșit U-048 ==== */

/* ==== UX 3, lotul 2 — Acasă: coada de validare (U-063) și starea abonamentului (U-038) ==== */
.ui-row--queue { grid-template-columns: minmax(0, 1.6fr) 170px auto; }
.home-subscription-note { margin: 0 0 14px; }
@media (max-width: 640px) {
  .ui-row--queue { grid-template-columns: minmax(0, 1fr); }
}
/* ==== sfârșit ==== */

/* ==== UX 3, lotul 2 — U-013: bara de salvare lipită nu acoperă câmpul la care ați ajuns; datele administrative pliate ==== */
html:has(.save-bar) { scroll-padding-bottom: 96px; }
.fisa-admin { margin-top: 14px; }
.fisa-admin > summary { font-size: 13.5px; }
/* ==== sfârșit U-013 ==== */

/* ==== UX 3, lotul 2 — U-044/U-080: meniul ca panou peste pagină pe telefon; U-080: cartonaș scurt și căutare ==== */
.sidebar-nav { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-height: 0; }
.sidebar-nav__close { display: none; }
.ui-rows-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 12px; }
.ui-rows-filter label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.ui-rows-filter input[type="search"] { flex: 1 1 240px; max-width: 360px; box-sizing: border-box; padding: 8px 12px; border: 1px solid var(--c-border-2);
  border-radius: var(--radius); background: var(--c-surface); font: inherit; font-size: 13.5px; color: var(--c-text); }
.ui-rows-filter input[type="search"]:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 1px; }
.ui-rows-filter span { font-size: 12.5px; }
.ui-table tbody tr[hidden] { display: none; }
@media (max-width: 900px) {
  .sidebar-nav { display: none; }
  .sidebar.nav-open .sidebar-nav { display: flex; flex-direction: column; gap: 2px; position: fixed; top: 0; left: 0; bottom: 0;
    width: min(320px, 86vw); padding: 14px 12px 24px; box-sizing: border-box; background: var(--c-surface);
    border-right: 1px solid var(--c-border); box-shadow: 0 0 0 100vmax rgba(23, 25, 28, .45); overflow-y: auto; z-index: 60; }
  .sidebar.nav-open .sidebar-nav__close { display: inline-flex; align-self: flex-end; align-items: center; min-height: 40px; margin: 0 0 8px;
    padding: 8px 12px; border: 1px solid var(--c-border); border-radius: var(--radius); background: none; font: inherit;
    font-size: 13.5px; font-weight: 600; color: var(--c-nav-text); cursor: pointer; }
  .sidebar.nav-open .sidebar-nav .nav-item, .sidebar.nav-open .sidebar-nav .nav-sub { min-height: 40px; }
  body.nav-lock { overflow: hidden; }
}
@media (max-width: 640px) {
  /* Cartonașul companiei pe telefon: numele, planul și termenul, semnalele, acțiunea; restul la deschiderea companiei. */
  .ui-table .ui-cell-more { display: none; }
}
/* ==== sfârșit U-044/U-080 ==== */

/* ==== UX 3 lotul 3 — Elia (U-019): registrele situației comerciale, pliate, cu titlu de secțiune ==== */
.ui-page .elia-registers-title { margin: 28px 0 4px; }
.ui-page .elia-fold-section { margin-top: 14px; font-size: 14px; color: var(--c-text); }
.ui-page .elia-fold-section > summary { font-size: 15px; font-weight: 600; color: var(--c-title); }
.ui-page .elia-fold-section > summary .muted { font-weight: 400; font-size: 13px; }
.ui-page .elia-fold-section .ui-fold__lead { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin-bottom: 8px; color: var(--c-muted); }
.ui-page .elia-fold-section .ui-fold__lead p { margin: 0; }
.ui-page .elia-fold-section .ui-fold__body > .ui-kv, .ui-page .elia-fold-section .ui-fold__body > .note { margin-top: 10px; }
/* ==== sfârșit UX 3 lotul 3 — Elia ==== */

/* ==== UX 3 lotul 4 — finisaje și consecvență ==== */
/* Data în forma zz.ll.aaaa, cu calendar (public/js/date-ro.js). */
.date-ro { position: relative; display: flex; align-items: center; gap: 8px; width: 100%; }
.date-ro > input[type="text"] { flex: 1 1 0; width: auto; min-width: 0; margin: 0; }
.date-ro__btn, .date-ro > .btn.date-ro__btn { flex: 0 0 auto; width: auto; white-space: nowrap; margin: 0; }
.date-ro__picker { position: absolute; right: 0; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; border: 0; padding: 0; }
/* Casetele posturilor, grupate pe departament (invitații). */
.ui-checks-group { border: 0; margin: 0 0 6px; padding: 0; min-width: 0; }
.ui-checks-group > legend { padding: 0; margin: 8px 0 2px; font-size: 12.5px; font-weight: 600; color: var(--c-muted); }
/* „Cer atenția azi” pe tabloul Elia (U-061): o listă scurtă, cu motivul lângă fiecare companie. */
.ui-attention-list { list-style: none; margin: 0; padding: 0; }
.ui-attention-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 0; border-bottom: 1px solid var(--c-border); font-size: 13.5px; }
.ui-attention-list li:last-child { border-bottom: 0; }
.ui-rows-filter select { max-width: 280px; box-sizing: border-box; padding: 8px 12px; border: 1px solid var(--c-border-2); border-radius: var(--radius); background: var(--c-surface); font: inherit; font-size: 13.5px; color: var(--c-text); }
/* Pagina publică pe două coloane pe calculator (U-093): textul și intrarea în cont la stânga, „Ce construiți” la dreapta. */
@media (min-width: 900px) {
  .ui-page--welcome { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 56px; align-items: start; max-width: 1040px; }
  .ui-page--welcome > .ui-header { grid-column: 1; grid-row: 1; }
  .ui-page--welcome > .ui-next { grid-column: 1; grid-row: 2; }
  .ui-page--welcome > .ui-section { grid-column: 2; grid-row: 1 / span 2; margin-top: 8px; padding-left: 28px; border-left: 1px solid var(--c-border); }
  .ui-page--welcome .ui-header > p { max-width: none; }
}
/* Sigla pe telefon (U-044): aceeași siglă originală, la înălțime mică — nu mai ocupă tot rândul de sus. */
@media (max-width: 900px) {
  .sidebar .brand img.logo { max-height: 26px; }
  .sidebar .brand { margin-right: 14px; }
}
/* Semnalul „de completat” din meniu: lipit de săgeată, la marginea dreaptă, nu la mijlocul rândului (două margini „auto” îl împingeau la mijloc). */
.nav-parent .nav-state + .nav-chev { margin-left: 8px; }
/* Calibrarea pe telefon (U-064): nivelurile pe rânduri de câte cinci, butoane de cel puțin 44 px. */
@media (max-width: 640px) {
  .ui-row--calib .eval-stepper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; width: 100%; }
  .ui-row--calib .eval-level-button { width: 100%; height: 44px; font-size: 15px; }
  .ui-row--calib .eval-clear-level { min-height: 44px; display: inline-flex; align-items: center; }
}
/* /intervale pe telefon (U-074): un rând compact pe grad — denumirea și starea sus, cele trei sume pe un singur rând. */
@media (max-width: 640px) {
  .ui-table--grades tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 8px; padding: 10px 0; }
  .ui-table--grades tbody td { display: block; padding: 0; border: 0; min-width: 0; }
  .ui-table--grades tbody td[data-label="Grad"] { grid-column: 1 / 3; grid-row: 1; align-self: center; }
  .ui-table--grades tbody td[data-label="Stare"] { grid-column: 3; grid-row: 1; justify-self: end; align-self: center; }
  .ui-table--grades tbody td[data-label="Stare"]::before { content: none; }
  .ui-table--grades tbody td[data-label="Minim"], .ui-table--grades tbody td[data-label="Salariu de referință"], .ui-table--grades tbody td[data-label="Maxim"] { grid-row: 2; }
  .ui-table--grades .ui-table__amount { flex-wrap: wrap; gap: 2px 4px; }
  .ui-table--grades .ui-table__amount input[type="number"], .ui-table--grades .ui-table__amount input[inputmode="numeric"] { padding-left: 8px; padding-right: 4px; }
}
/* ==== sfârșit UX 3 lotul 4 ==== */

/* ==========================================================================
   UX interfața completă (11 oct 2026) — piesele comune pentru omul fără pregătire HR.
   Etapele distincte (propunere AI → salvat → trimis → validat → document), „cine face ce”,
   exemplul și sursa lângă câmp, costul și efectul înainte de confirmare, cronologia.
   Linia D-A44: fără casete decorative, starea curentă nu e roșie, roșul rămâne pentru acțiune.
   ========================================================================== */
/* Etapele: o linie de pași mici, cu punct de stare; pe telefon se așază pe rânduri. */
.ui-stages { display: flex; flex-wrap: wrap; gap: 6px 0; list-style: none; margin: 12px 0 0; padding: 0; font-size: 12.5px; color: var(--c-muted); }
.ui-stages__item { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 2px 7px; min-width: 0; }
.ui-stages__item + .ui-stages__item::before { content: ""; width: 18px; height: 1px; margin: 0 8px; background: var(--c-border-2); }
.ui-stages__label { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; }
.ui-stages__label::before { content: ""; width: 8px; height: 8px; border-radius: 999px; border: 1.5px solid var(--c-chevron); background: var(--c-surface); flex-shrink: 0; }
.ui-stages__item.is-done .ui-stages__label { color: var(--c-text); }
.ui-stages__item.is-done .ui-stages__label::before { border-color: var(--c-ok); background: var(--c-ok); }
.ui-stages__item.is-current .ui-stages__label { color: var(--c-title); font-weight: 600; }
.ui-stages__item.is-current .ui-stages__label::before { border-color: var(--c-title); background: var(--c-title); box-shadow: 0 0 0 3px var(--c-accent-soft); }
.ui-stages__item.is-blocked .ui-stages__label { color: var(--c-warning); }
.ui-stages__item.is-blocked .ui-stages__label::before { border-color: var(--c-warning); background: var(--c-warning-50); }
.ui-stages__note { font-size: 12px; color: var(--c-muted); }
@media (max-width: 640px) {
  .ui-stages { display: grid; gap: 6px; }
  .ui-stages__item + .ui-stages__item::before { content: none; }
}

/* „Cine face ce”: perechi scurte etichetă — text, pe un rând pe calculator. */
.ui-who { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 10px 0 0; font-size: 13px; }
/* Eticheta și textul curg pe același rând și se rup împreună (pe telefon nu mai rămân coloane decalate). */
.ui-who > div { display: block; min-width: 0; line-height: 1.5; }
.ui-who dt, .ui-who dd { display: inline; }
.ui-who dt { color: var(--c-muted); }
.ui-who dt::after { content: ":"; margin-right: 5px; }
.ui-who dd { margin: 0; color: var(--c-text); font-weight: 500; overflow-wrap: anywhere; }
@media (max-width: 640px) { .ui-who { display: grid; gap: 4px; } }

/* Exemplul și sursa lângă câmp: text mic, gri, sub câmp. */
.ui-field-help { display: grid; gap: 2px; margin: 5px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--c-muted); max-width: 72ch; }
.ui-field-help__k { font-weight: 600; color: var(--c-nav-text); }

/* Costul și efectul înainte de confirmare: o listă cheie–valoare între două linii fine. */
.ui-effect { margin: 16px 0; padding: 12px 0 14px; border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.ui-effect__title { margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); }
.ui-effect__rows { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 28px; margin: 0; }
.ui-effect__rows > div { min-width: 0; }
.ui-effect__rows dt { font-size: 12.5px; color: var(--c-muted); }
.ui-effect__rows dd { margin: 2px 0 0; font-size: 14px; color: var(--c-text); overflow-wrap: anywhere; }
.ui-effect__before { color: var(--c-muted); text-decoration: line-through; text-decoration-color: var(--c-chevron); }
.ui-effect__arrow { color: var(--c-icon); margin: 0 2px; }
.ui-effect__note { margin: 10px 0 0; font-size: 13px; color: var(--c-muted); line-height: 1.5; }

/* Cronologia: puncte legate de o linie verticală fină. */
.ui-timeline { list-style: none; margin: 8px 0 0; padding: 0 0 0 4px; }
.ui-timeline__item { position: relative; display: grid; gap: 2px; padding: 0 0 14px 22px; font-size: 13.5px; }
.ui-timeline__item::before { content: ""; position: absolute; left: 0; top: 5px; width: 9px; height: 9px; border-radius: 999px; border: 1.5px solid var(--c-chevron); background: var(--c-surface); }
.ui-timeline__item:not(:last-child)::after { content: ""; position: absolute; left: 4.5px; top: 17px; bottom: 0; width: 1px; background: var(--c-border-2); }
.ui-timeline__item.is-done::before { border-color: var(--c-ok); background: var(--c-ok); }
.ui-timeline__item.is-current::before { border-color: var(--c-title); background: var(--c-title); }
.ui-timeline__item.is-error::before { border-color: var(--c-warning); background: var(--c-warning-50); }
.ui-timeline__item.is-todo .ui-timeline__label { color: var(--c-muted); font-weight: 500; }
.ui-timeline__label { font-weight: 600; color: var(--c-text); }
.ui-timeline__meta { font-size: 12px; color: var(--c-muted); }
.ui-timeline__note { font-size: 13px; color: var(--c-muted); line-height: 1.5; }
.ui-timeline__item.is-error .ui-timeline__note { color: var(--c-warning); }

/* Ce s-a salvat și ce nu: o frază mică lângă antet sau bara de salvare. */
.ui-saved { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--c-muted); }
.ui-saved::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--c-ok); }
.ui-saved.is-dirty::before { background: var(--c-warning); }
.ui-saved.is-dirty { color: var(--c-warning); }
/* Antetul (E-066, UX-D002): compania și rolul rămân vizibile și pe telefon; numele lungi se rup, rolurile multiple
   se opresc la două rânduri, fără să lățească pagina. */
.topbar .brand-mark strong { overflow-wrap: anywhere; }
.topbar .brand-mark small.brand-mark__role { display: block; margin-top: 3px; font-size: 12px; font-weight: 500; color: var(--c-muted);
  line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .topbar .brand-mark { min-width: 0; }
  .topbar .brand-mark small.brand-mark__role { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 11.5px; }
}
/* ==== sfârșit UX interfața completă — piesele comune ==== */

/* ==========================================================================
   UX interfața completă (11–12 oct 2026) — completările loturilor de ecrane, în ordinea integrării.
   ========================================================================== */
/* ==== UX interfața completă — lotul C (evaluarea posturilor, organigrama, structura) ==== */
/* Organigrama (E-063): titlul postului pe care îl puteți deschide devine legătură, dar neutră — roșul rămâne pentru acțiune (D-A44). */
.ui-page .arh-card-main a { color: var(--c-text); text-decoration: none; }
.ui-page .arh-card-main a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ui-page .arh-card-main a:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: 4px; }
/* Evaluarea postului (E-078): numărul criteriului („Criteriul 3 din 14”) stă deasupra titlului, cu un mic spațiu. */
.ui-page .ui-crit__main > .ui-row__kicker { display: block; margin-bottom: 2px; }
/* Lista evaluărilor (E-075): etapele din acordeonul rândului nu se lipesc de titlul secțiunii de dedesubt. */
.pl-body__docs > .ui-stages { margin: 0 0 8px; }
/* Ponderile (E-076): formularul avansat, pliat, păstrează spațierea secțiunilor; butonul de recomandare stă deasupra totalului. */
.ui-fold--form > .ui-fold__body > form + form, .ui-fold--form > .ui-fold__body > form:first-of-type { margin-top: 12px; }
/* ==== sfârșit lotul C ==== */
/* ---- UX interfața completă (11 oct 2026), lotul D — remunerația ---- */
/* Ghidul coloanelor din „Statul de plată” (E-103): pe telefon, capul listei e ascuns (regula comună .ui-rows__head),
   așa că fiecare celulă își spune singură sensul — „Ce scrieți: …”, „Exemplu: …” — la fel ca rândurile grilei. */
@media (max-width: 640px) {
  .ui-row--columns [data-label]::before { content: attr(data-label) ": "; color: var(--c-muted); font-weight: 400; }
}
/* ---- sfârșit lotul D ---- */
/* ==========================================================================
   Lotul E1 (UX 11 oct 2026) — contul de grup, alegerea companiei, colegii, reprezentarea.
   Efectul („Ce se întâmplă când …”) stă acum ÎNAINTEA butonului de confirmare, într-un bloc pe toată
   lățimea rândului (ui-row__extra): compania transferată spre cont, mandatele, cererile și transferurile
   de decis. Fără culori noi; roșul rămâne doar pe butonul pasului principal.
   ========================================================================== */
/* Companiile transferate spre cont: efectul și butonul „Acceptați compania” sub rând, pe toată lățimea. */
.ui-row--incoming > .ui-row__extra { grid-column: 1 / -1; margin-top: 2px; }
/* Efectul din rânduri: mai strâns decât pe pagină, ca rândul să rămână compact. */
.ui-row__extra > .ui-effect { margin: 6px 0 8px; }
.ui-row__extra > .ui-actions { margin-top: 0; }
/* Pe telefon, butonul de confirmare din rând ocupă toată lățimea, ca în coloana de acțiuni. */
@media (max-width: 640px) {
  .ui-row__extra > .ui-actions form, .ui-row__extra > .ui-actions .btn { width: 100%; justify-content: center; }
}
/* ==== sfârșit lotul E1 ==== */
/* ---- Lotul A (UX 11 oct): accesul, erorile, documentele legale, prețurile publice, bun venit ---- */
/* Invitația: compania, rolul și termenul, ca listă cheie–valoare liniștită, deasupra formularului */
.ui-auth .ui-invite-facts { margin: 0 0 10px; }
.ui-auth .ui-invite-note { margin: 0 0 16px; font-size: 12.5px; line-height: 1.5; color: var(--c-muted); }
/* Pașii din antetul cartonașului de acces (invitația): aceeași linie ui-stages, mai aproape de frază */
.ui-auth .ui-header .ui-stages { margin-top: 10px; }
/* Listele scurte de ajutor din cartonașele de acces (ce urmează după cererea linkului, invitația nevalidă, documentele indisponibile) */
.ui-auth .note .ui-list, .ui-auth .auth-card > .ui-list { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; line-height: 1.5; }
.ui-auth .auth-card > .ui-list { margin: 0 0 18px; color: var(--c-text); }
.ui-auth .note p { margin: 0; }
.ui-auth .ui-fold__body .ui-list { padding-left: 18px; display: grid; gap: 6px; font-size: 12.5px; line-height: 1.5; }
/* Formularul codului de recuperare, pliat: butonul neutru, la aceeași lățime ca butonul principal */
.ui-auth .ui-fold__body .form { margin-top: 10px; }
.ui-auth .ui-fold__body .auth-submit { margin-top: 12px; }
/* Prețurile: ce include abonamentul și ce nu, imediat sub tabelul planurilor */
.ui-page .ui-plan-scope { margin-top: 14px; }
/* Reacceptarea: scopul fiecărui document, lângă legătură, discret */
.ui-page--legal .ui-links li .muted { font-size: 13px; }
.ui-page--legal .ui-links li { font-size: 13px; color: var(--c-muted); }
/* ==== Lotul B (UX 11 oct): ecranele fișei de post — completări mici peste piesele comune ==== */

/* Lista fișelor: „Cine face pasul” stă pe un rând propriu, sub pasul următor, în gri liniștit. */
.pl-next p.pl-next__who { flex-basis: 100%; font-size: 13px; color: var(--c-muted); }

/* Discuția cu consultantul: etapele fișei, sub antetul compact, cu puțin aer înainte de file. */
.fisa-studio > .ui-stages { margin: 4px 0 12px; }

/* Editorul fișei: câmpurile care completează fișa (nenecesare pentru validare), pliate sub cele necesare. */
.fisa-cap-corp .fisa-extra { margin-top: 16px; }
.fisa-cap-corp .fisa-extra > summary { font-size: 13px; }

/* Editorul fișei: semnalul „Salvat” / „Modificări nesalvate” din bara de salvare, pe același rând cu indicația. */
.save-bar .ui-saved { margin-left: 4px; }

/* Rezultatele urmărite: câmpurile doar de citit (fără drept de salvare) nu par active. */
.ui-form fieldset.ui-section[disabled] input,
.ui-form fieldset.ui-section[disabled] textarea { background: var(--c-soft-bg); color: var(--c-muted); }
/* ==== sfârșit lotul B ==== */
/* ==== UX interfața completă — lotul E2 (Acasă, ansamblul, participanții, documentele companiei, împuternicirile, dosarul) ==== */

/* Acasă (E-070): fiecare stare din rândul postului își spune numele — „Fișa” sau „Evaluarea” — mic și gri, înaintea punctului de stare. */
.ui-acc__label { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-label); margin-right: 6px; }
.home-job-state { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 2px 0; }

/* Dosarul (E-072) și documentele încărcate (E-067): versiunea și data producerii, respectiv pasul următor, pe un rând separat de condiții. */
.ui-row__sub.ui-doc-version { color: var(--c-text); }
.ui-row__sub.ui-doc-next { color: var(--c-text); }

/* Documentele comerciale (E-065): documentul | tipul | data | descărcarea — patru coloane, fără derulare laterală. */
.ui-row--commercial, .ui-rows__head--commercial { grid-template-columns: minmax(0, 1.6fr) 150px 130px auto; }

/* Documentele mele (E-093): perioada, ce puteți face și câte documente sunt produse, apoi rândurile documentelor. */
.ui-page--my-documents .ui-kv + .ui-rows { margin-top: 14px; }

/* Împuternicirile (E-071): recapitularea de dinaintea acordării stă lângă buton, nu lipită de câmpuri. */
.ui-grant-form .ui-effect { margin-top: 18px; }
.ui-page--doc-access .ui-who { margin: 0 0 16px; }

/* Paginile participanților (E-094…E-098): „cine face ce” sub banda pasului următor, cu aer față de secțiunea următoare. */
.ui-page > .ui-who { margin: 0 0 18px; }
.ui-section > .ui-stages + .ui-who { margin-top: 12px; }

@media (max-width: 640px) {
  /* Pe telefon: rândul documentului comercial devine cartonaș; tipul și data își spun eticheta. */
  .ui-row--commercial { grid-template-columns: minmax(0, 1fr); }
  .ui-row--commercial .ui-row__label { display: inline; color: var(--c-muted); }
  .ui-row--commercial .ui-row__links { justify-content: flex-start; }
}
/* ==== sfârșit lotul E2 ==== */
/* ---- Lot G2 (UX 11 oct): ecranele echipei Elia ---- */
/* Consultantul AI (E-033): Postul | Discuția | Informațiile fișei | Validarea HR | săgeata — trei stări separate pe rând.
   Selectorul dublu (monitor + consult) trece peste grila de 3 coloane a lotului H. */
.ui-acc--monitor.ui-acc--consult .ui-acc__head,
.ui-acc--monitor.ui-acc--consult .ui-acc__item > summary { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 150px minmax(0, 1fr) 20px; }
.ui-acc--consult .ui-acc__cell .ui-state { font-size: 12.5px; }
.ui-acc--consult .ui-acc__cell .ui-state + .ui-row__sub, .ui-acc--consult .ui-acc__cell .ui-row__sub + .ui-state { margin-top: 2px; }
@media (max-width: 640px) {
  .ui-acc--monitor.ui-acc--consult .ui-acc__item > summary { grid-template-columns: minmax(0, 1fr) 20px; }
}
/* Cererile de module (E-036): etapele și efectul stau sub rând, pe toată lățimea, fără casetă */
.ui-row--decide > .ui-row__extra .ui-stages { margin-top: 4px; }
.ui-row--decide > .ui-row__extra .ui-effect { margin-top: 6px; color: var(--c-muted); }
/* Pagina companiei (E-032): rezultatul creării, sub mesajul de sesiune, nu lipit de el */
.ui-page > .ui-stages { margin: 0 0 16px; }
/* ---- sfârșit lot G2 ---- */
/* ==== sfârșit completările loturilor (A, B, C, D, E1, E2, G2; F și G1 fără CSS nou) ==== */

/* ==========================================================================
   Revizia vizuală independentă (12 oct 2026, VR-xx) — corecturi comune de așezare.
   ========================================================================== */
/* VR-01: pagina publică — „Alte intrări și ajutor” sub intrarea în cont, „Ce construiți” singur în coloana dreaptă. */
@media (min-width: 900px) {
  .ui-page--welcome > .ui-section.ui-welcome-help { grid-column: 1; grid-row: 3; margin-top: 18px; padding-left: 0; border-left: 0; }
  .ui-page--welcome > .ui-section:not(.ui-welcome-help) { grid-row: 1 / span 3; }
}
/* VR-02: meniul lateral derulează în el însuși; un submeniu deschis nu mai acoperă blocul utilizatorului. */
@media (min-width: 901px) {
  .sidebar-nav { overflow-y: auto; overscroll-behavior: contain; }
}
/* VR-06: capul de tabel stă peste valori — ultima coloană (acțiunea) are aceeași lățime pe cap și pe toate rândurile,
   chiar când un rând nu are acțiune. Pe telefon rămân cartonașele (regulile de sub 640 px). */
@media (min-width: 641px) {
  .ui-row--work, .ui-rows__head--work { grid-template-columns: minmax(0, 1.5fr) 190px 110px 180px; }
  .ui-row--invite, .ui-rows__head--invite { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) 150px 160px; }
  .ui-row--upload, .ui-rows__head--upload { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) 150px 160px; }
  .ui-row--benefit, .ui-rows__head--benefit { grid-template-columns: minmax(0, 1.5fr) 150px minmax(0, 1fr) 160px; }
  .ui-row--doc, .ui-rows__head--doc { grid-template-columns: minmax(0, 1.6fr) 150px 180px; }
  .ui-row--item, .ui-rows__head--item { grid-template-columns: minmax(0, 1.4fr) 210px 160px; }
  .ui-row--member, .ui-rows__head--member { grid-template-columns: minmax(0, 1.6fr) 190px 110px 160px; }
  .ui-page--account .ui-row--member, .ui-page--account .ui-rows__head--member { grid-template-columns: minmax(0, 1.6fr) 220px minmax(0, 1fr) 160px; }
  .ui-page .ui-row--approval, .ui-page .ui-rows__head--approval { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 100px 150px 160px; }
  .ui-row--commercial, .ui-rows__head--commercial { grid-template-columns: minmax(0, 1.6fr) 150px 130px 150px; }
  .ui-row--mandate, .ui-rows__head--mandate { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 110px 170px; }
  .ui-row--transfer, .ui-rows__head--transfer { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, 1fr) 170px; }
  .ui-row--dest, .ui-rows__head--dest { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) 190px; }
  .ui-row--incoming, .ui-rows__head--incoming { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 190px; }
}
/* VR-07: pe telefon, sigla mai mică — sigla, „Meniu” și contul încap pe un singur rând. */
@media (max-width: 900px) {
  .sidebar { flex-wrap: nowrap; }
  .sidebar .brand img.logo { width: auto; max-width: 112px; max-height: 22px; }
  .sidebar .brand { margin-right: 8px; flex-shrink: 1; min-width: 0; }
  .sidebar .foot { flex-shrink: 0; }
  .nav-toggle { padding: 8px 10px; flex-shrink: 0; }
}
/* VR-08: separatorul „·” trece la finalul elementului, ca rândurile rupte să nu înceapă cu un punct;
   pe telefon starea se citește pe rânduri, fără separatori. */
.ui-status span + span::before, .pl-status span + span::before { content: none; }
.ui-status > span:not(:last-child)::after, .pl-status > span:not(:last-child)::after { content: "·"; margin: 0 10px; color: var(--c-chevron); }
@media (max-width: 640px) {
  .ui-status, .pl-status { flex-direction: column; gap: 4px; }
  .ui-status > span:not(:last-child)::after, .pl-status > span:not(:last-child)::after { content: none; }
}
/* VR-15: butoanele de nivel dezactivate arată că nu se pot apăsa. */
.eval-level-button:disabled { opacity: .4; cursor: not-allowed; background: transparent; }
/* VR-20: câmpurile de sumă rămân aliniate chiar dacă o etichetă se rupe pe două rânduri. */
.ui-table--grades .ui-table__amount { align-items: flex-end; }
/* VR-27: fișa validată și închisă — câmpurile doar de citit nu mai arată ca editabile. */
.fisa-cap-corp input[readonly], .fisa-cap-corp textarea[readonly] { background: transparent; border-color: transparent; padding-left: 0; box-shadow: none; }
/* VR-42: pe telefon filele stau pe un singur rând, derulabil doar în bara lor (nu se rup pe trei rânduri). */
@media (max-width: 640px) {
  .ui-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ui-tabs::-webkit-scrollbar { display: none; }
  .ui-tab { flex: 0 0 auto; white-space: nowrap; }
}
/* UX-D012 (E-074): bara filelor e blocul de referință al textului pentru cititoarele de ecran (.sr-only, poziționat absolut);
   altfel acesta rămâne în afara zonei derulate și lărgește documentul pe telefon. Doar bara se derulează. */
.ui-tabs { position: relative; max-width: 100%; }
.ui-tab { position: relative; }
/* VR-43: subsolul paginilor publice păstrează marginea laterală a conținutului. */
.app-footer { padding: 24px 16px 40px; }
@media (min-width: 900px) { .app-footer { padding-left: 0; padding-right: 0; } }
/* VR-47: filtrele (Elia) — fiecare etichetă deasupra câmpului ei, câmpurile pe același rând, butoanele la aceeași înălțime. */
@media (min-width: 641px) {
  .ui-decide--filters { display: grid; grid-template-rows: auto auto; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); gap: 4px 12px; align-items: end; }
  .ui-decide--filters > label { grid-row: 1; }
  .ui-decide--filters > input, .ui-decide--filters > select { grid-row: 2; width: 100%; min-width: 0; }
  .ui-decide--filters > .btn { grid-row: 2; min-height: 40px; justify-content: center; white-space: nowrap; }
}
/* VR-52: atenționarea de sub o legătură nu se mai lipește de ea. */
.ui-section .note-warn { margin-top: 12px; }
/* VR-53: pastila creditelor din antet e neutră; roșul rămâne pentru acțiune (sold zero: .is-empty). */
.credit-pill strong { background: var(--c-chip-bg); color: var(--c-text); }
/* VR-57: legăturile de sub formularul de intrare aliniate cu textul. */
.ui-auth__links a, .ui-auth__links .btn-link { padding-left: 0; padding-right: 0; }
/* VR-29: spațiul compact al discuției păstrează antetul aplicației (compania îngroșată, semnalul „de completat” la fel ca
   în rest); rămâne doar lățimea compactă a zonei de lucru. */
.workspace-compact .brand-mark strong { font-size: 16px; color: var(--c-text); font-weight: 700; }
.workspace-compact .nav-state.is-attention { color: var(--c-primary); font-size: 11px; }
.workspace-compact .sidebar .brand img.logo { width: auto; max-width: 180px; max-height: 40px; }
@media (max-width: 900px) { .workspace-compact .sidebar .brand img.logo { max-width: 112px; max-height: 22px; } }
/* VR-55: starea goală dintr-o secțiune nu are titlul mai mare decât secțiunea care o conține. */
.ui-section .ui-empty { padding-top: 12px; }
.ui-section .ui-empty h2 { font-size: 14px; font-weight: 600; }
/* ===== Revizia vizuală independentă (VR) — corecturile constructorului, 12 oct 2026 =====
   Corecturile din vederi ale reviziei vizuale. */

/* VR-55: starea goală spusă ca text obișnuit (15px, gri), nu ca titlu mai mare decât al secțiunii. */
.ui-empty--quiet { padding: 6px 0 4px; gap: 6px; }
.ui-empty--quiet p { font-size: 15px; color: var(--c-muted); line-height: 1.6; }

/* VR-09: acțiunile secundare de pe pagina postului stau după banda „Pasul următor”, într-un rând compact;
   pe telefon nu se întind pe toată lățimea (regulile generale ale .ui-header__actions le fac late). */
.ui-actions-after { margin: -8px 0 22px; position: relative; }
@media (max-width: 640px) {
  .ui-actions-after .btn, .ui-actions-after form, .ui-actions-after .pef-menu,
  .ui-actions-after .pef-menu > summary, .ui-actions-after form .btn { width: auto; }
  /* Meniul „Mai multe” se deschide pe lățimea rândului, ca să nu iasă din ecran. */
  .ui-actions-after .pef-menu { position: static; }
  .ui-actions-after .pef-menu__list { left: 0; right: 0; width: auto; }
}

/* VR-13: o legătură în interiorul unui paragraf nu e roșie (roșul rămâne pentru acțiune); culoarea textului, subliniată. */
.ui-link-quiet { color: var(--c-text); text-decoration: underline; text-decoration-color: var(--c-border-2); text-underline-offset: 3px; }
.ui-link-quiet:hover { text-decoration-color: currentColor; }

/* VR-21: bifa de confirmare a temeiului legal, aceeași ca restul bifelor (.ui-check), cu spațiu față de câmpul de deasupra. */
.ui-check--spaced { margin: 16px 0 6px; }

/* VR-24: pe telefon, bara compactă de pași spune deja „Pasul N din M”; eticheta de deasupra titlului se ascunde acolo. */
@media (max-width: 640px) {
  .ui-eyebrow--step { display: none; }
}

/* VR-46: listă cheie–valoare, câte o idee pe rând (eticheta în stânga, valoarea în dreapta), în locul coloanelor înghesuite. */
.ui-kv--rows { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--c-border); }
.ui-kv--rows > div { display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); gap: 4px 24px;
  padding: 10px 0; border-bottom: 1px solid var(--c-border); align-items: baseline; }
.ui-kv--rows dt { font-size: 13px; }
.ui-kv--rows dd { margin: 0; }
.ui-kv--rows dd .ui-row__sub { display: block; margin-top: 2px; }
@media (max-width: 640px) {
  .ui-kv--rows > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
/* ==== sfârșit revizia vizuală ==== */

/* ===== UX-D018: meniul în starea arhivată (12 oct 2026) ===== */
.nav-archived-note { margin: 4px 12px 10px; padding: 8px 10px; border-left: 2px solid var(--c-border-2); color: var(--c-muted, #687078); font-size: 13px; line-height: 1.45; }

/* ===== Cele 7 ecrane parțiale (12 oct 2026, mandatul PO): stiluri pe ecran ===== */
/* E-040 — pagina de refuz (403): persoana publicată de companie pentru cererile de acces. */
.ui-error .ui-error-contact { margin: 14px 0 12px; padding: 12px 14px; border: 1px solid var(--c-border); border-radius: var(--radius); }
.ui-error .ui-error-contact a { color: var(--c-nav-text); text-decoration: underline; overflow-wrap: anywhere; }
.ui-error .ui-error-contact a:hover { color: var(--c-text); }
.ui-error .ui-error-contact__page { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ui-error .ui-error-contact { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
/* Documentele comerciale (E-065): documentul | tipul | data | suma (din comanda companiei) | descărcarea.
   Cinci coloane doar pe ecran lat; sub 1100 px rândul devine cartonaș, cu etichetele „Tipul”, „Data”, „Suma” vizibile.
   Selectorul dublu bate regulile de patru coloane ale `.ui-row--commercial`, fără să le schimbe. */
@media (min-width: 1100px) {
  .ui-row--commercial.ui-row--commercial-sum,
  .ui-rows__head--commercial.ui-rows__head--commercial-sum { grid-template-columns: minmax(0, 1.5fr) 130px 110px minmax(0, 1fr) 120px; }
}
@media (max-width: 1099px) {
  .ui-rows__head--commercial.ui-rows__head--commercial-sum { display: none; }
  .ui-row--commercial.ui-row--commercial-sum { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ui-row--commercial-sum .ui-row__label { display: inline; color: var(--c-muted); }
  .ui-row--commercial-sum .ui-row__links { justify-content: flex-start; }
}
/* E-053: rândurile care diferă între două versiuni ale unui document legal (pagina de reacceptare și „Versiunile documentelor
   legale” din zona Elia). Adresele lungi din text (de ex. acordul unui furnizor) se rup pe rând, fără derulare laterală la 390px. */
.legal-diff-lines { overflow-wrap: anywhere; word-break: normal; }
.legal-diff-lines li { color: var(--c-text); }
/* ===== E-074 — calibrarea: motivul schimbării, fișa și propunerea AI, istoricul pe criteriu ===== */
/* O alegere încă nesalvată (în așteptarea motivului sau a răspunsului serverului): contur întrerupt, nu roșu (D-A44). */
.eval-level-button.is-pending { border-style: dashed; border-color: var(--c-title); color: var(--c-title); }
.eval-level-button.active.is-pending { border-style: solid; }
/* Panoul motivului ocupă toată lățimea rândului, sub cele patru coloane; pe telefon rămâne în fluxul cartonașului. */
.ui-row--calib > .calib-reason { grid-column: 1 / -1; display: grid; gap: 6px; max-width: 640px; padding-top: 10px; border-top: 1px solid var(--c-border-2); }
.calib-reason[hidden] { display: none; }
.calib-reason label { margin: 0; font-size: 13px; font-weight: 600; color: var(--c-text); }
.calib-reason textarea { width: 100%; box-sizing: border-box; resize: vertical; min-height: 56px; }
.calib-reason textarea[aria-invalid="true"] { border-color: var(--c-danger); }
.calib-reason__hint { margin: 0; font-size: 12.5px; color: var(--c-muted); line-height: 1.5; }
.calib-reason__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.calib-basis .ui-fold__body p, .calib-history .ui-list li { margin: 0 0 6px; overflow-wrap: anywhere; }
.calib-basis .ui-fold__body .ui-state { margin-left: 4px; }
/* E-103 — previzualizarea importului statului de plată: Persoana | Salariul de bază | Orele pe an | Beneficii pe an | Ce se întâmplă
   (5 coloane, fără derulare laterală); pe telefon fiecare rând devine un cartonaș, cu eticheta înaintea valorii. */
.ui-row--payroll, .ui-rows__head--payroll { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr) minmax(0, 1.1fr) 110px minmax(0, 1fr); align-items: start; }
.ui-row--payroll [data-label] { overflow-wrap: anywhere; }
.ui-row--payroll [data-label] .ui-row__sub { display: block; }
@media (max-width: 640px) {
  .ui-row--payroll { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ui-row--payroll [data-label]::before { content: attr(data-label) ": "; color: var(--c-muted); font-weight: 400; }
  .ui-row--payroll [data-label] .ui-row__sub { display: inline; margin-left: 4px; }
}

/* ===== R4-g (12 oct 2026, contractul restaurării): nota copiei din care au fost readuse datele, pe lista acordărilor ===== */
/* Atenționare, nu acțiune (D-A44): culoarea de avertizare, sub eticheta stării; pe telefon intră în cartonașul acordării. */
.ui-page .ui-row--grant .ui-grant-restore { display: block; margin-top: 3px; color: var(--c-warning); overflow-wrap: anywhere; }

/* ==== D-A65 3b (13 oct 2026): competențele tehnice din catalogul ESCO în editorul fișei — sugestii la tastare,
   proveniența rândului („ESCO vX” / „adaptat din ESCO vX”), eliminarea explicită, propunerile pe grupa ISCO și
   mențiunea ESCO. Numai clase noi `fisa-esco*`; bloc delimitat, la finalul fișierului; nu modifică regulile comune. ==== */
.fisa-esco { position: relative; }
.fisa-esco__camp { display: block; margin: 0; font-weight: 400; }
.fisa-esco__prov { margin: 4px 0 0; font-size: 12px; line-height: 1.35; color: var(--c-muted); }
.fisa-esco[data-fisa-esco-source="esco-adaptat"] .fisa-esco__prov { color: var(--c-warning); font-weight: 500; }
.fisa-esco__actiuni, .fisa-esco__eliminat { margin: 3px 0 0; font-size: 12px; color: var(--c-muted); }
.fisa-esco__link { padding: 0; border: 0; background: none; font: inherit; font-size: 12px; color: var(--c-link, #1f5fbf); text-decoration: underline; cursor: pointer; }
.fisa-esco__link:focus-visible { outline: 2px solid var(--c-focus, #1f5fbf); outline-offset: 2px; border-radius: 3px; }
.fisa-esco--eliminat > .fisa-esco__camp, .fisa-esco--eliminat > .fisa-esco__prov, .fisa-esco--eliminat > .fisa-esco__actiuni { display: none; }
.fisa-tabel__row.fisa-esco-rand--eliminat .fisa-tabel__cell:not(.fisa-esco), .fisa-tabel__row.fisa-esco-rand--eliminat .fisa-tabel__remove { display: none; }
.fisa-esco__sugestii { position: absolute; z-index: 30; left: 0; right: 0; top: 100%; margin-top: 4px; max-height: 320px; overflow-y: auto; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); box-shadow: 0 8px 24px rgba(0, 0, 0, .12); }
.fisa-esco__verdict { margin: 0; padding: 8px 12px; font-size: 12px; line-height: 1.4; color: var(--c-muted); border-bottom: 1px solid var(--c-border); background: var(--c-soft-bg); }
.fisa-esco__verdict--gol { border-bottom: 0; }
.fisa-esco__lista { margin: 0; padding: 0; list-style: none; }
.fisa-esco__optiune { display: block; width: 100%; padding: 8px 12px; border: 0; border-top: 1px solid var(--c-border); background: none; text-align: left; font: inherit; color: var(--c-text); cursor: pointer; }
.fisa-esco__optiune:first-child { border-top: 0; }
.fisa-esco__optiune:hover, .fisa-esco__optiune[aria-selected="true"] { background: var(--c-soft-bg); }
.fisa-esco__optiune:focus-visible { outline: 2px solid var(--c-focus, #1f5fbf); outline-offset: -2px; }
.fisa-esco__plin { color: var(--c-muted); }
.fisa-esco__optiune strong { display: block; font-size: 13.5px; font-weight: 600; }
.fisa-esco__optiune small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.35; color: var(--c-muted); }
.fisa-esco__tip { display: inline-block; margin-right: 6px; padding: 0 6px; border-radius: 999px; background: var(--c-chip-bg); color: var(--c-chip-text); font-size: 11px; font-weight: 500; }
.fisa-esco__indiciu { margin: 0; padding: 8px 12px; font-size: 12px; line-height: 1.4; color: var(--c-text); border-top: 1px solid var(--c-border); background: var(--c-soft-bg); }
.fisa-esco__stare { margin: 0; padding: 8px 12px; font-size: 12px; line-height: 1.4; color: var(--c-muted); }
.fisa-esco__stare--eroare { color: var(--c-warning); }
.fisa-esco__mentiune { margin: 0; padding: 8px 10px; border-top: 1px solid var(--c-border); font-size: 11.5px; line-height: 1.4; color: var(--c-muted); }
.fisa-esco-propuneri { margin: 0; border-bottom: 1px solid var(--c-border); }
.fisa-esco-propuneri > summary { padding: 8px 10px; font-size: 12.5px; font-weight: 600; color: var(--c-text); cursor: pointer; list-style: revert; }
.fisa-esco-propuneri__corp { padding: 4px 10px 10px; font-size: 12.5px; }
.fisa-esco-propuneri__corp .muted { margin: 0 0 6px; color: var(--c-muted); }
.fisa-esco-propuneri__baza { margin: 0 0 8px; font-size: 12.5px; line-height: 1.4; color: var(--c-text); }
.fisa-esco-propuneri__lista { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.fisa-esco-propuneri__rand { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 6px 0; border-top: 1px solid var(--c-border); }
.fisa-esco-propuneri__rand small { color: var(--c-muted); }
.fisa-esco-propuneri__adauga { padding: 4px 10px; font-size: 12px; }
.fisa-esco-propuneri__ocupatii { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: 0 0 8px; }
.fisa-esco-propuneri__ocupatii input[type=text] { flex: 1 1 220px; min-width: 0; }
.fisa-esco-propuneri__ocupatie { display: block; width: 100%; padding: 6px 8px; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); text-align: left; font: inherit; font-size: 12.5px; cursor: pointer; }
.fisa-esco-propuneri__ocupatie:hover { background: var(--c-soft-bg); }
@media (max-width: 640px) {
  .fisa-esco__sugestii { position: static; margin-top: 6px; max-height: 260px; box-shadow: none; }
}

/* ===== E-084 (14 oct 2026): nota unei etape care trimite la pasul următor se vede ca legătură ===== */
a.ui-stages__note { color: var(--c-muted); text-decoration: underline; text-underline-offset: 2px; }
a.ui-stages__note:hover { color: var(--c-text); }

/* ===== Întrebările HR despre fișă (decizia PO, 14 oct 2026): pagina postului, verificarea și Acasă ===== */
/* Fiecare întrebare e un bloc compact: întrebarea și starea pe un rând, apoi cine/când, răspunsul și pasul următor.
   Starea aleasă nu e roșie (D-A44); butoanele din bloc sunt neutre. Pe telefon starea trece sub întrebare. */
.cq-item { padding: 12px 0; border-top: 1px solid var(--c-border); }
.cq-item:first-of-type { border-top: 0; }
.cq-item__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.cq-item__question { margin: 0; font-weight: 600; color: var(--c-text); overflow-wrap: anywhere; }
.cq-item__head .ui-state { flex-shrink: 0; }
.cq-item__meta { margin: 4px 0 0; font-size: 12.5px; color: var(--c-muted); overflow-wrap: anywhere; }
.cq-item__text { margin: 4px 0 0; white-space: pre-line; overflow-wrap: anywhere; }
.cq-item__answer, .cq-item__unsaved { margin-top: 8px; padding: 8px 12px; border-left: 2px solid var(--c-border-2); background: var(--c-soft-bg); }
.cq-item__unsaved { border-left-color: var(--c-warning-border); background: var(--c-warning-50); }
.cq-item__next { margin: 8px 0 0; font-size: 13.5px; }
.cq-item .form-flush { margin-top: 8px; }
.cq-form { margin-top: 8px; max-width: 640px; }
.cq-form label { margin-top: 8px; }
.cq-form label span { font-weight: 400; color: var(--c-muted); }
.cq-form textarea { resize: vertical; }
.cq-form textarea[aria-invalid="true"] { border-color: var(--c-danger); }
@media (max-width: 640px) {
  .cq-item__head { flex-direction: column; gap: 4px; }
  .cq-form .ui-actions .btn { width: 100%; justify-content: center; }
}
