/* Track D Production page (generic). */
.pr-page { display: grid; gap: 0.75rem; }
.pr-head h2 { margin: 0; }
.pr-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.pr-tab { border: 1px solid var(--border, #d0d5dd); background: var(--surface, #fff); color: inherit; border-radius: 999px; padding: 0.3rem 0.8rem; cursor: pointer; font: inherit; }
.pr-tab.active { background: var(--primary, #1f4e79); color: #fff; border-color: transparent; }
.pr-msg:empty { display: none; }
.pr-msg { margin: 0; padding: 0.45rem 0.7rem; border-radius: 6px; background: #eef4fb; color: #1d2939; }
.pr-msg-ok { background: #e7f6ec; }
.pr-msg-bad { background: #fdecec; }
.pr-strip { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.4rem 0; }
.pr-stage { display: grid; min-width: 6.5rem; text-align: left; border: 1px solid var(--border, #e4e7ec); background: var(--surface, #fff); color: inherit; border-radius: 8px; padding: 0.35rem 0.6rem; cursor: pointer; font: inherit; }
.pr-stage strong { font-size: 1.2rem; }
.pr-stage span { font-size: 0.75rem; color: var(--muted, #667085); }
.pr-stage.active { border-color: var(--primary, #1f4e79); box-shadow: inset 0 0 0 1px var(--primary, #1f4e79); }
.pr-filters { margin: 0.3rem 0; }
.pr-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.pr-table th, .pr-table td { padding: 0.32rem 0.45rem; border-bottom: 1px solid var(--border, #e4e7ec); text-align: left; vertical-align: top; }
.pr-table th { font-size: 0.72rem; }
.pr-table .btn { width: auto; display: inline-block; }
.pr-scroll { overflow-x: auto; }
.pr-cal td { min-width: 7.5rem; }
.pr-cal .pr-closed, .pc-closed { background: #f2f4f7; color: var(--muted, #667085); }
.pc-no-installs { background: repeating-linear-gradient(45deg, #fafafa, #fafafa 6px, #f2f4f7 6px, #f2f4f7 12px); }
.pc-booked { background: #eef4fb; }
.pc-over-capacity { background: #fdecec; }
.pc-job { border-left: 3px solid var(--primary, #1f4e79); padding-left: 0.3rem; margin-bottom: 0.25rem; font-size: 0.8rem; }
.pc-job[data-kind="measure"] { border-left-color: #f79009; }
.pc-job[data-kind="service"] { border-left-color: #12b76a; }
.pr-form { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin-top: 0.5rem; }
.pr-form input, .pr-form select, .pr-table select, .pr-table input:not([type=checkbox]) { font: inherit; padding: 0.22rem 0.35rem; }
.pr-inline { display: inline-flex; gap: 0.25rem; align-items: center; font-size: 0.85rem; }
.pr-note { flex-basis: 100%; margin: 0.2rem 0 0; font-size: 0.8rem; }
.pr-warn { background: #fff4e5; border-left: 4px solid #f79009; padding: 0.4rem 0.6rem; color: #1d2939; }
.pr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 0.6rem; }
.pr-box { border: 1px solid var(--border, #e4e7ec); border-radius: 8px; padding: 0.4rem 0.7rem; }
.pr-box h4 { margin: 0.2rem 0 0.4rem; }
.pr-list { margin: 0.2rem 0; padding-left: 1.2rem; }
.pr-list li { margin: 0.15rem 0; }
li.pr-done { color: var(--muted, #667085); }
.pr-page .pill, .pr-home .pill { display: inline-block; border-radius: 999px; padding: 0.05rem 0.5rem; font-size: 0.78rem; background: #f2f4f7; color: #344054; border: 1px solid #e4e7ec; }
.pr-page .pill-good { background: #e7f6ec; color: #067647; border-color: #abefc6; }
.pr-page .pill-warn { background: #fff4e5; color: #b54708; border-color: #fedf89; }
.pr-page .pill-bad { background: #fdecec; color: #b42318; border-color: #fecdca; }
@media (max-width: 720px) {
  .pr-table { display: block; overflow-x: auto; white-space: nowrap; }
  .pr-form > * { flex: 1 1 100%; }
}
@media print { .pr-tabs, .pr-form, .pr-head p, [data-pr="ready"], [data-pr="calendar"] { display: none; } }
