/* Screen-only document registers. This sheet is not loaded by print.html. */
@media screen {
  #document-workspace-register-panel .register-table-frame {
    container: register-table / inline-size;
    min-width: 0;
  }

  .register-table-frame > .register-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .register-table > thead > tr > th,
  .register-table > tbody > tr > td {
    box-sizing: border-box;
    min-width: 0;
    padding: 10px 6px;
    vertical-align: top;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.5;
  }

  .register-table > thead > tr > th { font-size: 11px; }
  .register-table [data-register-column="document"] { width: 15%; }
  .register-table [data-register-column="job"] { width: 8%; }
  .register-table [data-register-column="party"] { width: 12%; }
  .register-table [data-register-column="date"] { width: 7%; }
  .register-table [data-register-column="due"] { width: 8%; }
  .register-table [data-register-column="total"],
  .register-table [data-register-column="paid"],
  .register-table [data-register-column="balance"] { width: 8%; }
  .register-table [data-register-column="status"] { width: 14%; }
  .register-table [data-register-column="actions"] { width: 12%; }

  .register-table[data-register-layout="billing"] [data-register-column="job"] { width: 12%; }
  .register-table[data-register-layout="billing"] [data-register-column="milestone"] { width: 14%; }
  .register-table[data-register-layout="billing"] [data-register-column="condition"] { width: 17%; }
  .register-table[data-register-layout="billing"] [data-register-column="date"],
  .register-table[data-register-layout="billing"] [data-register-column="due"] { width: 10%; }
  .register-table[data-register-layout="billing"] [data-register-column="total"] { width: 11%; }
  .register-table[data-register-layout="billing"] [data-register-column="document"],
  .register-table[data-register-layout="billing"] [data-register-column="status"] { width: 13%; }

  .register-table > tbody > tr > td:is([data-register-column="total"], [data-register-column="paid"], [data-register-column="balance"]) {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .register-table td :is(small, p, a, button, summary, .mono, .due-date-cell) {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .register-table td :is(small, .subtext) { font-size: 11px; }
  .register-table td .subtext { margin-left: 0; }
  .register-table td :is(.inv-status-control, .inv-status-summary, .document-workflow, .document-row-actions, .quotation-status-history, .qt-row-lock, .wo-status-control) {
    width: auto;
    min-width: 0;
    max-width: 100%;
  }
  .register-table td .inv-status-summary { grid-template-columns: minmax(0, 1fr); }
  .register-table td :is(select, input, button, .mini-action) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .register-table td select { width: 100%; font-size: 12px; }
  .register-table td :is(button:not(.qt-row-link), .mini-action, summary) { min-height: 30px; }
  .register-table td :is(.document-row-actions, .quotation-print-actions, .inv-status-actions) { flex-wrap: wrap; gap: 5px; }
  .register-table td details { min-width: 0; max-width: 100%; white-space: normal; }
  .register-table td details .table-wrap { margin: 0; max-width: 100%; overflow: auto; }
  .register-table td details table { width: 100%; min-width: 0; table-layout: fixed; }
  .register-table td details :is(th, td) { min-width: 0; white-space: normal; overflow-wrap: anywhere; }

  /* Use the actual register width, not the browser width (the sidebar varies). */
  @container register-table (max-width: 1040px) {
    .register-table-frame > .register-table,
    .register-table > tbody { display: block; }
    .register-table > thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }
    .register-table > tbody > tr {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      border-bottom: 2px solid var(--line, #e4e7e9);
      padding: 6px 4px;
      background: #fff;
    }
    .register-table > tbody > tr:nth-child(even) { background: #f8f9fa; }
    .register-table > tbody > tr > td {
      width: auto;
      max-width: none;
      min-width: 0;
      padding: 8px 10px;
      border: 0;
      grid-column: span 2;
      font-size: 13px;
    }
    .register-table > tbody > tr > td::before {
      content: attr(data-register-label);
      display: block;
      margin-bottom: 4px;
      font-weight: 600;
      line-height: 1.4;
      font-family: inherit;
      font-size: 11px;
      color: #65727b;
    }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="document"] { grid-column: span 3; order: 0; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="party"] { grid-column: span 3; order: 1; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="job"] { order: 2; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="date"] { order: 3; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="due"] { order: 4; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="total"] { order: 5; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="paid"] { order: 6; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="balance"] { order: 7; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="status"] { grid-column: span 3; order: 8; }
    .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="actions"] { grid-column: span 3; order: 9; }
    .register-table > tbody > tr > td:is([data-register-column="total"], [data-register-column="paid"], [data-register-column="balance"]) {
      background: #eef2f4;
      text-align: left;
    }
    .register-table[data-register-layout="billing"] > tbody > tr > td { grid-column: span 2; }
    .register-table[data-register-layout="billing"] > tbody > tr > td:is([data-register-column="document"], [data-register-column="status"]) { grid-column: span 3; }
    .register-table > tbody > tr > td[data-register-column="empty"] { grid-column: 1 / -1; }
    .register-table > tbody > tr > td[data-register-column="empty"]::before { content: none; }
  }

  @container register-table (max-width: 520px) {
    .register-table > tbody > tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .register-table[data-register-layout] > tbody > tr > td { grid-column: span 1; }
    .register-table[data-register-layout] > tbody > tr > td:is([data-register-column="document"], [data-register-column="party"], [data-register-column="due"], [data-register-column="balance"], [data-register-column="condition"], [data-register-column="status"], [data-register-column="actions"], [data-register-column="empty"]) { grid-column: 1 / -1; }
  }
}

.open-well-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.open-well-summary article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid #ccd8df;
  border-radius: 8px;
  background: #f5f8fa;
}
.open-well-summary article b { color: #263d4a; }
.open-well-summary article span { color: #356e96; font-weight: 700; text-align: right; }
@media (max-width: 700px) {
  .open-well-summary { grid-template-columns: 1fr; }
}

/* Dense, classic register: short selectable rows; full original controls below. */
@media screen {
  .register-compact { container: compact-list / inline-size; margin: 0 -23px -23px; }
  .register-compact-hint { margin: 0; padding: 8px 10px; color: #65727b; font-size: 11px; border-bottom: 1px solid var(--line); }
  .register-compact > .register-compact-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: fixed; }
  .register-compact-table > :is(thead, tbody) > tr > :is(th, td) {
    box-sizing: border-box;
    height: 34px;
    padding: 5px 6px;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    border-bottom: 1px solid #e2e6e9;
  }
  .register-compact-table > thead > tr > th { background: #e8edf0; color: #243744; font-size: 11px; font-weight: 700; }
  .register-compact-table th:nth-child(1) { width: 21%; }
  .register-compact-table th:nth-child(2) { width: 23%; }
  .register-compact-table th:nth-child(3) { width: 10%; }
  .register-compact-table th:nth-child(4),
  .register-compact-table th:nth-child(5) { width: 13%; }
  .register-compact-table th:nth-child(6) { width: 14%; }
  .register-compact-table th:nth-child(7) { width: 6%; }
  .register-compact-table .register-number { font: 600 11px/1.3 ui-monospace, Consolas, monospace; }
  .register-compact-table[data-layout="documents"] > :is(thead, tbody) > tr > :is(th, td):is(:nth-child(4), :nth-child(5)),
  .register-compact-table[data-layout="billing"] > :is(thead, tbody) > tr > :is(th, td):nth-child(5) { text-align: right; font-variant-numeric: tabular-nums; }
  .register-compact-table > tbody > tr:nth-child(even) { background: #f6f8f9; }
  .register-compact-table > tbody > tr[data-row-key] { cursor: pointer; }
  .register-compact-table > tbody > tr[data-row-key]:hover { background: #eaf1f6; }
  .register-compact-table > tbody > tr.is-selected { background: #dceaf5; box-shadow: inset 3px 0 #356e96; }
  .register-compact-table > tbody > tr:focus-visible { outline: 2px solid #356e96; outline-offset: -2px; }
  .register-compact-table button { padding: 3px 7px; min-width: 0; min-height: 26px; font: inherit; line-height: 1.2; color: #244f70; border: 1px solid #b8c9d6; border-radius: 2px; background: #fff; cursor: pointer; }
  .register-compact-table .register-empty { height: 44px; text-align: center; white-space: normal; }
  .register-detail-header { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 36px -23px 0; padding: 10px; background: #e8edf0; border-top: 2px solid #356e96; font-size: 13px; scroll-margin-top: 100px; }
  .register-detail-header strong { min-width: 0; overflow-wrap: anywhere; }
  .register-detail-header button { min-height: 30px; padding: 4px 8px; white-space: nowrap; font-size: 12px; }
  .register-detail-header[hidden], .register-detail-frame[hidden] { display: none !important; }
  .register-detail-frame > .register-table,
  .register-detail-frame > .register-table > tbody { display: block; }
  .register-detail-frame > .register-table > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .register-detail-frame > .register-table > tbody > tr { display: none; }
  .register-detail-frame > .register-table > tbody > tr[data-register-selected="true"] { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: 6px 4px; background: #fff; }
  .register-detail-frame > .register-table > tbody > tr > td { width: auto; min-width: 0; padding: 8px 10px; grid-column: span 2; border: 0; }
  .register-detail-frame > .register-table > tbody > tr > td::before { content: attr(data-register-label); display: block; margin-bottom: 4px; color: #65727b; font: 600 11px/1.4 sans-serif; }
  .register-detail-frame > .register-table > tbody > tr > td:is([data-register-column="document"], [data-register-column="party"], [data-register-column="status"], [data-register-column="actions"]) { grid-column: span 3; }
  @container register-table (max-width: 520px) {
    .register-detail-frame > .register-table > tbody > tr[data-register-selected="true"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .register-detail-frame > .register-table > tbody > tr > td { grid-column: span 1; }
    .register-detail-frame > .register-table > tbody > tr > td:is([data-register-column="document"], [data-register-column="party"], [data-register-column="due"], [data-register-column="balance"], [data-register-column="condition"], [data-register-column="status"], [data-register-column="actions"]) { grid-column: 1 / -1; }
  }
  @container compact-list (max-width: 620px) {
    .register-compact-table > :is(thead, tbody) > tr > :is(th, td):is(:nth-child(3), :nth-child(4), :nth-child(6)) { display: none; }
    .register-compact-table th:nth-child(1) { width: 35%; }
    .register-compact-table th:nth-child(2) { width: 31%; }
    .register-compact-table th:nth-child(5) { width: 25%; }
    .register-compact-table th:nth-child(7) { width: 9%; }
    .register-compact-table > :is(thead, tbody) > tr > :is(th, td) { font-size: 11px; padding: 5px 4px; }
    .register-compact-table .register-number { white-space: normal; overflow-wrap: anywhere; font-size: 10px; }
    .register-compact-table button { padding: 3px 5px; }
  }
}

/* Interleave summaries with original detail rows without moving React nodes. */
@media screen {
  #document-workspace-register-panel .register-inline-host {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    container: register-inline / inline-size;
  }
  .register-inline-host > * { min-width: 0; }
  .register-inline-host .register-compact,
  .register-compact > .register-compact-table,
  .register-compact-table > :is(thead, tbody),
  .register-inline-host > .register-detail-frame,
  .register-detail-frame > .register-table,
  .register-detail-frame > .register-table > tbody { display: contents; }
  .register-compact-hint { order: 10; margin: 0 -23px; }
  .register-compact-table > :is(thead, tbody) > tr {
    display: grid;
    grid-template-columns: 21% 23% 10% 13% 13% 14% 6%;
    margin: 0 -23px;
    min-width: 0;
    border-bottom: 1px solid #e4e8eb;
  }
  .register-compact-table > thead > tr { order: 20; background: #e8edf0; }
  .register-compact-table > tbody > tr { order: 100; }
  .register-compact-table > :is(thead, tbody) > tr > :is(th, td) {
    display: block;
    width: auto;
    height: auto;
    min-height: 35px;
    line-height: 25px;
    border: 0;
  }
  .register-compact-table button { min-height: 25px; vertical-align: top; }
  .register-compact-table > thead > tr > th:nth-child(n) { width: auto; }
  .register-compact-table .register-number { line-height: 25px; }
  .register-compact-table .register-empty { grid-column: 1 / -1; }
  .register-detail-header { margin: 0 -23px; padding: 8px 10px; background: #edf3f7; border-top: 0; border-left: 3px solid #356e96; font-size: 12px; }
  .register-inline-host > .register-detail-header[hidden],
  .register-inline-host > .register-detail-frame[hidden] { display: none !important; }
  .register-detail-frame > .register-table > thead { display: none; }
  .register-detail-frame > .register-table > tbody > tr[data-register-selected="true"] {
    min-width: 0;
    margin: 0 -23px;
    padding-bottom: 12px;
    border-left: 3px solid #356e96;
    border-bottom: 2px solid #b8c9d6;
  }
  .register-detail-frame > .register-table[data-register-layout] > tbody > tr > td { width: auto; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="document"] { order: 0; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="party"] { order: 1; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="job"] { order: 2; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="date"] { order: 3; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="due"] { order: 4; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="total"] { order: 5; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="paid"] { order: 6; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="balance"] { order: 7; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="status"] { order: 8; }
  .register-table[data-register-layout="documents"] > tbody > tr > [data-register-column="actions"] { order: 9; }
  .register-table > tbody > tr > td:is([data-register-column="total"], [data-register-column="paid"], [data-register-column="balance"]) { background: #eef2f4; text-align: left; }
  @container register-inline (max-width: 574px) {
    .register-compact-table > :is(thead, tbody) > tr { grid-template-columns: 35% 31% 25% 9%; }
    .register-compact-table > :is(thead, tbody) > tr > :is(th, td):is(:nth-child(3), :nth-child(4), :nth-child(6)) { display: none; }
    .register-compact-table > :is(thead, tbody) > tr > :is(th, td) { font-size: 11px; padding: 5px 4px; }
    .register-compact-table .register-number { font-size: 10px; }
    .register-compact-table button { padding: 3px 2px; }
  }
  @container register-inline (max-width: 474px) {
    .register-detail-frame > .register-table > tbody > tr[data-register-selected="true"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .register-detail-frame > .register-table > tbody > tr > td { grid-column: span 1; }
    .register-detail-frame > .register-table > tbody > tr > td:is([data-register-column="document"], [data-register-column="party"], [data-register-column="due"], [data-register-column="balance"], [data-register-column="condition"], [data-register-column="status"], [data-register-column="actions"]) { grid-column: 1 / -1; }
  }
}
