:root {
  --pm-font-ui: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --pm-font-tech: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --pm-bg: #16191d;
  --pm-bg-deep: #1c2025;
  --pm-surface: #1c2025;
  --pm-surface-hover: #22272e;
  --pm-panel: var(--pm-surface);
  --pm-panel-soft: var(--pm-surface-hover);
  --pm-control-surface: color-mix(in oklab, var(--pm-panel-soft) 82%, var(--pm-bg));
  --pm-control-surface-hover: color-mix(in oklab, var(--pm-panel-soft) 86%, var(--pm-accent) 14%);
  --pm-text: #e6e8eb;
  --pm-text-muted: #89929e;
  --pm-text-tertiary: #626b76;
  --pm-text-faint: var(--pm-text-tertiary);
  --pm-ink: var(--pm-text);
  --pm-heading: var(--pm-text);
  --pm-muted: var(--pm-text-muted);
  --pm-muted-light: var(--pm-text-tertiary);
  --pm-rule: #343b44;
  --pm-border: var(--pm-rule);
  --pm-border-strong: var(--pm-rule);
  --pm-divider: var(--pm-rule);
  --pm-line: var(--pm-divider);
  --pm-purple: #70a5d8;
  --pm-purple-dark: #91b9df;
  --pm-purple-soft: color-mix(in oklab, var(--pm-purple) 12%, transparent);
  --pm-cyan: #91b9df;
  --pm-yellow: #d2ad67;
  --pm-orange: #d2ad67;
  --pm-green: #78b892;
  --pm-red: #cf7474;
  --pm-pink: #70a5d8;
  --pm-navy: var(--pm-purple);
  --pm-navy-dark: var(--pm-purple-dark);
  --pm-navy-soft: color-mix(in oklab, var(--pm-purple) 10%, transparent);
  --pm-gold: var(--pm-yellow);
  --pm-gold-dark: var(--pm-yellow);
  --pm-gold-soft: color-mix(in oklab, var(--pm-yellow) 12%, transparent);
  --pm-accent: var(--pm-purple);
  --pm-link: var(--pm-purple);
  --pm-info: var(--pm-cyan);
  --pm-danger: var(--pm-red);
  --pm-danger-bg: color-mix(in oklab, var(--pm-red) 10%, transparent);
  --pm-warning: var(--pm-yellow);
  --pm-warning-bg: color-mix(in oklab, var(--pm-yellow) 10%, transparent);
  --pm-success: var(--pm-green);
  --pm-success-bg: color-mix(in oklab, var(--pm-green) 10%, transparent);
  --pm-radius: 4px;
  --pm-radius-sm: 3px;
  --pm-border-width: 1px;
  --pm-space-1: .25rem;
  --pm-space-2: .5rem;
  --pm-space-3: .75rem;
  --pm-space-4: 1rem;
  --pm-space-5: 1.5rem;
  --pm-space-6: 2rem;
  --pm-space-7: 3rem;
  --pm-control-h: 2.35rem;
  --pm-control-h-sm: 2rem;
  --pm-input-py: .5rem;
  --pm-input-px: .75rem;
  --pm-button-py: .55rem;
  --pm-button-px: .86rem;
  --pm-row-py: .5rem;
  --pm-row-px: .75rem;
  --pm-table-py: .5rem;
  --pm-table-px: .75rem;
  --pm-sidebar-width: 12rem;
  --pm-page-frame-max: 1280px;
  --pm-page-gutter: clamp(.9rem, 2vw, 1.8rem);
  --pm-shell-inline-max: var(--pm-page-frame-max);
  --pm-content-calm: var(--pm-page-frame-max);
  --pm-content-directory: var(--pm-page-frame-max);
  --pm-content-dense: var(--pm-page-frame-max);
  --pm-content-max: var(--pm-page-frame-max);
  --pm-type-page: clamp(1.28rem, 1.45vw, 1.7rem);
  --pm-type-section: .86rem;
  --pm-type-body: .94rem;
  --pm-type-meta: .82rem;
  --pm-type-utility: .68rem;
  --pm-shadow: none;
  --pm-focus: 0 0 0 2px color-mix(in oklab, var(--pm-accent) 36%, transparent);
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.pm-app {
  color-scheme: dark;
  min-height: 100vh;
  margin: 0;
  background: var(--pm-bg);
  color: var(--pm-ink);
  font-family: var(--pm-font-ui);
  font-size: 15px;
  line-height: 1.45;
}

.pm-app,
.pm-app button,
.pm-app input,
.pm-app select,
.pm-app textarea {
  font-family: var(--pm-font-ui);
}

a {
  color: var(--pm-link);
  text-decoration: none;
}

a:hover {
  color: var(--pm-navy-dark);
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--pm-accent);
  outline-offset: 2px;
  box-shadow: var(--pm-focus);
}

.pm-shell {
  display: grid;
  grid-template-columns: var(--pm-sidebar-width) minmax(0, 1fr);
  min-width: 0;
  min-height: 100vh;
  width: 100%;
}

.pm-shell-bar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: stretch;
  align-self: start;
  min-height: 100svh;
  padding: 1rem .9rem;
  background: var(--pm-bg);
  border-right: 1px solid var(--pm-divider);
  backdrop-filter: none;
}

.pm-shell-bar::before {
  content: none;
}

.pm-shell-brand {
  display: grid;
  gap: .12rem;
  min-width: 0;
}

.pm-product-name {
  color: var(--pm-heading);
  font-family: var(--pm-font-ui);
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.pm-product-kicker {
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.pm-primary-nav {
  display: grid;
  gap: .18rem;
  min-width: 0;
}

.pm-nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 1.85rem;
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .035em;
  line-height: 1.2;
  padding: .18rem 0;
  text-decoration: none;
  text-transform: uppercase;
}

.pm-nav-link:hover {
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-nav-link[aria-current="page"] {
  color: var(--pm-heading);
}

.pm-nav-link[aria-current="page"]::before {
  content: "";
  position: absolute;
  inset: auto 0 .15rem;
  height: 1px;
  background: var(--pm-accent);
}

.pm-shell-actions {
  display: grid;
  gap: .42rem;
  margin-top: auto;
  min-width: 0;
}

.pm-public-link {
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .75rem;
  font-weight: 600;
}

.pm-public-link:hover {
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-signout {
  margin: 0;
}

.pm-signout button,
.pm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.15rem;
  border: 1px solid var(--pm-border-strong);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-panel);
  color: var(--pm-heading);
  cursor: pointer;
  font: 600 .82rem var(--pm-font-ui);
  line-height: 1.1;
  padding: .46rem .72rem;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
}

.pm-shell-actions .pm-signout button {
  min-height: auto;
  width: max-content;
  border: 0;
  background: transparent;
  color: var(--pm-muted);
  font-size: .75rem;
  font-weight: 600;
  padding: 0;
  box-shadow: none;
}

.pm-signout button:hover,
.pm-button:hover {
  border-color: var(--pm-accent);
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-shell-actions .pm-signout button:hover {
  color: var(--pm-heading);
}

.pm-button:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.pm-button-primary {
  background: var(--pm-accent);
  border-color: color-mix(in oklab, var(--pm-accent) 70%, white);
  color: var(--pm-bg);
  box-shadow: none;
}

.pm-button-primary:hover {
  background: color-mix(in oklab, var(--pm-accent) 88%, white);
  border-color: color-mix(in oklab, var(--pm-accent) 78%, white);
  color: var(--pm-bg);
}

.pm-button-danger {
  border-color: color-mix(in oklab, var(--pm-danger) 34%, white);
  color: var(--pm-danger);
}

.pm-button-danger:hover {
  background: var(--pm-danger-bg);
  border-color: var(--pm-danger);
  color: var(--pm-danger);
}

.pm-shell-main {
  min-width: 0;
  width: min(100%, var(--pm-content-max));
  margin-inline: auto;
  padding: 1.25rem var(--pm-page-gutter) 2.65rem;
}

.pm-page-head,
.pm-project-head {
  margin: 0 0 1rem;
  padding-bottom: 0;
  border-bottom: 0;
}

.pm-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.pm-project-head {
  display: grid;
  gap: .5rem;
}

.pm-bid-project-head {
  gap: .42rem;
  margin-bottom: 1rem;
  padding-bottom: 0;
}

.pm-bid-project-head .pm-bid-project-meta {
  align-items: start;
  gap: .45rem 1rem;
}

.pm-bid-project-head .pm-bid-project-meta > div {
  min-width: 0;
}

.pm-bid-project-head .pm-bid-project-meta dd {
  overflow-wrap: normal;
}

@media (min-width: 1180px) {
  .pm-bid-project-head .pm-bid-project-meta {
    grid-template-columns: minmax(6.8rem, 1fr) minmax(16rem, 1.6fr) minmax(7.8rem, 1fr) minmax(7.8rem, 1fr) minmax(9rem, 1fr);
  }
}

.pm-project-title-row {
  display: grid;
  gap: .18rem;
}

.pm-page-meta {
  color: var(--pm-muted);
  font-size: .88rem;
  margin: .32rem 0 0;
}

.pm-project-context {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1rem;
  color: var(--pm-muted);
  font-size: .9rem;
}

.pm-project-detail-title {
  align-items: baseline;
  color: var(--pm-heading);
  display: flex;
  flex-wrap: wrap;
  font: 600 clamp(1.75rem, 2.2vw, 2rem)/1.14 var(--pm-font-ui);
  gap: .25rem .45rem;
  margin: 0;
}

.pm-eyebrow {
  margin: 0 0 .18rem;
  color: var(--pm-muted-light);
  font-family: var(--pm-font-ui);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pm-app h1,
.pm-app h2,
.pm-app h3 {
  margin: 0;
  color: var(--pm-heading);
  font-family: var(--pm-font-ui);
  letter-spacing: 0;
}

.pm-app h1 {
  font-size: clamp(1.45rem, 1.65vw, 1.9rem);
  font-weight: 600;
  line-height: 1.14;
}

.pm-app h2 {
  font-size: .96rem;
  font-weight: 600;
}

.pm-login-panel {
  background: var(--pm-panel);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius);
  box-shadow: var(--pm-shadow);
}

.pm-section {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: var(--pm-panel);
  border: 1px solid var(--pm-divider);
  border-radius: var(--pm-radius);
  box-shadow: none;
}

.pm-data-card {
  overflow: hidden;
  padding: 0;
}

.pm-data-card > .pm-section-head {
  margin-bottom: 0;
  padding: .75rem 1rem;
}

.pm-data-card > .pm-table-wrap {
  margin: 0;
}

.pm-section > h2 {
  margin-bottom: .58rem;
}

.pm-section-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--pm-divider);
}

.pm-section-head a,
.pm-section-head span {
  color: var(--pm-muted);
  font-size: .84rem;
}

.pm-flash {
  max-width: var(--pm-max);
  margin: 0 auto 1rem;
  border: 1px solid var(--pm-border);
  border-radius: 8px;
  background: var(--pm-panel);
  color: var(--pm-text);
  padding: .7rem .9rem;
}

.pm-flash-success {
  border-color: color-mix(in oklab, var(--pm-success) 28%, white);
  background: var(--pm-success-bg);
}

.pm-flash-error {
  border-color: color-mix(in oklab, var(--pm-danger) 34%, white);
  background: var(--pm-danger-bg);
}

.pm-project-actions,
.pm-page-actions,
.pm-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}

.pm-form-action-separated {
  margin-left: auto;
}

.pm-delete-summary {
  margin: .35rem 0 .8rem;
  padding-left: 1.1rem;
  text-align: left;
}

.pm-record-form {
  background: var(--pm-panel);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius);
  box-shadow: var(--pm-shadow);
  display: grid;
  gap: .82rem;
  padding: .9rem;
}

.pm-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .78rem;
}

.pm-project-edit-grid {
  grid-template-columns: minmax(14rem, 1fr) minmax(12rem, .82fr) minmax(9rem, .58fr);
  max-width: 56rem;
}

.pm-form-text-link {
  align-items: center;
  display: inline-flex;
  min-height: 2.3rem;
}

.pm-project-delete-link {
  color: var(--pm-danger);
}

.pm-project-delete-link:hover {
  color: var(--pm-danger);
}

.pm-inline-create {
  margin-left: auto;
}

.pm-inline-create[open] {
  flex: 1 0 100%;
  margin-left: 0;
  width: 100%;
}

.pm-inline-create summary {
  color: var(--pm-link);
  cursor: pointer;
  font: 600 .84rem var(--pm-font-ui);
  list-style: none;
  text-align: right;
}

.pm-inline-create summary::-webkit-details-marker {
  display: none;
}

.pm-inline-create summary:hover {
  color: var(--pm-navy-dark);
  text-decoration: underline;
}

.pm-inline-create-cancel,
.pm-inline-create[open] .pm-inline-create-add {
  display: none;
}

.pm-inline-create[open] .pm-inline-create-cancel {
  display: inline;
}

.pm-inline-create-form {
  background: color-mix(in oklab, var(--pm-panel-soft) 82%, var(--pm-bg));
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-sm);
  display: grid;
  gap: .62rem;
  margin-top: .55rem;
  padding: .78rem;
}

.pm-inline-create-form label {
  color: var(--pm-muted);
  display: grid;
  font: 600 .72rem var(--pm-font-ui);
  gap: .28rem;
}

.pm-inline-create-form input,
.pm-inline-create-form select,
.pm-inline-create-form textarea {
  min-height: 2.25rem;
  padding: .44rem .58rem;
}

.pm-inline-create-form textarea {
  field-sizing: content;
  min-height: 4.25rem;
}

.pm-proposal-create-form {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) max-content;
  gap: .65rem;
  align-items: end;
}

.pm-proposal-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-proposal-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .9rem;
  padding-bottom: .72rem;
  padding-top: .72rem;
}

.pm-proposal-info-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: .35rem .7rem;
  margin: 0;
}

.pm-proposal-info-summary div {
  min-width: 0;
}

.pm-proposal-info-summary dt {
  color: var(--pm-muted);
  font: 600 .72rem var(--pm-font-ui);
  margin-bottom: .18rem;
}

.pm-proposal-info-summary dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.pm-proposal-wide-field {
  grid-column: 1 / -1;
}

.pm-proposal-content-section {
  display: block;
}

.pm-proposal-content-section > summary,
.pm-proposal-fee-section > summary,
.pm-proposal-fee-dev-section > summary {
  cursor: pointer;
  list-style: none;
}

.pm-proposal-content-section > summary::-webkit-details-marker,
.pm-proposal-fee-section > summary::-webkit-details-marker,
.pm-proposal-fee-dev-section > summary::-webkit-details-marker {
  display: none;
}

.pm-proposal-section-summary::before {
  color: var(--pm-muted);
  content: "+";
  font-weight: 700;
}

.pm-proposal-section-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
}

.pm-proposal-section-summary h2 {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-proposal-content-section[open] > .pm-proposal-section-summary::before,
.pm-proposal-fee-section[open] > .pm-proposal-section-summary::before,
.pm-proposal-fee-dev-section[open] > .pm-proposal-section-summary::before {
  content: "–";
}

.pm-proposal-library-picker,
.pm-proposal-custom-create {
  margin-left: 0;
}

.pm-proposal-library-search {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) max-content;
  gap: .55rem;
  align-items: end;
}

.pm-proposal-outline-filter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content max-content;
  gap: .45rem;
  align-items: end;
}

.pm-proposal-library-results,
.pm-proposal-fee-list,
.pm-proposal-fee-dev-list {
  display: grid;
  gap: .72rem;
}

.pm-proposal-content-list {
  display: grid;
  gap: 0;
}

.pm-proposal-content-subhead {
  color: var(--pm-muted);
  display: flex;
  font: 700 .78rem var(--pm-font-ui);
  justify-content: space-between;
  letter-spacing: .03em;
  padding: .2rem 0;
  text-transform: uppercase;
}

.pm-proposal-library-result {
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: .55rem;
  align-items: start;
  padding: .5rem 0;
  border-bottom: 1px solid var(--pm-divider);
}

.pm-proposal-library-result.is-selected {
  opacity: .72;
}

.pm-proposal-library-item .pm-proposal-outline-summary {
  grid-template-columns: .7rem minmax(0, 1fr) max-content;
}

.pm-proposal-library-item .pm-proposal-row-order {
  display: none;
}

.pm-proposal-library-result:last-child {
  border-bottom: 0;
}

.pm-proposal-library-result span,
.pm-proposal-library-result small,
.pm-proposal-library-result em {
  display: block;
}

.pm-proposal-library-result small,
.pm-proposal-library-result em {
  color: var(--pm-muted);
  font-size: .78rem;
  font-style: normal;
  margin-top: .16rem;
}

.pm-proposal-content-item,
.pm-proposal-fee-item,
.pm-proposal-fee-dev-item {
  border-top: 1px solid var(--pm-divider);
  padding: .2rem 0;
}

.pm-proposal-outline-item details {
  display: block;
}

.pm-proposal-outline-item summary {
  list-style: none;
}

.pm-proposal-outline-item summary::-webkit-details-marker {
  display: none;
}

.pm-proposal-outline-summary {
  cursor: pointer;
  display: grid;
  grid-template-columns: .7rem 1.5rem minmax(0, 1fr) max-content;
  gap: .3rem;
  align-items: center;
  min-height: 1.8rem;
}

.pm-proposal-outline-disclosure::before {
  color: var(--pm-muted);
  content: "›";
  font-weight: 700;
}

.pm-proposal-outline-item details[open] .pm-proposal-outline-disclosure::before {
  content: "▾";
}

.pm-proposal-outline-title {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.3;
}

.pm-proposal-icon-button {
  min-width: 1.8rem;
  padding-left: .45rem;
  padding-right: .45rem;
}

.pm-proposal-outline-body {
  color: var(--pm-text);
  font-size: .86rem;
  line-height: 1.4;
  padding: .3rem 0 .35rem 2.8rem;
  overflow-wrap: anywhere;
  white-space: normal;
}

.pm-proposal-outline-actions {
  display: flex;
  gap: .35rem;
  padding-left: 2.8rem;
}

.pm-proposal-outline-actions form {
  display: flex;
  gap: .35rem;
  margin: 0;
}

.pm-proposal-removed-list {
  border-top: 1px solid var(--pm-divider);
  color: var(--pm-muted);
  padding-top: .55rem;
}

.pm-proposal-removed-list > summary {
  cursor: pointer;
}

.pm-proposal-removed-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: .55rem;
  align-items: center;
  opacity: .72;
  padding: .28rem 0;
}

.pm-proposal-removed-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-proposal-removed-row form {
  margin: 0;
}

.pm-proposal-compact-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) max-content;
  gap: .65rem;
  align-items: center;
}

.pm-proposal-row-order {
  color: var(--pm-muted);
  font: 700 .78rem var(--pm-font-ui);
  text-align: right;
}

.pm-proposal-row-main {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.pm-proposal-row-main strong,
.pm-proposal-row-main span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-proposal-row-main span {
  color: var(--pm-muted);
  font-size: .78rem;
}

.pm-proposal-row-actions {
  display: flex;
  gap: .32rem;
  align-items: center;
}

.pm-proposal-row-actions form {
  display: flex;
  gap: .32rem;
  margin: 0;
}

.pm-proposal-content-item.is-editing,
.pm-proposal-fee-item.is-editing,
.pm-proposal-fee-dev-item.is-editing {
  padding-top: .72rem;
}

.pm-proposal-content-item textarea {
  font-family: var(--pm-font-mono);
  min-height: 10rem;
  overflow-y: hidden;
  resize: none;
}

.pm-proposal-fee-form,
.pm-proposal-fee-row {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) 5.5rem minmax(12rem, 1.4fr) minmax(7rem, .75fr) 7rem max-content;
  gap: .55rem;
  align-items: end;
}

.pm-proposal-fee-actions {
  display: flex;
  gap: .35rem;
  align-items: center;
}

.pm-proposal-estimate-link {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) max-content;
  gap: .55rem;
  align-items: end;
}

.pm-proposal-subsummary {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  cursor: pointer;
  color: var(--pm-text);
  font: 700 .82rem var(--pm-font-ui);
  list-style: none;
  padding: .55rem 0;
}

.pm-proposal-subsummary::-webkit-details-marker {
  display: none;
}

.pm-proposal-allocation {
  border-top: 1px solid var(--pm-divider);
}

.pm-proposal-allocation-table th:nth-child(2),
.pm-proposal-allocation-table td:nth-child(2) {
  text-align: right;
  white-space: nowrap;
}

.pm-proposal-allocation-table select {
  min-width: 9rem;
}

.pm-proposal-review-note {
  color: var(--pm-muted);
  display: block;
  font-size: .72rem;
  margin-top: .1rem;
}

.pm-proposal-allocation-totals,
.pm-proposal-fee-dev-result {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .9rem;
  color: var(--pm-muted);
  font-size: .78rem;
  margin: .5rem 0;
}

.pm-proposal-fee-dev-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .pm-proposal-info-grid,
  .pm-proposal-fee-form,
  .pm-proposal-fee-row,
  .pm-proposal-fee-dev-grid {
    grid-template-columns: 1fr;
  }

  .pm-proposal-create-form,
  .pm-proposal-library-search,
  .pm-proposal-estimate-link,
  .pm-proposal-compact-row {
    grid-template-columns: 1fr;
  }

  .pm-proposal-row-order {
    text-align: left;
  }

  .pm-proposal-row-main strong,
  .pm-proposal-row-main span {
    white-space: normal;
  }

  .pm-proposal-row-actions {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .pm-proposal-outline-body,
  .pm-proposal-outline-actions {
    padding-left: 0;
  }

  .pm-proposal-fee-actions {
    align-items: flex-start;
  }
}

.pm-plain-list,
.pm-agenda {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pm-plain-list li,
.pm-agenda li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: start;
  padding: .58rem 0;
  border-top: 1px solid color-mix(in oklab, var(--pm-border) 72%, white);
}

.pm-plain-list li:first-child,
.pm-agenda li:first-child {
  border-top: 0;
  padding-top: 0;
}

.pm-plain-list strong,
.pm-agenda strong {
  display: block;
  color: var(--pm-heading);
  font-weight: 600;
}

.pm-plain-list span,
.pm-agenda span,
.pm-muted {
  color: var(--pm-muted);
}

.pm-plain-list em {
  align-self: start;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: var(--pm-panel-soft);
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .72rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  padding: .28rem .5rem;
  white-space: nowrap;
}

.pm-plain-list em:first-letter {
  color: inherit;
}

.pm-agenda li {
  grid-template-columns: 6.4rem minmax(0, 1fr);
}

.pm-agenda time {
  color: var(--pm-navy);
  font-family: var(--pm-font-ui);
  font-size: .82rem;
  font-weight: 600;
}

.pm-calendar-section {
  overflow: hidden;
  padding: 0;
}

.pm-calendar-section > .pm-section-head {
  margin: 0;
  padding: .78rem 1rem;
}

.pm-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: 100%;
}

.pm-calendar-weekday {
  background: var(--pm-panel-soft);
  border-bottom: 1px solid var(--pm-divider);
  color: var(--pm-muted);
  font: 600 .68rem var(--pm-font-ui);
  letter-spacing: .045em;
  padding: .46rem .55rem;
  text-transform: uppercase;
}

.pm-calendar-day {
  border-bottom: 1px solid var(--pm-divider);
  border-right: 1px solid var(--pm-divider);
  min-height: 7.8rem;
  padding: .5rem;
}

.pm-calendar-day:nth-child(7n + 7) {
  border-right: 0;
}

.pm-calendar-day-muted {
  background: color-mix(in oklab, var(--pm-panel-soft) 54%, var(--pm-bg));
}

.pm-calendar-day-today {
  background: color-mix(in oklab, var(--pm-info) 12%, var(--pm-panel));
}

.pm-calendar-date {
  color: var(--pm-heading);
  font: 600 .78rem var(--pm-font-ui);
  margin-bottom: .38rem;
}

.pm-calendar-date-full {
  display: none;
}

.pm-calendar-events {
  display: grid;
  gap: .28rem;
}

.pm-calendar-event {
  border-left: 3px solid var(--pm-border-strong);
  color: var(--pm-ink);
  display: block;
  font-size: .76rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
  padding: .1rem .25rem .1rem .38rem;
  text-decoration: none;
}

.pm-calendar-event:hover {
  color: var(--pm-navy);
  text-decoration: underline;
}

.pm-calendar-event-expiration {
  border-left-color: var(--pm-danger);
  font-weight: 600;
}

.pm-calendar-event-task {
  border-left-color: var(--pm-gold-dark);
}

.pm-calendar-event-submittal {
  border-left-color: var(--pm-muted);
}

.pm-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.pm-section > .pm-table-wrap:only-child {
  margin: 0;
  width: 100%;
  border-radius: 0;
}

.pm-table {
  width: 100%;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .88rem;
}

.pm-table-compact {
  min-width: 1080px;
}

.pm-bid-items-table {
  min-width: 1280px;
}

.pm-bid-project-items-table {
  min-width: 0;
  table-layout: fixed;
}

.pm-bid-project-table-wrap {
  background: transparent;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  border-top: 0;
  border-bottom: 0;
}

.pm-bid-project-items-table .pm-bid-project-col-item {
  width: 5.2%;
}

.pm-bid-project-items-table .pm-bid-project-col-description {
  width: 31.4%;
}

.pm-bid-project-items-table .pm-bid-project-col-qty {
  width: 5.4%;
}

.pm-bid-project-items-table .pm-bid-project-col-unit {
  width: 4.4%;
}

.pm-bid-project-items-table .pm-bid-project-col-price {
  width: 10.72%;
}

.pm-table th,
.pm-table td {
  border-bottom: 1px solid var(--pm-divider);
  padding: .48rem .85rem;
  text-align: left;
  vertical-align: middle;
}

.pm-table th {
  background: var(--pm-panel-soft);
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pm-sort-link {
  color: inherit;
  display: inline-flex;
  gap: .28rem;
  text-decoration: none;
}

.pm-sort-link[aria-current="true"] {
  color: var(--pm-navy);
}

.pm-table td {
  color: var(--pm-ink);
}

.pm-table .pm-number {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pm-bid-description {
  min-width: 28rem;
  max-width: 46rem;
}

.pm-bid-project-items-table .pm-bid-description {
  min-width: 0;
  max-width: none;
  overflow-wrap: anywhere;
}

.pm-bid-component-label {
  border: 1px solid color-mix(in oklab, var(--pm-gold) 55%, var(--pm-border));
  border-radius: 999px;
  color: var(--pm-navy);
  display: inline-flex;
  font: 600 .62rem var(--pm-font-ui);
  margin-left: .35rem;
  padding: .08rem .32rem;
  text-transform: uppercase;
  vertical-align: middle;
}

.pm-bid-project-items-table th,
.pm-bid-project-items-table td {
  padding: .32rem .34rem;
  line-height: 1.25;
}

.pm-bid-project-items-table th:first-child,
.pm-bid-project-items-table td:first-child {
  padding-left: .95rem;
}

.pm-bid-project-items-table th:last-child,
.pm-bid-project-items-table td:last-child {
  padding-right: .95rem;
}

.pm-bid-project-items-table th {
  border-bottom-color: var(--pm-border-strong);
  font-size: .66rem;
  letter-spacing: .035em;
  padding-bottom: .36rem;
  padding-top: .36rem;
}

.pm-bid-project-items-table .pm-bid-project-cell-description {
  min-width: 0;
  text-align: left;
  white-space: normal;
}

.pm-bid-project-items-table .pm-bid-project-cell-item {
  color: var(--pm-muted);
  font-family: var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  min-width: 3.4rem;
  text-align: center;
  white-space: nowrap;
}

.pm-bid-project-items-table .pm-bid-project-cell-qty {
  text-align: right;
  white-space: nowrap;
}

.pm-bid-project-items-table .pm-bid-project-cell-unit {
  text-align: center;
  white-space: nowrap;
}

.pm-bid-project-items-table .pm-bid-project-cell-price {
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.pm-bid-project-items-table .pm-bid-project-cell-price a,
.pm-bid-project-items-table .pm-bid-project-cell-qty a,
.pm-bid-project-items-table .pm-bid-project-cell-unit a {
  text-align: inherit;
}

.pm-bid-project-items-table tbody tr:not(.pm-bid-category-row):not(.pm-bid-category-total-row) td {
  border-bottom-color: color-mix(in oklab, var(--pm-divider) 58%, transparent);
}

.pm-bid-category-row th {
  background: transparent;
  border-bottom: 1px solid color-mix(in oklab, var(--pm-border-strong) 68%, transparent);
  border-top: 0;
  color: var(--pm-muted);
  font: 600 .82rem/1.2 var(--pm-font-ui);
  letter-spacing: .055em;
  padding-bottom: .46rem;
  padding-top: 1.85rem;
  text-transform: uppercase;
}

.pm-bid-project-items-table tbody tr:first-child th {
  border-top: 0;
  padding-top: .5rem;
}

.pm-bid-category-total-row td {
  border-bottom: 2px solid var(--pm-border-strong);
  border-top: 0;
  padding-bottom: .78rem;
  padding-top: .82rem;
}

.pm-bid-category-total-label {
  color: var(--pm-heading);
  font: 600 .76rem/1.2 var(--pm-font-ui);
  letter-spacing: .04em;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}

.pm-bid-category-total-value {
  color: var(--pm-heading);
  font-weight: 600;
}

.pm-bid-outlier-row {
  opacity: .68;
}

.pm-bid-summary-foot td {
  background: color-mix(in oklab, var(--pm-panel-soft) 72%, white);
  border-top: 2px solid var(--pm-border-strong);
  color: var(--pm-heading);
  font-size: .82rem;
  vertical-align: middle;
}

.pm-bid-summary-foot tr + tr td {
  border-top: 1px solid var(--pm-border);
}

.pm-bid-summary-label {
  color: var(--pm-muted);
  font-weight: 600;
  text-transform: uppercase;
}

.pm-bid-summary-stat {
  color: var(--pm-muted);
  font: 600 .72rem var(--pm-font-ui);
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}

.pm-bid-summary-value {
  font-weight: 600;
}

.pm-bid-summary-range {
  color: var(--pm-muted);
  white-space: nowrap;
}

.pm-bid-outlier-label {
  border: 1px solid color-mix(in oklab, var(--pm-warning) 28%, var(--pm-border));
  border-radius: 999px;
  color: var(--pm-warning);
  display: inline-flex;
  font: 600 .6rem var(--pm-font-ui);
  margin-left: .28rem;
  padding: .06rem .26rem;
  text-transform: uppercase;
  vertical-align: middle;
}

.pm-checkbox-label {
  align-content: end;
}

.pm-checkbox-label input[type="checkbox"] {
  inline-size: 1rem;
  block-size: 1rem;
  min-height: 1rem;
}

.pm-bid-select-checkbox {
  inline-size: 1rem;
  block-size: 1rem;
}

.pm-bid-selected-summary-foot td {
  background: color-mix(in oklab, var(--pm-gold-soft) 45%, white);
  border-top: 1px solid color-mix(in oklab, var(--pm-gold) 42%, var(--pm-border));
}

.pm-bid-selected-summary {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .7rem;
}

.pm-bid-selected-summary strong {
  color: var(--pm-heading);
  font: 600 .84rem var(--pm-font-ui);
}

.pm-bid-selected-summary span {
  color: var(--pm-heading);
  font-size: .84rem;
}

.pm-table tbody tr:last-child td {
  border-bottom: 0;
}

.pm-table td:first-child a {
  color: var(--pm-navy);
  font-weight: 600;
}

.pm-table td:first-child a:hover {
  color: var(--pm-gold-dark);
}

.pm-project-portfolio {
  display: grid;
  gap: .72rem;
  padding: .72rem;
}

.pm-project-block {
  background: transparent;
  border-top: 1px solid var(--pm-border);
  border-bottom: 1px solid var(--pm-border);
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.pm-project-block[open] {
  border-top-color: color-mix(in oklab, var(--pm-border-strong) 74%, white);
  border-bottom-color: color-mix(in oklab, var(--pm-border-strong) 74%, white);
}

.pm-project-block summary::-webkit-details-marker {
  display: none;
}

.pm-project-block-head {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: .65rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  min-height: 3.85rem;
  padding: .72rem .86rem .7rem;
}

.pm-project-block[open] > .pm-project-block-head {
  background: color-mix(in oklab, var(--pm-navy-soft) 54%, white);
  border-block-end: 1px solid color-mix(in oklab, var(--pm-border) 70%, white);
}

.pm-project-block-head:hover {
  background: color-mix(in oklab, var(--pm-navy-soft) 44%, white);
}

.pm-project-block-end {
  align-items: center;
  display: flex;
  gap: .6rem;
  justify-content: end;
  min-width: 2.2rem;
}

.pm-project-chevron {
  color: var(--pm-muted);
  display: inline-grid;
  font: 600 1.55rem/1 var(--pm-font-ui);
  height: 1.5rem;
  place-items: center;
  transform-origin: center;
  width: 1rem;
}

.pm-project-chevron::before {
  content: "›";
}

.pm-project-block[open] .pm-project-chevron {
  transform: rotate(90deg);
}

.pm-project-block-title-wrap {
  display: grid;
  gap: .12rem;
  min-width: 0;
}

.pm-project-block-title {
  color: var(--pm-heading);
  display: inline-block;
  font: 600 .98rem/1.15 var(--pm-font-ui);
  letter-spacing: 0;
  width: max-content;
  max-width: 100%;
}

.pm-project-block-meta {
  color: var(--pm-muted);
  display: block;
  font-size: .82rem;
  line-height: 1.2;
}

.pm-project-attention-count {
  background: color-mix(in oklab, var(--pm-danger-bg) 64%, white);
  border: 1px solid color-mix(in oklab, var(--pm-danger) 16%, var(--pm-danger-bg));
  border-radius: 999px;
  color: var(--pm-danger);
  font: 600 .74rem/1 var(--pm-font-ui);
  padding: .28rem .48rem .25rem;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}

.pm-project-attention-count-overdue {
  background: var(--pm-danger-bg);
  border-color: color-mix(in oklab, var(--pm-danger) 28%, var(--pm-danger-bg));
  color: var(--pm-danger);
}

.pm-project-detail-list {
  display: grid;
  gap: .22rem;
  padding: .52rem .86rem .62rem;
}

.pm-project-detail-list div {
  display: grid;
  gap: .5rem;
  grid-template-columns: 4.2rem minmax(0, 1fr);
}

.pm-project-detail-list span {
  color: var(--pm-muted);
  font-size: .76rem;
  font-weight: 600;
  text-transform: uppercase;
}

.pm-project-detail-list strong {
  color: var(--pm-heading);
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.3;
}

.pm-project-detail-muted {
  color: var(--pm-muted);
  font-size: .82rem;
  padding-left: .86rem;
}

.pm-project-phase-list {
  display: grid;
  padding: .15rem 0 .18rem;
}

.pm-project-phase-line {
  border-top: 1px solid color-mix(in oklab, var(--pm-border) 70%, white);
  display: grid;
  gap: .16rem .65rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  padding: .5rem .86rem .5rem 1.65rem;
  position: relative;
}

.pm-project-phase-line:first-child {
  border-top: 0;
}

.pm-project-phase-line::before {
  background: var(--pm-border-strong);
  content: "";
  height: 1px;
  left: .86rem;
  position: absolute;
  top: .97rem;
  width: .46rem;
}

.pm-project-phase-line::after {
  background: var(--pm-border-strong);
  content: "";
  height: 100%;
  left: .86rem;
  position: absolute;
  top: 0;
  width: 1px;
}

.pm-project-phase-main {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .34rem .5rem;
}

.pm-project-phase-title {
  color: var(--pm-navy);
  font: 600 .87rem/1.2 var(--pm-font-ui);
}

.pm-project-phase-stage {
  color: var(--pm-muted);
  font-size: .78rem;
}

.pm-project-phase-status .pm-badge {
  background: transparent;
  color: var(--pm-muted);
  font-size: .64rem;
  padding: .1rem .32rem;
}

.pm-project-phase-attention {
  color: var(--pm-muted);
  font-size: .8rem;
  grid-column: 1 / -1;
  line-height: 1.3;
}

.pm-project-phase-count {
  color: var(--pm-warning);
  font: 600 .72rem/1.25 var(--pm-font-ui);
  justify-self: end;
  padding-top: .05rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.pm-task-complete-form {
  flex: 0 0 auto;
  margin: 0;
}

.pm-task-blank-check {
  background: var(--pm-bg-deep);
  border: 1px solid var(--pm-border-strong);
  border-radius: 3px;
  display: block;
  height: .82rem;
  width: .82rem;
}

.pm-check-button-checked {
  background: var(--pm-success);
  border-color: var(--pm-success);
  box-shadow: inset 0 0 0 3px var(--pm-bg);
}

.pm-sr-only {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.pm-data-card.pm-task-queue > .pm-table-wrap {
  overflow: visible;
}

.pm-view-tabs {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.15rem;
  margin: -.25rem 0 .82rem;
}

.pm-view-tabs a {
  color: var(--pm-heading);
  font: 600 .88rem var(--pm-font-ui);
  text-decoration: none;
}

.pm-view-tabs a[aria-current="page"] {
  color: var(--pm-navy);
  text-decoration: underline;
  text-underline-offset: .24rem;
}

.pm-task-group {
  background: var(--pm-panel);
  border: 1px solid color-mix(in oklab, var(--pm-divider) 82%, white);
  border-radius: var(--pm-radius);
  overflow: hidden;
  padding: 0;
}

.pm-task-group h2 {
  background: color-mix(in oklab, var(--pm-panel-soft) 72%, white);
  border-bottom: 1px solid color-mix(in oklab, var(--pm-divider) 76%, white);
  font: 600 .9rem/1.25 var(--pm-font-ui);
  margin: 0;
  padding: .6rem .78rem;
}

.pm-task-group h2 a {
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-task-group h2 a:hover {
  color: var(--pm-navy);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.pm-task-column-head {
  align-items: center;
  background: color-mix(in oklab, var(--pm-panel-soft) 80%, white);
  border-bottom: 1px solid color-mix(in oklab, var(--pm-divider) 72%, white);
  color: var(--pm-muted);
  display: grid;
  gap: .55rem;
  grid-template-columns: 1.25rem minmax(13rem, 1.6fr) minmax(7rem, .62fr) minmax(12rem, 1.35fr) minmax(6rem, .44fr);
  padding: .34rem .78rem;
}

.pm-task-column-head span {
  font: 600 .66rem/1.1 var(--pm-font-ui);
  letter-spacing: 0;
  min-width: 0;
  text-transform: uppercase;
}

.pm-task-item {
  align-items: center;
  border-bottom: 1px solid color-mix(in oklab, var(--pm-divider) 68%, white);
  display: grid;
  gap: .55rem;
  grid-template-columns: 1.25rem minmax(13rem, 1.6fr) minmax(7rem, .62fr) minmax(12rem, 1.35fr) minmax(6rem, .44fr);
  min-height: 2.75rem;
  padding: .38rem .78rem;
  position: relative;
}

.pm-task-check {
  align-items: center;
  display: flex;
  min-height: 2rem;
  padding-top: 0;
}

.pm-task-main {
  display: contents;
  min-width: 0;
}

.pm-task-meta-line {
  align-items: center;
  display: contents;
  min-width: 0;
}

.pm-task-meta-separator {
  display: none;
}

.pm-task-field-form {
  display: contents;
}

.pm-task-field-form .pm-alert {
  grid-column: 2 / -1;
  margin: 0;
}

.pm-task-inline-field {
  align-items: center;
  cursor: text;
  display: flex;
  min-width: 0;
  min-height: 2rem;
  position: relative;
  width: 100%;
}

.pm-task-title-inline {
  grid-column: 2;
  width: 100%;
}

.pm-task-assigned-inline {
  grid-column: 3;
}

.pm-task-waiting-inline {
  grid-column: 4;
}

.pm-task-inline-text {
  background: transparent;
  border: 0;
  color: var(--pm-ink);
  display: block;
  font: 600 .8rem/1.25 var(--pm-font-ui);
  margin: 0;
  max-width: 100%;
  min-height: 1.25em;
  outline: 0;
  overflow: hidden;
  padding: 0;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.pm-task-inline-text:focus {
  outline: 0;
}

.pm-task-inline-field::after,
.pm-task-due-wrap::after {
  background: color-mix(in oklab, var(--pm-gold) 72%, var(--pm-accent));
  bottom: .18rem;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
}

.pm-task-inline-field:focus-within::after,
.pm-task-due-wrap:focus-within::after,
.pm-task-inline-field.is-editing::after,
.pm-task-due-wrap.is-editing::after {
  opacity: .7;
}

.pm-task-inline-empty,
.pm-task-inline-text[data-empty="true"]::before {
  color: color-mix(in oklab, var(--pm-muted) 64%, white);
  content: attr(data-placeholder);
}

.pm-task-inline-text[data-empty="true"]:focus::before {
  content: "";
}

.pm-task-title-inline .pm-task-inline-text {
  color: var(--pm-navy);
  font: 500 .92rem/1.24 var(--pm-font-ui);
}

.pm-task-assigned-inline .pm-task-inline-text,
.pm-task-waiting-inline .pm-task-inline-text,
.pm-task-due-display {
  color: var(--pm-muted);
}

.pm-task-due-wrap {
  align-items: center;
  cursor: pointer;
  display: flex;
  grid-column: 5;
  justify-self: stretch;
  min-height: 2rem;
  min-width: 0;
  padding-top: 0;
  position: relative;
}

.pm-task-due-display {
  display: block;
  font: 600 .8rem/1.25 var(--pm-font-ui);
  margin: 0;
  max-width: 100%;
  min-height: 1.25em;
  overflow: hidden;
  padding: 0;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.pm-task-due-input {
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: block;
  font: inherit;
  height: 100%;
  inset: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
  pointer-events: none;
}

.pm-task-row-complete .pm-task-inline-text,
.pm-task-row-complete .pm-task-due-display {
  color: color-mix(in oklab, var(--pm-muted) 78%, white);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in oklab, var(--pm-muted) 64%, white);
}

.pm-task-new-row[hidden] {
  display: none;
}

.pm-task-new-row {
  background: color-mix(in oklab, var(--pm-panel-soft) 34%, transparent);
}

.pm-task-empty-view {
  color: var(--pm-muted);
  font-size: .86rem;
  margin: .2rem 0;
}

.pm-task-paper-add > summary {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--pm-muted);
  cursor: pointer;
  display: inline-flex;
  font: 600 .86rem/1.3 var(--pm-font-ui);
  list-style: none;
  padding: 0;
  text-decoration: none;
}

.pm-task-paper-add > summary:hover {
  color: var(--pm-navy);
  text-decoration: underline;
  text-underline-offset: .16rem;
}

.pm-task-paper-add {
  margin-top: .2rem;
}

.pm-task-paper-add > summary::-webkit-details-marker {
  display: none;
}

.pm-task-paper-add form {
  align-items: end;
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(2, minmax(10rem, 1fr));
  margin: .55rem 0 .35rem 1.6rem;
  max-width: 720px;
}

.pm-task-paper-add label {
  color: var(--pm-muted);
  display: grid;
  font: 600 .68rem/1.15 var(--pm-font-ui);
  gap: .22rem;
}

.pm-task-paper-add input,
.pm-task-paper-add select {
  min-height: 2.05rem;
  padding: .38rem .48rem;
}

.pm-task-queue-toggle input {
  accent-color: var(--pm-accent);
  height: 1rem;
  min-height: 0;
  padding: 0;
  width: 1rem;
}

.pm-task-queue-toggle {
  align-items: center;
  color: var(--pm-muted);
  display: inline-flex;
  font: 600 .68rem/1 var(--pm-font-ui);
  gap: .25rem;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .pm-task-paper-add form {
    grid-template-columns: 1fr;
    margin-left: 1.6rem;
  }
}

.pm-task-refresh {
  display: block;
}

.pm-task-refresh form {
  display: grid;
  gap: .75rem;
}

.pm-task-refresh-select-all {
  align-items: center;
  color: var(--pm-muted);
  display: inline-flex;
  font: 600 .76rem/1.2 var(--pm-font-ui);
  gap: .42rem;
  white-space: nowrap;
}

.pm-task-refresh-select-all input[type="checkbox"],
.pm-task-refresh-row input[type="checkbox"] {
  accent-color: var(--pm-accent);
  flex: 0 0 auto;
  height: 1rem;
  min-height: 0;
  padding: 0;
  width: 1rem;
}

.pm-task-refresh-group {
  background: var(--pm-panel);
  border: 1px solid var(--pm-divider);
  border-radius: var(--pm-radius);
  display: grid;
  overflow: hidden;
  padding: 0;
}

.pm-task-refresh-group-head {
  align-items: center;
  background: color-mix(in oklab, var(--pm-panel-soft) 76%, white);
  border-bottom: 1px solid var(--pm-divider);
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  min-width: 0;
  padding: .62rem .75rem;
}

.pm-task-refresh-group-head h2 {
  color: var(--pm-heading);
  font: 600 .9rem/1.25 var(--pm-font-ui);
  margin: 0;
  min-width: 0;
}

.pm-task-refresh-row {
  align-items: center;
  border-bottom: 1px solid var(--pm-divider);
  display: flex;
  gap: .65rem;
  min-height: 2.35rem;
  padding: .46rem .75rem;
}

.pm-task-refresh-row:last-child {
  border-bottom: 0;
}

.pm-task-refresh-title {
  color: var(--pm-ink);
  font: 600 .86rem/1.25 var(--pm-font-ui);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-task-refresh-actions {
  align-items: center;
  display: flex;
  gap: .6rem;
  justify-content: space-between;
}

.pm-task-save-state {
  background: color-mix(in oklab, var(--pm-panel) 88%, transparent);
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--pm-muted);
  display: none;
  font: 600 .68rem/1 var(--pm-font-ui);
  inset: auto .55rem .18rem auto;
  padding: .16rem .38rem;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

[data-save-state="saving"] .pm-task-save-state,
[data-save-state="saved"] .pm-task-save-state,
[data-save-state="error"] .pm-task-save-state {
  display: block;
}

[data-save-state="saving"] .pm-task-save-state {
  color: var(--pm-muted);
}

[data-save-state="saved"] .pm-task-save-state {
  color: var(--pm-success);
}

[data-save-state="error"] .pm-task-save-state {
  background: var(--pm-danger-bg);
  border-color: color-mix(in oklab, var(--pm-danger) 24%, white);
  color: var(--pm-danger);
}

[data-save-state="error"] .pm-task-due-input {
  border-color: color-mix(in oklab, var(--pm-danger) 38%, white);
}

[data-save-state="error"] .pm-task-inline-field::after,
[data-save-state="error"] .pm-task-due-wrap::after {
  background: var(--pm-danger);
  opacity: .72;
}

.pm-submittal-table {
  min-width: 0;
  table-layout: auto;
}

.pm-submittal-table th:nth-child(1),
.pm-submittal-table td:nth-child(1) {
  width: auto;
}

.pm-submittal-table th:nth-child(2),
.pm-submittal-table td:nth-child(2) {
  width: auto;
}

.pm-submittal-table th:nth-child(3),
.pm-submittal-table td:nth-child(3) {
  min-width: 10rem;
  white-space: nowrap;
  width: 1%;
}

.pm-submittal-table th:nth-child(4),
.pm-submittal-table td:nth-child(4) {
  min-width: 12rem;
  white-space: nowrap;
  width: 1%;
}

.pm-submittal-row td {
  height: 2.32rem;
  padding-top: .24rem;
  padding-bottom: .24rem;
}

.pm-submittal-project-link {
  align-items: baseline;
  display: inline-flex;
  flex-wrap: wrap;
  gap: .18rem;
}

.pm-table td:first-child .pm-submittal-project-link,
.pm-submittal-project-number {
  color: var(--pm-accent);
}

.pm-submittal-project-name,
.pm-submittal-project-separator {
  color: var(--pm-muted);
  font-weight: 400;
}

.pm-submittal-title-cell a {
  color: var(--pm-ink);
}

.pm-submittal-title-cell a:hover,
.pm-submittal-title-cell a:focus-visible {
  color: var(--pm-heading);
  text-decoration: underline;
  text-underline-offset: .16rem;
}

.pm-submittal-reference-cell {
  color: var(--pm-muted);
  font-family: var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  font-size: .84rem;
}

.pm-submittal-expiration-cell {
  color: var(--pm-muted);
  font-family: var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  font-size: .84rem;
}

.pm-submittal-editor-row {
  display: none;
}

.pm-submittal-editor-row:target,
.pm-submittal-editor-row.pm-is-open {
  display: table-row;
}

.pm-submittal-editor-row td {
  background: color-mix(in oklab, var(--pm-gold-soft) 32%, white);
  padding: .78rem .9rem .85rem 2.1rem;
}

.pm-submittal-inline-editor {
  display: grid;
  gap: .62rem;
  max-width: 54rem;
}

.pm-submittal-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem .8rem;
}

.pm-submittal-editor-grid label,
.pm-submittal-cycle-form label {
  color: var(--pm-muted);
  display: grid;
  font: 600 .72rem var(--pm-font-ui);
  gap: .28rem;
}

.pm-submittal-editor-grid input,
.pm-submittal-editor-grid select,
.pm-submittal-editor-grid textarea,
.pm-submittal-cycle-form input {
  min-height: 2.25rem;
  padding: .42rem .55rem;
}

.pm-submittal-editor-grid textarea {
  min-height: 4.4rem;
}

.pm-submittal-title-field,
.pm-submittal-project-field {
  grid-column: auto;
}

.pm-submittal-notes-field {
  grid-column: 1 / -1;
}

.pm-submittal-cycle-history {
  border-top: 1px solid var(--pm-border);
  display: grid;
  gap: .62rem;
  margin-top: 1.3rem;
  max-width: 64rem;
  padding-top: 1rem;
}

.pm-submittal-cycle-history h2 {
  color: var(--pm-heading);
  font: 600 1rem/1.2 var(--pm-font-ui);
  margin: 0;
}

.pm-submittal-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem .8rem;
  color: var(--pm-muted);
  font-size: .82rem;
}

.pm-submittal-cycle-table {
  min-width: 920px;
  background: var(--pm-panel);
}

.pm-submittal-cycle-form {
  display: grid;
  grid-template-columns: 5.5rem repeat(3, minmax(8rem, .7fr)) minmax(12rem, 1.2fr) auto;
  gap: .55rem;
  align-items: end;
  opacity: .9;
}

.pm-submittal-form-page {
  display: grid;
  gap: .85rem;
  max-width: 68rem;
}

.pm-submittal-form-head {
  display: grid;
  gap: .22rem;
}

.pm-submittal-form-head h1 {
  color: var(--pm-heading);
  font: 600 1.35rem/1.25 var(--pm-font-ui);
  margin: 0;
}

.pm-submittal-form-head p {
  color: var(--pm-muted);
  font: 400 .94rem/1.35 var(--pm-font-ui);
  margin: 0;
}

.pm-table th button {
  display: inline-flex;
  align-items: center;
  gap: .24rem;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: default;
  font: inherit;
  letter-spacing: inherit;
  padding: 0;
  text-transform: inherit;
}

.pm-table th button::after {
  content: "";
  width: 0;
  height: 0;
  border-left: .22rem solid transparent;
  border-right: .22rem solid transparent;
  border-top: .32rem solid var(--pm-border-strong);
}

.pm-table tbody tr:hover {
  background: color-mix(in oklab, var(--pm-gold-soft) 42%, white);
}

.pm-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
  align-items: center;
}

.pm-inline-actions form {
  margin: 0;
}

.pm-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: end;
  margin: 0 0 1rem;
  padding: 0;
  border-bottom: 0;
}

.pm-page-head + .pm-toolbar:not(.pm-filter-bar),
.pm-project-head + .pm-toolbar:not(.pm-filter-bar) {
  background: var(--pm-panel);
  border: 1px solid var(--pm-divider);
  border-radius: var(--pm-radius);
  box-shadow: none;
  padding: 1rem;
}

.pm-toolbar label {
  min-width: min(100%, 150px);
}

.pm-toolbar label {
  flex: 0 1 160px;
}

.pm-toolbar label:first-of-type {
  flex: 1 1 320px;
}

.pm-filter-bar {
  align-items: end;
  background: transparent;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .58rem .78rem;
  margin: 0 0 1.15rem;
  padding: 0;
}

.pm-filter-bar label {
  display: grid;
  flex: 0 1 10.5rem;
  gap: .24rem;
  min-width: min(100%, 8.5rem);
}

.pm-filter-bar label:has(input[type="search"]) {
  flex: 1 1 22rem;
  min-width: min(100%, 18rem);
}

.pm-filter-bar .pm-checkbox-label {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: .5rem;
  min-height: var(--pm-control-h);
  min-width: auto;
  white-space: nowrap;
}

.pm-filter-bar button[type="submit"] {
  flex: 0 0 auto;
}

.pm-reset-link {
  align-items: center;
  align-self: end;
  color: var(--pm-link);
  display: inline-flex;
  min-height: var(--pm-control-h);
  text-decoration: none;
}

.pm-reset-link:hover,
.pm-reset-link:focus-visible {
  color: var(--pm-heading);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.pm-filter-bar + .pm-console-section,
.pm-filter-bar + .pm-section {
  margin-top: 1.15rem;
}

.pm-bid-project-tabs-table {
  min-width: 0;
  table-layout: fixed;
}

.pm-bid-project-tabs-col-project {
  width: auto;
}

.pm-bid-project-tabs-col-date {
  width: 8.25rem;
}

.pm-bid-project-tabs-col-low-bid {
  width: 10.25rem;
}

.pm-bid-project-tabs-col-contractor {
  width: 17rem;
}

.pm-bid-project-tabs-col-items {
  width: 4.5rem;
}

.pm-bid-project-tabs-mobile-meta {
  display: none;
}

.pm-bid-project-tabs-table th:nth-child(2),
.pm-bid-project-tabs-table td:nth-child(2) {
  white-space: nowrap;
}

.pm-bid-project-tabs-table th:nth-child(3),
.pm-bid-project-tabs-table td:nth-child(3) {
  text-align: right;
  white-space: nowrap;
}

.pm-bid-project-tabs-table th:nth-child(5),
.pm-bid-project-tabs-table td:nth-child(5) {
  text-align: right;
  white-space: nowrap;
}

.pm-bid-project-tabs-table td:nth-child(4) {
  white-space: nowrap;
}

.pm-bid-project-tabs-table td:first-child a {
  overflow-wrap: anywhere;
}

.pm-bid-results-section {
  padding-top: .15rem;
}

.pm-bid-results-head {
  align-items: baseline;
  display: flex;
  gap: .8rem;
  justify-content: space-between;
  margin-bottom: .35rem;
}

.pm-bid-results-head h2 {
  font-size: 1rem;
  margin: 0;
}

.pm-bid-results-head span {
  color: var(--pm-muted);
  font-size: .8rem;
}

.pm-bid-selected-summary {
  align-items: center;
  background: var(--pm-panel-soft);
  border: 1px solid var(--pm-divider);
  border-radius: var(--pm-radius-sm);
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin: .4rem 0 .5rem;
  min-height: 2.25rem;
  padding: .38rem .58rem;
}

.pm-bid-selected-summary[hidden] {
  display: none;
}

.pm-bid-selected-summary strong {
  color: var(--pm-heading);
  font-size: .86rem;
}

.pm-bid-selected-summary span {
  color: var(--pm-muted);
  font-size: .84rem;
}

.pm-bid-selected-summary b {
  color: var(--pm-heading);
  font-weight: 600;
}

.pm-bid-selected-summary-mixed {
  border-color: color-mix(in srgb, var(--pm-warning) 55%, var(--pm-divider));
}

.pm-bid-select-cell {
  text-align: center;
}

.pm-bid-select-checkbox {
  min-height: 1.15rem;
  min-width: 1.15rem;
}

.pm-bid-result-list {
  background: var(--pm-panel);
  border-bottom: 1px solid var(--pm-divider);
  border-top: 1px solid var(--pm-divider);
}

.pm-bid-result-price-head,
.pm-bid-result-row {
  display: grid;
  grid-template-columns: 1.9rem minmax(0, 1fr) 7.2rem 7.2rem;
}

.pm-bid-result-price-head {
  color: var(--pm-muted);
  font: 600 .66rem/1.2 var(--pm-font-ui);
  letter-spacing: 0;
  padding: .35rem .55rem .3rem;
  text-transform: uppercase;
}

.pm-bid-result-price-head span:nth-child(3),
.pm-bid-result-price-head span:nth-child(4) {
  text-align: right;
}

.pm-bid-result-row {
  align-items: start;
  border-top: 1px solid var(--pm-divider);
  column-gap: .8rem;
  min-height: 4rem;
  padding: .55rem;
}

.pm-bid-result-row:first-of-type {
  border-top: 0;
}

.pm-bid-result-select {
  padding-top: .1rem;
}

.pm-bid-result-main {
  min-width: 0;
}

.pm-bid-result-project {
  color: var(--pm-gold-dark);
  display: inline-block;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.pm-bid-result-project:hover {
  color: var(--pm-navy);
  text-decoration: underline;
}

.pm-bid-result-meta {
  color: var(--pm-muted);
  font-size: .78rem;
  line-height: 1.25;
  margin-top: .1rem;
}

.pm-bid-result-description {
  color: var(--pm-text);
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.28;
  margin-top: .24rem;
  overflow-wrap: anywhere;
}

.pm-bid-result-price {
  color: var(--pm-heading);
  font-size: .86rem;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1.25;
  padding-top: .12rem;
  text-align: right;
  white-space: nowrap;
}

.pm-bid-canonical-section {
  padding-top: .15rem;
}

.pm-bid-canonical-list {
  background: var(--pm-panel);
  border-bottom: 1px solid var(--pm-divider);
  border-top: 1px solid var(--pm-divider);
}

.pm-bid-canonical-row {
  align-items: baseline;
  border-top: 1px solid var(--pm-divider);
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: .5rem 1.45rem;
  grid-template-columns: minmax(24rem, 1fr) minmax(4.75rem, max-content) minmax(9.5rem, max-content) minmax(7rem, max-content);
  padding: .68rem .8rem;
  text-decoration: none;
}

.pm-bid-canonical-row:first-child {
  border-top: 0;
}

.pm-bid-canonical-row:nth-child(even) {
  background: color-mix(in oklab, var(--pm-panel-soft) 32%, transparent);
}

.pm-bid-canonical-row.pm-is-active {
  background: color-mix(in oklab, var(--pm-gold-soft) 48%, white);
}

.pm-bid-canonical-row:hover,
.pm-bid-canonical-row:focus-visible {
  background: color-mix(in oklab, var(--pm-surface-hover) 88%, var(--pm-bg-deep));
}

.pm-bid-canonical-name {
  color: var(--pm-heading);
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.pm-bid-canonical-unit,
.pm-bid-canonical-count {
  color: var(--pm-muted);
  font: 600 .78rem/1.25 var(--pm-font-ui);
  white-space: nowrap;
}

.pm-bid-canonical-count {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.pm-bid-canonical-action {
  color: var(--pm-muted);
  font: 600 .76rem/1.25 var(--pm-font-ui);
  justify-self: end;
  white-space: nowrap;
}

.pm-bid-canonical-row.pm-is-active .pm-bid-canonical-action {
  color: var(--pm-navy-dark);
}

.pm-bid-canonical-row:hover .pm-bid-canonical-action,
.pm-bid-canonical-row:focus-visible .pm-bid-canonical-action {
  color: var(--pm-heading);
}

.pm-bid-canonical-history .pm-section-head h2 {
  font-size: 1rem;
  margin: 0 0 .18rem;
}

.pm-bid-canonical-stats {
  border-bottom: 1px solid var(--pm-divider);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.pm-bid-canonical-stats div {
  border-right: 1px solid var(--pm-divider);
  display: grid;
  gap: .08rem;
  padding: .58rem .85rem .62rem;
}

.pm-bid-canonical-stats div:last-child {
  border-right: 0;
}

.pm-bid-canonical-stats dt {
  color: var(--pm-muted);
  font: 600 .68rem/1.2 var(--pm-font-ui);
  letter-spacing: .045em;
  text-transform: uppercase;
}

.pm-bid-canonical-stats dd {
  color: var(--pm-heading);
  font: 600 .92rem/1.2 var(--pm-font-ui);
  font-variant-numeric: tabular-nums;
  margin: 0;
}

.pm-bid-canonical-note {
  border-bottom: 1px solid var(--pm-divider);
  color: var(--pm-muted);
  font-size: .8rem;
  margin: 0;
  padding: .48rem .85rem;
}

.pm-bid-canonical-history-table {
  min-width: 760px;
  table-layout: fixed;
}

.pm-bid-canonical-project-col {
  width: 54%;
}

.pm-bid-canonical-date-col {
  width: 8.75rem;
}

.pm-bid-canonical-qty-col {
  width: 8.5rem;
}

.pm-bid-canonical-price-col {
  width: 11rem;
}

.pm-bid-canonical-history-table th,
.pm-bid-canonical-history-table td {
  padding-bottom: .6rem;
  padding-top: .6rem;
}

.pm-bid-canonical-history-table th:first-child,
.pm-bid-canonical-history-table td:first-child {
  padding-left: 1rem;
}

.pm-bid-canonical-history-table th:last-child,
.pm-bid-canonical-history-table td:last-child {
  padding-right: 1rem;
}

.pm-bid-canonical-history-table th:nth-child(2),
.pm-bid-canonical-history-table td:nth-child(2) {
  white-space: nowrap;
}

.pm-bid-canonical-history-table th:nth-child(3),
.pm-bid-canonical-history-table th:nth-child(4),
.pm-bid-canonical-history-table td:nth-child(3),
.pm-bid-canonical-history-table td:nth-child(4) {
  text-align: right;
}

.pm-bid-canonical-history-table tbody tr:nth-child(even) {
  background: color-mix(in oklab, var(--pm-panel-soft) 26%, transparent);
}

.pm-bid-unusual {
  color: var(--pm-muted);
  font-size: .72rem;
  font-weight: 600;
  display: inline-block;
  margin-left: .28rem;
}

.pm-bid-canonical-mobile-meta {
  color: var(--pm-muted);
  display: none;
  font-size: .75rem;
  line-height: 1.25;
  margin-top: .12rem;
}

.pm-bid-project-list-section {
  padding-top: 0;
}

.pm-bid-project-toolbar {
  margin-bottom: 1rem;
}

.pm-bid-detail-items-section {
  background: var(--pm-panel);
  margin-bottom: 1rem;
}

.pm-bid-import-form {
  display: grid;
  gap: .7rem;
}

.pm-file-drop {
  align-items: center;
  background: color-mix(in oklab, var(--pm-panel-soft) 78%, white);
  border: 1.5px dashed var(--pm-border-strong);
  border-radius: var(--pm-radius);
  cursor: pointer;
  display: grid;
  gap: .28rem;
  justify-items: center;
  min-height: 11rem;
  padding: 1.25rem;
  text-align: center;
}

.pm-file-drop:hover,
.pm-file-drop.pm-is-dragging {
  background: var(--pm-gold-soft);
  border-color: var(--pm-gold-dark);
}

.pm-file-drop input {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.pm-file-drop-title {
  color: var(--pm-heading);
  font: 600 1rem var(--pm-font-ui);
}

.pm-file-drop-meta,
.pm-file-drop-name {
  color: var(--pm-muted);
  font-size: .86rem;
}

.pm-file-drop-name {
  font-weight: 600;
}

.pm-bid-import-confirm {
  margin-top: .75rem;
}

.pm-bid-preview-project {
  display: grid;
  gap: .35rem;
  margin-bottom: .7rem;
}

.pm-bid-preview-project label {
  display: grid;
  gap: .28rem;
  max-width: 34rem;
}

.pm-bid-preview-project label span {
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .76rem;
  font-weight: 600;
}

.pm-validation-summary {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  margin-bottom: .35rem;
}

.pm-validation-summary span {
  font-weight: 600;
}

.pm-validation-ok {
  color: var(--pm-success);
}

.pm-validation-bad {
  color: var(--pm-danger);
}

.pm-detection-details {
  margin-top: .6rem;
}

.pm-detection-details summary {
  color: var(--pm-navy);
  cursor: pointer;
  font-weight: 600;
}

.pm-detection-details .pm-table-wrap {
  margin-top: .55rem;
}

.pm-bid-structure {
  display: grid;
  gap: .45rem;
  max-width: 42rem;
}

.pm-bid-structure div {
  align-items: center;
  border-bottom: 1px solid var(--pm-line);
  display: flex;
  justify-content: space-between;
  padding: .35rem 0;
}

.pm-bid-structure strong {
  font-family: var(--pm-font-ui);
  font-size: .82rem;
}

.pm-bid-import-processing {
  display: grid;
  gap: .8rem;
}

.pm-processing-line {
  align-items: center;
  color: var(--pm-muted);
  display: flex;
  gap: .55rem;
}

.pm-spinner {
  animation: pm-spin .8s linear infinite;
  border: 2px solid var(--pm-border-strong);
  border-top-color: var(--pm-gold-dark);
  border-radius: 999px;
  display: inline-block;
  height: 1rem;
  width: 1rem;
}

@keyframes pm-spin {
  to {
    transform: rotate(360deg);
  }
}

.pm-toolbar label,
.pm-form label {
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .76rem;
  font-weight: 600;
}

.pm-toolbar label,
.pm-form label {
  display: grid;
  gap: .28rem;
}

.pm-toolbar label.pm-checkbox,
.pm-form label.pm-checkbox,
label.pm-checkbox {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-width: 0;
}

.pm-checkbox input[type="checkbox"] {
  width: 1rem;
  min-height: 0;
  height: 1rem;
  flex: 0 0 auto;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  width: 100%;
  min-height: 2.4rem;
  border: 1px solid var(--pm-border-strong);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-bg-deep);
  color: var(--pm-ink);
  font: inherit;
  padding: .48rem .62rem;
}

input::placeholder,
textarea::placeholder {
  color: var(--pm-muted-light);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  border-color: var(--pm-accent);
  outline: 0;
  box-shadow: var(--pm-focus);
}

textarea {
  min-height: 15rem;
  resize: vertical;
}

.pm-back-link {
  display: inline-flex;
  width: max-content;
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .86rem;
  font-weight: 620;
}

.pm-back-link:hover {
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-project-head dl,
.pm-definition-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .52rem .9rem;
  margin: 0;
}

.pm-source-details {
  color: var(--pm-muted);
  font-size: .86rem;
}

.pm-source-details summary {
  cursor: pointer;
  font-weight: 600;
}

.pm-source-details dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: .45rem;
}

.pm-definition-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

dt {
  color: var(--pm-muted-light);
  font-family: var(--pm-font-ui);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
}

dd {
  margin: .12rem 0 0;
}

.pm-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 1.28rem;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: var(--pm-panel-soft);
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .68rem;
  font-weight: 600;
  line-height: 1;
  padding: .18rem .42rem;
  white-space: nowrap;
}

.pm-badge--active,
.pm-badge--open {
  background: var(--pm-navy-soft);
  border-color: color-mix(in oklab, var(--pm-navy) 22%, white);
  color: var(--pm-navy);
}

.pm-badge--planning,
.pm-badge--medium {
  background: var(--pm-gold-soft);
  border-color: color-mix(in oklab, var(--pm-gold) 50%, white);
  color: var(--pm-warning);
}

.pm-badge--waiting,
.pm-badge--on-hold {
  background: var(--pm-warning-bg);
  border-color: color-mix(in oklab, var(--pm-warning) 42%, var(--pm-border));
  color: var(--pm-warning);
}

.pm-badge--overdue,
.pm-badge--high {
  background: var(--pm-danger-bg);
  border-color: color-mix(in oklab, var(--pm-danger) 34%, white);
  color: var(--pm-danger);
}

.pm-badge--complete,
.pm-badge--closed,
.pm-badge--low {
  background: var(--pm-success-bg);
  border-color: color-mix(in oklab, var(--pm-success) 28%, white);
  color: var(--pm-success);
}

.pm-check-list {
  display: grid;
  gap: .32rem;
  list-style: none;
  margin: .35rem 0 0;
  padding: 0;
}

.pm-check-list li {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
}

.pm-project-task-list li.pm-project-task-editing {
  display: block;
}

.pm-fresh-task-form {
  display: grid;
  gap: .72rem;
}

.pm-fresh-task-list {
  border: 1px solid var(--pm-divider);
  border-radius: var(--pm-radius-sm);
  overflow: hidden;
}

.pm-fresh-task-row {
  align-items: center;
  background: var(--pm-panel);
  border: 0;
  border-bottom: 1px solid var(--pm-divider);
  display: grid;
  gap: .72rem;
  grid-template-columns: minmax(14rem, 1fr) repeat(3, max-content) minmax(8rem, .45fr);
  margin: 0;
  min-height: 2.45rem;
  padding: .46rem .65rem;
}

.pm-fresh-task-row:last-child {
  border-bottom: 0;
}

.pm-fresh-task-row legend {
  color: var(--pm-heading);
  float: left;
  font: 600 .88rem/1.25 var(--pm-font-ui);
  margin: 0;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-fresh-task-row label {
  align-items: center;
  color: var(--pm-muted);
  display: inline-flex;
  font: 600 .76rem/1 var(--pm-font-ui);
  gap: .28rem;
  white-space: nowrap;
}

.pm-fresh-task-row input {
  margin: 0;
}

.pm-fresh-task-row .pm-muted {
  font-size: .78rem;
  min-width: 0;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-project-task-inline-form {
  width: 100%;
}

.pm-check-list input {
  width: auto;
  min-height: auto;
  margin-top: .18rem;
}

.pm-note-list {
  display: grid;
  gap: .42rem;
}

.pm-note-list article {
  border-top: 1px solid var(--pm-border);
  padding-top: .42rem;
}

.pm-note-list article:first-child {
  border-top: 0;
  padding-top: 0;
}

.pm-note-list time {
  color: var(--pm-muted);
  font-family: var(--pm-font-ui);
  font-size: .8rem;
  font-weight: 600;
}

.pm-note-list p,
.pm-section p {
  margin: .28rem 0 0;
}

.pm-empty-state {
  background: var(--pm-panel);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius);
  box-shadow: var(--pm-shadow);
  max-width: 720px;
  padding: 1rem;
}

.pm-narrow {
  max-width: 560px;
}

.pm-login-body {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 1rem;
  background:
    linear-gradient(180deg, rgb(44 62 80 / 8%), transparent 34%),
    var(--pm-bg);
}

.pm-login-body .pm-shell-main {
  width: min(100%, 400px);
  padding: 0;
}

.pm-login-panel {
  padding: 1.35rem;
}

.pm-login-panel h1 {
  margin-bottom: .95rem;
  font-size: 1.35rem;
}

.pm-form {
  display: grid;
  gap: .9rem;
}

.pm-inline-form {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  margin: 0;
}

.pm-inline-form button:not(.pm-button),
.pm-check-button {
  border: 0;
  background: transparent;
  color: var(--pm-gold-dark);
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.pm-check-button {
  width: .82rem;
  height: .82rem;
  border: 1px solid var(--pm-border-strong);
  border-radius: 3px;
  background: var(--pm-bg-deep);
  flex: 0 0 auto;
  margin-top: 0;
}

.pm-alert {
  margin: 0 0 .95rem;
  border-left: 3px solid var(--pm-danger);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-danger-bg);
  color: var(--pm-danger);
  padding: .72rem .85rem;
}

.pm-alert-success {
  border-left-color: var(--pm-success);
  background: var(--pm-success-bg);
  color: var(--pm-success);
}

.pm-alert-warning {
  border-left-color: var(--pm-gold-dark);
  background: var(--pm-gold-soft);
  color: var(--pm-heading);
}

.pm-contact-inline-form {
  display: grid;
  gap: .55rem;
  margin: 0;
}

.pm-contact-inline-grid {
  display: grid;
  grid-template-columns: minmax(12rem, 1.3fr) minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(8rem, .75fr);
  gap: .55rem;
}

.pm-contact-inline-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}

.pm-contact-simple-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}

@media (max-width: 980px) {
  .pm-bid-project-items-table {
    min-width: 920px;
  }

  .pm-contact-inline-grid,
  .pm-contact-simple-method-grid {
    grid-template-columns: 1fr;
  }
}

.pm-weekly-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: .8rem;
  flex-wrap: wrap;
  padding: .7rem .75rem;
}

.pm-weekly-report-form {
  display: grid;
  gap: 1rem;
}

.pm-weekly-table-wrap {
  max-height: none;
  overflow: visible;
}

.pm-weekly-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.pm-weekly-table th:nth-child(1),
.pm-weekly-table td:nth-child(1) {
  width: 50%;
}

.pm-weekly-table th:nth-child(2),
.pm-weekly-table td:nth-child(2) {
  width: 14%;
}

.pm-weekly-table th:nth-child(3),
.pm-weekly-table td:nth-child(3) {
  width: 24%;
}

.pm-weekly-table th:nth-child(4),
.pm-weekly-table td:nth-child(4) {
  width: 8%;
}

.pm-weekly-table th:nth-child(5),
.pm-weekly-table td:nth-child(5) {
  width: 4%;
  text-align: right;
}

.pm-weekly-table input,
.pm-weekly-table select,
.pm-weekly-table textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--pm-border-strong);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-bg-deep);
  color: var(--pm-ink);
  font: inherit;
  line-height: 1.28;
  padding: .34rem .42rem;
}

.pm-weekly-table textarea {
  min-height: 2.15rem;
  resize: vertical;
}

.pm-weekly-client {
  display: block;
  margin-top: .18rem;
  color: var(--pm-muted);
  font-size: .82rem;
}

.pm-weekly-row-project td {
  background: var(--pm-navy-soft);
  color: var(--pm-heading);
  border-top: 2px solid var(--pm-border-strong);
}

.pm-weekly-row-project .pm-weekly-task-cell strong {
  display: block;
  color: var(--pm-heading);
  font: 600 .96rem var(--pm-font-ui);
}

.pm-weekly-row-topic td {
  background: var(--pm-panel-soft);
}

.pm-weekly-row-topic .pm-weekly-topic-input {
  border-color: transparent;
  background: transparent;
  color: var(--pm-heading);
  font-weight: 600;
  padding-left: .9rem;
}

.pm-weekly-level-1 {
  padding-left: 1.35rem !important;
}

.pm-weekly-level-2 {
  padding-left: 2.35rem !important;
}

.pm-weekly-row-status textarea[name^="display_text"] {
  font-style: italic;
}

.pm-weekly-row-milestone textarea[name^="display_text"],
.pm-weekly-row-milestone input[name^="due_text"] {
  font-weight: 600;
}

.pm-weekly-milestone-field {
  display: flex;
  align-items: start;
  gap: .35rem;
}

.pm-weekly-milestone-field > span {
  color: var(--pm-gold-dark);
  font-size: .72rem;
  line-height: 2rem;
}

.pm-weekly-milestone-field textarea {
  flex: 1;
}

.pm-weekly-empty-cells {
  color: var(--pm-muted);
}

.pm-weekly-actions-cell {
  position: relative;
}

.pm-row-actions {
  position: relative;
  display: inline-block;
}

.pm-row-actions summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--pm-border-strong);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-control-surface);
  color: var(--pm-heading);
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.pm-row-actions summary::-webkit-details-marker {
  display: none;
}

.pm-row-actions-menu {
  position: absolute;
  z-index: 12;
  right: 0;
  display: grid;
  min-width: 190px;
  gap: .35rem;
  margin-top: .3rem;
  border: 1px solid var(--pm-border-strong);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-panel);
  padding: .5rem;
  box-shadow: 0 8px 18px rgb(31 41 51 / 14%);
  text-align: left;
}

.pm-row-actions-menu button {
  width: 100%;
  border: 0;
  border-radius: var(--pm-radius-sm);
  background: transparent;
  color: var(--pm-heading);
  cursor: pointer;
  font: 600 .86rem var(--pm-font-ui);
  padding: .36rem .42rem;
  text-align: left;
}

.pm-row-actions-menu button:hover {
  background: var(--pm-navy-soft);
}

.pm-row-actions-menu label {
  display: grid;
  gap: .18rem;
  color: var(--pm-muted);
  font-size: .78rem;
  font-weight: 600;
}

.pm-row-action-danger {
  color: var(--pm-danger) !important;
}

.pm-weekly-row-excluded {
  opacity: .58;
}

.pm-weekly-excluded-label {
  display: inline-flex;
  margin-left: .4rem;
  color: var(--pm-muted);
  font-size: .76rem;
  font-weight: 600;
  text-transform: uppercase;
}

.pm-weekly-add-row {
  max-width: none;
}

.pm-weekly-add-grid {
  display: grid;
  grid-template-columns: minmax(13rem, 1.2fr) minmax(12rem, 1.1fr) minmax(10rem, .8fr) minmax(9rem, .7fr);
  gap: .7rem;
}

.pm-weekly-add-grid > *,
.pm-weekly-add-row > label,
.pm-weekly-add-row input,
.pm-weekly-add-row select,
.pm-weekly-add-row textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

.pm-weekly-status-field {
  display: grid;
  gap: .24rem;
}

@media (max-width: 1020px) {
  .pm-weekly-add-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-project-head dl,
  .pm-definition-grid,
  .pm-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.pm-app {
    font-size: 14px;
  }

  .pm-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-weekly-table th:nth-child(1),
  .pm-weekly-table td:nth-child(1) {
    width: 48%;
  }

  .pm-weekly-table th:nth-child(3),
  .pm-weekly-table td:nth-child(3) {
    width: 23%;
  }

  .pm-weekly-table th:nth-child(4),
  .pm-weekly-table td:nth-child(4) {
    width: 9%;
  }

  .pm-weekly-table th:nth-child(5),
  .pm-weekly-table td:nth-child(5) {
    width: 6%;
  }

  .pm-shell-bar {
    gap: .46rem;
    min-width: 0;
    align-items: start;
    min-height: 0;
    padding: .58rem .78rem .66rem;
    border-right: 0;
    border-bottom: 1px solid var(--pm-divider);
  }

  .pm-shell-brand,
  .pm-shell-actions {
    width: 100%;
  }

  .pm-primary-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem .75rem;
    max-width: 100%;
    padding-bottom: .1rem;
  }

  .pm-shell-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 0;
  }

  .pm-shell-main {
    padding: 1rem var(--pm-page-gutter) 2.5rem;
  }

  .pm-page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-toolbar {
    display: grid;
  }
}

@media (max-width: 560px) {
  .pm-page-head,
  .pm-project-head {
    margin-top: 0;
  }

  .pm-project-block-head {
    display: grid;
    gap: .4rem;
  }

  .pm-task-item {
    gap: .42rem .55rem;
    grid-template-columns: 1.25rem minmax(0, 1fr) minmax(5.5rem, auto);
    padding-left: .62rem;
    padding-right: .62rem;
  }

  .pm-task-column-head {
    grid-template-columns: 1.25rem minmax(0, 1fr) minmax(5.5rem, auto);
    padding-left: .62rem;
    padding-right: .62rem;
  }

  .pm-task-column-head span:nth-child(3),
  .pm-task-column-head span:nth-child(4) {
    display: none;
  }

  .pm-task-title-inline {
    grid-column: 2;
  }

  .pm-task-due-wrap {
    grid-column: 3;
    justify-self: stretch;
    padding-top: 0;
  }

  .pm-task-assigned-inline {
    grid-column: 2;
    grid-row: 2;
  }

  .pm-task-waiting-inline {
    grid-column: 3;
    grid-row: 2;
  }

  .pm-task-check {
    align-self: start;
  }

  .pm-task-due-wrap {
    min-height: 2.25rem;
  }

  .pm-project-head dl {
    grid-template-columns: 1fr;
  }

  .pm-task-refresh-row {
    align-items: flex-start;
  }

  .pm-task-inline-text,
  .pm-task-due-display {
    font-size: .78rem;
  }

  .pm-task-title-inline .pm-task-inline-text {
    font-size: .86rem;
  }

  .pm-task-save-state {
    inset: auto .4rem .1rem auto;
  }

  .pm-fresh-task-row {
    align-items: start;
    gap: .42rem .55rem;
    grid-template-columns: minmax(0, 1fr);
    padding-left: .62rem;
    padding-right: .62rem;
  }

  .pm-fresh-task-row legend,
  .pm-fresh-task-row .pm-muted {
    text-align: left;
    white-space: normal;
  }

  .pm-agenda li {
    grid-template-columns: 1fr;
    gap: .24rem;
  }

  .pm-calendar-grid {
    display: block;
  }

  .pm-calendar-weekday,
  .pm-calendar-day-muted:empty {
    display: none;
  }

  .pm-calendar-day {
    border-right: 0;
    min-height: 0;
    padding: .62rem .75rem;
  }

  .pm-calendar-day-muted {
    display: none;
  }

  .pm-calendar-date {
    margin-bottom: .28rem;
  }

  .pm-plain-list li {
    grid-template-columns: 1fr;
    gap: .28rem;
  }

  .pm-plain-list em {
    white-space: normal;
  }

  .pm-project-head dl,
  .pm-definition-grid,
  .pm-form-grid {
    grid-template-columns: 1fr;
  }

  .pm-table {
    font-size: .88rem;
  }

  .pm-table th,
  .pm-table td {
    padding: var(--pm-table-py) var(--pm-table-px);
  }

  .pm-submittal-table {
    min-width: 0;
  }

  .pm-submittal-table thead {
    display: none;
  }

  .pm-submittal-table,
  .pm-submittal-table tbody,
  .pm-submittal-table tr,
  .pm-submittal-table td {
    display: block;
    width: 100% !important;
  }

  .pm-submittal-table tr {
    border-bottom: 1px solid var(--pm-border);
    padding: .58rem .62rem;
  }

  .pm-submittal-table tr[hidden] {
    display: none;
  }

  .pm-submittal-table td {
    border-bottom: 0;
    display: grid;
    gap: .16rem;
    grid-template-columns: 6.9rem minmax(0, 1fr);
    min-height: 1.95rem;
    padding: .16rem 0;
  }

  .pm-submittal-table td::before {
    color: var(--pm-muted);
    content: "";
    font: 600 .66rem/1.25 var(--pm-font-ui);
    text-transform: uppercase;
  }

  .pm-submittal-table td:nth-child(1)::before { content: "Project"; }
  .pm-submittal-table td:nth-child(2)::before { content: "Type"; }
  .pm-submittal-table td:nth-child(3)::before { content: "Reference"; }
  .pm-submittal-table td:nth-child(4)::before { content: "Expiration"; }
}

.pm-task-mobile-project {
  display: none;
}

@media (max-width: 600px) {
  /* Let native controls and their grid/fieldset parents fit phone widths. */
  .pm-app fieldset,
  .pm-app input:not([type="checkbox"]):not([type="radio"]),
  .pm-app select,
  .pm-app textarea,
  .pm-form label {
    min-width: 0;
  }

  .pm-form label {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-app h1,
  .pm-bid-project-head .pm-bid-project-meta dd {
    overflow-wrap: anywhere;
  }

  .pm-shell-main {
    padding: .82rem var(--pm-page-gutter) 2.25rem;
  }

  .pm-section {
    margin-bottom: .85rem;
    padding: .72rem;
  }

  .pm-data-card {
    padding: 0;
  }

  .pm-bid-results-section {
    padding: .2rem 0 0;
  }

  .pm-bid-results-head {
    padding: 0 .1rem;
  }

  .pm-bid-selected-summary {
    margin: .35rem 0 .4rem;
    padding: .34rem .46rem;
  }

  .pm-bid-result-price-head,
  .pm-bid-result-row {
    grid-template-columns: 1.45rem minmax(0, 1fr) 4.45rem 4.65rem;
  }

  .pm-bid-result-price-head {
    padding: .25rem .25rem .22rem;
  }

  .pm-bid-result-row {
    column-gap: .42rem;
    min-height: 0;
    padding: .48rem .25rem .5rem;
  }

  .pm-bid-result-project {
    font-size: .72rem;
  }

  .pm-bid-result-meta {
    font-size: .74rem;
  }

  .pm-bid-result-description {
    font-size: .78rem;
    line-height: 1.26;
  }

  .pm-bid-result-price {
    font-size: .76rem;
  }

  .pm-bid-project-tabs-wrap {
    overflow-x: visible;
  }

  .pm-bid-project-tabs-table {
    display: table;
    font-size: .72rem;
    min-width: 0;
    table-layout: fixed;
    width: 100%;
  }

  .pm-bid-project-tabs-table colgroup {
    display: none;
  }

  .pm-bid-project-tabs-col-project {
    width: auto !important;
  }

  .pm-bid-project-tabs-col-date,
  .pm-bid-project-tabs-col-items {
    width: 0 !important;
  }

  .pm-bid-project-tabs-col-low-bid {
    width: 5rem !important;
  }

  .pm-bid-project-tabs-col-contractor {
    width: 7.45rem !important;
  }

  .pm-bid-project-tabs-table thead {
    display: table-header-group;
  }

  .pm-bid-project-tabs-table tbody {
    display: table-row-group;
  }

  .pm-bid-project-tabs-table tr {
    border: 0;
    display: table-row;
    margin: 0;
    overflow: visible;
    padding: 0;
  }

  .pm-bid-project-tabs-table th,
  .pm-bid-project-tabs-table td {
    display: table-cell;
    min-height: 0;
    padding: .34rem .22rem;
    vertical-align: top;
    width: auto !important;
  }

  .pm-bid-project-tabs-table th::before,
  .pm-bid-project-tabs-table td::before {
    content: none !important;
  }

  .pm-bid-project-tabs-mobile-meta {
    color: var(--pm-muted);
    display: block;
    font-size: .68rem;
    line-height: 1.2;
    margin-top: .1rem;
  }

  .pm-bid-project-tabs-table th:nth-child(2),
  .pm-bid-project-tabs-table td:nth-child(2),
  .pm-bid-project-tabs-table th:nth-child(5),
  .pm-bid-project-tabs-table td:nth-child(5) {
    display: none;
  }

  .pm-bid-project-tabs-table th:nth-child(3),
  .pm-bid-project-tabs-table td:nth-child(3) {
    text-align: right;
    white-space: nowrap;
    width: 5rem !important;
  }

  .pm-bid-project-tabs-table th:nth-child(4),
  .pm-bid-project-tabs-table td:nth-child(4) {
    white-space: normal;
    width: 7.45rem !important;
  }

  .pm-bid-project-tabs-table td:nth-child(4) {
    overflow-wrap: anywhere;
  }

  .pm-bid-project-tabs-table td:first-child a {
    line-height: 1.2;
  }

  .pm-section-head {
    gap: .35rem;
    margin-bottom: .55rem;
    padding-bottom: .42rem;
  }

  .pm-data-card > .pm-section-head {
    padding: .65rem .72rem;
  }

  .pm-inline-actions,
  .pm-page-actions,
  .pm-project-actions,
  .pm-form-actions {
    gap: .35rem;
  }

  .pm-page-head > .pm-inline-actions,
  .pm-project-actions {
    align-items: stretch;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .pm-page-head > .pm-inline-actions .pm-button,
  .pm-project-actions .pm-button {
    width: 100%;
  }

  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    min-width: 0;
  }

  .pm-toolbar {
    gap: .55rem;
  }

  .pm-page-head + .pm-toolbar:not(.pm-filter-bar) {
    padding: .72rem;
  }

  .pm-toolbar label,
  .pm-toolbar label:first-of-type,
  .pm-filter-bar label,
  .pm-filter-bar label:has(input[type="search"]) {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
  }

  .pm-table-wrap {
    max-width: 100%;
  }

  .pm-task-group {
    border-radius: var(--pm-radius-sm);
  }

  .pm-task-group h2 {
    padding: .55rem .62rem;
  }

  .pm-task-column-head {
    display: none;
  }

  .pm-task-item {
    align-items: start;
    gap: .4rem .58rem;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    min-height: 0;
    padding: .62rem;
  }

  .pm-task-check {
    align-items: flex-start;
    grid-column: 1;
    grid-row: 1 / span 4;
    justify-content: center;
    min-height: 2.75rem;
    padding-top: .1rem;
  }

  .pm-check-button,
  .pm-task-blank-check {
    height: 1.18rem;
    margin: .42rem;
    width: 1.18rem;
  }

  .pm-task-complete-form {
    align-items: center;
    display: flex;
    min-height: 2.75rem;
    min-width: 2.75rem;
  }

  .pm-task-field-form {
    display: grid;
    gap: .34rem;
    grid-column: 2;
    min-width: 0;
  }

  .pm-task-mobile-project {
    color: var(--pm-muted);
    display: block;
    font: 600 .68rem/1.22 var(--pm-font-ui);
    overflow-wrap: anywhere;
    text-transform: uppercase;
  }

  .pm-task-main,
  .pm-task-meta-line {
    display: grid;
    gap: .3rem;
    min-width: 0;
  }

  .pm-task-title-inline,
  .pm-task-assigned-inline,
  .pm-task-waiting-inline,
  .pm-task-due-wrap {
    grid-column: auto;
    grid-row: auto;
  }

  .pm-task-inline-field {
    display: grid;
    gap: .1rem;
    min-height: 0;
  }

  .pm-task-inline-field::before,
  .pm-task-due-wrap::before {
    color: var(--pm-muted-light);
    font: 600 .62rem/1.1 var(--pm-font-ui);
    text-transform: uppercase;
  }

  .pm-task-title-inline::before { content: "Task"; }
  .pm-task-assigned-inline::before { content: "Assigned"; }
  .pm-task-waiting-inline::before { content: "Status"; }
  .pm-task-due-wrap::before { content: "Due"; }

  .pm-task-inline-text,
  .pm-task-due-display {
    font-size: .84rem;
    line-height: 1.28;
    min-height: 1.2rem;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .pm-task-title-inline .pm-task-inline-text {
    font-size: .94rem;
    line-height: 1.26;
  }

  .pm-task-due-wrap {
    cursor: default;
    display: grid;
    gap: .18rem;
    min-height: 0;
  }

  .pm-task-due-display {
    display: none;
  }

  .pm-task-due-input {
    appearance: auto;
    background: var(--pm-bg-deep);
    border: 1px solid var(--pm-border-strong);
    border-radius: var(--pm-radius-sm);
    cursor: pointer;
    font: 600 .84rem/1.2 var(--pm-font-ui);
    height: auto;
    min-height: 2.35rem;
    opacity: 1;
    padding: .38rem .48rem;
    pointer-events: auto;
    position: static;
    width: 100%;
  }

  .pm-task-save-state {
    inset: auto 0 0 auto;
    position: static;
    width: max-content;
  }

  .pm-task-refresh-row {
    gap: .55rem;
    min-height: 3rem;
    padding: .5rem .62rem;
  }

  .pm-task-refresh-title {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .pm-task-refresh-select-all input[type="checkbox"],
  .pm-task-refresh-row input[type="checkbox"],
  .pm-checkbox-label input[type="checkbox"],
  .pm-checkbox input[type="checkbox"] {
    height: 1.2rem;
    width: 1.2rem;
  }

  .pm-task-refresh-select-all,
  .pm-task-refresh-row {
    min-height: 2.75rem;
  }

  .pm-project-portfolio {
    gap: .65rem;
    padding: .62rem;
  }

  .pm-project-block {
    background: var(--pm-panel);
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-sm);
    overflow: hidden;
  }

  .pm-project-block-head {
    min-height: 0;
    padding: .68rem .7rem;
  }

  .pm-project-detail-list {
    padding: .58rem .7rem .65rem;
  }

  .pm-project-detail-list div {
    grid-template-columns: 5.4rem minmax(0, 1fr);
  }

  .pm-calendar-grid {
    display: grid;
    gap: .55rem;
    padding: .62rem;
  }

  .pm-calendar-weekday,
  .pm-calendar-day:not(:has(.pm-calendar-event)),
  .pm-calendar-day-muted:not(:has(.pm-calendar-event)) {
    display: none;
  }

  .pm-calendar-day {
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-sm);
    display: grid;
    gap: .45rem;
    min-height: 0;
    padding: .62rem .68rem;
  }

  .pm-calendar-date {
    margin: 0;
  }

  .pm-calendar-date-short {
    display: none;
  }

  .pm-calendar-date-full {
    display: inline;
  }

  .pm-calendar-event {
    min-height: 2.35rem;
    padding: .32rem .38rem .32rem .52rem;
  }

  .pm-bid-project-items-table,
  .pm-weekly-table,
  .pm-submittal-cycle-table,
  .pm-client-contact-table {
    min-width: 0;
  }

  .pm-bid-project-items-table thead,
  .pm-weekly-table thead,
  .pm-submittal-cycle-table thead,
  .pm-client-contact-table thead {
    display: none;
  }

  .pm-bid-project-items-table,
  .pm-bid-project-items-table tbody,
  .pm-bid-project-items-table tr,
  .pm-bid-project-items-table td,
  .pm-weekly-table,
  .pm-weekly-table tbody,
  .pm-weekly-table tr,
  .pm-weekly-table td,
  .pm-submittal-cycle-table,
  .pm-submittal-cycle-table tbody,
  .pm-submittal-cycle-table tr,
  .pm-submittal-cycle-table td,
  .pm-client-contact-table,
  .pm-client-contact-table tbody,
  .pm-client-contact-table tr,
  .pm-client-contact-table td {
    display: block;
    width: 100% !important;
  }

  .pm-bid-project-items-table tr:not(.pm-bid-category-row):not(.pm-bid-category-total-row),
  .pm-weekly-table tr,
  .pm-submittal-cycle-table tr,
  .pm-client-contact-table tr {
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-sm);
    margin: .55rem;
    overflow: hidden;
    padding: .55rem .62rem;
  }

  .pm-bid-project-items-table td,
  .pm-weekly-table td,
  .pm-submittal-cycle-table td,
  .pm-client-contact-table td {
    border-bottom: 0;
    display: grid;
    gap: .15rem;
    grid-template-columns: 6.9rem minmax(0, 1fr);
    min-height: 1.9rem;
    padding: .18rem 0;
    text-align: left;
  }

  .pm-bid-project-items-table td::before,
  .pm-weekly-table td::before,
  .pm-submittal-cycle-table td::before,
  .pm-client-contact-table td::before {
    color: var(--pm-muted);
    font: 600 .64rem/1.25 var(--pm-font-ui);
    text-transform: uppercase;
  }

  .pm-bid-project-items-table td:nth-child(1)::before { content: "Item"; }
  .pm-bid-project-items-table td:nth-child(2)::before { content: "Description"; }
  .pm-bid-project-items-table td:nth-child(3)::before { content: "Qty"; }
  .pm-bid-project-items-table td:nth-child(4)::before { content: "Unit"; }
  .pm-bid-project-items-table td:nth-child(5)::before { content: "Low"; }
  .pm-bid-project-items-table td:nth-child(6)::before { content: "Second"; }
  .pm-bid-project-items-table td:nth-child(7)::before { content: "Third"; }
  .pm-bid-project-items-table td:nth-child(8)::before { content: "Average"; }
  .pm-bid-project-items-table td:nth-child(9)::before { content: "ENR Avg."; }

  .pm-bid-category-row {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--pm-heading);
    display: block !important;
    margin: 1.35rem .55rem .28rem !important;
    padding: .6rem 0 .34rem !important;
  }

  .pm-bid-category-row th {
    border-bottom: 1px solid color-mix(in oklab, var(--pm-border-strong) 68%, transparent);
    display: block;
    padding: 0 0 .38rem;
  }

  .pm-bid-category-total-row {
    border: 0;
    border-bottom: 2px solid var(--pm-border-strong);
    display: grid !important;
    gap: .25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: .2rem .55rem 1.25rem !important;
    padding: .72rem 0 .78rem !important;
  }

  .pm-bid-category-total-row td {
    border: 0;
    display: block;
    min-height: 0;
    padding: 0;
  }

  .pm-bid-category-total-row td::before,
  .pm-bid-category-total-spacer {
    display: none;
  }

  .pm-bid-summary-foot {
    display: block;
  }

  .pm-bid-summary-foot tr {
    background: var(--pm-gold-soft);
  }

  .pm-weekly-table td:nth-child(1)::before { content: "Update"; }
  .pm-weekly-table td:nth-child(2)::before { content: "Assigned"; }
  .pm-weekly-table td:nth-child(3)::before { content: "Status"; }
  .pm-weekly-table td:nth-child(4)::before { content: "Due"; }
  .pm-weekly-table td:nth-child(5)::before { content: "Actions"; }

  .pm-weekly-row-project td,
  .pm-weekly-row-topic td {
    display: block;
  }

  .pm-weekly-empty-cells {
    display: none !important;
  }

  .pm-weekly-actions-cell {
    overflow: visible;
  }

  .pm-row-actions summary {
    height: 2.7rem;
    width: 2.7rem;
  }

  .pm-row-actions-menu {
    left: auto;
    min-width: min(16rem, calc(100vw - 3rem));
    right: 0;
  }

  .pm-task-page-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .pm-task-page-actions .pm-task-report-link {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 2.45rem;
    width: auto;
  }

  .pm-project-block-head {
    align-items: start;
    grid-template-columns: 1fr;
    gap: .38rem;
  }

  .pm-project-block-title {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    width: auto;
  }

  .pm-project-block-end {
    justify-content: space-between;
    width: 100%;
  }

  .pm-task-item {
    gap: .26rem .48rem;
    grid-template-columns: 2.55rem minmax(0, 1fr);
    padding: .52rem .58rem;
  }

  .pm-task-check {
    grid-row: 1;
    min-height: 2.75rem;
    padding-top: 0;
  }

  .pm-task-complete-form {
    min-height: 2.75rem;
    min-width: 2.75rem;
  }

  .pm-check-button,
  .pm-task-blank-check {
    height: 1.42rem;
    margin: .34rem;
    width: 1.42rem;
  }

  .pm-task-field-form {
    gap: .14rem;
  }

  .pm-task-main {
    gap: .1rem;
  }

  .pm-task-title-inline::before {
    content: none;
  }

  .pm-task-title-inline .pm-task-inline-text {
    font-size: .95rem;
    line-height: 1.22;
  }

  .pm-task-mobile-project {
    margin-top: -.02rem;
    text-transform: none;
  }

  .pm-task-meta-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .12rem .48rem;
  }

  .pm-task-meta-separator {
    display: none;
  }

  .pm-task-inline-field,
  .pm-task-due-wrap {
    display: inline-flex;
    align-items: baseline;
    gap: .22rem;
    min-height: 1.6rem;
    width: auto;
  }

  .pm-task-inline-field::before,
  .pm-task-due-wrap::before {
    color: var(--pm-muted-light);
    flex: 0 0 auto;
    font-size: .58rem;
    line-height: 1;
  }

  .pm-task-inline-field::after,
  .pm-task-due-wrap::after {
    bottom: .02rem;
  }

  .pm-task-inline-text {
    font-size: .8rem;
    line-height: 1.22;
    min-height: 1.15rem;
  }

  .pm-task-due-input {
    min-height: 2rem;
    padding: .24rem .34rem;
    width: 8.8rem;
  }

  .pm-calendar-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pm-calendar-day {
    width: 100%;
  }

  .pm-calendar-event {
    overflow-wrap: break-word;
    word-break: normal;
  }

  .pm-weekly-controls {
    align-items: stretch;
    display: grid;
  }

  .pm-weekly-controls .pm-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .pm-weekly-report-form {
    min-width: 0;
  }

  .pm-weekly-table-wrap {
    overflow: visible;
  }

  .pm-weekly-table tr {
    margin: .45rem .5rem;
    padding: .48rem .55rem;
  }

  .pm-weekly-table tr:not(.pm-weekly-row-project):not(.pm-weekly-row-topic) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    gap: .26rem .45rem;
  }

  .pm-weekly-table tr:not(.pm-weekly-row-project):not(.pm-weekly-row-topic) td {
    display: grid;
    grid-template-columns: 4.7rem minmax(0, 1fr);
    min-height: 0;
    padding: .08rem 0;
    width: auto !important;
  }

  .pm-weekly-table tr:not(.pm-weekly-row-project):not(.pm-weekly-row-topic) .pm-weekly-task-cell {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: 1fr;
    padding-left: 0 !important;
  }

  .pm-weekly-table tr:not(.pm-weekly-row-project):not(.pm-weekly-row-topic) .pm-weekly-task-cell::before {
    content: none;
  }

  .pm-weekly-actions-cell {
    display: block !important;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .pm-weekly-actions-cell::before {
    content: none !important;
  }

  .pm-weekly-table input,
  .pm-weekly-table select,
  .pm-weekly-table textarea {
    min-height: 2rem;
    padding: .28rem .36rem;
  }

  .pm-weekly-table textarea {
    min-height: 2.05rem;
  }

  .pm-weekly-row-project td,
  .pm-weekly-row-topic td {
    padding: .18rem 0;
  }

  .pm-weekly-add-grid {
    grid-template-columns: 1fr;
  }

  .pm-weekly-status-field {
    min-width: 0;
  }

  .pm-bid-project-items-table tr:not(.pm-bid-category-row):not(.pm-bid-category-total-row) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .16rem .58rem;
    margin: .5rem 0;
    padding: .55rem .62rem;
    width: auto !important;
  }

  .pm-bid-project-items-table .pm-bid-category-row {
    margin: 1.35rem 0 .24rem !important;
  }

  .pm-bid-project-items-table .pm-bid-category-total-row {
    border: 0;
    border-bottom: 2px solid var(--pm-border-strong);
    display: grid;
    gap: .25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: .2rem 0 1.25rem;
    padding: .72rem 0 .78rem;
    width: auto !important;
  }

  .pm-bid-project-items-table .pm-bid-category-total-row td {
    border: 0;
    display: block;
    min-height: 0;
    padding: 0;
    width: auto !important;
  }

  .pm-bid-project-items-table .pm-bid-category-total-row td::before,
  .pm-bid-project-items-table .pm-bid-category-total-item,
  .pm-bid-project-items-table .pm-bid-category-total-spacer {
    display: none;
  }

  .pm-bid-project-items-table .pm-bid-category-total-label {
    text-align: right;
  }

  .pm-bid-project-items-table tr:not(.pm-bid-category-row):not(.pm-bid-category-total-row) td {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .16rem .35rem;
    min-height: 0;
    padding: .06rem 0;
    width: auto !important;
  }

  .pm-bid-project-items-table .pm-bid-project-cell-description {
    grid-column: 1 / -1;
    grid-template-columns: 1fr !important;
  }

  .pm-bid-project-items-table .pm-bid-project-cell-description::before {
    content: none;
  }

  .pm-bid-project-items-table .pm-bid-project-cell-qty,
  .pm-bid-project-items-table .pm-bid-project-cell-unit {
    color: var(--pm-muted);
  }

  .pm-bid-project-items-table .pm-bid-project-cell-price {
    align-items: baseline;
  }

  .pm-bid-project-items-table .pm-bid-project-cell-price::before {
    min-width: 3.6rem;
  }

  .pm-weekly-add-grid {
    grid-template-columns: 1fr;
  }

  .pm-submittal-table td:nth-child(3)::before { content: "Reference No."; }
  .pm-submittal-table td:nth-child(4)::before { content: "Expiration"; }

  .pm-submittal-editor-grid,
  .pm-submittal-cycle-form {
    grid-template-columns: 1fr;
  }

  .pm-submittal-cycle-table td:nth-child(1)::before { content: "Cycle"; }
  .pm-submittal-cycle-table td:nth-child(2)::before { content: "Submitted"; }
  .pm-submittal-cycle-table td:nth-child(3)::before { content: "Comments"; }
  .pm-submittal-cycle-table td:nth-child(4)::before { content: "Resubmittal"; }
  .pm-submittal-cycle-table td:nth-child(5)::before { content: "Approval"; }
  .pm-submittal-cycle-table td:nth-child(6)::before { content: "Agency"; }
  .pm-submittal-cycle-table td:nth-child(7)::before { content: "Ours"; }
  .pm-submittal-cycle-table td:nth-child(8)::before { content: "Notes"; }

  .pm-client-contact-table td {
    min-height: 2.15rem;
  }

  .pm-client-contact-table td a {
    align-items: center;
    display: inline-flex;
    min-height: 2.35rem;
    overflow-wrap: anywhere;
  }

  .pm-client-contact-table td:nth-child(1)::before { content: "Name"; }
  .pm-client-contact-table td:nth-child(2)::before { content: "Organization"; }
  .pm-client-contact-table td:nth-child(3)::before { content: "Project"; }
  .pm-client-contact-table td:nth-child(4)::before { content: "Role"; }
  .pm-client-contact-table td:nth-child(5)::before { content: "Contact"; }
}

body.pm-app,
.pm-app,
.pm-app button,
.pm-app input,
.pm-app select,
.pm-app textarea {
  font-family: var(--pm-font-ui);
}

body.pm-app {
  background: var(--pm-bg);
  color: var(--pm-ink);
  font-size: 1rem;
  line-height: 1.55;
}

.pm-app * {
  font-family: inherit;
}

.pm-number,
.pm-app code,
.pm-app kbd,
.pm-app samp,
.pm-app time,
.pm-page-meta,
.pm-console-date,
.pm-work-row-date,
.pm-work-clock,
.pm-bid-result-price,
.pm-bid-project-meta dd,
input[type="date"],
input[type="datetime-local"],
input[inputmode="decimal"] {
  font-family: var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
}

.pm-shell-main {
  max-width: var(--pm-content-max);
  padding-top: clamp(1.4rem, 3vw, 2.4rem);
}

a {
  color: var(--pm-link);
}

a:hover {
  color: var(--pm-heading);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline-color: var(--pm-accent);
}

.pm-product-name,
.pm-product-kicker,
.pm-nav-link,
.pm-public-link,
.pm-shell-actions .pm-signout button,
.pm-app h1,
.pm-app h2,
.pm-app h3,
.pm-eyebrow,
.pm-button,
.pm-toolbar label,
.pm-form label,
dt,
.pm-badge,
.pm-table th,
.pm-calendar-weekday,
.pm-calendar-date,
.pm-task-paper-add > summary,
.pm-task-inline-text,
.pm-task-due-display,
.pm-project-detail-title,
.pm-project-block-title,
.pm-project-phase-title,
.pm-row-actions-menu button,
.pm-back-link {
  font-family: inherit;
}

.pm-product-name {
  color: var(--pm-heading);
  font-size: .96rem;
  font-weight: 600;
}

.pm-product-kicker {
  color: var(--pm-muted);
  font-size: .86rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.pm-primary-nav {
  gap: .28rem .78rem;
  padding: 0;
}

.pm-nav-link {
  min-height: 1.8rem;
  border-radius: 0;
  color: var(--pm-muted);
  font-size: .92rem;
  font-weight: 400;
  letter-spacing: 0;
  padding: .16rem 0;
  text-transform: none;
}

.pm-nav-link:hover {
  background: transparent;
  color: var(--pm-heading);
}

.pm-nav-link[aria-current="page"] {
  color: var(--pm-heading);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--pm-accent);
  text-underline-offset: .24em;
}

.pm-nav-link[aria-current="page"]::before {
  content: none;
}

.pm-public-link,
.pm-shell-actions .pm-signout button {
  color: var(--pm-muted);
  font-size: .9rem;
  font-weight: 400;
}

.pm-page-head,
.pm-project-head {
  margin-bottom: 1.35rem;
  padding-bottom: 0;
  border-bottom: 0;
}

.pm-project-head {
  gap: .82rem;
}

.pm-eyebrow {
  color: var(--pm-muted);
  font-size: .9rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: .26rem;
  text-transform: none;
}

.pm-app h1,
.pm-project-detail-title {
  color: var(--pm-heading);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.pm-app h2 {
  color: var(--pm-heading);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.pm-page-meta,
.pm-project-context,
.pm-muted,
.pm-section-head a,
.pm-section-head span,
.pm-plain-list span,
.pm-agenda span,
.pm-source-details,
.pm-bid-result-meta,
.pm-file-drop-meta,
.pm-file-drop-name {
  color: var(--pm-muted);
}

.pm-section,
.pm-record-form,
.pm-login-panel,
.pm-empty-state,
.pm-task-group,
.pm-task-refresh-group,
.pm-inline-create-form,
.pm-bid-selected-summary,
.pm-file-drop,
.pm-page-head + .pm-toolbar,
.pm-project-head + .pm-toolbar,
.pm-bid-detail-items-section,
.pm-bid-result-list,
.pm-fresh-task-list {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pm-divider);
  border-radius: 0;
  box-shadow: none;
}

.pm-section {
  padding: 1rem 0 0;
}

.pm-data-card,
.pm-calendar-section {
  overflow: visible;
}

.pm-data-card > .pm-section-head,
.pm-calendar-section > .pm-section-head,
.pm-section-head {
  border-bottom-color: var(--pm-divider);
  padding-left: 0;
  padding-right: 0;
}

.pm-button,
.pm-signout button {
  min-height: var(--pm-control-h);
  border-color: var(--pm-border-strong);
  border-radius: var(--pm-radius);
  background: var(--pm-control-surface);
  color: var(--pm-ink);
  font-size: .9rem;
  font-weight: 500;
  padding: var(--pm-button-py) var(--pm-button-px);
  box-shadow: none;
}

a.pm-button {
  min-height: auto;
  border: 0;
  color: var(--pm-link);
  padding: 0;
}

.pm-text-action {
  color: var(--pm-link);
  font-weight: 600;
  text-decoration: none;
}

.pm-text-action:hover,
.pm-text-action:focus-visible {
  color: var(--pm-heading);
  text-decoration: underline;
  text-underline-offset: .16rem;
}

.pm-button:hover,
.pm-signout button:hover {
  border-color: var(--pm-accent);
  background: transparent;
  color: var(--pm-heading);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

a.pm-button:hover,
a.pm-button:focus-visible {
  color: color-mix(in oklab, var(--pm-accent) 86%, white 14%);
}

.pm-button-primary {
  background: color-mix(in oklab, var(--pm-accent) 9%, var(--pm-control-surface));
  border-color: color-mix(in oklab, var(--pm-accent) 54%, var(--pm-border-strong));
  color: var(--pm-accent);
}

.pm-button-primary:hover {
  background: color-mix(in oklab, var(--pm-accent) 11%, transparent);
  border-color: var(--pm-accent);
  color: var(--pm-heading);
}

a.pm-button-primary {
  background: transparent;
  border: 0;
  color: var(--pm-link);
}

a.pm-button.pm-action-button,
.pm-button.pm-action-button {
  background: transparent;
  border: 1px solid var(--pm-accent);
  border-radius: var(--pm-radius);
  color: var(--pm-accent);
  display: inline-flex;
  min-height: var(--pm-control-h);
  padding: var(--pm-button-py) var(--pm-button-px);
}

a.pm-button.pm-action-button:hover,
a.pm-button.pm-action-button:focus-visible,
.pm-button.pm-action-button:hover,
.pm-button.pm-action-button:focus-visible {
  background: color-mix(in oklab, var(--pm-accent) 11%, transparent);
  border-color: var(--pm-accent);
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-button-danger {
  border-color: color-mix(in oklab, var(--pm-danger) 44%, var(--pm-border-strong));
  color: var(--pm-danger);
}

.pm-button-danger:hover {
  background: var(--pm-danger-bg);
  color: var(--pm-danger);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.pm-weekly-table input,
.pm-weekly-table select,
.pm-weekly-table textarea,
.pm-task-project-select-cell select,
.pm-task-due-input {
  border-color: var(--pm-border-strong);
  border-radius: var(--pm-radius-sm);
  background: var(--pm-bg-deep);
  color: var(--pm-ink);
  min-height: var(--pm-control-h);
  padding: var(--pm-input-py) var(--pm-input-px);
}

input::placeholder,
textarea::placeholder,
.pm-task-inline-empty,
.pm-task-inline-text[data-empty="true"]::before {
  color: var(--pm-muted-light);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  border-color: var(--pm-accent);
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--pm-accent);
}

.pm-toolbar {
  gap: .75rem 1rem;
}

.pm-toolbar label,
.pm-form label,
.pm-inline-create-form label,
.pm-task-paper-add label,
.pm-submittal-editor-grid label,
.pm-submittal-cycle-form label {
  color: var(--pm-muted);
  font-size: .9rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.pm-table {
  border-collapse: collapse;
  color: var(--pm-ink);
}

.pm-table th,
.pm-table td,
.pm-submittal-row td,
.pm-bid-project-items-table th,
.pm-bid-project-items-table td {
  border-bottom-color: var(--pm-divider);
}

.pm-table th {
  background: transparent;
  color: var(--pm-muted);
  font-size: .88rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.pm-table td {
  color: var(--pm-ink);
}

.pm-table tbody tr:hover {
  background: color-mix(in oklab, var(--pm-panel-soft) 34%, transparent);
}

.pm-table td:first-child a,
.pm-sort-link[aria-current="true"],
.pm-task-project-link,
.pm-task-title-inline .pm-task-inline-text,
.pm-project-phase-title,
.pm-detection-details summary,
.pm-bid-result-project {
  color: var(--pm-navy-dark);
}

.pm-table td:first-child a:hover,
.pm-task-project-link:hover,
.pm-bid-result-project:hover {
  color: var(--pm-heading);
}

.pm-badge,
.pm-bid-component-label,
.pm-bid-outlier-label,
.pm-project-attention-count,
.pm-plain-list em {
  border-radius: 0;
  background: transparent;
}

.pm-badge {
  color: var(--pm-muted);
  border-color: transparent;
  font-size: .84rem;
  font-weight: 400;
  padding: 0;
  text-transform: none;
}

.pm-badge--active,
.pm-badge--open,
.pm-badge--current,
.pm-badge--low,
.pm-badge--planning,
.pm-badge--submitted,
.pm-badge--under-review {
  background: transparent;
  border-color: var(--pm-border-strong);
  color: var(--pm-ink);
}

.pm-badge--complete,
.pm-badge--completed,
.pm-badge--approved,
.pm-badge--paid,
.pm-badge--closed {
  background: transparent;
  border-color: color-mix(in oklab, var(--pm-success) 42%, var(--pm-border-strong));
  color: var(--pm-success);
}

.pm-badge--medium,
.pm-badge--waiting,
.pm-badge--pending,
.pm-badge--needs-review,
.pm-badge--follow-up,
.pm-badge--in-progress,
.pm-badge--on-hold {
  background: transparent;
  border-color: color-mix(in oklab, var(--pm-warning) 34%, var(--pm-border-strong));
  color: var(--pm-warning);
}

.pm-badge--overdue,
.pm-badge--expired,
.pm-badge--failed,
.pm-badge--rejected,
.pm-badge--high {
  background: transparent;
  border-color: color-mix(in oklab, var(--pm-danger) 52%, var(--pm-border-strong));
  color: var(--pm-danger);
}

.pm-alert,
.pm-flash {
  border: 1px solid color-mix(in oklab, var(--pm-danger) 52%, var(--pm-divider));
  border-left-width: 3px;
  border-radius: 0;
  background: var(--pm-danger-bg);
  color: var(--pm-danger);
}

.pm-alert-success,
.pm-flash-success {
  border-color: color-mix(in oklab, var(--pm-success) 45%, var(--pm-divider));
  background: var(--pm-success-bg);
  color: var(--pm-success);
}

.pm-alert-warning {
  border-color: color-mix(in oklab, var(--pm-warning) 45%, var(--pm-divider));
  background: var(--pm-warning-bg);
  color: var(--pm-warning);
}

.pm-cost-estimate-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pm-cost-estimate-search label:first-of-type {
  min-width: min(100%, 28rem);
}

.pm-cost-estimate-category-picker {
  margin-bottom: .85rem;
}

.pm-cost-estimate-suggestions {
  margin-top: .75rem;
}

.pm-cost-estimate-suggestions .pm-section-head {
  margin-bottom: .35rem;
}

.pm-cost-estimate-suggestions .pm-section-head h3 {
  margin: 0;
  color: var(--pm-heading);
  font: 600 .88rem/1.2 var(--pm-font-ui);
}

.pm-cost-estimate-suggestion-table {
  min-width: 0;
}

.pm-unit-cost-summary-table {
  min-width: 0;
}

.pm-unit-cost-summary-table th:not(:first-child),
.pm-unit-cost-summary-table td:not(:first-child) {
  width: 1%;
  white-space: nowrap;
}

.pm-unit-cost-summary-table th:nth-child(n+3) {
  text-align: right;
}

.pm-cost-estimate-suggestion-table th:nth-child(2),
.pm-cost-estimate-suggestion-table th:nth-child(3),
.pm-cost-estimate-suggestion-table td:nth-child(2),
.pm-cost-estimate-suggestion-table td:nth-child(3) {
  width: 5rem;
  text-align: right;
}

.pm-cost-estimate-suggestion-table td:nth-child(4) {
  width: 1%;
  white-space: nowrap;
}

.pm-cost-estimate-suggestion-table form {
  margin: 0;
}

.pm-cost-estimate-matches {
  display: grid;
  gap: .5rem;
  margin-top: 1rem;
}

.pm-cost-estimate-match {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7rem auto;
  gap: .75rem;
  align-items: end;
  border-top: 1px solid var(--pm-divider);
  padding-top: .65rem;
}

.pm-cost-estimate-match strong,
.pm-cost-estimate-table strong {
  display: block;
  color: var(--pm-ink);
  font-weight: 600;
}

.pm-cost-estimate-match span,
.pm-cost-estimate-table span,
.pm-cost-estimate-match small {
  display: block;
  color: var(--pm-muted);
  font-size: .8rem;
  line-height: 1.25;
  margin-top: .08rem;
}

.pm-cost-estimate-category {
  margin-top: 1.25rem;
}

.pm-cost-estimate-category:first-child {
  margin-top: 0;
}

.pm-cost-estimate-category-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  border-bottom: 1px solid var(--pm-divider);
  padding-bottom: .35rem;
}

.pm-cost-estimate-category-head h2 {
  margin: 0;
  color: var(--pm-heading);
  font: 600 .86rem/1.2 var(--pm-font-ui);
}

.pm-cost-estimate-category-head span {
  color: var(--pm-ink);
  font: 600 .86rem/1.2 var(--pm-font-tech);
}

.pm-cost-estimate-table th:nth-child(2),
.pm-cost-estimate-table th:nth-child(4),
.pm-cost-estimate-table th:nth-child(5),
.pm-cost-estimate-table td:nth-child(2),
.pm-cost-estimate-table td:nth-child(4),
.pm-cost-estimate-table td:nth-child(5) {
  text-align: right;
}

.pm-cost-estimate-table td:nth-child(2),
.pm-cost-estimate-table td:nth-child(4) {
  width: 8rem;
}

.pm-cost-estimate-table td:nth-child(6) {
  width: 1%;
  white-space: nowrap;
}

.pm-cost-estimate-table input {
  width: 100%;
  min-width: 0;
  text-align: right;
}

.pm-cost-manual {
  color: var(--pm-warning) !important;
}

.pm-cost-estimate-total-box {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid var(--pm-divider);
  margin-top: 1.25rem;
  padding-top: .85rem;
}

.pm-cost-estimate-total-box dl {
  display: grid;
  gap: .35rem;
  min-width: min(100%, 28rem);
  margin: 0;
}

.pm-cost-estimate-total-box div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: baseline;
}

.pm-cost-estimate-total-box dt {
  color: var(--pm-muted);
}

.pm-cost-estimate-total-box dd {
  margin: 0;
  color: var(--pm-ink);
  font: 600 .95rem/1.2 var(--pm-font-tech);
  text-align: right;
}

.pm-cost-estimate-total-box div:last-child {
  border-top: 1px solid var(--pm-divider);
  padding-top: .45rem;
}

.pm-cost-estimate-total-box div:last-child dt,
.pm-cost-estimate-total-box div:last-child dd {
  color: var(--pm-heading);
  font-weight: 600;
  text-transform: uppercase;
}

.pm-view-tabs {
  gap: 1rem;
  border-bottom: 0;
  padding-bottom: 0;
}

.pm-view-tabs a {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pm-muted);
  font: inherit;
  font-size: .94rem;
  padding: 0;
}

.pm-view-tabs a:hover,
.pm-view-tabs a[aria-current="page"] {
  background: transparent;
  color: var(--pm-heading);
  text-decoration: underline;
  text-underline-offset: .24em;
}

.pm-view-tabs a[aria-current="page"] {
  border-bottom: 0;
  text-decoration-color: var(--pm-accent);
}

.pm-project-head dl,
.pm-definition-grid {
  border-top: 1px solid var(--pm-divider);
  padding-top: .75rem;
}

dt {
  color: var(--pm-muted);
  font-size: .66rem;
  font-weight: 600;
}

dd,
dt + dd {
  color: var(--pm-ink);
  font-size: .88rem;
  font-weight: 400;
}

.pm-project-block {
  border-top-color: var(--pm-divider);
  border-bottom-color: var(--pm-divider);
}

.pm-project-block[open],
.pm-project-block[open] > .pm-project-block-head,
.pm-project-block-head:hover {
  background: transparent;
  border-color: var(--pm-border-strong);
}

.pm-project-block-head {
  min-height: 3.3rem;
  padding-left: 0;
  padding-right: 0;
}

.pm-project-detail-list {
  padding-left: 0;
  padding-right: 0;
}

.pm-project-phase-line,
.pm-plain-list li,
.pm-agenda li,
.pm-note-list article,
.pm-task-item,
.pm-task-refresh-row,
.pm-fresh-task-row,
.pm-bid-result-row {
  border-color: var(--pm-divider);
}

.pm-project-attention-count {
  border-color: color-mix(in oklab, var(--pm-warning) 36%, var(--pm-border-strong));
  color: var(--pm-warning);
}

.pm-project-attention-count-overdue {
  border-color: color-mix(in oklab, var(--pm-danger) 52%, var(--pm-border-strong));
  color: var(--pm-danger);
}

.pm-check-button,
.pm-task-blank-check {
  border-color: var(--pm-border-strong);
  border-radius: 2px;
  background: transparent;
}

.pm-check-button:hover {
  border-color: var(--pm-accent);
}

.pm-check-button-checked {
  background: var(--pm-success);
  border-color: var(--pm-success);
  box-shadow: inset 0 0 0 3px var(--pm-bg);
}

.pm-task-capture {
  border-top: 1px solid var(--pm-divider);
  padding-top: .9rem;
}

.pm-project-block-title,
.pm-plain-list strong,
.pm-agenda strong,
.pm-file-drop-title,
.pm-weekly-row-project .pm-weekly-task-cell strong {
  color: var(--pm-heading);
}

.pm-task-paper-add > summary,
.pm-inline-create summary {
  color: var(--pm-muted);
}

.pm-task-paper-add > summary:hover,
.pm-inline-create summary:hover {
  color: var(--pm-heading);
}

.pm-inline-create.pm-action-reveal summary {
  align-items: center;
  background: transparent;
  border: 1px solid var(--pm-accent);
  border-radius: var(--pm-radius);
  color: var(--pm-accent);
  display: inline-flex;
  justify-content: center;
  min-height: var(--pm-control-h);
  padding: var(--pm-button-py) var(--pm-button-px);
}

.pm-inline-create.pm-action-reveal summary:hover,
.pm-inline-create.pm-action-reveal summary:focus-visible {
  background: color-mix(in oklab, var(--pm-accent) 11%, transparent);
  border-color: var(--pm-accent);
  color: var(--pm-heading);
  text-decoration: none;
}

.pm-task-group h2,
.pm-task-column-head,
.pm-task-refresh-group-head,
.pm-weekly-row-project td,
.pm-weekly-row-topic td,
.pm-bid-summary-foot td,
.pm-bid-selected-summary-foot td {
  background: var(--pm-panel-soft);
}

.pm-task-group h2,
.pm-task-refresh-group-head {
  border-bottom-color: var(--pm-divider);
}

.pm-task-inline-field::after,
.pm-task-due-wrap::after {
  background: var(--pm-accent);
}

.pm-task-save-state {
  border-radius: var(--pm-radius-sm);
  background: var(--pm-panel);
}

.pm-calendar-weekday {
  background: transparent;
  border-bottom-color: var(--pm-divider);
  color: var(--pm-muted);
}

.pm-calendar-day {
  border-color: var(--pm-divider);
}

.pm-calendar-day-muted {
  background: var(--pm-bg-deep);
}

.pm-calendar-day-today {
  background: rgb(68 71 90 / 28%);
}

.pm-calendar-date,
.pm-agenda time {
  color: var(--pm-heading);
}

.pm-calendar-event {
  color: var(--pm-ink);
  border-left-color: var(--pm-border-strong);
}

.pm-calendar-event:hover {
  color: var(--pm-heading);
}

.pm-calendar-event-expiration {
  border-left-color: var(--pm-danger);
}

.pm-calendar-event-task {
  border-left-color: var(--pm-warning);
}

.pm-calendar-event-submittal {
  border-left-color: var(--pm-info);
}

.pm-file-drop {
  border-style: dashed;
  min-height: 9rem;
  padding: 1rem;
}

.pm-file-drop:hover,
.pm-file-drop.pm-is-dragging {
  background: var(--pm-panel-soft);
  border-color: var(--pm-accent);
}

.pm-row-actions summary,
.pm-row-actions-menu {
  border-color: var(--pm-border-strong);
  border-radius: 0;
  background: var(--pm-panel);
  color: var(--pm-heading);
  box-shadow: none;
}

.pm-row-actions-menu button:hover {
  background: var(--pm-panel-soft);
}

.pm-spinner {
  border-color: var(--pm-border-strong);
  border-top-color: var(--pm-accent);
}

.pm-login-body {
  background: var(--pm-bg);
}

.pm-console-header {
  align-items: start;
}

.pm-console-header .pm-page-meta {
  margin-top: .32rem;
  max-width: 72rem;
}

.pm-console-section {
  border-top: 1px solid var(--pm-divider);
  margin-top: 1.65rem;
  padding-top: .9rem;
}

.pm-console-section + .pm-console-section,
.pm-console-section + .pm-section,
.pm-section + .pm-console-section {
  margin-top: 1.8rem;
}

.pm-console-section > .pm-section-head:first-child {
  margin-bottom: .72rem;
}

.pm-console-list {
  display: grid;
}

.pm-console-row {
  align-items: center;
  border-bottom: 1px solid var(--pm-divider);
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr) auto;
  min-height: 2.75rem;
  padding: .48rem 0;
}

.pm-console-row:first-child {
  border-top: 1px solid color-mix(in oklab, var(--pm-divider) 72%, transparent);
}

.pm-console-row-link {
  color: inherit;
  text-decoration: none;
}

.pm-console-row-link:hover,
.pm-console-row-link:focus-visible {
  background: color-mix(in oklab, var(--pm-panel-soft) 28%, transparent);
  color: var(--pm-heading);
  outline-offset: 2px;
}

.pm-console-marker {
  display: none;
}

.pm-console-main {
  display: grid;
  gap: .08rem;
  min-width: 0;
}

.pm-console-main strong {
  color: var(--pm-heading);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.pm-console-main span {
  color: var(--pm-muted);
  font-size: .82rem;
  overflow-wrap: anywhere;
}

.pm-console-date {
  color: var(--pm-muted);
  font-weight: 400;
  white-space: nowrap;
}

.pm-console-date-today,
.pm-console-date-warning,
.pm-console-row-attention .pm-console-date {
  color: var(--pm-warning);
}

.pm-console-date-overdue,
.pm-console-row-attention .pm-project-attention-count-overdue {
  color: var(--pm-danger);
}

.pm-console-row-attention {
  box-shadow: inset 2px 0 0 color-mix(in oklab, var(--pm-warning) 54%, var(--pm-divider));
  padding-left: .45rem;
}

.pm-console-active {
  border-top-color: color-mix(in oklab, var(--pm-success) 46%, var(--pm-divider));
}

.pm-console-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.pm-console-metrics div {
  border-bottom: 1px solid var(--pm-divider);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 2.55rem;
  padding: .48rem .7rem .48rem 0;
}

.pm-console-metrics dt,
.pm-console-metrics dd {
  margin: 0;
}

.pm-console-metrics dd {
  color: var(--pm-heading);
  font-weight: 600;
}

.pm-project-block.pm-console-row-attention {
  box-shadow: inset 2px 0 0 color-mix(in oklab, var(--pm-warning) 54%, var(--pm-divider));
  padding-left: .45rem;
}

.pm-bid-search-section .pm-toolbar,
.pm-bid-search-section .pm-bid-project-toolbar {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.pm-contact-detail-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .72rem;
}

.pm-contact-detail-actions {
  border-bottom: 1px solid color-mix(in oklab, var(--pm-divider) 72%, transparent);
  margin-bottom: .85rem;
  padding-bottom: .72rem;
}

.pm-contact-method-link {
  color: var(--pm-link);
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  text-decoration: none;
}

.pm-contact-method-link:hover,
.pm-contact-method-link:focus-visible {
  color: var(--pm-heading);
  text-decoration: underline;
  text-underline-offset: .16rem;
}

.pm-simple-search {
  max-width: 1120px;
}

.pm-simple-search label:has(input[type="search"]) {
  min-width: min(100%, 34rem);
}

.pm-bid-result-description {
  color: var(--pm-heading);
  font-weight: 600;
}

.pm-simple-bid-results .pm-bid-result-project {
  margin-top: .18rem;
}

.pm-simple-bid-results .pm-bid-result-price {
  font-weight: 600;
}

.pm-project-actions .pm-button:not(.pm-button-danger) {
  border-color: var(--pm-border-strong);
}

.pm-project-work-head {
  display: grid;
  gap: .45rem 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 1.2rem;
}

.pm-project-work-head .pm-project-title-row {
  gap: .22rem;
}

.pm-project-count-line {
  color: var(--pm-work-muted);
  font: 400 .88rem/1.35 var(--pm-font-ui);
  margin: .28rem 0 0;
}

.pm-project-work-head .pm-project-context {
  grid-column: 1 / -1;
}

.pm-project-edit-link {
  align-self: start;
  justify-self: end;
  margin-top: .18rem;
}

.pm-project-work-section {
  margin-top: 1rem;
}

.pm-project-work-section + .pm-project-work-section {
  margin-top: 1.45rem;
}

.pm-project-index-list {
  display: grid;
  gap: .18rem;
}

.pm-project-index-row {
  align-items: start;
  color: var(--pm-work-text);
  display: grid;
  gap: .35rem .75rem;
  min-height: 2.35rem;
  padding: .28rem 0;
  text-decoration: none;
}

.pm-project-index-row:hover strong,
.pm-project-index-row:focus-visible strong {
  text-decoration: underline;
  text-underline-offset: .14em;
}

.pm-project-index-main {
  color: inherit;
  display: grid;
  gap: .08rem;
  min-width: 0;
  text-decoration: none;
}

.pm-project-index-main strong,
.pm-project-index-row > strong {
  color: var(--pm-work-text);
  font: 500 .96rem/1.32 var(--pm-font-ui);
  overflow-wrap: anywhere;
}

.pm-project-index-main span {
  color: var(--pm-work-muted);
  font: 400 .84rem/1.28 var(--pm-font-ui);
}

.pm-project-task-row {
  grid-template-columns: minmax(0, 1fr);
}

.pm-project-task-row .pm-project-index-main {
  grid-template-columns: 1rem minmax(0, 1fr);
}

.pm-project-task-row .pm-project-index-main::before {
  color: var(--pm-work-muted);
  content: "—";
  font: 500 1rem/1.28 var(--pm-font-ui);
  opacity: .78;
}

.pm-project-task-row .pm-project-index-main strong,
.pm-project-task-row .pm-project-index-main span {
  grid-column: 2;
}

.pm-project-section-head-end {
  align-items: baseline;
  display: inline-flex;
  gap: .9rem;
  justify-content: flex-end;
}

.pm-project-section-head-end > span {
  color: var(--pm-work-muted);
}

.pm-project-section-head-end .pm-work-btn.pm-action-button {
  min-height: 1.85rem;
  padding: .34rem .56rem;
}

.pm-project-date-row {
  grid-template-columns: 4.9rem minmax(0, 1fr);
}

.pm-project-date-row time,
.pm-project-submittal-row time {
  color: var(--pm-work-muted);
  font: 500 .88rem/1.32 var(--pm-font-ui);
  white-space: nowrap;
}

.pm-project-submittal-row {
  grid-template-columns: minmax(0, 1fr) max-content;
}

.pm-project-contact-row {
  grid-template-columns: minmax(0, 1fr);
}

.pm-project-compact-form-wrap {
  border-top: 1px solid color-mix(in oklab, var(--pm-work-line) 60%, transparent);
  display: grid;
  gap: .55rem;
  margin-top: .45rem;
  max-width: 52rem;
  padding-top: .75rem;
}

.pm-project-compact-form-wrap h3 {
  color: var(--pm-work-text);
  font: 600 .96rem/1.25 var(--pm-font-ui);
  margin: 0;
}

.pm-project-compact-form,
.pm-project-contact-search-form {
  display: grid;
  gap: .65rem .8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pm-project-task-create-form,
.pm-project-contact-create-form,
.pm-project-contact-search-form {
  max-width: 42rem;
}

.pm-project-compact-form label,
.pm-project-contact-search-form label,
.pm-project-choice-row {
  color: var(--pm-work-muted);
  display: grid;
  font: 600 .72rem/1.25 var(--pm-font-ui);
  gap: .28rem;
  margin: 0;
}

.pm-project-compact-form input,
.pm-project-compact-form select,
.pm-project-contact-search-form input {
  background: var(--pm-work-input);
  border: 1px solid var(--pm-work-line-strong);
  border-radius: var(--pm-radius-sm);
  color: var(--pm-work-text);
  min-height: 2.25rem;
  padding: .42rem .55rem;
}

.pm-project-field-full,
.pm-project-choice-row,
.pm-project-compact-actions {
  grid-column: 1 / -1;
}

.pm-project-choice-row {
  align-items: center;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .8rem;
  padding: 0;
}

.pm-project-choice-row legend {
  color: var(--pm-work-muted);
  float: left;
  margin-right: .1rem;
}

.pm-project-choice-row label {
  align-items: center;
  color: var(--pm-work-text);
  display: inline-flex;
  font: 500 .88rem/1.25 var(--pm-font-ui);
  gap: .3rem;
}

.pm-project-choice-row input {
  accent-color: var(--pm-accent);
}

.pm-project-compact-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.pm-project-contact-search-form {
  align-items: end;
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 38%, transparent);
  padding-bottom: .65rem;
}

.pm-project-contact-search-form button {
  justify-self: start;
}

.pm-schedule-work-head {
  align-items: end;
}

.pm-schedule-calendar {
  border-top: 0;
  padding-top: 0;
}

.pm-schedule-calendar > .pm-work-section-head {
  border-bottom: 1px solid var(--pm-work-line);
  margin-bottom: 0;
  padding-bottom: .5rem;
}

@media (max-width: 820px) {
  body.pm-app {
    font-size: 13px;
  }

  .pm-console-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-schedule-work-head {
    flex-wrap: wrap;
  }

  .pm-schedule-controls {
    width: 100%;
  }

  .pm-page-head > .pm-inline-actions,
  .pm-page-head > .pm-page-actions {
    align-items: start;
    display: flex;
    flex-wrap: wrap;
    width: auto;
  }

  .pm-page-head > .pm-inline-actions .pm-button,
  .pm-page-head > .pm-page-actions .pm-button {
    width: auto;
  }

  .pm-simple-search > button[type="submit"] {
    justify-self: start;
    min-height: 2.35rem;
    padding-inline: 1rem;
    width: auto;
  }
}

@media (max-width: 600px) {
  .pm-bid-canonical-row {
    grid-template-columns: minmax(0, 1fr);
    gap: .18rem;
  }

  .pm-cost-estimate-info-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-bid-canonical-count {
    text-align: left;
  }

  .pm-bid-canonical-action {
    justify-self: start;
  }

  .pm-bid-canonical-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-bid-canonical-stats div:nth-child(2n) {
    border-right: 0;
  }

  .pm-bid-canonical-mobile-meta {
    display: block;
  }

  .pm-project-work-head {
    grid-template-columns: 1fr;
  }

  .pm-project-edit-link {
    justify-self: start;
    margin-top: 0;
  }

  .pm-project-task-row,
  .pm-project-date-row,
  .pm-project-submittal-row,
  .pm-project-contact-row {
    grid-template-columns: 1fr;
  }

  .pm-project-section-head-end {
    align-items: flex-end;
    flex-direction: column;
    gap: .35rem;
  }

  .pm-project-compact-form,
  .pm-project-contact-search-form {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .pm-project-contact-search-form button {
    justify-self: start;
  }

  .pm-section {
    padding: .85rem 0 0;
  }

  .pm-console-section {
    margin-top: 1.25rem;
    padding-top: .72rem;
  }

  .pm-console-row {
    align-items: start;
    gap: .22rem .55rem;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: .58rem 0;
  }

  .pm-console-row .pm-console-marker {
    display: none;
  }

  .pm-console-row > .pm-console-date {
    grid-row: 2;
  }

  .pm-console-metrics {
    grid-template-columns: 1fr;
  }

  .pm-console-metrics div {
    min-height: 2.35rem;
    padding-right: 0;
  }

  .pm-page-head {
    align-items: start;
    display: grid;
  }

  .pm-page-head .pm-inline-actions,
  .pm-page-head .pm-page-actions,
  .pm-project-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
  }

  .pm-page-head > .pm-inline-actions,
  .pm-page-head > .pm-page-actions {
    align-items: start;
    display: flex;
    width: auto;
  }

  .pm-page-head > .pm-inline-actions .pm-button,
  .pm-page-head > .pm-page-actions .pm-button {
    width: auto;
  }

  .pm-simple-search > button[type="submit"] {
    justify-self: start;
    min-height: 2.35rem;
    padding-inline: 1rem;
    width: auto;
  }

  .pm-contact-method-link {
    min-height: 2rem;
  }

  .pm-bid-project-tabs-table,
  .pm-bid-project-tabs-table tbody,
  .pm-bid-project-tabs-table tr,
  .pm-bid-project-tabs-table td {
    display: block;
    width: 100% !important;
  }

  .pm-bid-project-tabs-table {
    font-size: .82rem;
  }

  .pm-bid-project-tabs-table thead,
  .pm-bid-project-tabs-table colgroup {
    display: none;
  }

  .pm-bid-project-tabs-table tr {
    border: 0;
    border-bottom: 1px solid var(--pm-divider);
    margin: 0;
    padding: .58rem 0 .62rem;
  }

  .pm-bid-project-tabs-table td {
    border: 0;
    min-height: 0;
    padding: .1rem 0;
    text-align: left !important;
    white-space: normal !important;
  }

  .pm-bid-project-tabs-table td::before {
    color: var(--pm-muted);
    display: inline-block;
    font-size: .68rem;
    font-weight: 600;
    min-width: 7.2rem;
    text-transform: uppercase;
  }

  .pm-bid-project-tabs-table td:nth-child(1)::before { content: "Project"; }
  .pm-bid-project-tabs-table td:nth-child(3)::before { content: "Low Bid"; }
  .pm-bid-project-tabs-table td:nth-child(4)::before { content: "Low Contractor"; }

  .pm-bid-project-tabs-table td:nth-child(2),
  .pm-bid-project-tabs-table td:nth-child(5) {
    display: none;
  }

  .pm-bid-project-tabs-table td:first-child a {
    display: inline;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .pm-bid-project-tabs-mobile-meta {
    display: block;
    margin-top: .14rem;
  }

  .pm-bid-project-items-table tr:not(.pm-bid-category-row):not(.pm-bid-category-total-row) {
    border: 0;
    border-bottom: 1px solid var(--pm-divider);
    margin: 0;
    padding: .52rem 0;
  }

  .pm-bid-project-items-table tr,
  .pm-weekly-table tr,
  .pm-submittal-cycle-table tr,
  .pm-client-contact-table tr,
  .pm-submittal-table tr,
  .pm-project-block,
  .pm-calendar-day {
    border-radius: 0;
    background: transparent;
  }

  .pm-task-due-input {
    background: var(--pm-bg-deep);
  }
}

/* PM daily work console interaction pass. */

.pm-button:disabled {
  cursor: wait;
  opacity: .58;
}

.pm-running-dot {
  background: var(--pm-success);
  block-size: .55rem;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--pm-success) 15%, transparent);
  display: inline-block;
  inline-size: .55rem;
}

.pm-task-capture input[name="title"] {
  min-width: 0;
}

.pm-task-toast {
  background: var(--pm-panel);
  border: 1px solid var(--pm-success);
  color: var(--pm-success);
  margin-bottom: .85rem;
  padding: .52rem .7rem;
}

.pm-task-toast-error {
  border-color: var(--pm-danger);
  color: var(--pm-danger);
}

.pm-dashboard-next-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.pm-dashboard-next-row a {
  color: inherit;
  text-decoration: none;
}

.pm-dashboard-next-row form {
  margin: 0;
}

.pm-dashboard-next-row button {
  appearance: none;
  background: transparent;
  border: 1px solid var(--pm-border-strong);
  color: var(--pm-muted);
  cursor: pointer;
  font: inherit;
  min-height: 2rem;
  padding: .28rem .7rem;
}

.pm-dashboard-next-row button:hover,
.pm-dashboard-next-row button:focus-visible {
  background: var(--pm-panel-soft);
  border-color: var(--pm-accent);
  color: var(--pm-heading);
}

.pm-dashboard-totals .pm-console-metrics {
  border-top: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 700px) {
  .pm-dashboard-next-row {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pm-dashboard-next-row button {
    margin-top: .35rem;
  }

  .pm-dashboard-totals .pm-console-metrics {
    grid-template-columns: 1fr;
  }
}

/* Work-mode compatibility variables. Route-specific workflow CSS below still uses these names. */
body.pm-work-mode {
  --pm-work-bg: var(--pm-bg);
  --pm-work-panel: var(--pm-bg-deep);
  --pm-work-panel-soft: var(--pm-panel-soft);
  --pm-work-control: var(--pm-control-surface);
  --pm-work-control-hover: var(--pm-control-surface-hover);
  --pm-work-input: var(--pm-bg-deep);
  --pm-work-line: var(--pm-rule);
  --pm-work-line-strong: var(--pm-rule);
  --pm-work-text: var(--pm-text);
  --pm-work-muted: var(--pm-text-muted);
  --pm-work-blue: var(--pm-accent);
  --pm-work-purple: var(--pm-work-blue);
  --pm-work-purple-2: var(--pm-work-blue);
  --pm-work-green: var(--pm-green);
  --pm-work-red: var(--pm-red);
  --pm-work-amber: var(--pm-yellow);
  --pm-work-orange: var(--pm-orange);
}

.pm-work-mode .pm-section,
.pm-work-mode .pm-console-section,
.pm-work-mode .pm-record-form,
.pm-work-mode .pm-empty-state,
.pm-work-mode .pm-data-card,
.pm-work-mode .pm-bid-result-list,
.pm-work-mode .pm-bid-selected-summary,
.pm-work-mode .pm-fresh-task-list {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pm-divider);
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
  padding: .82rem 0 0;
}

.pm-work-mode .pm-section:first-child,
.pm-work-mode .pm-console-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.pm-work-mode .pm-section-head,
.pm-work-mode .pm-data-card > .pm-section-head,
.pm-work-mode .pm-calendar-section > .pm-section-head,
.pm-work-mode .pm-bid-results-head,
.pm-work-mode .pm-work-section-head {
  border: 0;
  gap: .75rem;
  margin: 0 0 .58rem;
  padding: 0;
}

.pm-work-mode .pm-toolbar {
  align-items: end;
  background: transparent;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .62rem;
  margin: 0 0 .95rem;
  padding: 0;
}

.pm-work-mode .pm-table th,
.pm-work-mode .pm-bid-project-items-table th,
.pm-work-mode .pm-bid-category-row th {
  background: transparent;
  border-bottom-color: var(--pm-divider);
  color: var(--pm-muted);
}

.pm-work-mode .pm-table td,
.pm-work-mode .pm-bid-project-items-table td {
  border-bottom-color: color-mix(in oklab, var(--pm-divider) 72%, transparent);
  padding: var(--pm-table-py) var(--pm-table-px);
}

.pm-work-mode .pm-contact-table-wrap {
  overflow-x: visible;
}

.pm-work-mode .pm-contact-table {
  min-width: 0;
  table-layout: fixed;
}

.pm-work-mode .pm-contact-table th,
.pm-work-mode .pm-contact-table td {
  padding: .38rem .7rem;
}

.pm-work-mode .pm-contact-table th:first-child,
.pm-work-mode .pm-contact-table td:first-child {
  padding-left: 0;
  width: 22%;
}

.pm-work-mode .pm-contact-table th:nth-child(2),
.pm-work-mode .pm-contact-table td:nth-child(2) {
  width: 24%;
}

.pm-work-mode .pm-contact-table th:nth-child(3),
.pm-work-mode .pm-contact-table td:nth-child(3) {
  width: 15%;
}

.pm-work-mode .pm-contact-table th:nth-child(4),
.pm-work-mode .pm-contact-table td:nth-child(4) {
  width: 24%;
}

.pm-work-mode .pm-contact-table th:last-child,
.pm-work-mode .pm-contact-table td:last-child {
  padding-right: 0;
  width: 15%;
}

.pm-work-mode .pm-contact-table td {
  color: var(--pm-work-text);
  overflow-wrap: anywhere;
}

.pm-work-mode .pm-contact-table td:nth-child(3),
.pm-work-mode .pm-contact-table td:last-child {
  white-space: nowrap;
}

.pm-work-mode .pm-contact-table a,
.pm-work-mode .pm-contact-name-link {
  color: var(--pm-work-blue);
  text-decoration: none;
}

.pm-work-mode .pm-contact-table a:hover,
.pm-work-mode .pm-contact-table a:focus-visible {
  color: color-mix(in oklab, var(--pm-work-blue) 82%, white);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.pm-work-mode .pm-contact-name-link {
  font-weight: 400;
}

.pm-work-mode .pm-contact-table .pm-sort-link {
  color: inherit;
}

.pm-work-mode .pm-contact-table .pm-sort-link[aria-current="true"] {
  color: var(--pm-work-blue);
}

.pm-work-head {
  align-items: start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 0 1rem;
}

.pm-work-head h1,
.pm-work-detail h1 {
  color: var(--pm-work-text);
  font: 600 1.35rem/1.25 var(--pm-font-ui);
  letter-spacing: 0;
  margin: 0;
  text-transform: none;
}

.pm-work-head p,
.pm-work-detail header p {
  color: var(--pm-work-muted);
  font: 400 .94rem/1.35 var(--pm-font-ui);
  margin: .18rem 0 0;
}

.pm-work-console,
.pm-work-detail {
  display: grid;
  gap: .95rem;
}

.pm-work-console-tasks,
.pm-work-console-time,
.pm-work-dashboard {
  background: transparent;
}

.pm-work-section {
  border-top: 1px solid var(--pm-work-line);
  display: grid;
  gap: .58rem;
  padding-top: .82rem;
}

.pm-work-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.pm-work-section-head {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.pm-work-section-head h2,
.pm-work-section-head h3 {
  color: var(--pm-work-text);
  font: 600 1.05rem/1.2 var(--pm-font-ui);
  letter-spacing: 0;
  margin: 0;
  text-transform: none;
}

.pm-work-section-head span {
  color: var(--pm-work-muted);
  font: 400 .9rem/1.2 var(--pm-font-ui);
  white-space: nowrap;
}

.pm-work-list {
  display: grid;
  gap: 0;
}

.pm-work-list > .pm-work-row:last-child {
  border-bottom: 0;
}

.pm-work-row {
  align-items: center;
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 72%, transparent);
  display: grid;
  gap: var(--pm-space-3);
  grid-template-columns: 1.2rem minmax(0, 1fr) auto;
  min-height: 3rem;
  padding: var(--pm-row-py) .15rem;
}

.pm-work-row:hover,
.pm-work-row:focus-within {
  background: color-mix(in oklab, var(--pm-work-panel-soft) 28%, transparent);
}

.pm-work-row:not(.pm-work-row-todo) > .pm-work-row-main:first-child {
  grid-column: 1 / 3;
}

.pm-work-row-main {
  color: inherit;
  display: grid;
  gap: .08rem;
  min-width: 0;
  text-decoration: none;
}

.pm-work-row-main:hover {
  color: inherit;
  text-decoration: none;
}

.pm-work-row-main strong {
  color: var(--pm-work-text);
  font: 400 1rem/1.28 var(--pm-font-ui);
  overflow-wrap: anywhere;
}

.pm-work-row-main span {
  color: var(--pm-work-muted);
  font: 400 .84rem/1.25 var(--pm-font-ui);
}

.pm-work-row-date {
  color: var(--pm-work-muted);
  font: 400 .86rem/1 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  text-transform: none;
  white-space: nowrap;
}

.pm-work-row-end {
  align-items: center;
  color: var(--pm-work-muted);
  display: inline-flex;
  gap: .45rem;
  justify-self: end;
}

.pm-work-complete-form,
.pm-work-row-action,
.pm-work-timer-control form,
.pm-work-delete {
  margin: 0;
}

.pm-work-mode .pm-check-button {
  block-size: 1rem;
  border: 1px solid var(--pm-work-line-strong);
  border-radius: 2px;
  inline-size: 1rem;
  min-height: 0;
  position: relative;
}

.pm-work-mode .pm-check-button:hover,
.pm-work-mode .pm-check-button:focus-visible {
  border-color: var(--pm-work-blue);
}

.pm-work-mode .pm-check-button-checked {
  background: var(--pm-work-green);
  border-color: var(--pm-work-green);
  box-shadow: inset 0 0 0 2px var(--pm-work-bg);
}

.pm-work-mode .pm-check-button-checked::after {
  color: var(--pm-work-bg);
  content: "✓";
  font: 900 .74rem/1 var(--pm-font-ui);
  inset: 50% auto auto 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

.pm-work-btn,
.pm-work-mode .pm-task-paper-add > summary {
  align-items: center;
  appearance: none;
  background: var(--pm-work-control);
  border: 1px solid var(--pm-work-line-strong);
  border-radius: var(--pm-radius);
  color: var(--pm-work-text);
  cursor: pointer;
  display: inline-flex;
  font: 500 .9rem/1 var(--pm-font-ui);
  justify-content: center;
  min-height: var(--pm-control-h);
  padding: var(--pm-button-py) var(--pm-button-px);
  text-decoration: none;
  white-space: nowrap;
}

a.pm-work-btn {
  min-height: auto;
  border: 0;
  color: var(--pm-work-blue);
  padding: 0;
}

a.pm-work-btn.pm-action-button {
  border: 1px solid color-mix(in oklab, var(--pm-work-blue) 52%, var(--pm-work-line));
  border-radius: var(--pm-radius);
  color: var(--pm-work-blue);
  min-height: var(--pm-control-h);
  padding: var(--pm-button-py) var(--pm-button-px);
}

a.pm-work-btn.pm-action-button:hover,
a.pm-work-btn.pm-action-button:focus-visible {
  background: color-mix(in oklab, var(--pm-work-panel-soft) 30%, transparent);
  border-color: var(--pm-work-blue);
  color: var(--pm-work-text);
  text-decoration: none;
}

.pm-work-btn:hover,
.pm-work-btn:focus-visible,
.pm-work-mode .pm-task-paper-add > summary:hover,
.pm-work-mode .pm-task-paper-add > summary:focus-visible {
  background: color-mix(in oklab, var(--pm-work-panel-soft) 30%, transparent);
  border-color: var(--pm-work-blue);
  color: var(--pm-work-text);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

a.pm-work-btn:hover,
a.pm-work-btn:focus-visible {
  background: transparent;
  color: color-mix(in oklab, var(--pm-work-blue) 86%, white 14%);
}

.pm-work-btn:disabled {
  cursor: wait;
  opacity: .55;
}

.pm-work-btn-primary,
.pm-work-mode .pm-task-paper-add > summary {
  background: var(--pm-work-control);
  border-color: color-mix(in oklab, var(--pm-work-blue) 46%, var(--pm-work-line));
  color: var(--pm-work-blue);
}

.pm-work-btn-start {
  background: color-mix(in oklab, var(--pm-work-blue) 10%, var(--pm-work-control));
  border-color: color-mix(in oklab, var(--pm-work-blue) 58%, var(--pm-work-line));
  color: var(--pm-work-blue);
  font-weight: 600;
  min-height: 2rem;
  padding-inline: .72rem;
}

.pm-work-btn-start:hover,
.pm-work-btn-start:focus-visible {
  background: color-mix(in oklab, var(--pm-work-blue) 18%, var(--pm-work-panel-soft));
  border-color: var(--pm-work-blue);
  color: var(--pm-work-text);
  text-decoration: none;
}

.pm-work-btn-stop {
  background: color-mix(in oklab, var(--pm-work-red) 12%, transparent);
  border-color: color-mix(in oklab, var(--pm-work-red) 68%, var(--pm-work-line));
  color: color-mix(in oklab, var(--pm-work-red) 72%, white);
  min-height: 2rem;
  padding-inline: .78rem;
}

.pm-work-btn-secondary {
  background: transparent;
  border-color: transparent;
  color: var(--pm-work-muted);
}

.pm-work-btn-neutral {
  background: transparent;
  color: var(--pm-work-muted);
}

.pm-work-timer-control {
  align-items: center;
  display: flex;
  gap: .75rem;
  min-width: 0;
}

.pm-running-dot {
  background: var(--pm-work-green);
  block-size: .72rem;
  border-radius: 999px;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--pm-work-green) 16%, transparent);
  flex: 0 0 auto;
  inline-size: .72rem;
}

.pm-work-clock {
  color: var(--pm-work-muted);
  font: 400 1.08rem/1 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  inline-size: 8ch;
  text-align: right;
  white-space: nowrap;
}

.pm-work-empty {
  color: var(--pm-work-muted);
  margin: .25rem 0 .35rem;
}

.pm-work-link,
.pm-work-back,
.pm-work-delete button {
  background: transparent;
  border: 0;
  color: var(--pm-work-blue);
  cursor: pointer;
  font: 500 .9rem/1.25 var(--pm-font-ui);
  padding: 0;
  text-decoration: none;
}

.pm-work-link:hover,
.pm-work-back:hover,
.pm-work-delete button:hover {
  color: var(--pm-navy-dark);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.pm-work-attention {
  background: transparent;
  border: 0;
  color: color-mix(in oklab, var(--pm-work-red) 74%, white);
  font: 600 .94rem/1.25 var(--pm-font-ui);
}

.pm-work-attention {
  padding: .58rem 0;
}

.pm-work-attention-list {
  gap: .7rem;
}

.pm-work-attention-group {
  display: grid;
  gap: .16rem;
}

.pm-work-attention-group h3 {
  color: var(--pm-work-muted);
  font: 600 .68rem/1.2 var(--pm-font-ui);
  letter-spacing: .075em;
  margin: 0;
  text-transform: uppercase;
}

.pm-work-attention-row {
  color: inherit;
  gap: .75rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  min-height: 2rem;
  padding: .24rem .15rem;
  text-decoration: none;
}

.pm-work-attention-row > .pm-work-row-main:first-child {
  grid-column: auto;
}

.pm-work-attention-row .pm-work-row-main {
  align-items: baseline;
  display: grid;
  gap: .45rem;
  grid-template-columns: minmax(10rem, 1.2fr) minmax(9rem, .8fr);
}

.pm-work-attention-row .pm-work-row-main strong,
.pm-work-attention-row .pm-work-row-main span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-work-attention-row .pm-work-row-main strong {
  font-size: .9rem;
  font-weight: 400;
}

.pm-work-attention-row .pm-work-row-main span {
  font-size: .84rem;
}

.pm-work-attention-row .pm-work-row-date {
  justify-self: end;
  text-align: right;
}

.pm-work-attention-row:hover,
.pm-work-attention-row:focus-visible {
  color: inherit;
  text-decoration: none;
}

.pm-work-row-date-warning {
  color: var(--pm-work-orange);
  font-weight: 600;
}

.pm-work-row-date-overdue {
  color: color-mix(in oklab, var(--pm-work-red) 72%, white);
  font-weight: 600;
}

.pm-work-row-arrow {
  color: var(--pm-work-muted);
  font: 400 .9rem/1 var(--pm-font-ui);
  justify-self: end;
}

.pm-work-now-context {
  padding-top: 0;
}

.pm-work-now-line {
  align-items: baseline;
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 72%, transparent);
  color: var(--pm-work-muted);
  display: flex;
  flex-wrap: wrap;
  font: 400 .9rem/1.35 var(--pm-font-ui);
  gap: .35rem .7rem;
  padding-bottom: .72rem;
}

.pm-work-mode .pm-task-paper-add {
  border: 0;
  margin: 0;
  padding: 0;
}

.pm-work-mode .pm-task-paper-add > summary {
  list-style: none;
}

.pm-work-mode .pm-task-paper-add > summary::-webkit-details-marker {
  display: none;
}

.pm-work-mode .pm-task-paper-add form,
.pm-work-form {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pm-work-line);
  border-radius: 0;
  display: grid;
  gap: .78rem;
  grid-template-columns: 1fr;
  margin: .7rem 0 0;
  max-width: 34rem;
  padding: .82rem 0 0;
}

.pm-work-state-choice {
  border: 0;
  display: grid;
  gap: .5rem;
  margin: 0;
  padding: 0;
}

.pm-work-state-choice legend {
  color: var(--pm-work-muted);
  font: 400 .9rem/1.2 var(--pm-font-ui);
  letter-spacing: 0;
  margin: 0;
  text-transform: none;
}

.pm-work-state-choice > label {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.pm-work-state-choice > label {
  cursor: pointer;
}

.pm-work-state-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pm-work-state-choice span {
  appearance: none;
  background: var(--pm-work-control);
  border: 1px solid var(--pm-work-line-strong);
  border-radius: var(--pm-radius);
  color: var(--pm-work-text);
  cursor: pointer;
  display: inline-flex;
  font: 500 .9rem/1 var(--pm-font-ui);
  min-height: var(--pm-control-h);
  padding: var(--pm-button-py) var(--pm-button-px);
  text-decoration: none;
}

.pm-work-state-choice input:checked + span {
  background: color-mix(in oklab, var(--pm-work-green) 14%, var(--pm-work-panel-soft));
  border-color: color-mix(in oklab, var(--pm-work-green) 58%, var(--pm-work-line));
  color: var(--pm-work-green);
}

.pm-task-waiting-fields {
  display: grid;
  gap: .78rem;
}

.pm-task-capture form:not(:has(input[name="task_state"][value="waiting"]:checked)) .pm-task-waiting-fields {
  display: none;
}

.pm-task-capture {
  margin: 0 0 .78rem;
}

.pm-task-capture h2 {
  color: var(--pm-work-text);
  font: 600 1rem/1.2 var(--pm-font-ui);
  margin: 0;
}

.pm-work-mode .pm-task-capture .pm-task-capture-form {
  border-top: 0;
  gap: .68rem .85rem;
  grid-template-columns: minmax(16rem, 1.35fr) minmax(13rem, .85fr);
  margin: .42rem 0 0;
  max-width: 48rem;
  padding-top: 0;
}

.pm-task-capture-fields {
  display: grid;
  gap: .72rem;
  grid-column: 1 / -1;
  grid-template-columns: minmax(16rem, 1.35fr) minmax(13rem, .85fr);
}

.pm-task-capture-bottom {
  align-items: center;
  display: grid;
  gap: .72rem 1rem;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pm-task-capture-choice {
  align-items: center;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .38rem .9rem;
  margin: 0;
  padding: 0;
}

.pm-task-capture-choice legend {
  color: var(--pm-work-muted);
  flex: 0 0 auto;
  font: 600 .78rem/1.2 var(--pm-font-ui);
}

.pm-task-capture-choice > label {
  color: var(--pm-work-text);
  flex: 0 0 auto;
  font: 400 .9rem/1.2 var(--pm-font-ui);
}

.pm-task-capture .pm-task-waiting-fields {
  grid-column: 1 / -1;
  grid-template-columns: minmax(12rem, 1fr) minmax(10rem, .6fr);
}

.pm-task-capture-actions {
  align-items: center;
  display: flex;
  gap: .72rem;
  justify-content: flex-end;
  justify-self: end;
  white-space: nowrap;
}

.pm-work-mode .pm-task-paper-add label,
.pm-work-form label,
.pm-work-more label {
  color: var(--pm-work-muted);
  display: grid;
  font: 600 .78rem/1.2 var(--pm-font-ui);
  gap: .28rem;
}

.pm-work-mode .pm-task-paper-add input:not([type="checkbox"]):not([type="radio"]),
.pm-work-mode .pm-task-paper-add select,
.pm-work-form input,
.pm-work-form select {
  background: var(--pm-work-input);
  border: 1px solid var(--pm-work-line-strong);
  border-radius: var(--pm-radius-sm);
  color: var(--pm-work-text);
  min-height: var(--pm-control-h);
  padding: var(--pm-input-py) var(--pm-input-px);
}

.pm-work-mode .pm-task-capture-choice > label {
  align-items: center;
  color: var(--pm-work-text);
  display: inline-flex;
  gap: .34rem;
}

.pm-work-mode .pm-task-capture-choice input[type="radio"] {
  accent-color: var(--pm-work-blue);
  appearance: auto;
  block-size: 1rem;
  flex: 0 0 auto;
  inline-size: 1rem;
  margin: 0;
  min-height: 0;
  opacity: 1;
  padding: 0;
  pointer-events: auto;
  position: static;
}

.pm-work-duration-line > span:last-child {
  display: grid;
  gap: .48rem;
  grid-template-columns: minmax(0, 1fr) 4.8rem;
}

.pm-work-duration-line em {
  align-items: center;
  background: color-mix(in oklab, var(--pm-work-input) 74%, var(--pm-work-panel-soft));
  border: 1px solid var(--pm-work-line-strong);
  border-radius: var(--pm-radius-sm);
  color: var(--pm-work-muted);
  display: inline-flex;
  font-style: normal;
  justify-content: center;
}

.pm-work-more {
  display: grid;
  gap: .6rem;
}

.pm-work-more > summary {
  color: var(--pm-work-blue);
  cursor: pointer;
  font: 500 .88rem/1.2 var(--pm-font-ui);
  list-style: none;
}

.pm-work-more > summary::-webkit-details-marker {
  display: none;
}

.pm-work-detail {
  max-width: 36rem;
}

.pm-work-detail header {
  display: grid;
  gap: .2rem;
}

.pm-work-focused-form .pm-work-btn {
  width: 100%;
}

.pm-work-delete button {
  color: color-mix(in oklab, var(--pm-work-red) 72%, white);
}

.pm-task-toast {
  background: transparent;
  border: 1px solid var(--pm-work-green);
  border-left-width: 3px;
  border-radius: 0;
  color: var(--pm-work-green);
  margin: 0 0 .58rem;
  padding: .58rem .72rem;
}

.pm-task-toast-error {
  border-color: var(--pm-work-red);
  color: color-mix(in oklab, var(--pm-work-red) 72%, white);
}

@media (max-width: 820px) {
  .pm-work-mode .pm-shell-main {
    padding: .85rem var(--pm-page-gutter) 2rem;
  }

  .pm-work-head {
    align-items: start;
    margin-top: .2rem;
  }

  .pm-work-head h1,
  .pm-work-detail h1 {
    font-size: 1.22rem;
  }

  .pm-work-row {
    gap: .55rem;
    grid-template-columns: 1.15rem minmax(0, 1fr) auto;
    min-height: 3.25rem;
    padding-block: .52rem;
  }

  .pm-work-row-main strong {
    font-size: .9rem;
  }

  .pm-work-btn,
  .pm-work-mode .pm-task-paper-add > summary {
    min-height: 2rem;
    padding: .5rem .68rem;
  }

  .pm-work-clock {
    font-size: 1.32rem;
  }

  .pm-work-attention-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-work-attention-row .pm-work-row-date,
  .pm-work-attention-row .pm-work-row-arrow {
    justify-self: start;
  }

  .pm-work-mode .pm-task-paper-add[open] {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.pm-work-mode tr[data-row-href] {
  cursor: pointer;
}

.pm-work-mode .pm-terminal-record[data-row-href] {
  cursor: pointer;
}

.pm-work-mode tr[data-row-href]:focus-visible {
  outline: 2px solid var(--pm-work-blue);
  outline-offset: -2px;
}

.pm-submittal-table {
  min-width: 0;
}

.pm-work-mode .pm-terminal-list {
  border-top: 1px solid color-mix(in oklab, var(--pm-work-line) 72%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 72%, transparent);
  display: grid;
  gap: 0;
}

.pm-work-mode .pm-terminal-record {
  align-items: start;
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 62%, transparent);
  color: var(--pm-work-text);
  display: grid;
  gap: .65rem;
  min-height: 3.25rem;
  padding: .56rem .2rem .62rem;
  position: relative;
}

.pm-work-mode .pm-terminal-record:last-child {
  border-bottom: 0;
}

.pm-work-mode .pm-terminal-record:hover,
.pm-work-mode .pm-terminal-record:focus-visible {
  background: color-mix(in oklab, var(--pm-work-panel-soft) 24%, transparent);
  border-color: color-mix(in oklab, var(--pm-work-line) 62%, transparent);
  color: var(--pm-work-text);
  outline: 0;
}

.pm-work-mode .pm-terminal-record:focus-visible {
  box-shadow: inset 2px 0 0 var(--pm-work-blue);
}

.pm-work-mode .pm-terminal-record:active {
  background: color-mix(in oklab, var(--pm-work-panel-soft) 30%, transparent);
}

.pm-work-mode .pm-terminal-record-marker {
  display: none;
  color: var(--pm-work-blue);
  font: 600 .88rem/1.35 var(--pm-font-tech);
  opacity: 0;
  padding-top: .04rem;
  user-select: none;
}

.pm-work-mode .pm-terminal-record:hover .pm-terminal-record-marker,
.pm-work-mode .pm-terminal-record:focus-visible .pm-terminal-record-marker {
  opacity: 1;
}

.pm-work-mode .pm-terminal-record-main {
  display: grid;
  gap: .18rem;
  min-width: 0;
}

.pm-work-mode .pm-terminal-record-title {
  color: var(--pm-work-text);
  font: 400 1rem/1.3 var(--pm-font-ui);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.pm-work-mode .pm-terminal-record-title:hover,
.pm-work-mode .pm-terminal-record-title:focus-visible {
  color: var(--pm-work-text);
  text-decoration: none;
}

.pm-work-mode .pm-terminal-record-meta {
  color: var(--pm-work-muted);
  font: 400 .84rem/1.3 var(--pm-font-ui);
  overflow-wrap: anywhere;
}

.pm-work-mode .pm-terminal-record-tech {
  color: var(--pm-work-muted);
  font-family: var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.pm-work-mode .pm-project-terminal-list .pm-terminal-record {
  grid-template-columns: minmax(7.8rem, 10.5rem) minmax(0, 1fr);
}

.pm-work-mode .pm-project-terminal-number {
  color: color-mix(in oklab, var(--pm-work-blue) 78%, var(--pm-work-muted));
  font: 400 .88rem/1.35 var(--pm-font-tech);
  padding-top: .03rem;
  text-decoration: none;
  white-space: nowrap;
}

.pm-work-mode .pm-project-terminal-number:hover,
.pm-work-mode .pm-project-terminal-number:focus-visible {
  color: color-mix(in oklab, var(--pm-work-blue) 82%, white);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.pm-work-mode .pm-terminal-empty {
  margin: 0;
  padding: .72rem .2rem;
}

.pm-task-area-head {
  margin-bottom: .38rem;
}

.pm-task-area-actions,
.pm-task-detail-save-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: end;
}

.pm-work-console-tasks {
  gap: 1.05rem;
}

.pm-work-console-tasks .pm-work-section {
  gap: .42rem;
  padding-top: .78rem;
}

.pm-work-console-tasks .pm-work-list {
  gap: .2rem;
}

.pm-work-console-tasks .pm-work-section-head {
  margin-bottom: .18rem;
}

.pm-work-console-tasks .pm-work-section-head h2 {
  font-size: 1.06rem;
}

.pm-work-console-tasks .pm-work-section-head span {
  font: 400 .94rem/1.2 var(--pm-font-tech);
}

.pm-work-console-tasks .pm-work-clock {
  font-size: 1rem;
}

.pm-work-console-tasks .pm-work-empty {
  margin: 0;
  padding: .05rem 0 .4rem;
}

.pm-work-console-tasks #do-next {
  border-top-color: color-mix(in oklab, var(--pm-work-line) 92%, var(--pm-work-text));
}

.pm-work-console-tasks #do-next .pm-work-section-head h2 {
  font-size: 1.12rem;
}

.pm-work-console-tasks .pm-work-row-todo {
  border-bottom: 0;
  gap: .65rem;
  grid-template-columns: minmax(0, 1fr) max-content;
  min-height: 2.72rem;
  padding: .46rem 0;
}

.pm-work-console-tasks .pm-work-row-main {
  gap: .04rem;
  grid-template-columns: 1rem minmax(0, 1fr);
}

.pm-work-console-tasks .pm-work-row-main::before {
  color: var(--pm-work-muted);
  content: "—";
  font: 500 1rem/1.24 var(--pm-font-ui);
  grid-column: 1;
  grid-row: 1;
  opacity: .78;
}

.pm-work-console-tasks .pm-work-row-main strong {
  font-size: 1rem;
  grid-column: 2;
  line-height: 1.24;
}

.pm-work-console-tasks .pm-work-row-main span {
  font-size: .86rem;
  grid-column: 2;
}

.pm-work-console-tasks .pm-work-row-action {
  justify-self: end;
  min-width: 9.75rem;
}

.pm-work-console-tasks .pm-work-row-actions {
  align-items: center;
  display: flex;
  gap: .45rem;
  justify-content: flex-end;
  justify-self: end;
  min-width: 0;
}

.pm-work-console-tasks .pm-work-row-action,
.pm-work-console-tasks .pm-work-complete-form {
  flex: 0 0 auto;
}

.pm-work-console-tasks .pm-work-row-todo .pm-work-row-actions {
  min-width: 17rem;
}

.pm-work-console-tasks .pm-work-btn-start {
  min-height: 2rem;
  min-width: 9.75rem;
  padding-inline: .72rem;
}

.pm-work-console-tasks #follow-up,
.pm-work-console-tasks #completed {
  border-top-color: color-mix(in oklab, var(--pm-work-line) 62%, transparent);
  margin-top: .12rem;
}

.pm-work-console-tasks #follow-up .pm-work-section-head h2,
.pm-work-console-tasks #completed .pm-work-section-head h2 {
  color: var(--pm-work-muted);
  font-size: 1rem;
}

.pm-work-console-tasks .pm-work-row-waiting {
  border-bottom: 0;
  grid-template-columns: minmax(0, 1fr) max-content;
  min-height: 2.45rem;
  padding: .42rem 0;
}

.pm-work-console-tasks .pm-work-row-waiting > .pm-work-row-main:first-child {
  grid-column: auto;
}

.pm-work-console-tasks .pm-work-row-waiting .pm-work-row-main strong {
  color: color-mix(in oklab, var(--pm-work-text) 86%, var(--pm-work-muted));
  font-weight: 400;
}

.pm-work-console-tasks .pm-work-row-waiting .pm-work-row-end {
  gap: .55rem;
}

.pm-work-console-tasks .pm-work-row-waiting .pm-work-row-date {
  color: var(--pm-work-muted);
  font-family: var(--pm-font-ui);
  font-size: .9rem;
}

.pm-work-console-tasks .pm-work-row-waiting .pm-work-row-date-warning {
  color: var(--pm-work-orange);
  font-weight: 600;
}

.pm-work-console-tasks .pm-work-row-waiting .pm-work-row-date-overdue {
  color: color-mix(in oklab, var(--pm-work-red) 72%, white);
  font-weight: 600;
}

.pm-work-section-completed .pm-work-row-completed {
  border-bottom: 0;
  min-height: 2.35rem;
  opacity: .72;
  padding: .38rem 0;
}

.pm-work-section-completed .pm-work-row-main strong {
  font-weight: 400;
}

.pm-work-section-completed .pm-work-row-main strong,
.pm-work-section-completed .pm-work-row-main span {
  color: var(--pm-work-muted);
}

.pm-work-console-tasks .pm-work-empty-action {
  display: grid;
  gap: .45rem;
  justify-items: start;
}

@media (max-width: 700px) {
  .pm-task-area-head {
    align-items: start;
    flex-wrap: wrap;
    gap: .75rem;
  }

  .pm-task-area-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .pm-work-mode .pm-task-capture .pm-task-capture-form,
  .pm-task-capture-fields,
  .pm-task-capture-bottom,
  .pm-task-capture .pm-task-waiting-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-task-capture-actions {
    grid-column: 1;
    justify-self: start;
  }

  .pm-work-console-tasks .pm-work-row-todo {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(100vw - (var(--pm-page-gutter) * 2));
    min-height: 0;
    padding: .58rem 0;
  }

  .pm-work-console-tasks .pm-work-row {
    max-width: calc(100vw - (var(--pm-page-gutter) * 2));
  }

  .pm-work-console-tasks .pm-work-row-actions {
    flex-wrap: wrap;
    grid-column: 1;
    justify-content: flex-start;
    justify-self: start;
    min-width: 0;
  }

  .pm-work-console-tasks .pm-work-row-main,
  .pm-work-console-tasks .pm-work-row-main strong,
  .pm-work-console-tasks .pm-work-row-main span {
    max-width: 100%;
    white-space: normal;
  }

  .pm-work-console-tasks .pm-work-row-main {
    width: 100%;
  }

  .pm-work-console-tasks .pm-work-row-main strong,
  .pm-work-console-tasks .pm-work-row-main span {
    display: block;
    overflow-wrap: anywhere;
  }

  .pm-work-console-tasks .pm-work-row-action {
    min-width: 0;
  }

  .pm-work-console-tasks .pm-work-btn-start {
    min-height: 2.18rem;
    min-width: min(100%, 9.75rem);
  }

  .pm-work-console-tasks .pm-work-row-waiting {
    gap: .08rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-work-console-tasks .pm-work-row-waiting .pm-work-row-end {
    justify-self: start;
  }
}


.pm-task-refresh-link {
  margin: .7rem 0 0;
}

.pm-task-detail-editor {
  max-width: 44rem;
}

.pm-task-detail-timer {
  margin: 0;
}

.pm-task-detail-form {
  max-width: none;
}

.pm-task-detail-grid {
  display: grid;
  gap: .68rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pm-task-detail-state {
  align-items: start;
  grid-template-columns: repeat(4, minmax(0, auto));
}

.pm-task-detail-state legend {
  flex-basis: 100%;
}

.pm-time-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pm-time-head > div {
  min-width: 0;
}

.pm-time-add {
  justify-self: end;
}

.pm-time-add[open] {
  grid-column: 1 / -1;
  justify-self: stretch;
  width: 100%;
}

.pm-time-add-form {
  gap: .68rem;
  grid-template-columns: minmax(12rem, 1fr) minmax(16rem, 1.5fr) minmax(9rem, .75fr);
  max-width: 52rem;
}

.pm-time-add-form .pm-work-more,
.pm-time-add-actions {
  grid-column: 1 / -1;
}

.pm-time-add-actions {
  align-items: center;
  display: flex;
  gap: .7rem;
}

.pm-time-add-actions .pm-work-link {
  color: var(--pm-work-muted);
}

.pm-work-console-time {
  gap: .68rem;
}

.pm-work-console-time .pm-work-section {
  min-width: 0;
  gap: .5rem;
  padding-top: .62rem;
}

.pm-work-console-time .pm-work-section-head span {
  color: var(--pm-work-text);
  font: 600 .9rem/1.2 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
}

.pm-time-running {
  align-items: center;
  display: grid;
  gap: .55rem .9rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  max-width: 58rem;
  padding: 0;
}

.pm-time-running-label {
  color: var(--pm-work-muted);
  font: 600 .82rem/1.2 var(--pm-font-ui);
}

.pm-time-running strong {
  color: var(--pm-work-text);
  font: 400 .94rem/1.25 var(--pm-font-ui);
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-time-running-control {
  justify-self: end;
}

.pm-time-entry-table-wrap {
  min-width: 0;
  border-top: 1px solid color-mix(in oklab, var(--pm-work-line) 62%, transparent);
  max-width: 74rem;
  overflow-x: auto;
  width: 100%;
}

.pm-time-entry-table {
  border-collapse: collapse;
  min-width: 0;
  width: 100%;
}

.pm-time-entry-table th,
.pm-time-entry-table td {
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 48%, transparent);
  padding: .42rem .58rem;
  text-align: left;
  vertical-align: middle;
}

.pm-time-entry-table thead th {
  color: var(--pm-work-muted);
  font: 600 .75rem/1.2 var(--pm-font-ui);
  white-space: nowrap;
}

.pm-time-entry-table tbody th {
  color: var(--pm-work-muted);
  font: 400 .8rem/1.18 var(--pm-font-ui);
}

.pm-time-entry-project-number,
.pm-time-entry-project-name,
.pm-time-entry-work,
.pm-time-entry-source {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-time-entry-project-number {
  color: var(--pm-accent);
  font: 400 .82rem/1.16 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
}

.pm-time-entry-project-name,
.pm-time-entry-source {
  color: var(--pm-work-muted);
  margin-top: .1rem;
}

.pm-time-entry-work {
  color: var(--pm-work-text);
  font: 400 .9rem/1.25 var(--pm-font-ui);
}

.pm-time-entry-source,
.pm-time-entry-span {
  font: 400 .78rem/1.2 var(--pm-font-tech);
}

.pm-time-entry-span {
  color: var(--pm-work-muted);
  white-space: nowrap;
}

.pm-time-adjust-form {
  align-items: center;
  display: flex;
  gap: .45rem;
  justify-content: flex-end;
  margin: 0;
}

.pm-time-adjust-form input {
  inline-size: 5.8rem;
  min-height: var(--pm-control-h-sm);
  text-align: right;
}

.pm-time-adjust-save {
  min-height: var(--pm-control-h-sm);
  padding: .42rem .58rem;
}

.pm-time-week-matrix-wrap {
  min-width: 0;
  border-top: 1px solid color-mix(in oklab, var(--pm-work-line) 62%, transparent);
  max-width: 74rem;
  overflow-x: auto;
  width: 100%;
}

.pm-time-week-matrix {
  border-collapse: collapse;
  min-width: 58rem;
  width: 100%;
}

.pm-time-week-project-col {
  width: 10.8rem;
}

.pm-time-week-task-col {
  width: 16rem;
}

.pm-time-week-day-col {
  width: 5.8rem;
}

.pm-time-week-total-col {
  width: 6rem;
}

.pm-time-week-matrix th,
.pm-time-week-matrix td {
  border-bottom: 1px solid color-mix(in oklab, var(--pm-work-line) 48%, transparent);
  padding: .42rem .58rem;
  vertical-align: top;
}

.pm-time-week-matrix th:nth-child(n+3),
.pm-time-week-matrix td:nth-child(n+3) {
  border-left: 1px solid color-mix(in oklab, var(--pm-work-line) 26%, transparent);
}

.pm-time-week-matrix thead th {
  border-bottom-color: color-mix(in oklab, var(--pm-work-line) 78%, transparent);
  color: var(--pm-work-muted);
  font: 600 .75rem/1.2 var(--pm-font-ui);
  font-variant-numeric: tabular-nums;
  padding-bottom: .5rem;
  text-align: right;
  white-space: nowrap;
}

.pm-time-week-matrix thead th:nth-child(-n+2) {
  text-align: left;
}

.pm-time-week-project-cell {
  color: var(--pm-work-muted);
  font: 400 .8rem/1.18 var(--pm-font-ui);
  text-align: left;
}

.pm-time-week-project-number,
.pm-time-week-project-name {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-time-week-project-number {
  color: var(--pm-accent);
  font: 400 .82rem/1.16 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
}

.pm-time-week-project-name {
  color: var(--pm-work-muted);
  margin-top: .1rem;
}

.pm-time-week-task-cell {
  color: var(--pm-work-text);
  font: 400 .9rem/1.25 var(--pm-font-ui);
  overflow-wrap: anywhere;
}

.pm-time-week-task-row td:nth-child(n+3) {
  color: var(--pm-work-muted);
  font: 400 .86rem/1.2 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.pm-time-week-task-row td:last-child {
  font-weight: 600;
  background: color-mix(in oklab, var(--pm-work-line) 9%, transparent);
  color: var(--pm-work-text);
}

.pm-time-week-total-row th,
.pm-time-week-total-row td {
  border-bottom: 0;
  border-top: 1px solid color-mix(in oklab, var(--pm-work-line) 68%, var(--pm-work-text));
  color: var(--pm-work-text);
  font: 600 .86rem/1.2 var(--pm-font-tech);
  font-variant-numeric: tabular-nums;
  padding-bottom: .5rem;
  padding-top: .5rem;
  text-align: right;
  white-space: nowrap;
}

.pm-time-week-total-row th {
  color: var(--pm-work-muted);
  font-family: var(--pm-font-ui);
  text-align: left;
}

.pm-time-week-total-row td:nth-child(2) {
  border-left: 0;
}

.pm-time-week-matrix .pm-time-week-today {
  background: color-mix(in oklab, var(--pm-work-line) 16%, transparent);
}

.pm-time-week-matrix thead .pm-time-week-today {
  color: var(--pm-work-text);
}

@media (max-width: 700px) {
  .pm-time-head {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-time-add {
    justify-self: start;
  }

  .pm-time-add-form {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .pm-time-running {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
  }

  .pm-time-running-control {
    justify-self: start;
  }

  .pm-time-adjust-form {
    justify-content: flex-start;
  }
}

.pm-date-upcoming {
  color: var(--pm-work-amber, var(--pm-yellow)) !important;
  font-weight: 600 !important;
}

.pm-date-expired {
  color: var(--pm-work-red, var(--pm-red)) !important;
  font-weight: 600 !important;
}

@media (max-width: 760px) {
  .pm-task-detail-grid,
  .pm-task-detail-state {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 640px) {
  .pm-work-mode .pm-terminal-record {
    gap: .26rem;
    min-height: 4.1rem;
    padding: .72rem .1rem .78rem;
  }

  .pm-work-mode .pm-terminal-record-marker {
    display: none;
  }

  .pm-work-mode .pm-project-terminal-list .pm-terminal-record {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-work-mode .pm-project-terminal-number {
    padding-top: 0;
  }

  .pm-work-mode .pm-terminal-record-title {
    font-size: .98rem;
  }

  .pm-work-mode .pm-contact-table,
  .pm-work-mode .pm-contact-table tbody,
  .pm-work-mode .pm-contact-table tr,
  .pm-work-mode .pm-contact-table td {
    display: block;
    width: 100% !important;
  }

  .pm-work-mode .pm-contact-table thead {
    display: none;
  }

  .pm-work-mode .pm-contact-table tr {
    border-bottom: 1px solid color-mix(in oklab, var(--pm-divider) 72%, transparent);
    padding: .52rem 0;
  }

  .pm-work-mode .pm-contact-table tr:last-child {
    border-bottom: 0;
  }

  .pm-work-mode .pm-contact-table td {
    border-bottom: 0;
    padding: .08rem 0;
    white-space: normal;
  }

  .pm-work-mode .pm-contact-table td:first-child {
    font-size: .98rem;
    padding-bottom: .12rem;
  }

  .pm-work-mode .pm-contact-table td:nth-child(2),
  .pm-work-mode .pm-contact-table td:nth-child(3) {
    color: var(--pm-work-muted);
    display: inline;
    font-size: .84rem;
    padding: 0;
  }

  .pm-work-mode .pm-contact-table td:nth-child(2)::after {
    content: " · ";
  }

  .pm-work-mode .pm-contact-table td:nth-child(4) {
    padding-top: .18rem;
  }
}

/* Shared phone sizing, after the desktop and workflow presentation rules. */
@media (max-width: 600px) {
  body.pm-app {
    --pm-page-gutter: .75rem;
    --pm-control-h: 2.5rem;
    --pm-input-py: .38rem;
    --pm-input-px: .55rem;
    --pm-button-py: .4rem;
    --pm-button-px: .6rem;
    --pm-table-py: .38rem;
    --pm-table-px: .42rem;
    font-size: .875rem;
    line-height: 1.4;
  }

  .pm-shell-bar {
    gap: .2rem;
    padding: .4rem var(--pm-page-gutter);
  }

  .pm-shell-brand {
    display: flex;
    align-items: baseline;
    gap: .5rem;
  }

  .pm-product-kicker {
    font-size: .75rem;
  }

  .pm-primary-nav {
    width: 100%;
    gap: .8rem;
  }

  .pm-nav-link {
    flex: 0 0 auto;
    min-height: 2.25rem;
    font-size: .8125rem;
    white-space: nowrap;
  }

  .pm-public-link,
  .pm-shell-actions .pm-signout button {
    font-size: .8125rem;
  }

  .pm-shell-actions .pm-signout button {
    min-height: 2rem;
    padding: .25rem .4rem;
  }

  .pm-work-mode .pm-shell-main {
    padding: .65rem var(--pm-page-gutter) 1.25rem;
  }

  .pm-page-head,
  .pm-project-head,
  .pm-project-work-head,
  .pm-work-head {
    gap: .4rem;
    margin-bottom: .65rem;
  }

  .pm-work-head {
    flex-wrap: wrap;
  }

  .pm-page-head > div,
  .pm-work-head > div {
    min-width: 0;
  }

  .pm-app h1,
  .pm-project-detail-title,
  .pm-work-head h1,
  .pm-work-detail h1 {
    font-size: 1.2rem;
    line-height: 1.2;
  }

  .pm-app h2 {
    font-size: .95rem;
  }

  .pm-work-mode .pm-section,
  .pm-work-mode .pm-console-section,
  .pm-work-mode .pm-record-form {
    padding-top: .6rem;
  }

  .pm-console-section,
  .pm-project-work-section,
  .pm-project-work-section + .pm-project-work-section {
    margin-top: .85rem;
  }

  .pm-form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: .55rem;
  }

  .pm-record-form,
  .pm-work-form {
    gap: .6rem;
  }

  .pm-work-form label,
  .pm-task-paper-add label {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-work-mode .pm-toolbar {
    gap: .5rem;
    margin-bottom: .7rem;
  }

  .pm-work-mode .pm-toolbar label {
    flex: 1 1 8rem;
    min-width: 0;
    width: auto;
  }

  .pm-work-mode .pm-toolbar label:has(input[type="search"]) {
    flex-basis: 100%;
  }

  .pm-work-mode .pm-filter-bar .pm-checkbox-label {
    flex: 0 1 auto;
    white-space: normal;
  }

  /* Keep native fields legible at focus without increasing their padding. */
  .pm-app input:not([type="checkbox"]):not([type="radio"]),
  .pm-app select,
  .pm-app textarea {
    max-width: 100%;
    font-size: 1rem;
  }

  .pm-app textarea {
    min-height: 6rem;
  }

  .pm-app .pm-button,
  .pm-app .pm-work-btn,
  .pm-work-mode .pm-task-paper-add > summary {
    min-width: 0;
    min-height: var(--pm-control-h);
    max-width: 100%;
    font-size: .875rem;
    padding: var(--pm-button-py) var(--pm-button-px);
  }

  .pm-app a.pm-button:not(.pm-action-button),
  .pm-app a.pm-work-btn:not(.pm-action-button) {
    padding-inline: 0;
  }

  .pm-inline-actions,
  .pm-page-actions,
  .pm-project-actions,
  .pm-form-actions {
    flex-wrap: wrap;
    gap: .4rem .65rem;
  }

  .pm-work-console-tasks .pm-work-row-todo .pm-work-row-actions {
    min-width: 0;
    max-width: 100%;
  }

  .pm-table-wrap,
  .pm-time-entry-table-wrap,
  .pm-time-week-matrix-wrap {
    min-width: 0;
    max-width: 100%;
    overscroll-behavior-x: contain;
  }

  .pm-table {
    font-size: .8125rem;
  }

  .pm-table th {
    font-size: .75rem;
  }
}

.pm-task-views {
  min-width: 0;
  max-width: 100%;
}

.pm-task-views summary {
  color: var(--pm-work-muted);
  cursor: pointer;
}

.pm-task-views nav {
  padding-top: .4rem;
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  .pm-time-entry-table th,
  .pm-time-entry-table td {
    padding-inline: .35rem;
  }

  .pm-work-attention-row .pm-work-row-main {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Proposal editor: compact sections and natural page scrolling. */
.pm-proposal-editor {
  --pm-control-h: 2rem;
  --pm-input-py: .3rem;
  --pm-input-px: .5rem;
  --pm-button-py: .3rem;
  --pm-button-px: .55rem;
}

.pm-proposal-editor .pm-page-head {
  margin-bottom: .6rem;
}

.pm-proposal-editor .pm-section {
  margin-bottom: .6rem;
  padding-top: .5rem;
}

.pm-proposal-editor .pm-section-head {
  gap: .45rem;
  margin-bottom: .4rem;
  padding-bottom: .3rem;
}

.pm-proposal-editor details.pm-section:not([open]) > summary {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.pm-proposal-editor .pm-proposal-jumps {
  gap: .3rem .8rem;
  padding-bottom: .3rem;
  font-size: .84rem;
}

.pm-proposal-content-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  align-items: start;
}

.pm-proposal-selected-panel,
.pm-proposal-available-panel {
  display: grid;
  gap: .35rem;
  min-width: 0;
  align-content: start;
}

.pm-proposal-selected-panel {
  grid-template-columns: minmax(0, 1fr) auto;
}

.pm-proposal-selected-panel > .pm-proposal-content-list,
.pm-proposal-selected-panel > .pm-proposal-removed-list,
.pm-proposal-selected-panel > p,
.pm-proposal-selected-panel > .pm-inline-create[open] {
  grid-column: 1 / -1;
}

.pm-proposal-editor .pm-proposal-outline-filter {
  display: grid;
  gap: .35rem;
  margin: 0;
}

.pm-proposal-editor .pm-proposal-outline-filter label {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .4rem;
}

.pm-proposal-editor .pm-form,
.pm-proposal-editor .pm-form-grid {
  gap: .5rem;
}

.pm-proposal-editor .pm-proposal-fee-list,
.pm-proposal-editor .pm-proposal-fee-dev-list {
  gap: .25rem;
}

.pm-proposal-editor .pm-button,
.pm-proposal-editor .pm-proposal-outline-title,
.pm-proposal-editor .pm-proposal-info-summary dd {
  font-size: .84rem;
}

.pm-proposal-library-item .pm-proposal-outline-body {
  padding-left: 1rem;
}

@media (max-width: 1100px) {
  .pm-proposal-content-columns {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .pm-proposal-editor {
    --pm-control-h: 2.25rem;
  }

  .pm-proposal-editor .pm-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-proposal-editor .pm-proposal-outline-body,
  .pm-proposal-editor .pm-proposal-outline-actions {
    padding-left: 0;
  }
}
