/* Bono Hype — doar layout local, peste bono-ds.css (nicio clasă DS redefinită). */
.pd-top { --app-foot-w: var(--layout-max); }
.pd-top .app-top-in { padding-inline: var(--layout-pad); }
.pd-top-right { gap: 8px; }
.pd-main { min-height: calc(100vh - 60px); padding-block: 32px 0; }
.pd-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.pd-muted { color: var(--c-fog); }

/* cardurile de sus sunt și filtre */
.pd-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.pd-kpi { text-align: left; font: inherit; cursor: pointer; appearance: none; -webkit-appearance: none; }
.pd-kpi:hover { border-color: var(--c-rule-hover); }
.pd-kpi.on { box-shadow: inset 0 0 0 2px var(--c-ink); }
.pd-kpi:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; }

.pd-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; align-items: flex-end; }
.pd-filters .field { min-width: 150px; flex: 1 1 150px; }
.pd-filters .field.grow { flex: 2 1 240px; }
.pd-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.pd-bar-right { display: flex; gap: 8px; align-items: center; }
.pd-row { cursor: pointer; }
.pd-num { text-align: right; }
.pd-cell { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.pd-grp td { background: var(--c-bej-05); color: var(--c-fog); }
.pd-meter { height: 8px; border-radius: var(--r-full); background: var(--c-ink); min-width: 2px; }
.pd-note { margin-top: 12px; color: var(--c-fog); }
.pd-empty { color: var(--c-fog); padding: 24px 0; }

/* pagina clientului */
.pd-client-top { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pd-client-id { min-width: 0; }
.pd-client-id p { margin-top: 4px; }
.pd-client-name { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pd-contact { display: grid; gap: 2px; margin-left: 24px; margin-right: auto; padding-left: 24px; border-left: 1px solid var(--c-rule-soft); color: var(--c-fog); }
.pd-contact span { display: inline-flex; align-items: center; gap: 6px; }
.pd-firm { margin-top: 20px; }
.pd-client-act { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.pd-hist { margin-top: 24px; }
.pd-firm > .pd-steps:first-of-type { margin-top: 16px; }
.pd-steps { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 6px; margin-top: 6px; align-items: start; }
.pd-seg i { display: block; height: 8px; border-radius: var(--r-full); background: var(--c-mist); }
.pd-seg .pd-lbl { display: flex; align-items: flex-end; justify-content: center; text-align: center; min-height: 36px; margin-bottom: 6px; color: var(--c-fog); }
.pd-optv { display: block; width: 100%; text-align: center; min-height: 28px; line-height: 28px; margin-top: 6px; color: var(--c-ink); }
.pd-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; }
.pd-optb:hover { text-decoration-color: var(--c-ink); }
.pd-optb:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; border-radius: 4px; }
.pd-opt-act { display: flex; gap: 4px; margin-top: 6px; align-items: center; justify-content: center; }
.pd-opt { height: 28px; margin-top: 6px; font-size: 12px; }
select.pd-opt { padding: 0 26px 0 10px; background-position: right 8px center; }
input.pd-opt { padding: 0 10px; }
.pd-seg.done i { background: var(--c-success); }
.pd-seg.now i { background: var(--c-warn); }
.pd-seg.bad i { background: var(--c-error); }
.pd-alerts { display: grid; gap: 12px; margin-top: 16px; }
.pd-form { display: grid; gap: 12px; margin-top: 8px; }
.pd-val { max-width: 60%; }
.pd-msg { white-space: normal; max-width: 520px; }

/* rolurile: contul cu care ești intrat și ecranul „Colegi și roluri” */
.pd-cine { position: relative; }
.pd-cine .popover { min-width: 240px; z-index: 50; }
.pd-cont { display: grid; gap: 0; text-align: left; margin-right: auto; }
.pd-cont-note { padding: 4px 10px 6px; max-width: 240px; }
.pd-lead { margin-top: 8px; max-width: 720px; }
.pd-filters .field.pd-fit { flex: 0 0 auto; min-width: 0; }
.pd-rol { width: auto; min-width: 150px; }
.pd-sub { margin: 40px 0 16px; }

/* paginile de document (PRD, arhitectură, decizii) — generate de prd/build.py; doar ritmul coloanei, tipografia vine din DS */
.pd-doc { max-width: 1120px; padding-bottom: 64px; }
.pd-doc > p, .pd-doc > ul, .pd-doc > ol { max-width: 820px; }
.pd-doc > * + * { margin-top: 16px; }
.pd-doc > h2 { margin-top: 48px; }
.pd-doc > h3 { margin-top: 32px; }
.pd-doc ul, .pd-doc ol { padding-left: 22px; display: grid; gap: 6px; }
.pd-doc li > ul { margin-top: 6px; }
.pd-doc a { text-decoration: underline; text-underline-offset: 3px; }
.pd-doc .tbl td, .pd-doc .tbl th { vertical-align: top; white-space: normal; }
.pd-doc .tbl td:first-child { font-weight: 500; }
.pd-doc code { overflow-wrap: anywhere; }


.pd-sec { color: var(--c-fog); font-weight: 500; }

.pd-nume { display: flex; align-items: center; gap: 8px; }
.pd-nume .input { max-width: 420px; }
