.practice-dashboard {
  --pd-ink: #163b40;
  --pd-muted: #687a80;
  --pd-line: #e0e8e7;
  --pd-teal: #187971;
  color: var(--pd-ink);
  max-width: 1520px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.practice-dashboard .page-heading {
  margin-bottom: 12px;
}
.practice-dashboard h2 {
  font-size: 21px;
  letter-spacing: -0.5px;
  margin: 0 0 5px;
}
.practice-dashboard h3 {
  margin: 0;
  font-size: 15px;
}
.practice-dashboard p {
  color: var(--pd-muted);
}
.pd-freshness {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: var(--pd-muted);
  margin-bottom: 26px;
}
.pd-freshness > span:last-child {
  margin-left: auto;
}
.pd-dot {
  height: 7px;
  width: 7px;
  background: #478a76;
  border-radius: 50%;
}
.pd-stats,
.pd-compliance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.pd-stat {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: var(--pd-ink) !important;
  background: #fff;
  border: 1px solid var(--pd-line);
  border-radius: 12px;
  padding: 20px 22px;
  transition:
    border-color 0.15s,
    transform 0.15s;
}
.pd-stat:hover {
  border-color: var(--pd-teal);
  transform: translateY(-2px);
}
.pd-stat > span {
  font-size: 13px;
  font-weight: 600;
}
.pd-stat > strong {
  font-size: 36px;
  line-height: 1.4;
  letter-spacing: -1.5px;
  font-weight: 650;
}
.pd-stat > small {
  font-size: 11px;
  color: var(--pd-muted);
  line-height: 1.6;
}
.pd-stat small span {
  float: right;
}
.pd-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 30px 0 14px;
}
.pd-section-heading p {
  font-size: 13px;
  margin: 0;
}
.pd-section-heading > a {
  font-size: 13px;
  color: var(--pd-teal);
}
.pd-channels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.pd-channel {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--pd-line);
  border-radius: 12px;
}
.pd-channel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pd-channel-title a {
  color: inherit;
  text-decoration: none;
}
.pd-channel-title h3 span {
  color: #829b97;
  font-size: 13px;
}
.pd-channel-state {
  font-size: 10px;
  background: #f0f5f3;
  border-radius: 20px;
  padding: 5px 8px;
  color: #617973;
  white-space: nowrap;
}
.pd-awaiting {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 20px 0;
  font-size: 33px;
  line-height: 1.2;
  font-weight: 600;
}
.pd-awaiting small {
  font-size: 12px;
  color: var(--pd-muted);
  font-weight: 400;
}
.pd-channel dl {
  font-size: 11px;
  margin: 0;
}
.pd-channel dl > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-top: 1px solid #edf1ef;
  align-items: center;
}
.pd-channel dt {
  color: var(--pd-muted);
  max-width: 75%;
}
.pd-channel dd {
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
}
.pd-channel > p {
  font-size: 10px;
  line-height: 1.65;
  min-height: 32px;
  margin: 10px 0 0;
}
.pd-compliance {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pd-compliance .pd-stat {
  padding: 15px 19px;
}
.pd-compliance .pd-stat > strong {
  font-size: 27px;
}
.pd-watch {
  background: #f5f0e6;
  border: 1px solid #e9dfcb;
  border-radius: 12px;
  margin: 24px 0;
  padding: 18px 22px;
}
.pd-watch h2 {
  font-size: 14px;
  margin-bottom: 13px;
}
.pd-watch > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
}
.pd-watch a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--pd-ink);
  text-decoration: none;
}
.pd-watch a > strong {
  min-width: 23px;
}
.pd-watch a > span:last-child {
  margin-left: auto;
}
.pd-planner {
  margin-top: 28px;
  padding: 24px;
  border-radius: 12px;
}
.pd-planner > .pd-section-heading {
  margin-top: 0;
}
.pd-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pd-actions button,
.pd-summary button {
  font-size: 12px;
}
.pd-plan-controls {
  display: flex;
  align-items: end;
  gap: 14px;
  padding: 17px 0;
  border-top: 1px solid var(--pd-line);
  border-bottom: 1px solid var(--pd-line);
}
.pd-periods {
  display: flex;
  padding: 4px;
  background: #eff4f2;
  border-radius: 8px;
  gap: 3px;
  margin-right: auto;
}
.pd-periods button {
  font-size: 12px;
  border: 0;
  background: transparent;
  color: #617973;
  box-shadow: none;
  padding: 9px 13px;
  white-space: nowrap;
  border-radius: 6px;
}
.pd-periods button[aria-pressed="true"] {
  background: #fff;
  color: var(--pd-ink);
  box-shadow: 0 1px 4px #163b4014;
}
.pd-plan-controls label {
  font-size: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--pd-muted);
}
.pd-plan-controls select {
  font-size: 12px;
  min-height: 34px;
  padding: 6px 24px 6px 10px;
  max-width: 160px;
}
.pd-plan-caption {
  font-size: 11px;
  margin: 14px 0 !important;
}
.pd-agenda-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 17px 0;
  border-top: 1px solid #edf1ef;
  color: var(--pd-ink) !important;
  text-decoration: none !important;
}
.pd-agenda-row:hover {
  background: #f7faf9;
}
.pd-rank {
  color: #9aada9;
  font-size: 12px;
  min-width: 22px;
}
.pd-kind {
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #67877d;
}
.pd-agenda-row h3 {
  font-size: 13px;
  margin: 4px 0;
}
.pd-agenda-row p {
  font-size: 11px;
  margin: 0;
}
.pd-agenda-due {
  margin-left: auto;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
}
.pd-agenda-due small {
  font-size: 10px;
  color: var(--pd-muted);
}
.pd-tag {
  display: inline-block;
  font-size: 10px;
  padding: 5px 8px;
  background: #edf3f0;
  color: #55776a;
  border-radius: 4px;
}
.pd-tag.pd-overdue {
  background: #fbe9e5;
  color: #a04436;
}
.pd-tag.pd-urgent {
  background: #fbf0d8;
  color: #8a662b;
}
.pd-agenda-row > span:last-child {
  color: #8ca49d;
}
.pd-empty {
  text-align: center;
  padding: 40px 16px;
}
.pd-empty p {
  font-size: 13px;
}
.pd-summary {
  padding: 18px;
  margin: 16px 0;
  background: #edf5f1;
  border: 1px solid #d5e5dd;
  border-radius: 8px;
}
.pd-summary[hidden] {
  display: none;
}
.pd-summary label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
}
.pd-summary textarea {
  width: 100%;
  font-size: 12px;
  line-height: 1.7;
  min-height: 200px;
  padding: 12px;
  resize: vertical;
  background: #fff;
  border: 1px solid #d5e5dd;
  border-radius: 6px;
}
.pd-summary > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 9px;
}
.pd-summary [role="status"] {
  font-size: 12px;
  align-self: center;
}
.pd-definitions {
  margin-top: 22px;
  color: var(--pd-muted);
  font-size: 11px;
  line-height: 1.8;
}
.pd-definitions summary {
  cursor: pointer;
}
.pd-notice {
  background: #fff4dc;
  border: 1px solid #e8d4aa;
  padding: 13px 16px;
  border-radius: 8px;
  font-size: 12px;
  margin-bottom: 18px;
}
.practice-dashboard button:focus-visible,
.practice-dashboard a:focus-visible,
.practice-dashboard select:focus-visible {
  outline: 3px solid #80bab0;
  outline-offset: 3px;
}
@media (min-width: 1500px) {
  .pd-compliance {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 1050px) {
  .pd-channels {
    grid-template-columns: 1fr;
  }
  .pd-channel dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
  }
  .pd-channel dl > div {
    align-items: flex-start;
  }
  .pd-channel > p {
    min-height: 0;
  }
  .pd-planner > .pd-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 650px) {
  .pd-stats,
  .pd-compliance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  .pd-stat {
    padding: 15px;
  }
  .pd-stat > strong {
    font-size: 30px;
  }
  .pd-channel dl {
    display: block;
  }
  .pd-channel dl > div {
    align-items: center;
  }
  .pd-freshness {
    flex-wrap: wrap;
  }
  .pd-freshness > span:last-child {
    margin-left: 0;
    width: 100%;
    padding-left: 15px;
  }
  .pd-plan-controls {
    flex-wrap: wrap;
    gap: 10px;
  }
  .pd-periods {
    width: 100%;
    margin-right: 0;
  }
  .pd-periods button {
    flex: 1;
    padding: 8px;
  }
  .pd-plan-controls label {
    flex: 1;
  }
  .pd-plan-controls select {
    max-width: none;
    width: 100%;
  }
  .pd-watch > div {
    grid-template-columns: 1fr;
  }
  .pd-planner {
    padding: 16px;
  }
  .pd-agenda-row {
    gap: 9px;
    flex-wrap: wrap;
  }
  .pd-agenda-row > div:nth-child(2) {
    flex: 1;
    min-width: 70%;
  }
  .pd-agenda-due {
    margin-left: 31px;
    align-items: flex-start;
    text-align: left;
  }
  .pd-agenda-row > span:last-child {
    margin-left: auto;
  }
  .practice-dashboard .page-heading {
    align-items: flex-start;
    gap: 15px;
  }
  .practice-dashboard .page-heading > button {
    font-size: 11px;
  }
  .pd-actions {
    width: 100%;
  }
  .pd-actions button {
    flex: 1;
  }
}

.workspace-nav > a[data-route="/dashboard"] {
  margin-bottom: 16px;
}
@media (max-width: 650px) {
  .practice-dashboard .pd-periods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.pd-awaiting a {
  color: inherit;
  text-decoration: none;
}
.pd-awaiting a:hover {
  text-decoration: underline;
}

.pd-detail-dialog {
  width: min(920px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: 85dvh;
  margin: auto;
  padding: 0;
  background: #fff;
  border: 1px solid var(--pd-line);
  border-radius: 16px;
  box-shadow: 0 24px 90px #163b4033;
}
.pd-detail-dialog[open] {
  display: flex;
  flex-direction: column;
}
.pd-detail-dialog::backdrop {
  background: #142d3d88;
}
.pd-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  border-bottom: 1px solid var(--pd-line);
}
.pd-detail-header h2 {
  margin-top: 5px;
}
.pd-detail-header p {
  margin: 8px 0 0;
  font-size: 12px;
}
.pd-detail-header button {
  flex-shrink: 0;
}
.pd-detail-content {
  overflow-y: auto;
  min-height: 0;
  padding: 0 24px 24px;
}
.pd-detail-content .pd-agenda-row:first-child {
  border-top: 0;
}
.pd-detail-content .pd-agenda-row > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
body:has(.pd-detail-dialog[open]) {
  overflow: hidden;
}
@media (max-width: 650px) {
  .pd-detail-header {
    padding: 18px;
    gap: 12px;
  }
  .pd-detail-header h2 {
    font-size: 19px;
  }
  .pd-detail-content {
    padding: 0 18px 18px;
  }
}

/* Xero open invoices */
.pd-invoices {
  margin-top: 26px;
  padding: 24px;
  border-radius: 12px;
}
.pd-invoices > .pd-section-heading {
  margin: 0 0 14px;
}
.pd-invoices .eyebrow {
  color: var(--pd-teal);
  font-size: 10px;
}
.pd-invoices .pd-invoice-freshness {
  font-size: 11px;
  margin: 0 0 16px;
}
.pd-invoice-totals {
  display: grid;
  grid-template-columns: 1.3fr 1.3fr 1fr;
  gap: 12px;
}
.pd-invoice-totals button {
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 17px 20px;
  border: 1px solid #d6e7e1;
  background: #edf6f2;
  color: var(--pd-ink);
  box-shadow: none;
  border-radius: 9px;
}
.pd-invoice-totals button:hover {
  border-color: var(--pd-teal);
}
.pd-invoice-totals .pd-invoice-overdue {
  background: #fff4ee;
  border-color: #eeded1;
}
.pd-invoice-totals span {
  font-size: 12px;
  font-weight: 600;
}
.pd-invoice-totals strong {
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -1px;
  font-variant-numeric: tabular-nums;
}
.pd-invoice-totals small {
  font-size: 11px;
  font-weight: 400;
  color: var(--pd-muted);
  letter-spacing: normal;
}
.pd-invoice-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-top: 22px;
}
.pd-invoice-controls label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 11px;
  color: var(--pd-muted);
}
.pd-invoice-controls label:first-child {
  flex: 1;
  min-width: 190px;
}
.pd-invoice-controls input,
.pd-invoice-controls select {
  width: 100%;
  font-size: 13px;
  padding: 10px 12px;
  min-height: 40px;
}
.pd-invoice-caption,
.pd-invoices .pd-invoice-note {
  font-size: 11px;
  line-height: 1.7;
}
.pd-invoice-table-wrap {
  overflow-x: auto;
}
.pd-invoice-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.pd-invoice-table th {
  font-weight: 500;
  color: var(--pd-muted);
  font-size: 10px;
  text-align: left;
  padding: 10px 12px;
  background: #f5f8f6;
  white-space: nowrap;
}
.pd-invoice-table td {
  padding: 13px 12px;
  border-bottom: 1px solid var(--pd-line);
  vertical-align: middle;
}
.pd-invoice-table td:first-child {
  min-width: 160px;
  max-width: 300px;
  overflow-wrap: anywhere;
}
.pd-invoice-table td:first-child strong {
  font-weight: 600;
}
.pd-invoice-table td:first-child small {
  display: block;
  color: var(--pd-muted);
  margin-top: 4px;
  font-size: 10px;
}
.pd-invoice-table a {
  color: var(--pd-teal);
  white-space: nowrap;
}
.pd-invoice-table td:nth-child(3),
.pd-invoice-table td:nth-child(4),
.pd-invoice-table td:last-child {
  white-space: nowrap;
}
.pd-invoice-table .pd-invoice-money,
.pd-invoice-table th:nth-child(5) {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.pd-invoice-table .pd-invoice-money {
  font-weight: 600;
}
.pd-invoices [data-invoice-more] {
  margin-top: 14px;
}
.pd-invoices .pd-invoice-note {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--pd-line);
}
.pd-invoice-empty {
  text-align: center;
  padding: 28px 12px 12px;
}
.pd-invoice-empty p {
  font-size: 13px;
  margin-bottom: 0;
}
.pd-invoices > .pd-section-heading button {
  font-size: 12px;
  white-space: nowrap;
}
.pd-invoices > .pd-section-heading .pd-invoice-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 4px;
  margin: -4px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  cursor: pointer;
}
.pd-invoices > .pd-section-heading .pd-invoice-toggle:hover {
  color: var(--pd-teal);
}
.pd-invoice-toggle:focus-visible {
  outline: 2px solid var(--pd-teal);
  outline-offset: 3px;
}
.pd-invoices.is-collapsed > .pd-section-heading {
  margin-bottom: 0;
}
#pd-invoices-content[hidden] {
  display: none;
}
@media (max-width: 800px) {
  .pd-invoice-totals {
    grid-template-columns: 1fr 1fr;
  }
  .pd-invoice-totals button:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 650px) {
  .pd-invoices {
    padding: 16px;
  }
  .pd-invoices > .pd-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .pd-invoice-totals {
    gap: 8px;
  }
  .pd-invoice-totals button {
    padding: 13px 10px;
  }
  .pd-invoice-totals strong {
    font-size: 23px;
  }
  .pd-invoice-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .pd-invoice-controls label:first-child {
    grid-column: 1 / -1;
    min-width: 0;
  }
  .pd-invoice-controls label {
    min-width: 0;
  }
  .pd-invoice-table {
    min-width: 750px;
  }
}

.pd-channel dd.pd-reply-overdue {
  color: #b42318;
}
.pd-reply-overdue small {
  display: block;
  font-size: 10px;
}

.pd-channel dd.pd-draft-low {
  color: #b42318;
}
.pd-channel dd.pd-draft-medium {
  color: #b45309;
}
.pd-channel dd.pd-draft-high {
  color: #15803d;
}

.pd-channel .pd-info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  min-height: 0;
  padding: 0;
  margin-left: 4px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: var(--pd-muted);
  font:
    600 10px Georgia,
    serif;
  box-shadow: none;
  vertical-align: middle;
  cursor: pointer;
}
.pd-channel .pd-info-button:hover {
  color: var(--pd-teal);
}
.pd-info-popover {
  width: min(360px, calc(100vw - 40px));
  padding: 22px;
  border: 1px solid #d9e5e1;
  border-radius: 12px;
  color: #173c40;
  background: #fff;
  box-shadow: 0 12px 48px #173c4026;
  font-size: 13px;
  line-height: 1.6;
}
.pd-info-popover p {
  margin: 12px 0;
}
.pd-info-popover::backdrop {
  background: #173c401a;
}

.pd-action-tracking {
  padding: 24px;
  margin-top: 26px;
  border-radius: 12px;
}
.pd-action-tracking > .pd-section-heading {
  margin: 0 0 18px;
}
.pd-action-totals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pd-action-totals > * {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid #d6e7e1;
  border-radius: 9px;
  background: #edf6f2;
  text-decoration: none;
  color: var(--pd-ink);
}
.pd-action-totals span {
  font-size: 12px;
}
.pd-action-totals strong {
  font-size: 28px;
}
.pd-action-totals .pd-action-late {
  background: #fff1ee;
  color: #b42318;
  border-color: #efcdc8;
}
.pd-action-windows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 20px;
}
.pd-action-windows h3 {
  font-size: 14px;
}
.pd-action-windows dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--pd-line);
  padding: 10px 0;
  font-size: 12px;
}
.pd-action-windows dd {
  margin: 0;
  text-align: right;
  font-weight: 600;
}
.pd-action-note {
  font-size: 11px;
  line-height: 1.7;
  color: var(--pd-muted);
}
@media (max-width: 650px) {
  .pd-action-tracking {
    padding: 16px;
  }
  .pd-action-totals,
  .pd-action-windows {
    grid-template-columns: 1fr;
  }
}

.pd-action-windows dd.pd-action-late {
  color: #b42318;
}
.pd-action-windows dd.pd-action-uncertain {
  color: #b45309;
}

.pd-priority-item {
  display: flex;
  align-items: stretch;
  border-top: 1px solid var(--pd-line);
}
.pd-priority-item > .pd-agenda-row {
  flex: 1;
  min-width: 0;
  border-top: 0;
}
.practice-dashboard .pd-drag-handle {
  flex: 0 0 30px;
  align-self: center;
  width: 30px;
  min-height: 40px;
  padding: 4px;
  border: 0;
  border-radius: 5px;
  color: #79938e;
  background: transparent;
  font-size: 24px;
  box-shadow: none;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.practice-dashboard .pd-drag-handle:hover,
.practice-dashboard .pd-drag-handle:focus-visible {
  color: var(--pd-teal);
  background: #edf4f1;
}
.pd-priority-item.pd-is-dragging {
  background: #edf6f2;
  outline: 2px solid #87aca3;
  outline-offset: -2px;
}
.practice-dashboard .pd-is-dragging .pd-drag-handle {
  cursor: grabbing;
}
.pd-order-status {
  font-size: 11px;
  color: var(--pd-muted);
}
.pd-order-status:empty {
  display: none;
}

.pd-channel .pd-channel-action-status {
  min-height: 0;
  margin: 10px 0 14px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.pd-status-late {
  color: #b42318;
}
.pd-status-good {
  color: #15803d;
}
.pd-status-uncertain {
  color: #b45309;
}
.pd-status-neutral {
  color: var(--pd-muted);
}
.practice-dashboard .pd-more-details {
  display: block;
  padding: 0;
  margin: 16px 0 0 auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--pd-teal);
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
}
.practice-dashboard .pd-more-details:hover {
  color: var(--pd-ink);
}
.pd-channel-dialog {
  width: min(1000px, calc(100vw - 32px));
}
.pd-channel-dialog .pd-action-tracking {
  margin: 0;
  padding: 20px 0 0;
  border: 0;
  box-shadow: none;
}

.pd-channel {
  display: flex;
  flex-direction: column;
}
.pd-channel dl {
  margin-bottom: 16px;
}
.pd-channel .pd-more-details {
  margin-top: auto;
  align-self: flex-end;
}

.pd-channel .pd-channel-activity {
  font-size: 10px;
  line-height: 1.5;
  margin: 0 0 12px;
  min-height: 0;
  color: var(--pd-muted);
}

/* Overdue work stays prominent above the overview, using existing task counts. */
.practice-dashboard .pd-overdue-banner{display:flex;align-items:center;gap:20px;padding:24px;margin:20px 0 24px;background:#fff1ee;border:1px solid #efb6aa;border-left:5px solid #b43e2b;border-radius:6px;color:#8d2e20}
.practice-dashboard .pd-overdue-banner>svg{width:32px;height:32px;flex:0 0 32px}
.practice-dashboard .pd-overdue-banner>div{flex:1;min-width:0}
.practice-dashboard .pd-overdue-banner h2{font-size:24px;line-height:1.3;color:#8d2e20;margin:0 0 6px;letter-spacing:-.4px}
.practice-dashboard .pd-overdue-banner p{font-size:14px;line-height:1.6;color:#793e33;margin:0}
.practice-dashboard .pd-overdue-banner button{flex-shrink:0;min-height:44px;padding:10px 16px;margin:0;border:1px solid #9e3424;border-radius:4px;background:#9e3424;color:#fff;box-shadow:none;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.practice-dashboard .pd-overdue-banner button:hover{background:#81291c}
.practice-dashboard .pd-overdue-banner button:focus-visible{outline:3px solid #8d2e20;outline-offset:3px}
@media(max-width:650px){.practice-dashboard .pd-overdue-banner{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:20px 16px}.practice-dashboard .pd-overdue-banner>svg{width:26px;height:26px;flex-basis:26px}.practice-dashboard .pd-overdue-banner h2{font-size:21px}.practice-dashboard .pd-overdue-banner button{width:100%}}

.pd-invoices [data-invoice-summary][hidden]{display:none!important}
.pd-invoices .pd-invoice-summary{border-top:1px solid var(--pd-line,#e0e8e7);margin-top:18px;padding-top:18px}
.pd-invoices .pd-invoice-summary dl{display:flex;flex-wrap:wrap;gap:20px 48px;margin:0}
.pd-invoices .pd-invoice-summary dl>div{min-width:140px}
.pd-invoices .pd-invoice-summary dt{color:var(--pd-muted,#687a80);font-size:13px;line-height:1.5;margin-bottom:4px}
.pd-invoices .pd-invoice-summary dd{margin:0;color:var(--pd-ink,#163b40);font-size:24px;line-height:1.35;font-variant-numeric:tabular-nums}
.pd-invoices .pd-invoice-summary dd strong{display:block;font-weight:600}
.pd-invoices .pd-invoice-summary dd small{font-size:12px;font-weight:400}
.pd-invoices .pd-invoice-summary .pd-invoice-summary-overdue dd{color:#a23c2a}
.pd-invoices .pd-invoice-summary-note{margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--pd-muted,#687a80)}
@media(max-width:500px){.pd-invoices .pd-invoice-summary dl{gap:16px 24px}.pd-invoices .pd-invoice-summary dl>div{min-width:0;flex:1}.pd-invoices .pd-invoice-summary dd{font-size:21px;overflow-wrap:anywhere}}
