/* PM presentation. Patterns from style.css: public-simple, More, and Poems. */
@font-face {
  font-family: "PM Lato";
  src: url("fonts/Lato-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "PM Lato";
  src: url("fonts/Lato-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

html { font-size: 17px; color-scheme: dark; overflow-y: scroll; scrollbar-gutter: stable; }

body.pm-public-page {
  --pm-font-ui: "PM Lato", "Helvetica Neue", Arial, sans-serif;
  --pm-font-tech: var(--pm-font-ui);
  --pm-bg: #101d26;
  --pm-ink: #f5f0eb;
  --pm-text: var(--pm-ink);
  --pm-text-muted: #aab4bd;
  --pm-text-tertiary: #aab4bd;
  --pm-bg-deep: var(--pm-bg);
  --pm-surface: var(--pm-bg);
  --pm-surface-hover: #26343b;
  --pm-purple: var(--pm-link);
  --pm-purple-dark: var(--pm-link);
  --pm-yellow: var(--pm-link);
  --pm-heading: var(--pm-ink);
  --pm-muted: #aab4bd;
  --pm-link: #d4a373;
  --pm-accent: var(--pm-link);
  --pm-rule: rgb(170 180 189 / 26%);
  --pm-divider: var(--pm-rule);
  font-size: 1rem;
  line-height: 1.6;
}

.pm-public-page .pm-shell {
  display: block;
  width: min(820px, calc(100% - 48px));
  margin: auto;
  padding-block: 48px 64px;
}

.pm-public-page .pm-shell-bar {
  position: static;
  display: grid;
  width: min(820px, 100%);
  margin-inline: auto;
  grid-template-columns: 1fr;
  gap: 18px;
  min-height: 0;
  padding: 0;
  border: 0;
  margin-bottom: 48px;
}

.pm-public-page .pm-primary-nav {
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
}

.pm-public-page .pm-nav-link {
  min-height: 0;
  padding: 0;
  color: var(--pm-link);
  font-size: .96rem;
  line-height: 1.35;
}

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

.pm-public-page .pm-shell-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: baseline;
  gap: 6px 16px;
  margin: 0;
}

.pm-public-page .pm-shell-actions a,
.pm-public-page .pm-shell-actions .pm-signout button {
  color: var(--pm-muted);
  font-size: .75rem;
}

.pm-public-page:not(.pm-login-body) .pm-shell-main {
  width: 100%;
  max-width: none;
  padding: 0;
}

/* Sign-in uses the public Contact form's fields, spacing, and submit button. */
.pm-login-body { background: var(--pm-bg); }
.pm-login-body .pm-login-panel { padding: 0; border: 0; }
.pm-login-panel .pm-form {
  row-gap: .38rem;
  width: 100%;
  margin: 1.5rem 0 0;
  padding: 0;
}
.pm-login-panel .pm-form label {
  margin: 0;
  font: 400 .9rem/1.2 var(--pm-font-ui);
  letter-spacing: 0;
}
.pm-login-panel .pm-form input:not([type="hidden"]) {
  box-sizing: border-box;
  width: 100%;
  min-height: 2.35rem;
  margin: 0;
  padding: .5rem .75rem;
  color: var(--pm-ink);
  background: #13232f;
  border: 1px solid var(--pm-rule);
  border-radius: 3px;
  box-shadow: none;
  font: 400 .9375rem/1.45 var(--pm-font-ui);
  appearance: none;
}
.pm-login-panel .pm-form input:not([type="hidden"]) + label { margin-top: .75rem; }
.pm-login-panel .pm-form input:focus {
  border-color: var(--pm-link);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--pm-link) 42%, transparent);
  outline: none;
}
.pm-login-panel .pm-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: 60%;
  min-height: 2.35rem;
  margin-top: .75rem;
  padding: .55rem .86rem;
  color: var(--pm-link);
  background: transparent;
  border: 1px solid var(--pm-link);
  border-radius: 4px;
  box-shadow: none;
  font: 500 .9rem/1.1 var(--pm-font-ui);
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.pm-login-panel .pm-form button[type="submit"]:hover {
  background: color-mix(in oklab, var(--pm-link) 11%, transparent);
  color: var(--pm-ink);
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.pm-public-page h1,
.pm-public-page h2 {
  font-size: 1.35rem;
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 .45rem;
  letter-spacing: 0;
}

.pm-home-heading,
.pm-home-section-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 20px;
}

.pm-home-heading p,
.pm-home-date,
.pm-home-status,
.pm-home-empty {
  color: var(--pm-muted);
}

.pm-home-heading p {
  margin: 0;
}

.pm-home-heading > a,
.pm-home-section-heading > a {
  font-size: .9rem;
}

.pm-home-metrics,
.pm-home-timer-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  margin-top: 20px;
  font-size: .9rem;
}

.pm-home-metrics strong {
  margin-right: .35rem;
  font-weight: 400;
}

.pm-home-timer-line > span:last-child {
  color: var(--pm-muted);
}

.pm-home-section {
  border-top: 1px solid var(--pm-rule);
  margin-top: clamp(1.65rem, 3.6vw, 2.35rem);
  padding-top: clamp(1.65rem, 3.6vw, 2.35rem);
}

.pm-home-list {
  display: grid;
  gap: .5rem;
  margin-top: .35rem;
}

.pm-home-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .06rem clamp(1rem, 3vw, 2rem);
  line-height: 1.42;
}

.pm-home-row-main {
  display: grid;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-home-row-main strong {
  font-weight: 400;
}

.pm-home-row-main > span {
  color: var(--pm-muted);
  font-size: .9rem;
  margin-top: .06rem;
}

.pm-home-date,
.pm-home-status {
  font-size: .88rem;
  font-variant-numeric: tabular-nums;
}

.pm-home-project-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.pm-home-overdue,
.pm-home-row-overdue .pm-home-date {
  color: #edb2a9;
}

.pm-home-empty {
  margin: 0;
}

@media (max-width: 700px) {
  html { font-size: 16px; }
  body.pm-public-page {
    font-size: 1rem;
    line-height: 1.52;
  }

  .pm-public-page .pm-shell {
    padding-block: 28px 48px;
  }

  .pm-public-page .pm-shell-bar {
    gap: 16px;
  }

  .pm-public-page .pm-primary-nav {
    gap: 9px 17px;
  }

  .pm-home-row {
    column-gap: 14px;
  }

  .pm-home-project-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .pm-home-status {
    grid-column: 1;
    grid-row: 2;
  }

  .pm-home-project-row .pm-home-date {
    grid-column: 2;
    grid-row: 1;
  }
}

/* Approved sample components, using the existing functional markup. */
.pm-public-page {
  --pm-panel: transparent;
  --pm-panel-soft: transparent;
  --pm-border: var(--pm-rule);
  --pm-border-strong: var(--pm-rule);
  --pm-control-surface: transparent;
  --pm-shadow: none;
  --pm-radius: 0;
}
.pm-public-page .pm-nav-link[aria-current="page"],
.pm-public-page a[aria-current="true"] { color: var(--pm-ink); text-decoration: underline; text-decoration-color: var(--pm-link); text-underline-offset: .24em; }
.pm-public-page .pm-section, .pm-public-page .pm-work-section,
.pm-public-page .pm-data-card, .pm-public-page .pm-work-console,
.pm-public-page .pm-record-form { background: none; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0; }
.pm-public-page .pm-page-head, .pm-public-page .pm-work-head,
.pm-public-page .pm-section-head, .pm-public-page .pm-work-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; background: none; border: 0; padding: 0; }
.pm-public-page .pm-work-head, .pm-public-page .pm-page-head { margin-bottom: 20px; }
.pm-public-page .pm-work-section { margin-top: 28px; }
.pm-public-page .pm-work-section-head h2, .pm-public-page .pm-section-head h2 { font-size: 1.35rem; }
.pm-public-page .pm-button, .pm-public-page .pm-work-btn, .pm-public-page button { min-height: 0; padding: 0; border: 0; background: none; color: var(--pm-link); font: inherit; font-size: .9rem; box-shadow: none; }
.pm-public-page :is(.pm-inline-actions, .pm-form-actions, .pm-page-actions, .pm-row-actions, .pm-task-area-actions, .pm-contact-detail-actions, .pm-contact-inline-actions) a,
.pm-public-page :is(.pm-work-link, .pm-work-back, .pm-back-link, .pm-project-edit-link),
.pm-public-page :is(.pm-page-head, .pm-section-head, .pm-work-section-head) > a { font-size: .9rem; }
.pm-public-page :is(.pm-work-back, .pm-back-link):is(:hover, :focus-visible) { color: var(--pm-link); text-decoration: underline; text-underline-offset: .18rem; }
.pm-public-page .pm-button:hover, .pm-public-page .pm-work-btn:hover { text-decoration: underline; background: none; }
.pm-public-page .pm-badge { background: none; border: 0; padding: 0; color: var(--pm-muted); font: inherit; }
.pm-public-page .pm-toolbar, .pm-public-page .pm-filter-bar { background: none; border: 0; padding: 0; margin-block: 20px; }
.pm-public-page input, .pm-public-page select, .pm-public-page textarea { font-family: var(--pm-font-ui); background: transparent; color: var(--pm-ink); border: 0; border-bottom: 1px solid var(--pm-rule); border-radius: 0; box-shadow: none; }
/* Record forms share Edit Task's labels and controls; inline cells retain their own sizing. */
.pm-public-page:not(.pm-login-body) :is(.pm-form, .pm-record-form, .pm-task-capture-form, .pm-submittal-inline-editor, .pm-submittal-cycle-form, .pm-project-compact-form, .pm-inline-create-form, .pm-bid-import-form) {
  --pm-control-h: 2.35rem;
  --pm-input-py: .5rem;
  --pm-input-px: .75rem;
}
.pm-public-page:not(.pm-login-body) :is(.pm-form, .pm-record-form, .pm-task-capture-form, .pm-submittal-inline-editor, .pm-submittal-cycle-form, .pm-project-compact-form, .pm-inline-create-form, .pm-bid-import-form) label:has(> :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea)) {
  display: grid; gap: .28rem; min-width: 0; margin: 0; color: var(--pm-muted); font: 400 .9rem/1.6 var(--pm-font-ui); letter-spacing: 0; text-transform: none;
}
.pm-public-page:not(.pm-login-body) :is(.pm-form, .pm-record-form, .pm-task-capture-form, .pm-submittal-inline-editor, .pm-submittal-cycle-form, .pm-project-compact-form, .pm-inline-create-form, .pm-bid-import-form) label > :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea),
.pm-public-page:not(.pm-login-body) form.pm-form > :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  box-sizing: border-box; min-width: 0; min-height: var(--pm-control-h); padding: var(--pm-input-py) var(--pm-input-px); color: var(--pm-ink); background: var(--pm-bg); border: 1px solid var(--pm-rule); border-radius: var(--pm-radius-sm); font: 400 .9rem/1.6 var(--pm-font-ui);
}
.pm-public-page input[type="checkbox"], .pm-public-page input[type="radio"] { accent-color: var(--pm-link); }
.pm-public-page label, .pm-public-page th { color: var(--pm-muted); }
.pm-public-page a:focus-visible, .pm-public-page button:focus-visible,
.pm-public-page input:focus-visible, .pm-public-page select:focus-visible { outline: 2px solid var(--pm-link); outline-offset: 2px; }
.pm-public-page .pm-table, .pm-public-page .uc-table { width: 100%; font: inherit; font-size: .9rem; line-height: 1.55; border-collapse: collapse; }
.pm-public-page .pm-table th, .pm-public-page .pm-table td,
.pm-public-page .uc-table th, .pm-public-page .uc-table td { background: none; border: 0; padding: 8px 14px 8px 0; text-align: left; vertical-align: top; }
.pm-public-page .pm-table th, .pm-public-page .uc-table th { color: var(--pm-muted); font-size: .86rem; font-weight: 400; }
.pm-public-page .pm-table thead, .pm-public-page .uc-table thead { border-bottom: 1px solid var(--pm-rule); }
.pm-public-page .pm-number, .pm-public-page .uc-number { font-family: var(--pm-font-ui); font-variant-numeric: tabular-nums; text-align: right !important; }
.pm-public-page .pm-table th:last-child, .pm-public-page .pm-table td:last-child,
.pm-public-page .uc-table th:last-child, .pm-public-page .uc-table td:last-child { padding-right: 0; }
.pm-browse-row { display: grid; grid-template-columns: 6rem minmax(0,1fr); gap: .8rem; margin: .35rem 0; font-size: .86rem; line-height: 1.4; }
.pm-browse-row > span:first-child { color: var(--pm-muted); }
.pm-browse-row > :is(span:last-child,div) { display: flex; flex-wrap: wrap; gap: .18rem .82rem; }
.pm-public-page :is(.pm-browse-row a,nav .pm-sort-link,nav a[data-pm-sort]):not([aria-current="true"]) { color: #c58544; }
.pm-public-page dialog { background: var(--pm-bg); color: var(--pm-ink); border: 1px solid var(--pm-rule); width: min(680px,calc(100% - 48px)); max-height: 85vh; overflow-y: auto; padding: 24px; }
.pm-public-page dialog::backdrop { background: #0008; }
.pm-public-page [hidden] { display: none !important; }
.pm-public-page .pm-work-row { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: .06rem 12px; padding: 0; border: 0; background: none; align-items: baseline; margin-bottom: 10px; }
.pm-home-list .pm-work-row { margin-bottom: 0; }
.pm-home-list .pm-time-week-project-name { color: var(--pm-link); margin-top: 0; }
.pm-home-list :is(.pm-work-row-action, .pm-work-row-timer-control) { display: flex; align-items: baseline; justify-content: flex-end; width: 7.5rem; flex: 0 0 7.5rem; gap: .5rem; }
.pm-home-list .pm-work-row-timer-control .pm-work-clock { color: var(--pm-muted); font: 400 .86rem/1.6 var(--pm-font-ui); font-variant-numeric: tabular-nums; }
.pm-home-list :is(.pm-work-btn-start, .pm-work-btn-stop) { width: 5ch; text-align: right; line-height: 1.6; }
.pm-public-page .pm-work-row > .pm-work-complete-form { grid-column: 1; grid-row: 1; }
.pm-public-page .pm-work-row > .pm-work-row-main { grid-column: 2; grid-row: 1; min-width: 0; }
.pm-public-page .pm-work-row > .pm-task-row-project { grid-column: 2; grid-row: 2; display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem; font-size: .86rem; color: var(--pm-muted); }
.pm-public-page .pm-work-row > .pm-work-row-actions { grid-column: 3; grid-row: 1; display: flex; gap: 12px; align-items: baseline; flex-wrap: nowrap; margin: 0; }
.pm-public-page .pm-work-row-main strong { font-weight: 400; font-family: inherit; }
.pm-public-page .pm-work-row .pm-work-row-date, .pm-public-page .pm-work-row .pm-work-row-end { grid-column: 3; grid-row: 1; font-size: .86rem; }
.pm-public-page .pm-work-row-actions form, .pm-public-page .pm-work-complete-form { margin: 0; }
.pm-public-page .pm-time-week-matrix { table-layout: fixed; width: 100%; min-width: 0; font-size: .9rem; font-variant-numeric: tabular-nums; }
.pm-public-page .pm-time-week-project-col { width: 30%; }
.pm-public-page .pm-time-week-day-col, .pm-public-page .pm-time-week-total-col { width: 8.75%; }
.pm-public-page .pm-time-week-matrix th, .pm-public-page .pm-time-week-matrix td { background: none; padding: 4px 5px; border: 0; vertical-align: top; }
.pm-public-page .pm-time-week-matrix thead { border-bottom: 1px solid var(--pm-rule); }
.pm-public-page .pm-time-week-matrix tfoot { border-top: 1px solid var(--pm-rule); }
.pm-public-page .pm-time-week-task-cell { display: table-cell; text-align: left; font-size: .9rem; font-weight: 400; color: var(--pm-ink); }
.pm-public-page .pm-time-week-task-cell a { color: inherit; }
.pm-public-page .pm-time-week-project-row th { padding-top: 12px; padding-bottom: 4px; text-align: left; }
.pm-public-page .pm-time-week-project-row a { color: var(--pm-link); margin: 0; font: inherit; }
.pm-public-page .pm-time-week-nav { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .9rem; }
.pm-public-page .pm-work-console-time > .pm-work-section { margin-top: 12px; }
.pm-public-page .pm-time-week-cell { position: relative; width: 100%; text-align: center; }
.pm-public-page .pm-time-week-cell input, .pm-public-page .pm-time-week-cell button { visibility: visible; box-sizing: border-box; width: 5.5ch; max-width: 100%; min-width: 0; height: 1.5em; margin: 0; padding: 0; font: inherit; line-height: 1.4; text-align: center; border: 0; border-bottom: 1px solid transparent; }
.pm-public-page input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.pm-public-page input[type="number"]::-webkit-inner-spin-button,
.pm-public-page input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.pm-public-page [data-time-cell-error] { position: absolute; top: 100%; right: 0; z-index: 1; width: max-content; max-width: 18rem; color: var(--pm-muted); font-size: .75rem; line-height: 1.2; }
.pm-public-page .pm-time-week-cell input:focus-visible { outline-width: 1px; outline-offset: 1px; }
.pm-schedule-controls { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: nowrap; gap: .5rem; width: auto; margin: 0 0 0 auto; font-size: .9rem; white-space: nowrap; }
.pm-schedule-controls a { color: var(--pm-link); background: none; border: 0; padding: 0; text-decoration: none; }
.pm-schedule-controls a:hover { text-decoration: underline; }
.pm-submittal-add { font-size: .9rem; }
.pm-task-capture-toggle, .pm-task-report-action { color: var(--pm-link); font-size: .9rem; }
.pm-task-list-sections > .pm-home-section:first-child { border-top: 0; margin-top: 1rem; padding-top: 0; }
.pm-task-edit-actions { grid-column: 1 / -1; justify-content: flex-start; font-size: .9rem; }
.pm-public-page form.pm-task-edit-delete { display: block; border: 0; margin: 0; padding: 0; text-align: left; }
.pm-public-page .pm-task-edit-delete button { color: #bd8585; }
.pm-submittal-reference-field,
.pm-submittal-reference-field + label { grid-column: 1; }
.pm-public-page .pm-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 0; border-left: 1px solid var(--pm-rule); border-bottom: 1px solid var(--pm-rule); }
.pm-public-page .pm-calendar-day, .pm-public-page .pm-calendar-weekday { border: 0; border-top: 1px solid var(--pm-rule); border-right: 1px solid var(--pm-rule); min-width: 0; padding: 8px 5px; background: none; }
.pm-public-page .pm-calendar-day { min-height: 96px; }
.pm-public-page .pm-calendar-day-today { background: #26343b; }
.pm-public-page .pm-calendar-date-short { display: inline; color: var(--pm-ink); }
.pm-public-page .pm-calendar-date-full { display: none; }
.pm-public-page .pm-calendar-event { display: block; padding: 0; margin-top: 4px; background: none; border: 0; border-radius: 0; font-size: .75rem; color: var(--pm-link); overflow-wrap: anywhere; }
.pm-public-page .pm-calendar-date-short[aria-current="date"] { color: var(--pm-link); font-weight: 700; }
@media(max-width:700px) {
  .pm-public-page .pm-table, .pm-public-page .uc-table { display: table; min-width: 0; }
  .pm-public-page .pm-table thead, .pm-public-page .uc-table thead { display: table-header-group; }
  .pm-public-page .pm-table tr, .pm-public-page .uc-table tr { display: table-row; }
  .pm-public-page .pm-table th, .pm-public-page .pm-table td,
  .pm-public-page .uc-table th, .pm-public-page .uc-table td { display: table-cell; padding-right: 6px; }
  .pm-public-page td::before { content: none !important; }
  .pm-public-page .pm-calendar-day { min-height: 76px; }
}
.pm-public-page button:not(.pm-time-week-cell button):not([data-pm-inline]) { font-family: var(--pm-font-ui); }
.pm-public-page .pm-cost-estimate-head.pm-submittal-form-page { gap: .4rem; margin-bottom: 20px; }
.pm-public-page .pm-cost-estimate-head .pm-page-meta { color: var(--pm-muted); margin-top: .2rem; }
.pm-public-page .pm-estimate-title { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.pm-public-page .pm-estimate-title > a { flex-shrink: 0; font-size: .9rem; font-weight: 400; }
.pm-public-page .pm-estimate-category-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.pm-public-page [data-estimate-error] { display: block; color: var(--pm-muted); font-size: .8rem; white-space: normal; }
.pm-public-page .pm-cost-estimate-actions { gap: .35rem .55rem; }
.pm-public-page .pm-cost-estimate-table { font-variant-numeric: tabular-nums; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-col-item { width: 6%; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-col-description { width: 50%; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-col-qty { width: 10%; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-col-unit { width: 6%; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-col-price { width: 14%; }
.pm-public-page .pm-cost-estimate-table :is(th,td):nth-child(2) { white-space: normal; overflow-wrap: anywhere; }
.pm-public-page .pm-cost-estimate-table :is(th,td):nth-child(n+3) { white-space: nowrap; overflow-wrap: normal; }
.pm-public-page .pm-cost-estimate-table td:nth-child(2) a { font-weight: 400; }
.pm-public-page .pm-cost-estimate-items .pm-table-wrap { overflow-x: auto; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-category-row th { border-bottom: 1px solid var(--pm-rule); color: var(--pm-muted); letter-spacing: .055em; text-transform: uppercase; }
.pm-public-page .pm-estimate-category-row a { margin-left: 1rem; font-size: .86rem; color: var(--pm-link); letter-spacing: normal; text-transform: none; white-space: nowrap; }
.pm-public-page .pm-estimate-description { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.pm-public-page .pm-estimate-description > a { min-width: 0; }
.pm-public-page .pm-estimate-description .pm-estimate-remove { flex-shrink: 0; color: var(--pm-red); font-size: .75rem; }
.pm-public-page .pm-estimate-remove:is(:hover,:focus-visible) { text-decoration: underline; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-subtotal :is(th,td) { color: var(--pm-heading); font-weight: 700; }
.pm-public-page .pm-cost-estimate-table [data-pm-inline],
.pm-public-page .pm-cost-estimate-table input:not([type="hidden"]) { display: inline-block; box-sizing: border-box; width: 8ch; max-width: 100%; min-width: 0; height: 1.5em; margin: 0; padding: 0; border: 0; border-bottom: 1px solid transparent; background: none; font: inherit; line-height: 1.4; vertical-align: top; }
.pm-public-page .pm-cost-estimate-table td:nth-child(5) :is(input,button) { width: 10ch; }
.pm-public-page .pm-cost-estimate-table input:focus-visible { outline: 1px solid var(--pm-link); outline-offset: 1px; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-totals th { color: var(--pm-heading); text-align: left; }
.pm-public-page .pm-cost-estimate-table :is(.pm-estimate-subtotal,.pm-estimate-totals) td { white-space: nowrap; overflow-wrap: normal; }
.pm-public-page .pm-estimate-totals select { display: inline; width: 3em; min-height: 0; padding: 0; }
.pm-public-page .pm-cost-estimate-table .pm-estimate-grand-total :is(th,td) { border-top: 1px solid var(--pm-rule); font-weight: 700; color: var(--pm-heading); }
.pm-public-page .pm-estimate-save { justify-content: flex-end; margin-top: .5rem; }
.pm-public-page :is(.uc-metrics,.pm-proposal-info-summary) { background: none; border: 0; box-shadow: none; }
.pm-public-page .uc-dashboard { --uc-text: var(--pm-ink); --uc-muted: var(--pm-muted); --uc-accent: var(--pm-link); }

.pm-public-page .pm-shell-footer { margin-top: 48px; }
.pm-public-page .pm-table tbody, .pm-public-page .uc-table tbody { display: table-row-group; }
.pm-public-page .uc-table thead { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }

.pm-public-page .pm-bid-history-scroll { overflow-x: auto; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) { display: table; table-layout: fixed; min-width: 40rem; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) tr { display: table-row; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) :is(th,td) { display: table-cell; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) td::before { content: none; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) th:first-child { width: 40%; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) th:nth-child(2) { width: 18%; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) th:nth-child(3) { width: 20%; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) th:nth-child(4) { width: 22%; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) :is(th,td):nth-child(n+2) { white-space: nowrap; overflow-wrap: normal; }
.pm-public-page :is(.pm-bid-project-tabs-table,.pm-cost-estimate-recent) :is(th,td):last-child { text-align: right; }
.pm-public-page .pm-bid-project-items-scroll { overflow-x: auto; }
.pm-public-page :is(.pm-bid-project-items-table,.pm-cost-estimate-table) { display: table; table-layout: fixed; min-width: 56rem; }
.pm-public-page :is(.pm-bid-project-items-table,.pm-cost-estimate-table) tr { display: table-row; }
.pm-public-page :is(.pm-bid-project-items-table,.pm-cost-estimate-table) :is(th,td) { display: table-cell; }
.pm-public-page :is(.pm-bid-project-items-table,.pm-cost-estimate-table) td::before { content: none; }
.pm-public-page .pm-bid-project-items-table :is(.pm-bid-project-cell-qty,.pm-bid-project-cell-unit,.pm-bid-project-cell-price) { white-space: nowrap; overflow-wrap: normal; }
.pm-public-page .pm-bid-project-items-table .pm-bid-project-cell-description { white-space: normal; overflow-wrap: anywhere; }
.pm-public-page .pm-bid-item-description { text-align: left; font: inherit; white-space: normal; }
.pm-public-page .pm-bid-project-items-table .pm-bid-category-total-item,
.pm-public-page .pm-bid-project-items-table .pm-bid-category-total-spacer { display: table-cell; }
.pm-public-page .uc-summary .uc-search { border: 0; padding: 0; margin: 20px 0; }
.pm-public-page .uc-summary .uc-search label { display: block; max-width: 460px; }
.pm-public-page .uc-summary .uc-search input { min-height: 2.35rem; padding: .5rem .75rem; background: #13232f; border: 1px solid var(--pm-rule); border-radius: 3px; font: 400 .9375rem/1.45 var(--pm-font-ui); }
.pm-public-page .uc-summary .uc-table-scroll { overflow-x: auto; }
.pm-public-page .uc-summary .uc-common { display: table; min-width: 56rem; }
.pm-public-page .uc-summary .uc-common tr { display: table-row; background: none; }
.pm-public-page .uc-summary .uc-common :is(th,td) { display: table-cell; padding-block: 5px; }
.pm-public-page .uc-summary .uc-common td::before { content: none; }
.pm-public-page .uc-summary .uc-common th:first-child { width: 48%; }
.pm-public-page .uc-summary .uc-common th:nth-child(2) { width: 8%; text-align: left; }
.pm-public-page .uc-summary .uc-common th:nth-child(3) { width: 14%; }
.pm-public-page .uc-summary .uc-common th:nth-child(4) { width: 22%; }
.pm-public-page .uc-summary .uc-common th:nth-child(5) { width: 8%; }
.pm-public-page .uc-summary .uc-common td:nth-child(n+3) { white-space: nowrap; overflow-wrap: normal; }
.uc-item-page .uc-item-head h1 { margin-top: 20px; overflow-wrap: anywhere; }
.uc-item-page .uc-item-primary { font-variant-numeric: tabular-nums; font-size: 1.4rem; }
.uc-item-page .uc-item-primary strong { color: var(--pm-heading); }
.uc-item-page .uc-item-primary span { display: block; color: var(--pm-muted); font-size: .9rem; }
.uc-item-page .uc-item-summary dl { display: grid; grid-template-columns: max-content max-content; gap: 4px 28px; }
.uc-item-page .uc-item-summary dd { margin: 0; }
.uc-item-page .uc-item-summary dt { color: var(--pm-muted); }
.uc-item-page :is(.uc-trend,.uc-source-bids) { margin-top: 28px; }
.uc-item-page .pm-section-head { border-bottom: 1px solid var(--pm-rule); margin-bottom: 12px; }
.pm-public-page .uc-item-page :is(.uc-actual, .uc-adjusted) { fill: var(--pm-link); opacity: .7; }
.uc-item-page .uc-chart { display: block; width: 100%; max-width: none; height: auto; max-height: none; margin: 0; background: none; pointer-events: none; }
.uc-item-page .uc-chart text { font-size: 16px; }
@media (max-width: 560px) { .uc-item-page .uc-chart text { font-size: 24px; } }
.uc-item-page .uc-price-trend { stroke: var(--pm-heading); stroke-width: 1; fill: none; }
.uc-item-page .uc-grid { stroke-width: .6; opacity: .55; }
.uc-item-page .uc-chart .uc-reference-label { fill: var(--pm-link); font-size: 14px; }
@media (max-width: 560px) { .uc-item-page .uc-chart .uc-reference-label { font-size: 22px; } }
.uc-item-page .uc-source-link { font-size: .9rem; }
.uc-item-page .uc-reference { stroke: var(--pm-link); stroke-width: 1; stroke-dasharray: 6 4; fill: none; }
.uc-item-page .uc-table-scroll { overflow-x: auto; }
.pm-public-page .uc-item-page .uc-source-table { display: table; min-width: 44rem; }
.pm-public-page .uc-item-page .uc-source-table tr { display: table-row; background: none; }
.pm-public-page .uc-item-page .uc-source-table :is(th,td) { display: table-cell; padding-block: 5px; }
.pm-public-page .uc-item-page .uc-source-table td::before { content: none; }
.pm-public-page .uc-item-page .uc-source-table th:first-child { width: 44%; }
.pm-public-page .uc-item-page .uc-source-table th:nth-child(2) { width: 14%; text-align: left; }
.pm-public-page .uc-item-page .uc-source-table th:nth-child(n+3) { width: 14%; }
.pm-public-page .uc-item-page .uc-source-table td:not(:first-child) { white-space: nowrap; overflow-wrap: normal; }
.pm-dashboard-pairs { display: grid; grid-template-columns: 6rem 1fr; gap: 4px 16px; margin: 0; }
.pm-dashboard-pairs dt { color: var(--pm-muted); }
.pm-dashboard-pairs dd { margin: 0; }
.pm-public-page dialog.pm-inline-create[open] { width: min(680px,calc(100% - 48px)); margin: auto; }
.pm-public-page .pm-inline-create-form { background: none; border: 0; padding: 0; }
.pm-public-page th a { color: var(--pm-muted); }
.pm-public-page .uc-adjusted { fill: var(--pm-link); }
.pm-public-page .uc-actual { fill: var(--pm-muted); }
.pm-public-page .uc-legend span:first-child { color: var(--pm-muted); }
.pm-public-page .uc-legend span:last-child { color: var(--pm-link); }
.pm-public-page .pm-alert,
.pm-public-page .pm-flash,
.pm-public-page .pm-task-toast { position: static; background: none; border: 0; border-radius: 0; box-shadow: none; color: var(--pm-ink); padding: 0; margin: 0 0 .75rem; font: 400 .9rem/1.6 var(--pm-font-ui); }
.pm-public-page .pm-alert-success, .pm-public-page .pm-flash-success { display: none; }

.pm-public-page .pm-work-detail { background: none; border: 0; box-shadow: none; padding: 0; }
.pm-public-page .pm-time-week-matrix :is(td, th):not(:first-child) { text-align: right; color: var(--pm-ink); }
.pm-public-page .pm-time-week-matrix-wrap { border: 0; }
.pm-public-page .pm-time-week-task-row td { white-space: nowrap; font: inherit; }
.pm-public-page .pm-time-week-task-row td:last-child,
.pm-public-page .pm-time-week-total-row :is(th,td) { font-family: var(--pm-font-ui); font-weight: 700; }
.pm-public-page select option { background: var(--pm-bg); }
.pm-public-page .pm-work-row-completed > .pm-work-complete-form { grid-column: 3; grid-row: 1; }
.pm-public-page .pm-completed-task-list .pm-work-complete-form { grid-column: 1; grid-row: 1; }
.pm-completed-task-list .pm-work-row-main strong { color: var(--pm-muted); text-decoration: line-through; }
.pm-public-page .pm-work-row-actions:empty { display: none; }

.pm-wide-page .pm-shell { width: min(1100px,calc(100% - 48px)); }
.pm-public-page th[aria-sort="ascending"] [data-pm-sort]::after { content: " ↑"; }
.pm-public-page th[aria-sort="descending"] [data-pm-sort]::after { content: " ↓"; }

/* Contacts: keep six readable columns inside the standard content width. */
.pm-public-page .pm-contact-head { flex-wrap: nowrap; }
.pm-public-page .pm-contact-head .pm-page-actions { margin-left: auto; white-space: nowrap; }
.pm-public-page .pm-contact-table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.pm-public-page .pm-contact-table { table-layout: auto; min-width: 58rem; }
.pm-public-page .pm-contact-table :is(th,td) { overflow-wrap: normal; word-break: normal; }
.pm-public-page .pm-contact-table th:nth-child(1) { min-width: 10rem; }
.pm-public-page .pm-contact-table th:nth-child(2) { min-width: 9rem; }
.pm-public-page .pm-contact-table th:nth-child(3) { min-width: 8rem; }
.pm-public-page .pm-contact-table th:nth-child(4) { min-width: 8rem; }
.pm-public-page .pm-contact-table th:nth-child(5) { min-width: 15rem; }
.pm-public-page .pm-contact-table th:nth-child(6) { min-width: 8rem; }
.pm-public-page .pm-contact-table :is(th,td):nth-child(n+5) { white-space: nowrap; }
