.ticket-density-control { display: flex; align-items: center; gap: 6px; margin-left: auto; white-space: nowrap; }
.ticket-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .875rem; }
.ticket-pagination [data-ticket-page-status] { font-variant-numeric: tabular-nums; }
.ticket-pagination button { min-height: 32px; padding: 4px 9px; }
/* Center the lower pager and leave room below it for the fixed Messages launcher. */
.ticket-pagination-bottom { justify-content: center; padding: 12px 0 calc(76px + env(safe-area-inset-bottom, 0px)); }
.ticket-phone-links { display: grid; gap: 0; margin-top: 1px; }
.ticket-call-link { display: block; padding: 0; border: 0; border-radius: 2px; background: transparent; color: #1457a0; text-align: left; text-decoration: underline; font-size: inherit; line-height: 1.25; overflow-wrap: anywhere; cursor: pointer; }
.ticket-call-link:focus-visible { outline: 2px solid #1457a0; outline-offset: 2px; }
.ticket-call-dialog { width: min(440px, calc(100vw - 24px)); padding: 20px; border: 1px solid #7c8e9c; border-radius: 8px; color: #203344; }
.ticket-call-dialog::backdrop { background: #14253388; }
.ticket-call-dialog h2 { margin: 0 0 12px; font-size: 1.25rem; }
.ticket-call-dialog p { overflow-wrap: anywhere; line-height: 1.5; }
.ticket-call-dialog .call-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ticket-call-dialog :is(button,a) { min-height: 40px; padding: 8px 12px; font-size: .875rem; }
.ticket-call-dialog [hidden] { display: none !important; }
/* Operational text stays regular even on unread rows; colors retain its meaning.
   Scope this to list cells so headings and detail/Field Work alerts are unchanged. */
#view-tickets #ticket-list-print-area .ticket-row > td:is(:nth-child(10),:nth-child(11),:nth-child(12)),
#view-tickets #ticket-list-print-area .ticket-row > td:is(:nth-child(10),:nth-child(11),:nth-child(12)) * { font-weight: 400; letter-spacing: normal; }
@media screen and (min-width: 821px) {
  body.ticket-list-screen .sidebar { width: 180px; padding-inline: 10px; }
  body.ticket-list-screen .main { margin-left: 180px; }
  body.ticket-list-screen #view-tickets { max-width: none; padding-inline: 16px; }
  body.ticket-list-screen .sidebar :is(.brand, .nav-item) { padding-inline: 6px; }
  body.ticket-list-screen .sidebar .nav-label { white-space: normal; overflow-wrap: anywhere; }
}
@media screen {
  /* Reserve a small fixed area for short operational flags. Give the remaining
     width to names, notes and addresses instead of shrinking the text to fit. */
  #view-tickets #ticket-list-panel { --ticket-font: .875rem; --ticket-meta: .75rem; --ticket-padding: 3px 4px; --ticket-min-width: 90rem; --ticket-flex-width: calc(max(100cqw, var(--ticket-min-width)) - 35.125rem); }
  #view-tickets #ticket-list-panel[data-density="compact"] { --ticket-padding: 2px 3px; --ticket-min-width: 87rem; }
  #view-tickets #ticket-list-panel[data-density="comfortable"] { --ticket-font: 1rem; --ticket-meta: .8125rem; --ticket-padding: 5px 4px; --ticket-min-width: 104rem; }
  /* Container units give fixed-layout tables definite column widths; mixed
     percentage/length cell widths otherwise fall back to equal-width columns. */
  #view-tickets #ticket-list-panel #ticket-list-print-area { container-type: inline-size; }
  #view-tickets #ticket-list-panel #ticket-list-print-area table { width: 100%; min-width: var(--ticket-min-width); table-layout: fixed; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td) { min-width: 0; max-width: none; height: auto; padding: var(--ticket-padding); font-size: var(--ticket-font); line-height: 1.25; position: static; box-shadow: none; white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
  #view-tickets #ticket-list-panel #ticket-list-print-area th { padding-block: 6px; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(.ticket-primary-id,.ticket-customer-name,.part-status,.next-action,.internal-note-cell,.csr-note-cell,.ticket-address-street,.ticket-address-locality,.ticket-call-link,.ticket-job-types li,.ticket-job-type-normal) { font-size: inherit; line-height: 1.25; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(td small,.clickable-ticket small) { margin-top: 1px; font-size: var(--ticket-meta); line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(.next-action,.part-status,.ticket-payment-alert,.clickable-ticket,.ticket-appliance-cell>span) { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(.next-action,.part-status) { padding: 1px 3px; }
  #view-tickets #ticket-list-panel #ticket-list-print-area .ticket-row > td:nth-child(10) > .part-status,
  #view-tickets #ticket-list-panel #ticket-list-print-area .next-action { padding-inline: 2px; }
  #view-tickets #ticket-list-panel #ticket-list-print-area .ticket-payment-alert-list { padding: 2px 3px; margin-top: 2px; border-left-width: 3px; gap: 1px; }
  #view-tickets #ticket-list-panel #ticket-list-print-area .ticket-job-types { gap: 0; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(.diag-flag,.redo-check,.warranty-tag) { width: auto; height: auto; min-width: 0; min-height: 18px; max-width: 100%; padding: 1px; font-size: inherit; line-height: 1.2; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(1) { width: calc(var(--ticket-flex-width) * .125); }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(2) { width: 5.25rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(3) { width: calc(var(--ticket-flex-width) * .125); }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(4) { width: calc(var(--ticket-flex-width) * .09); }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(5) { width: calc(var(--ticket-flex-width) * .155); padding-right: .75rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(6) { width: calc(var(--ticket-flex-width) * .13); padding-left: .5rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(7) { width: 5.875rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(8) { width: 4.375rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(9) { width: 5.625rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(10) { width: calc(var(--ticket-flex-width) * .125); }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(11) { width: calc(var(--ticket-flex-width) * .125); }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(12) { width: calc(var(--ticket-flex-width) * .125); }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(13) { width: 2.625rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(14) { width: 2.625rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(15) { width: 6rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):nth-child(16) { width: 2.75rem; }
  #view-tickets #ticket-list-panel #ticket-list-print-area :is(th,td):is(:nth-child(13),:nth-child(14),:nth-child(16)) { text-align: center; }
  #view-tickets #ticket-list-panel .result-bar { gap: 8px; padding-block: 6px; font-size: .875rem; }
}
@media screen and (max-width: 820px) {
  #view-tickets .ticket-density-control { margin-left: 0; }
  #view-tickets #ticket-density { min-height: 36px; }
  .ticket-call-link { min-height: 32px; }
  .ticket-pagination button { min-height: 40px; }
}
@media print { .ticket-call-dialog, .ticket-pagination { display: none; } .ticket-call-link { color: inherit; text-decoration: none; padding: 0; } }
