/* Partners (M7, Figma 414:335, 414:56781, 415:1763, 416:2147, 418:2582, 422:5169, 422:5827). Builds on .opp list/workspace styles. */

/* ---- KPI cards (KpiCard 35:1710: label + icon, value + unit, delta chip + text + sparkline) */
.pt-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.pt-kpi { padding: 20px; display: flex; flex-direction: column; gap: 14px; min-height: 172px; }
.pt-kpi__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.pt-kpi__label { font: var(--text-small); color: var(--color-text-secondary); padding-top: 8px; }
.pt-kpi__icon { width: 36px; height: 36px; flex: none; border-radius: var(--radius-md); background: var(--color-brand-navy-50); color: var(--color-text-brand); display: grid; place-items: center; }
.pt-kpi__icon .icon { width: 20px; height: 20px; }
.pt-kpi__value { display: flex; align-items: baseline; gap: 8px; }
.pt-kpi__value b { font: 700 28px/40px var(--font-family); color: var(--color-text-primary); }
.pt-kpi__value span { font: var(--text-small); color: var(--color-text-secondary); }
.pt-kpi__foot { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.pt-kpi__delta { display: inline-flex; align-items: center; gap: 2px; height: 20px; padding: 0 6px; border-radius: var(--radius-full); background: var(--color-gray-100); color: var(--color-text-secondary); font: var(--text-caption); white-space: nowrap; }
.pt-kpi__delta .icon { width: 12px; height: 12px; }
.pt-kpi__sub { font: var(--text-caption); color: var(--color-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-kpi__foot .spark { margin-inline-start: auto; flex: none; }

/* ---- tabs / filters / table */
.pt-tabs { margin-block-end: 20px; }
.pt-search { flex: 0 1 280px; }
.pt .pt-chip-add:not(.is-active) > summary { border: 1px dashed var(--color-gray-300); background: transparent; color: var(--color-text-secondary); }
.pt-table .col-num { text-align: left; }
.pt-table td { height: 48px; }
.pt-propnote { max-width: 380px; white-space: normal; }
.pt-reason { display: block; margin-top: 2px; font: var(--text-caption); color: var(--color-danger); }
.pt-person { display: inline-flex; align-items: center; gap: 8px; }
.pt-person .avatar { background: var(--color-brand-navy-50); color: var(--color-text-brand); }
.pt-footnote { margin: 20px 0 0; font: var(--text-small); color: var(--color-text-secondary); }
.pt .dtable.is-compact .pt-table td { height: 40px; }
.pt .dtable.is-compact .pt-table .cell-stack .sub { display: none; }

/* ---- status / tier chips (dot + label) */
.pt-status, .pt-tierchip { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: var(--radius-full); font: var(--text-caption); white-space: nowrap;
  background: var(--tone-neutral-bg); color: var(--color-text-primary); }
.pt-status i, .pt-tierchip i { width: 6px; height: 6px; border-radius: 50%; background: var(--tone-neutral-dot); flex: none; }
.pt-status.is-on, .pt-status--green { background: var(--tone-green-bg); }
.pt-status.is-on i, .pt-status--green i { background: var(--tone-green-dot); }
.pt-status.is-off i { background: var(--color-gray-400); }
.pt-status--amber, .pt-tierchip { background: var(--tone-amber-bg); }
.pt-status--amber i, .pt-tierchip i { background: var(--tone-amber-dot); }
.pt-tierchip.is-draft { background: var(--tone-neutral-bg); }
.pt-tierchip.is-draft i { background: var(--color-gray-400); }
.pt-status--navy { background: var(--tone-navy-bg); }
.pt-status--navy i { background: var(--tone-navy-dot); }
.pt-status--blue { background: var(--tone-blue-bg); }
.pt-status--blue i { background: var(--tone-blue-dot); }
.pt-status--orange { background: var(--tone-orange-bg); }
.pt-status--orange i { background: var(--tone-orange-dot); }
.pt-status--red { background: var(--tone-red-bg); }
.pt-status--red i { background: var(--tone-red-dot); }
.pt-status--neutral { background: var(--tone-neutral-bg); }

.pt-alert { margin-block-end: 16px; }
.pt-alert__act { margin-inline-start: auto; }
.pt-temp b { margin-inline-start: 6px; font: 700 16px/24px var(--font-family); letter-spacing: .04em; }

/* ---- define partner (415:1763) */
.pt-new .breadcrumb { margin-block-end: 12px; }
.pt-new__head { margin-block-end: 24px; }
.pt-new__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.pt-new__main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pt-new__side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 16px; }
.pt-sec { padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.pt-sec__title { font: var(--text-h3); margin: 0; }
.pt-sec__sub { font: var(--text-small); color: var(--color-text-secondary); margin: -10px 0 0; }
.pt-sec__note { font: var(--text-small); color: var(--color-text-secondary); margin: 0; }
.pt-sec .field { margin: 0; }
.pt-half { max-width: calc(50% - 8px); }
.pt-radios { display: flex; flex-direction: column; gap: 14px; }
.pt-radios--row { flex-direction: row; gap: 24px; }
.pt-radio { display: inline-flex; align-items: center; gap: 10px; font: var(--text-body); cursor: pointer; }
.pt-radio input { width: 20px; height: 20px; margin: 0; accent-color: var(--color-brand-navy); }
.pt-select-search { position: relative; }
.pt-select-search > .icon { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--color-gray-500); pointer-events: none; }
.pt-select-search .select { padding-inline-start: 42px; height: 40px; }
.pt-new-links { display: flex; gap: 16px; margin-top: 6px; }
.pt-affix input { text-align: right; }
.pt-phone > .icon { width: 18px; height: 18px; color: var(--color-gray-500); margin-inline: 12px 0; align-self: center; }
.pt-file { position: relative; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-card); cursor: pointer; }
.pt-file:hover { border-color: var(--color-gray-300); }
.pt-file input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pt-file.is-static { cursor: default; margin-top: 16px; }
.pt-file__icon { width: 40px; height: 40px; flex: none; border-radius: var(--radius-md); background: var(--tone-green-bg); color: var(--color-success); display: grid; place-items: center; }
.pt-file__icon .icon { width: 20px; height: 20px; }
.pt-file__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.pt-file__body b { font: var(--text-body-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-file__meta { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-file__x { position: relative; z-index: 1; color: var(--color-gray-500); display: grid; place-items: center; }
.pt-file__x .icon { width: 18px; height: 18px; }
.pt-checks { display: flex; flex-direction: column; gap: 14px; }
.pt-check input { width: 20px; height: 20px; accent-color: var(--color-brand-navy); }
.pt-new__actions { display: flex; gap: 12px; }
.pt-aside { padding: 24px; }
.pt-aside__title { font: var(--text-h3); margin: 0 0 16px; }
.pt-aside__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; font: var(--text-small); color: var(--color-text-secondary); line-height: 22px; }
.pt-aside__field { margin: 16px 0 0; }
.pt-info { display: flex; gap: 10px; padding: 16px 20px; border: 1px solid var(--color-info); border-radius: var(--radius-lg); background: var(--color-info-bg); }
.pt-info__icon { color: var(--color-info); flex: none; }
.pt-info__icon .icon { width: 20px; height: 20px; }
.pt-info b { font: var(--text-body-strong); }
.pt-info p { margin: 6px 0 0; font: var(--text-small); color: var(--color-text-secondary); line-height: 22px; }
.pt-fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.pt-fieldset legend { font: var(--text-body-strong); margin-bottom: 12px; padding: 0; }

/* ---- profile header (416:2147) */
.pt-ws .breadcrumb { margin-block-end: 12px; }
.pt-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 24px; margin-block-end: 16px; }
.pt-hero__main { display: flex; gap: 16px; min-width: 0; flex: 1; }
.pt-hero__avatar { width: 56px; height: 56px; flex: none; border-radius: 50%; background: var(--color-brand-amber-50); color: var(--color-brand-orange); display: grid; place-items: center; font: 700 18px/1 var(--font-family); }
.pt-hero__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pt-hero__name { font: var(--text-h1); margin: 0; }
.pt-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-hero__meta { font: var(--text-small); color: var(--color-text-secondary); }
.pt-hero__side { display: flex; flex-direction: column; align-items: flex-end; gap: 18px; flex: none; }
.pt-hero__actions { display: flex; align-items: center; gap: 8px; }
.pt-hero__actions form { margin: 0; }
.pt-more { border: 0; background: transparent; }
.pt-hero__kpis { display: flex; align-items: flex-start; gap: 32px; }
.pt-hero__kpis div { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.pt-hero__kpis span { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-hero__kpis b { font: 700 18px/24px var(--font-family); }
.pt-hero__unit { font: var(--text-caption); color: var(--color-text-muted); }

/* ---- cards */
.pt-card { padding: 20px; }
.pt-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 16px; }
.pt-card__title { font: var(--text-h3); margin: 0 0 12px; }
.pt-card__head .pt-card__title { margin: 0; }
.pt-card__link { display: inline-flex; align-items: center; gap: 4px; font: var(--text-body-strong); color: var(--color-text-primary); text-decoration: none; }
.pt-card__link .icon { width: 16px; height: 16px; }
.pt-card__unit { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-card__note { margin: 14px 0 0; font: var(--text-caption); color: var(--color-text-secondary); line-height: 20px; }
.pt-empty { margin: 0; padding: 14px; border: 1px dashed var(--color-gray-300); border-radius: var(--radius-md); text-align: center; font: var(--text-small); color: var(--color-text-secondary); }
.pt-vchip { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: var(--radius-sm); background: var(--color-gray-100); font: var(--text-caption); color: var(--color-text-primary); }
.pt-vchip .icon { width: 14px; height: 14px; }
.pt-kv { margin: 0; }

/* tier card */
.pt-planline { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 8px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); font: var(--text-caption); color: var(--color-text-primary); margin-block-end: 20px; width: fit-content; }
.pt-planline__muted { color: var(--color-text-secondary); }
.pt-planline.is-warn { background: var(--color-warning-bg); border-color: transparent; }
.pt-planline .icon { width: 16px; height: 16px; color: var(--color-warning); }
.pt-tier__boxes { display: flex; justify-content: space-between; gap: 16px; margin-block-end: 24px; }
.pt-tier__now { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px; border: 1px solid var(--color-border); border-radius: var(--radius-md); min-width: 144px; }
.pt-tier__label { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-tier__value { display: flex; align-items: baseline; gap: 6px; }
.pt-tier__value b { font: 700 28px/36px var(--font-family); }
.pt-tier__value span { font: var(--text-small); color: var(--color-text-secondary); }
.pt-tier__next { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 20px; border-radius: var(--radius-md); background: var(--color-brand-navy-50); min-width: 196px; }
.pt-tier__next b { font: var(--text-body-strong); }
.pt-tier__next span { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-progress { position: relative; padding-top: 30px; margin-block-end: 12px; }
.pt-progress__track { display: flex; gap: 4px; }
.pt-progress__track span { flex: 1; height: 8px; border-radius: var(--radius-full); background: var(--color-gray-200); position: relative; overflow: hidden; }
.pt-progress__track span.is-full { background: var(--color-brand-amber); }
.pt-progress__track span.is-cur { background: linear-gradient(to left, var(--color-brand-amber) var(--seg, 50%), var(--color-gray-200) var(--seg, 50%)); }
.pt-progress__marker { position: absolute; top: 0; right: var(--pos); transform: translateX(50%); display: flex; flex-direction: column; align-items: center; gap: 2px; }
.pt-progress__marker b { height: 20px; padding: 0 8px; border-radius: var(--radius-full); background: var(--color-brand-navy); color: #fff; font: var(--text-caption); display: grid; place-items: center; }
.pt-progress__marker i { width: 12px; height: 12px; margin-top: 4px; background: var(--color-brand-amber); transform: rotate(45deg); border-radius: 2px; box-shadow: 0 0 0 2px var(--color-surface-card); }
.pt-tiers { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 4px; margin-block-end: 16px; }
.pt-tiers__cell { display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.pt-tiers__cell span { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-tiers__cell b { font: var(--text-body-strong); color: var(--color-text-secondary); }
.pt-tiers__cell.is-cur { border-color: var(--color-brand-amber); background: var(--color-brand-amber-50); }
.pt-tiers__cell.is-cur b { color: var(--color-brand-orange); }
.pt .pt-note, .pt-tier .pt-note { margin: 0; max-width: none; padding: 10px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-gray-50); font: var(--text-caption); color: var(--color-text-secondary); line-height: 20px; }

/* counted sales */
.pt-sales { list-style: none; margin: 0; padding: 0; }
.pt-sale { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.pt-sale__body { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.pt-sale__title { font: var(--text-body-strong); color: var(--color-text-primary); text-decoration: none; }
.pt-sale__sub { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-sale__mw { font: var(--text-body-strong); min-width: 40px; text-align: left; }
.pt-sale__mw.is-muted { color: var(--color-text-muted); }
.pt-sales__total { display: flex; justify-content: space-between; padding-top: 14px; font: var(--text-body-strong); }

/* side cards */
.pt-next__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.pt-next__k { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-next__row { display: flex; gap: 12px; align-items: flex-start; }
.pt-next__icon { width: 40px; height: 40px; flex: none; border-radius: var(--radius-md); background: var(--color-brand-navy-50); color: var(--color-text-brand); display: grid; place-items: center; }
.pt-next__icon .icon { width: 20px; height: 20px; }
.pt-next__title { display: block; font: var(--text-body-strong); line-height: 24px; }
.pt-next__sub { display: block; margin-top: 4px; font: var(--text-caption); color: var(--color-text-secondary); }
.pt-next__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--color-border); }
.pt-next__meta { display: inline-flex; align-items: center; gap: 4px; font: var(--text-caption); color: var(--color-text-secondary); }
.pt-next__meta .icon { width: 14px; height: 14px; }
.pt-ex__text { margin: 0 0 10px; font: var(--text-small); line-height: 22px; }
.pt-ex__bar { height: 8px; border-radius: var(--radius-full); background: var(--color-gray-200); overflow: hidden; margin-block-end: 12px; }
.pt-ex__bar span { display: block; height: 100%; background: var(--color-brand-amber); border-radius: inherit; margin-inline-start: 0; }
.pt-ex__alert { margin: 0 0 12px; font: var(--text-caption); }
.pt-sellers, .pt-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pt-sellers li { display: flex; align-items: center; gap: 10px; }
.pt-sellers li > div { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.pt-sellers li > div b { font: var(--text-body-strong); }
.pt-sellers li > div span { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-sellers .avatar { background: var(--color-brand-navy-50); color: var(--color-text-brand); }
.pt-sellers__mw { font: var(--text-body-strong); white-space: nowrap; }
.pt-cats li { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pt-cats li > div { display: flex; flex-direction: column; gap: 2px; }
.pt-cats li > div b { font: var(--text-body-strong); }
.pt-cats li > div span { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-cats__kind { font: var(--text-body-strong); color: var(--color-text-primary); direction: ltr; }
.pt-agr__file { display: block; font: var(--text-body-strong); color: var(--color-text-primary); text-decoration: none; margin-bottom: 8px; }
.pt-agr__meta { margin: 0; font: var(--text-caption); color: var(--color-text-secondary); }

/* inner tables + timeline */
.pt-inner td { height: 52px; }
.pt-inner .col-num { text-align: left; }
.pt-replace { margin-top: 16px; }
.pt-events { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.pt-events li { display: flex; gap: 12px; }
.pt-events__icon { width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--color-gray-100); color: var(--color-gray-600); display: grid; place-items: center; }
.pt-events__icon .icon { width: 16px; height: 16px; }
.pt-events__title { font: var(--text-small); line-height: 22px; }
.pt-events__time { font: var(--text-caption); color: var(--color-text-secondary); }

/* ---- plan editor (418:2582) */
.pt-plan__head { display: flex; flex-direction: column; gap: 14px; }
.pt-plan__titlebar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pt-plan__title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pt-plan__title h2 { font: var(--text-h2); margin: 0; }
.pt-plan__actions { display: flex; gap: 8px; }
.pt-flow { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font: var(--text-caption); color: var(--color-text-secondary); }
.pt-flow__arrow { color: var(--color-gray-400); }
.pt-flow__text { margin-inline-start: 4px; }
.pt-tiered { display: flex; flex-direction: column; }
.pt-tiered__head, .pt-tiered__row { display: grid; grid-template-columns: 110px 1fr 1fr 1fr 40px; gap: 12px; align-items: center; }
.pt-tiered__head { padding-bottom: 8px; font: var(--text-caption); color: var(--color-text-secondary); }
.pt-tiered__row { padding: 10px 0; border-top: 1px solid var(--color-border); }
.pt-tiered__label { font: var(--text-body-strong); }
.pt-tiered__row .pt-affix input[readonly] { color: var(--color-text-primary); }
.pt-tiered__del { color: var(--color-gray-500); justify-self: center; }
.pt-tiered__add { margin-top: 10px; padding: 12px 0 0; border-top: 1px solid var(--color-border); width: 100%; justify-content: flex-start; font: var(--text-body-strong); color: var(--color-text-primary); }
.pt-switch { margin: 16px 0 0; font: var(--text-body); }
.pt-versions ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pt-versions li { display: flex; flex-direction: column; gap: 6px; padding: 14px 0; border-top: 1px solid var(--color-border); }
.pt-versions li:first-child { border-top: 0; padding-top: 4px; }
.pt-versions__chips { display: flex; gap: 6px; }
.pt-versions__when, .pt-versions__tiers { font: var(--text-caption); color: var(--color-text-secondary); }
.pt-versions__note { font: var(--text-small); color: var(--color-text-primary); }
.pt-versions__file { display: inline-flex; align-items: center; gap: 4px; font: var(--text-caption); }
.pt-versions__file .icon { width: 14px; height: 14px; }
.pt-file__icon.is-green { background: var(--tone-green-bg); color: var(--color-success); }

/* ---- disputes decision modal (422:5827) */
.pt-decide { width: 560px; max-width: calc(100vw - 32px); }
.pt-decide__box { padding: 16px; border-radius: var(--radius-md); background: var(--color-gray-50); margin-bottom: 20px; }
.pt-decide__box b { font: var(--text-body-strong); }
.pt-decide__box p { margin: 8px 0 0; font: var(--text-caption); color: var(--color-text-secondary); line-height: 20px; }
.pt-decide__meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 4px; }
.pt-count { font: var(--text-caption); color: var(--color-text-muted); }

@media (max-width: 1279px) {
  .pt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-new__grid, .pt-grid { grid-template-columns: minmax(0, 1fr); }
  .pt-half { max-width: none; }
}

/* list chrome tweaks */
.pt .segmented__item { border: 0; background: transparent; }
.pt .fchip > summary { background: var(--color-gray-100); }
.pt .fchip > summary b { color: var(--color-text-primary); font-weight: 600; }
.pt-tiered__row > *, .pt-tiered__head > * { min-width: 0; }
.pt-affix input { width: 100%; }
.pt-affix .input-affix__fix { font: var(--text-body); direction: rtl; color: var(--color-text-secondary); }
.pt-affix .input-affix__fix.ltr { direction: ltr; }
.pt-plan__foot { display: flex; align-items: center; gap: 12px; }
.pt-plan__foot .hint { margin: 0; }
.pt-inner .cell-stack .sub { white-space: nowrap; }
.pt-inner td:first-child { min-width: 240px; }
