/* PdWn-2 — ce nu există în catalogul bgn-33 v2.1 (../bgn-33.css), scris doar cu var(--*), după donna/donna.css:
   meniul rolurilor din bara laterală, bara cu pașii dosarului (din Bono Hype), zona „ce e de făcut” (D179) și
   simulările serviciilor externe. Componentele din catalog nu se restilizează aici. */
.sidebar { position: sticky; top: 0; height: 100dvh; overflow: auto; }
.sidebar .brand .ic-box { width: 28px; height: 28px; }
.pw-mark { background: var(--c-accent-deep); color: var(--c-on-accent); }
.pw-user { margin-top: auto; display: block; }
.pw-user .side-user { width: 100%; border: 0; font: inherit; text-align: left; cursor: pointer; color: inherit; }
.pw-user .menu-item[data-rol] { flex-direction: column; align-items: flex-start; gap: 2px; }
.pw-user .menu-item[data-rol] .hint { margin-left: 0; }
.dropdown.up > .menu { top: auto; bottom: calc(100% + 6px); left: 0; right: 0; }
.kpi.interactive[aria-pressed="true"] { border-color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); background: var(--c-accent-ultra); }
.kpi .marker { justify-content: flex-start; }
.marker.warn::before { background: var(--c-warn); } .marker.err::before { background: var(--c-error); }
.tbl-toolbar .select { width: auto; max-width: 220px; }
.tbl tr.go { cursor: pointer; }
.sec-head { margin: var(--sp-8) 0 var(--sp-3); }
.sec-head .p-sub { font-size: 14px; color: var(--c-fog); margin-top: 2px; }
.pw-tags { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
/* capul dosarului: datele în stânga, zona de acțiune în dreapta */
.pw-head { display: flex; align-items: flex-start; gap: var(--sp-6); }
.pw-actz { width: 320px; flex: none; align-self: stretch; border-left: 1px solid var(--c-rule); padding-left: var(--sp-6); display: flex; flex-direction: column; gap: var(--sp-3); }
.pw-actz-b { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.pw-actz-b:empty { display: none; }
.pw-sim { margin-top: auto; padding: var(--sp-3); border: 1px dashed var(--c-rule-strong); border-radius: var(--r-md); display: flex; flex-direction: column; gap: var(--sp-2); }
.pw-sim-b { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
/* bara cu pași: un segment pe pas, eticheta deasupra, data sau starea dedesubt (din Bono Hype; nu e în catalog) */
.pw-steps { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 4px 6px; align-items: start; }
.pw-seg { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pw-seg i { display: block; height: 8px; border-radius: var(--r-pill); background: var(--c-track); }
.pw-seg-l { font-size: 12px; line-height: 16px; color: var(--c-fog); text-align: center; min-height: 32px; display: flex; align-items: flex-end; justify-content: center; }
.pw-steps { row-gap: 6px; }
.pw-seg-v { font-size: 12px; line-height: 16px; text-align: center; color: var(--c-fog); min-height: 16px; }
.pw-seg.done i { background: var(--c-success); }
.pw-seg.now i { background: var(--c-accent-deep); box-shadow: inset 0 0 0 1px var(--c-ink); }
.pw-seg.now .pw-seg-l, .pw-seg.now .pw-seg-v { color: var(--c-ink); font-weight: 600; }
.pw-seg.bad i { background: var(--c-error); } .pw-seg.bad .pw-seg-l, .pw-seg.bad .pw-seg-v { color: var(--c-error-text); font-weight: 600; }
.pw-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.pw-cols .list-row { padding: 10px 0; min-height: 0; }
.pw-cols .eyebrow { display: flex; padding: var(--sp-2) 0 var(--sp-1); }
.pw-gap { margin-top: var(--sp-4); }
.lead-ic.ok { background: var(--c-success-bg); color: var(--c-success-text); }
.lead-ic.accent { background: var(--c-accent-tint); color: var(--c-accent-text); }
.card-foot { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; margin-top: var(--sp-4); }
.pw-ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
@media (max-width: 1023.98px) {
  .pw-head { flex-direction: column; } .pw-actz { width: auto; border-left: 0; padding-left: 0; border-top: 1px solid var(--c-rule); padding-top: var(--sp-4); }
  .pw-cols { grid-template-columns: 1fr; } .pw-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* bara de sus, doar pe ecran îngust */
.pw-mtop { display: none; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--c-rule); background: var(--c-surface); position: sticky; top: 0; z-index: 5; }
.pw-mtop-b { display: flex; align-items: center; gap: var(--sp-2); font-weight: 600; flex: none; }
.pw-mtop-b .ic-box { width: 26px; height: 26px; }
.pw-mtop-n { display: flex; gap: var(--sp-2); overflow-x: auto; }
@media (max-width: 1023.98px) { .pw-mtop { display: flex; } }
/* cele două bare din capul dosarului: fluxul clientului pe start.solo.ro (încheiat) și pașii din PdWn-2 */
.pw-sub { border: 1px solid var(--c-rule); border-radius: var(--r-md); padding: var(--sp-4) 18px var(--sp-3); }
.pw-sub-h { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.pw-sub .pw-seg-v { overflow-wrap: anywhere; }
/* pagina dosarului, după cardul clientului din Bono Hype (padawan.css, „pagina clientului (D)”): un card cu inițialele,
   numele, contactul și starea; deasupra barei, grupele de pași; sub segment, valoarea, subliniată punctat când se
   poate apăsa. Nu e în catalogul bgn-33. */
.pw-d { position: relative; }
.pw-d-head { display: grid; grid-template-columns: auto auto auto minmax(0, 1fr); align-items: center; gap: 16px; }
.pw-d-id { min-width: 0; }
.pw-nume { display: flex; align-items: center; gap: 8px; }
.pw-nume .t28 { margin: 0; }
.pw-nume .input { max-width: 360px; }
.pw-d-client { margin-top: 2px; color: var(--c-fog); font-weight: 400; }
.pw-contact { display: grid; gap: 2px; margin-left: 16px; padding-left: 24px; border-left: 1px solid var(--c-rule-soft); color: var(--c-fog); }
.pw-contact span { display: inline-flex; align-items: center; gap: 6px; }
.pw-d-act { justify-self: end; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.pw-d-steps { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--c-rule-soft); }   /* capul cardului, despărțit de bară (comentariul lui Bogdan, 25.10.2026) */
.pw-grupa { text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--c-fog); padding-bottom: 6px; border-bottom: 2px solid var(--c-rule-soft); margin-bottom: 4px; }
.pw-grupa.on { color: var(--c-ink); border-bottom-color: var(--c-accent-deep); }
.pw-optv { display: block; width: 100%; text-align: center; min-height: 28px; line-height: 28px; font-size: 14px; color: var(--c-ink); overflow-wrap: anywhere; }
.pw-optb { appearance: none; -webkit-appearance: none; background: none; border: 0; padding: 0; font-family: inherit; cursor: pointer; text-decoration: underline dotted var(--c-mist); text-underline-offset: 4px; }
.pw-optb:hover { text-decoration-color: var(--c-ink); }
.pw-optb:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; border-radius: 4px; }
.pw-opt { margin-top: 2px; width: 100%; }
.pw-opt-act { display: flex; gap: 4px; margin-top: 6px; align-items: center; justify-content: center; }
.pw-alerts { display: grid; gap: 12px; margin-top: 16px; }
.pw-d2-head { display: flex; align-items: flex-start; gap: 16px; }
.pw-d2-head .t20 { margin: 0; }
.pw-motiv { display: block; margin-top: 4px; }
/* butoanele alertei în capătul din dreapta, pe linie cu textul (comentariul lui Bogdan, 25.10.2026) */
.alert .a-actions.pw-act-dr { margin: 0 0 0 auto; flex-shrink: 0; align-self: center; }
/* istoricul: pasul într-o bulină, ca în Hype; roșie la blocaj (starea nu e în .step din catalog) */
.pw-pas .step-ico { width: 24px; height: 24px; font-size: 12px; font-weight: 600; }
.pw-pas { color: var(--c-ink); }
.pw-pas.bad .step-ico { background: var(--c-error-bg); color: var(--c-error-text); }
.pw-hist-tbl td { vertical-align: middle; }
@media (max-width: 1023.98px) { .pw-d-head { grid-template-columns: auto minmax(0, 1fr); } .pw-contact, .pw-d-act { grid-column: 1 / -1; align-items: flex-start; justify-self: start; } .pw-contact { border-left: 0; padding-left: 0; margin-left: 0; } }
