/* Approved Night Desk frames: final build corrections, not a new direction. */
h3 {
  font-weight: 600;
}
.nd-logo img {
  width: 179px;
  height: 24px;
}
.ps-msg__body > .ps-btn,
.nd-stack > .ps-btn,
.ps-auth > .ps-btn {
  align-self: flex-start;
}
.nd-header {
  min-height: 64px;
}
.nd-global-test {
  white-space: nowrap;
}
.nd-auth-header .nd-global-test {
  margin-left: auto;
}
.nd-menu-button {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}
.nd-content {
  padding-top: 22px;
}
@media (max-width: 850px) {
  .nd-mobilebar {
    min-height: 56px;
    padding: 6px 8px 6px 16px;
  }
  .nd-mobilebar .nd-logo img {
    width: 178px;
    height: 24px;
  }
  .nd-header {
    padding: 0;
    gap: 0;
  }
  .nd-header h1 {
    padding: 20px 16px 12px;
  }
  .nd-header .nd-global-test,
  .nd-auth-header .nd-global-test {
    order: -1;
    flex-basis: 100%;
    width: 100%;
    min-height: 34px;
    padding: 7px 16px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--amber-line);
    border-radius: 0;
    background: var(--amber-tint);
    white-space: normal;
    font-size: 12px;
    line-height: 1.35;
    gap: 8px;
  }
  .nd-auth-header .nd-global-test {
    order: 3;
    margin: 0 -16px -12px;
    flex-basis: calc(100% + 32px);
  }
}

/* Quote: the approved four totals, six-column table and pinned action bar. */
.nd-quote-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.nd-quote-summary .ps-summary__cell {
  padding: 18px 20px;
}
.nd-rule {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 21px;
}
.nd-rule .ps-ic {
  flex: 0 0 18px;
  margin-top: 2px;
}
.nd-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}
.nd-quote-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  background: var(--surface-panel);
}
.nd-quote-table th {
  font-family: var(--font-mono);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 500;
  color: var(--ink-faint);
  letter-spacing: 0.08em;
  background: var(--surface-inset);
}
.nd-quote-table th,
.nd-quote-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}
.nd-quote-table tr:last-child td {
  border-bottom: 0;
}
.nd-quote-table td {
  font-size: 13px;
}
.nd-quote-table .ps-help {
  margin: 5px 0 0;
}
.nd-credit-cell {
  white-space: nowrap;
  font-family: var(--font-mono);
}
.nd-credit-cell strong {
  color: var(--amber);
  font-size: 16px;
}
.nd-quote-bar {
  margin: 4px -32px -28px;
  z-index: 5;
}
.nd-quote-bar form {
  margin: 0;
}
.nd-quote-until {
  font-family: var(--font-mono);
  font-size: 18px;
  min-height: 36px;
}
@media (max-width: 760px) {
  .nd-quote-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nd-quote-summary .ps-summary__cell {
    padding: 14px;
    border-bottom: 1px solid var(--line);
  }
  .nd-quote-summary .ps-summary__cell:nth-child(3) {
    border-left: 0;
  }
  .nd-quote-summary .ps-summary__cell:nth-child(n + 3) {
    border-bottom: 0;
  }
  .nd-quote-table th:nth-child(1),
  .nd-quote-table td:nth-child(1),
  .nd-quote-table th:nth-child(4),
  .nd-quote-table td:nth-child(4) {
    display: none;
  }
  .nd-quote-table th,
  .nd-quote-table td {
    padding: 12px 8px;
  }
  .nd-quote-table .ps-chip {
    white-space: normal;
    height: auto;
    min-height: 28px;
  }
  .nd-quote-table td:nth-child(2) {
    font-size: 11px;
  }
  .nd-quote-table td:nth-child(3) {
    overflow-wrap: anywhere;
    font-size: 11px;
  }
  .nd-quote-bar {
    margin: 0 -16px -24px;
    padding: 12px 16px;
    gap: 8px;
  }
  .nd-quote-bar > .ps-bar__note {
    display: none;
  }
  .nd-quote-bar .ps-bar__actions {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .nd-quote-bar .ps-bar__actions .ps-btn {
    width: 100%;
    font-size: 12px;
  }
}

/* Job totals and phone collection form. */
.nd-job-totals .nd-results-head {
  margin-bottom: 20px;
}
.nd-job-figures {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 20px;
}
.nd-job-figures strong {
  display: block;
  font-family: var(--font-mono);
  font-size: 26px;
  font-weight: 600;
  margin-top: 8px;
}
.nd-job-figures p {
  margin: 0;
  font-size: 12px;
  color: var(--ink-muted);
}
.nd-job-figures p strong {
  display: inline-block;
  color: var(--amber);
}
.ps-progress__part--paused {
  background: var(--paused);
}
.nd-paused {
  border-color: var(--paused);
  background: var(--paused-tint);
}
.nd-paused > .ps-ic {
  color: var(--paused);
}
@media (max-width: 760px) {
  .nd-job-figures {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .nd-job-table th:nth-child(4),
  .nd-job-table td:nth-child(4) {
    display: table-cell;
  }
  .nd-job-table th:nth-child(2),
  .nd-job-table td:nth-child(2) {
    display: none;
  }
}
@media (max-width: 620px) {
  .nd-form:has(input[name="name"]) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .nd-form:has(input[name="name"]) > * {
    width: 100%;
  }
}
@media (max-width: 760px) {
  .nd-quote-bar {
    display: block;
  }
  .nd-quote-bar .ps-bar__note {
    display: block;
    margin-top: 5px;
  }
  .nd-quote-bar > .ps-bar__note {
    display: none;
  }
  .nd-quote-bar .ps-bar__actions {
    display: block;
    margin-top: 10px;
  }
  .nd-quote-bar .ps-bar__actions > a {
    display: none;
  }
  .nd-quote-bar .ps-bar__actions .ps-btn {
    width: 100%;
    font-size: 14px;
  }
  .nd-checkline {
    overflow-wrap: anywhere;
    flex-wrap: wrap;
  }
}

/* Discover form, paste split panel and result controls. */
.nd-phone-label {
  display: none;
}
.nd-paste-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 24px;
}
.nd-paste-form textarea {
  min-height: 280px;
  width: 100%;
  margin-top: 12px;
}
.nd-paste-form .nd-panel {
  padding: 22px;
}
.nd-paste-bar {
  grid-column: 1 / -1;
  margin: 0 -32px -24px;
}
.nd-fold-card {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 16px;
  background: var(--surface-panel);
  color: var(--ink);
}
.nd-fold-card strong,
.nd-fold-card .ps-label {
  display: block;
}
.nd-fold-card .nd-link {
  position: absolute;
  right: 32px;
  top: 35px;
}
.nd-fold-card {
  position: relative;
}
.nd-searching {
  border: 1px solid var(--line);
  background: var(--surface-panel);
  border-radius: 10px;
  margin: 24px 32px;
  padding: 24px;
}
.nd-skeletons {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.nd-skeletons > div {
  height: 60px;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}
.ps-seg button[aria-pressed="true"]::before {
  content: "✓ ";
}
input[type="date"]:disabled {
  border-style: dashed;
  opacity: 0.6;
}
@media (max-width: 760px) {
  .nd-wide-label {
    display: none;
  }
  .nd-phone-label {
    display: inline;
  }
  .nd-paste-form {
    display: flex;
    flex-direction: column;
  }
  .nd-paste-bar {
    margin: 0 -16px -24px;
  }
  .nd-searching {
    margin: 16px;
    padding: 18px;
  }
}

.nd-library-search {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  align-items: end;
}
.nd-library-search .nd-platform-filter {
  grid-column: 1 / -1;
  grid-row: 1;
}
.nd-library-search .ps-seg {
  display: inline-flex;
}
.nd-library-search .ps-seg button {
  border-radius: 0;
  margin: 0;
}
.nd-library-columns {
  font-family: var(--font-mono);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
  padding-top: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.nd-library-side h3 {
  font-family: var(--font-mono);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--ink-faint);
}
.nd-library-filters,
.nd-mobile-balance {
  display: none;
}
.nd-empty-steps {
  display: flex;
  gap: 32px;
  padding: 18px 0 18px 20px;
}
.nd-empty-steps li {
  flex: 1;
  padding-left: 5px;
}
.nd-empty-steps span {
  display: block;
  color: var(--ink-muted);
  font-size: 13px;
  margin-top: 6px;
}
@media (max-width: 850px) {
  .nd-library-side {
    display: none;
  }
  .nd-library-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }
  .nd-library-search > .ps-field:first-of-type {
    grid-column: 1;
  }
  .nd-library-search .nd-platform-filter,
  .nd-library-search > .ps-btn--search {
    display: none;
  }
  .nd-library-filters {
    display: inline-flex;
    grid-column: 2;
  }
  .nd-mobile-balance {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 11px;
    color: var(--ink-muted);
  }
  .nd-mobile-balance strong {
    font-family: var(--font-mono);
    color: var(--ink);
  }
  .nd-library-columns {
    display: none;
  }
  .nd-empty-steps {
    display: block;
  }
  .nd-empty-steps li {
    margin-bottom: 14px;
  }
}
.nd-match-passage {
  grid-column: 1 / -1;
  color: var(--ink-muted);
  line-height: 22px;
  font-size: 13px;
  margin: 4px 0;
}
.nd-match-passage mark {
  background: var(--amber-tint);
  color: var(--amber);
  border-radius: 2px;
  padding: 1px 2px;
}

.nd-export-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.nd-export-footer code {
  font-size: 12px;
  color: var(--ink-muted);
  overflow-wrap: anywhere;
}
.nd-export-footer .ps-btn {
  width: auto;
}
.nd-export .ps-choice code {
  margin-left: auto;
  font-size: 12px;
  color: var(--ink-faint);
}
.nd-reader {
  grid-template-columns: minmax(0, 1fr) 260px;
}
.nd-reading-surface {
  max-width: calc(68ch + 88px);
  width: 100%;
  box-sizing: border-box;
}
.nd-reader-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 900px) {
  .nd-reader {
    display: flex;
    flex-direction: column-reverse;
  }
  .nd-export-footer {
    flex-direction: column;
    align-items: stretch;
  }
  .nd-export-footer .nd-row {
    justify-content: flex-end;
  }
}

.nd-signup-grid {
  display: grid;
  grid-template-columns: minmax(0, 440px) minmax(0, 360px);
  max-width: 860px;
  align-items: start;
  gap: 48px;
  margin: 64px auto;
}
.nd-signup-grid .ps-auth {
  width: 100%;
  max-width: none;
  margin: 0;
}
.nd-signup-grid > .nd-panel {
  margin-top: 28px;
  border: 0;
  background: transparent;
}
.nd-signup-grid .ps-balance {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.nd-signup-grid .ps-balance__cell {
  display: flex;
  align-items: baseline;
  gap: 14px;
}
@media (max-width: 760px) {
  .nd-signup-grid {
    display: flex;
    flex-direction: column;
    margin: 24px 16px;
    gap: 20px;
  }
  .nd-signup-grid > .nd-panel {
    margin-top: 0;
  }
}

.ps-testblock {
  display: flex;
  gap: 14px;
  padding: 18px 22px;
  background: var(--amber-tint);
  border: 1px solid var(--amber-line);
  border-radius: 10px;
}
.ps-testblock > .ps-ic {
  color: var(--amber);
  flex-shrink: 0;
  margin-top: 2px;
}
.ps-testblock .ps-label {
  color: var(--amber);
  margin: 0 0 6px;
}
.ps-testblock p {
  font-size: 13px;
  line-height: 21px;
  margin: 0;
}
.nd-explainers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.nd-explainers p {
  font-size: 13px;
  line-height: 22px;
  color: var(--ink-muted);
}
.nd-checkout-steps {
  padding-left: 28px;
  color: var(--ink-muted);
}
.nd-checkout-steps li {
  padding: 8px 0 8px 8px;
}
.ps-ptable td time,
.ps-activity__when {
  font-family: var(--font-mono);
  font-size: 12px;
}
@media (max-width: 760px) {
  .nd-explainers {
    grid-template-columns: 1fr;
  }
}

/* Phone rows use the board's title line, metadata line and icon actions. */
.nd-library .ps-seg {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 0;
  border: 1px solid var(--line-control);
  border-radius: 8px;
  overflow: hidden;
}
.nd-library .ps-seg button {
  border: 0;
  border-right: 1px solid var(--line-control);
  border-radius: 0;
  margin: 0;
}
.nd-library .ps-seg button:last-child {
  border-right: 0;
}
@media (max-width: 850px) {
  .nd-global-test strong {
    white-space: nowrap;
    flex-shrink: 0;
  }
  .nd-mobile-edit.nd-fold-card {
    display: block;
    padding-right: 100px;
    min-height: 76px;
  }
  .nd-fold-card .nd-link {
    right: 14px;
    top: 20px;
  }
  .nd-fold-card strong {
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .nd-library-search > .ps-field:first-of-type > .ps-label {
    display: none;
  }
  .nd-library-search .nd-library-filters {
    min-width: 76px;
    width: auto;
    height: 48px;
    align-self: end;
  }
  .nd-library > .nd-stack {
    display: flex;
    flex-direction: column;
  }
  .nd-library-search {
    order: 0;
  }
  .nd-library > .nd-stack > .nd-small {
    order: 1;
  }
  .nd-mobile-balance {
    order: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-radius: 10px;
    padding: 0;
  }
  .nd-mobile-balance > span {
    padding: 14px;
    border-right: 1px solid var(--line);
    font-size: 12px;
  }
  .nd-mobile-balance > span:last-child {
    border: 0;
  }
  .nd-mobile-balance strong {
    display: block;
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 4px;
  }
  .nd-library-count {
    order: 3;
  }
  .nd-library-count h2 {
    font-size: 13px;
    color: var(--ink-muted);
  }
  .nd-library-count .ps-btn {
    padding: 0 12px;
    min-height: 44px;
  }
  .nd-library > .nd-stack > .nd-list {
    order: 4;
  }
  .nd-library > .nd-stack > .nd-row:last-of-type {
    order: 5;
  }
  .nd-library-columns {
    display: none;
  }
  .nd-trow {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 88px;
    gap: 3px 8px;
    padding: 12px 0;
    position: relative;
    min-height: 70px;
  }
  .nd-trow > strong {
    grid-column: 1;
    grid-row: 1;
    font-size: 13px;
  }
  .nd-trow > .nd-open {
    grid-column: 2;
    grid-row: 1;
    font-size: 12px;
    min-height: 0;
    overflow-wrap: anywhere;
  }
  .nd-trow > .nd-lang {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    font-size: 12px;
    white-space: nowrap;
  }
  .nd-trow > .nd-origin {
    grid-column: 2;
    grid-row: 2;
    font-size: 12px;
    line-height: 18px;
  }
  .nd-trow > .nd-acts {
    grid-column: 3;
    grid-row: 1 / 3;
    display: flex;
    gap: 0;
    margin: 0;
  }
  .nd-trow .ps-orig {
    width: 44px;
    padding: 0;
    justify-content: center;
  }
  .nd-trow .nd-acts summary {
    width: 44px;
    height: 44px;
  }
  .nd-trow .nd-match-passage {
    grid-row: 3;
  }
}

.nd-date-wrap {
  position: relative;
  display: block;
}
.nd-date-empty {
  position: absolute;
  left: 12px;
  top: 0;
  height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink-faint);
  font-size: 12px;
  pointer-events: none;
  z-index: 1;
}
.nd-date-is-empty {
  color: transparent;
}
.nd-date-is-empty::-webkit-datetime-edit {
  color: transparent;
}
.nd-date-is-empty:focus {
  color: var(--ink);
}
.nd-date-wrap:focus-within .nd-date-empty {
  display: none;
}
.nd-trial-explainer {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 22px;
}
.nd-trial-explainer li {
  display: flex;
  gap: 10px;
}
.nd-trial-explainer .ps-ic {
  flex: 0 0 18px;
  margin-top: 2px;
}
.nd-trial-explainer strong {
  color: var(--ink);
  font-weight: 600;
}
.nd-signup-grid .ps-balance {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.nd-signup-grid .ps-balance__cell {
  display: block;
}
.nd-signup-grid .ps-balance__fig {
  display: block;
  font-size: 26px;
}
.nd-signup-grid .ps-balance__what {
  font-size: 12px;
}
.nd-signup-grid > .nd-panel {
  width: 100%;
}

.nd-rowmeta {
  display: contents;
}
@media (max-width: 850px) {
  .nd-trow.nd-library-columns {
    display: none;
  }
  .nd-library-count {
    display: none;
  }
  .nd-trow .nd-rowmeta {
    display: block;
    grid-column: 1 / 3;
    grid-row: 2;
    font-size: 12px;
    line-height: 19px;
  }
  .nd-trow .nd-rowmeta .nd-lang {
    display: inline;
    width: auto;
    white-space: normal;
  }
  .nd-trow .nd-rowmeta .nd-origin {
    display: inline;
    width: auto;
  }
  .nd-rowmeta .nd-origin::before {
    content: " · ";
  }
  .nd-header .nd-global-test,
  .nd-auth-header .nd-global-test {
    font-size: 11px;
  }
}

.nd-skeletons > .nd-skeleton-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 2fr) minmax(0, 1fr) 90px;
  align-items: center;
  gap: 24px;
  padding: 0 14px;
  background: transparent;
}
.nd-skeleton-row .ps-skeleton {
  height: 10px;
  border-radius: 4px;
  opacity: 0.65;
}
.nd-skeleton-row .ps-skeleton:first-child {
  width: 18px;
  height: 18px;
}
@media (max-width: 760px) {
  .nd-skeletons > .nd-skeleton-row {
    grid-template-columns: 20px minmax(0, 1fr) 60px;
    gap: 14px;
    padding: 0;
  }
  .nd-skeleton-row .ps-skeleton:last-child {
    display: none;
  }
}
@media (max-width: 850px) {
  .nd-trow:not(.nd-library-columns) {
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .nd-trow > .nd-open {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
