/* ENG-1520: the Decision view's lodgement pack and closing cards. Tokens only. */

.lodgement-pack, .quote-closing { margin-top: var(--space-4); }

.lodgement-pack-progress, .lodgement-owner-progress {
  display: block;
  width: 100%;
  height: 0.5rem;
  border: 0;
  border-radius: var(--radius-pill);
  overflow: hidden;
  appearance: none;
  background: var(--neutral-soft);
  color: var(--success);
}
.lodgement-pack-progress::-webkit-progress-bar, .lodgement-owner-progress::-webkit-progress-bar { background: var(--neutral-soft); }
.lodgement-pack-progress::-webkit-progress-value, .lodgement-owner-progress::-webkit-progress-value { background: var(--success); }
.lodgement-pack-progress::-moz-progress-bar, .lodgement-owner-progress::-moz-progress-bar { background: var(--success); }

.lodgement-pack-note, .lodgement-pack-foot, .lodgement-pack-empty { margin: var(--space-3) 0 0; color: var(--text-secondary); font-size: var(--fs-body-sm); }
.lodgement-pack-empty { margin-top: 0; }

.lodgement-owners { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-4); }
.lodgement-owner { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--bg-card-opaque); }
.lodgement-owner-head { display: flex; align-items: center; gap: var(--space-3); }
.lodgement-owner-mark { flex: none; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: var(--fs-caption); font-weight: var(--fw-heavy); }
.lodgement-owner-titles { flex: 1 1 auto; min-width: 0; }
.lodgement-owner-name { margin: 0; color: var(--text-primary); font-size: var(--fs-body); font-weight: var(--fw-heavy); }
.lodgement-owner-role { margin: 0; color: var(--text-secondary); font-size: var(--fs-body-sm); }
.lodgement-owner-count { flex: none; color: var(--navy-solid); font-size: var(--fs-body-lg); font-weight: var(--fw-heavy); font-variant-numeric: tabular-nums; }
.lodgement-owner-eyebrow { margin: 0; color: var(--text-secondary); font-family: var(--font-mono); font-size: var(--fs-label); font-weight: var(--fw-semibold); letter-spacing: var(--tr-wide); text-transform: uppercase; }
.lodgement-owner-list { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.lodgement-owner-more > summary { cursor: pointer; color: var(--accent); font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); }
.lodgement-owner-more[open] > summary { margin-bottom: var(--space-2); }
.lodgement-item { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--border-subtle); border-radius: var(--radius-sm); }
.lodgement-item-text { display: grid; gap: var(--space-1); min-width: 0; }
.lodgement-item-title { margin: 0; color: var(--text-primary); font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.lodgement-item-need { margin: 0; color: var(--text-secondary); font-size: var(--fs-body-sm); }
.lodgement-item-confirm { justify-self: start; max-width: 100%; white-space: normal; text-align: left; }

.quote-closing { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.closing-card { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-6); border: 1px solid var(--x-panel-border); border-radius: var(--radius-section); background: var(--bg-card-opaque); box-shadow: var(--panel-shadow); }
.closing-card-head { display: flex; align-items: center; gap: var(--space-3-5); }
.closing-card-titles { min-width: 0; }
.closing-card-eyebrow { margin: 0; color: var(--text-secondary); font-family: var(--font-mono); font-size: var(--fs-label); font-weight: var(--fw-semibold); letter-spacing: var(--tr-wide); text-transform: uppercase; }
.closing-card h3 { margin: 0; color: var(--navy-solid); font-size: var(--fs-h3); font-weight: var(--fw-heavy); }
.closing-card-status, .closing-card-body { margin: 0; }
.closing-card-body { color: var(--text-body); font-size: var(--fs-body-sm); }
.closing-card-unresolved, .closing-card-notes { display: grid; gap: var(--space-1); margin: 0; padding-left: var(--space-5); color: var(--text-body); font-size: var(--fs-body-sm); }
.closing-card-refuses { display: grid; gap: var(--space-1); }
.closing-card-refuses > p { margin: 0; color: var(--text-body); font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); }
.closing-card-action { display: grid; gap: var(--space-2); margin-top: auto; }
.closing-card-action > .dl-button { justify-self: start; }
.closing-card-action > .dl-button:disabled { cursor: not-allowed; opacity: 0.55; box-shadow: none; }
.closing-card-reason { display: grid; gap: var(--space-1); color: var(--text-body); font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); }
.closing-card-reason input { min-width: 0; }
.closing-card-hold { margin: 0; color: var(--text-secondary); font-size: var(--fs-body-sm); }
/* The lifecycle step after approval: issue, then outcome, recorded on the Full record's Lifecycle card. */
.quote-closing-next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-4); margin-top: var(--space-4); padding: var(--space-4) var(--space-6); border: 1px solid var(--x-panel-border); border-radius: var(--radius-section); background: var(--bg-card-opaque); box-shadow: var(--panel-shadow); }
.quote-closing-next p { flex: 1 1 22rem; margin: 0; color: var(--text-body); font-size: var(--fs-body-sm); }

/* Three equal columns once the main column can hold them; stacked on a phone or tablet. */
@media (min-width: 1024px) {
  .lodgement-owners, .quote-closing { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* On a phone the confirmed pill drops under the title rather than squeezing it. */
.lodgement-pack .dl-panel__head { flex-wrap: wrap; }
.lodgement-pack .dl-panel__titles { flex-basis: 14rem; }
