.experience-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.line-machine { margin:8px 0; min-width:230px; max-width:290px; font-size:11px; color:var(--muted); }
.line-machine label { display:flex; flex-direction:column; gap:5px; }
.line-machine select { width:100%; font-size:12px; }
.line-original-due { display:block; margin-top:4px; font-size:11px; color:var(--muted); }
.job-action-stack { display:inline-flex; flex-direction:column; gap:6px; vertical-align:middle; }
.job-action-stack .btn-edit { min-width:64px; }
.experience-heading h2 { margin:0 0 8px; font-size:24px; color:var(--text); }
.experience-heading p, .experience-help { color:var(--muted); margin:6px 0; font-size:13px; line-height:1.6; }
.experience-eyebrow { color:var(--accent-warn); font-size:11px; text-transform:uppercase; letter-spacing:1px; margin:0 0 8px; }
.work-health, .experience-notice { padding:12px 16px; border-left:3px solid var(--accent); background:var(--panel); color:var(--text-secondary); font-size:13px; line-height:1.6; }
.work-health.needs-action { border-color:var(--accent-warn); }
.work-counts { display:flex; flex-wrap:wrap; gap:32px; padding:22px 0; border-bottom:1px solid var(--border); margin-bottom:24px; }
.work-counts div { display:flex; align-items:baseline; gap:10px; }
.work-counts strong { font-size:26px; font-family:inherit; }
.work-counts span { color:var(--muted); font-size:12px; }
.work-filters { display:grid; grid-template-columns: minmax(200px, 2fr) 1fr 1fr; gap:16px; margin:18px 0; }
.work-filters label { display:flex; flex-direction:column; gap:7px; font-size:12px; color:var(--muted); }
.work-filters input, .work-filters select { width:100%; }
.work-board .work-table-wrap { overflow-x:auto; }
.work-board .work-table { width:100%; min-width:760px; table-layout:fixed; }
.work-board .work-table th:first-child { width:40%; }
.work-board .work-table th:nth-child(2) { width:19%; }
.work-board .work-table th:nth-child(3) { width:25%; }
.work-board .work-table td { vertical-align:top; padding:16px 12px; overflow-wrap:anywhere; font-size:13px; }
.work-board .work-table a { color:var(--text); text-decoration:none; line-height:1.5; }
.work-board .work-table a:hover { color:var(--accent); text-decoration:underline; }
.work-detail { color:var(--muted); font-size:12px; line-height:1.5; margin-top:7px; }
.work-stage-label { font-weight:600; color:var(--text-secondary); }
.work-stage-label.needs-action { color:var(--accent-warn); }
.shop-work { border-top:1px solid var(--border); padding-top:24px; margin-top:32px; overflow-x:auto; }
.st-add summary { cursor:pointer; font-size:14px; color:var(--accent); }
.st-add[open] summary { margin-bottom:20px; }
.shop-error { color:var(--red); }
.release-page { max-width:960px; }
.release-entry { display:grid; grid-template-columns:160px 1fr; gap:24px; padding:24px 0; border-top:1px solid var(--border); }
.release-meta { display:flex; flex-direction:column; gap:8px; font-size:12px; color:var(--muted); }
.release-meta strong { font-size:18px; color:var(--accent); }
.release-entry h3 { margin:0 0 12px; }
.release-entry ul, .release-bubble ul { padding-left:19px; line-height:1.65; color:var(--text-secondary); }
.release-entry li, .release-bubble li { margin:8px 0; }
.release-bubble { position:fixed; bottom:18px; left:18px; z-index:90; width:min(380px, calc(100vw - 36px)); padding:22px; border:1px solid var(--accent); border-radius:10px; background:var(--panel); box-shadow:0 12px 40px #0006; font-size:13px; }
.release-bubble h3 { padding-right:18px; font-size:17px; margin:10px 0; }
.release-bubble { max-height:calc(100vh - 36px); overflow-y:auto; }
.release-dismiss { position:absolute; right:8px; top:5px; background:none; border:0; font-size:26px; color:var(--muted); cursor:pointer; padding:4px 8px; }
.work-board :focus-visible, .release-bubble :focus-visible, .release-page :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:700px) { .work-filters { grid-template-columns:1fr; } .release-entry { grid-template-columns:1fr; gap:12px; } .experience-heading { flex-wrap:wrap; } }

/* Reports share the app theme on screen. Keep customer letterhead colors in print.
   Tickets column widths must never apply to the other tables using work-table. */
#dr-results .work-table { table-layout:fixed; }
#dr-results .work-table th:nth-child(1) { width:14%; }
#dr-results .work-table th:nth-child(2) { width:16%; }
#dr-results .work-table th:nth-child(3) { width:13%; }
#dr-results .work-table th:nth-child(4) { width:22%; }
#dr-results .work-table th:nth-child(5) { width:5%; }
#dr-results .work-table th:nth-child(6) { width:8%; }
#dr-results .work-table th:nth-child(7) { width:4%; }
#dr-results .work-table th:nth-child(8) { width:10%; }
#dr-results .work-table th:nth-child(9) { width:8%; }
#dr-results .work-table th, #dr-results .work-table td { vertical-align:top; line-height:1.5; }
#dr-results .work-table th { font-size:11px; }
#dr-results .work-table .num { text-align:right; }
#dr-results .work-table td:nth-child(-n+4) { overflow-wrap:anywhere; }
#dr-results .work-table td:nth-child(n+5) { white-space:nowrap; font-variant-numeric:tabular-nums; }
#dr-results .work-table th:nth-child(5), #dr-results .work-table th:nth-child(6),
#dr-results .work-table th:nth-child(9) { text-align:right; }
@media screen {
  .searchbar:has(#oo-cust), .searchbar:has(#dr-cust) { flex-wrap:wrap; }
  #dr-results { overflow-x:auto; max-width:100%; }
  #dr-results .work-table { min-width:1100px; }
  .oo-doc { background:var(--panel); color:var(--text); border:1px solid var(--border); padding:20px; overflow-x:auto; }
  .oo-letterhead > div:first-child { display:none; }
  .oo-titleblock { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; width:100%; text-align:left; }
  .oo-kicker { color:var(--text); font-size:18px; letter-spacing:0; text-transform:capitalize; }
  .oo-asof, .oo-group-count, .oo-doc .empty-hint { color:var(--muted); }
  .oo-rule { height:1px; background:var(--border); margin:16px 0; }
  .oo-cust { color:var(--text-secondary); }
  .oo-doc .oo-table { min-width:1280px; background:var(--panel); color:var(--text); }
  .oo-doc .oo-c-po { width:8%; }
  .oo-doc .oo-c-line { width:4%; }
  .oo-doc .oo-c-part { width:18%; }
  .oo-doc .oo-c-job { width:12%; }
  .oo-doc .oo-c-qty { width:7%; }
  .oo-doc .oo-c-rem { width:8%; }
  .oo-doc .oo-c-date, .oo-doc .oo-c-ecd { width:9%; }
  .oo-doc .oo-c-status { width:7%; }
  .oo-doc .oo-c-notes { width:11%; }
  .oo-doc .oo-table th { background:var(--panel); color:var(--muted); text-transform:uppercase; font-size:11px; padding:12px 10px; border-bottom:1px solid var(--border); }
  .oo-doc .oo-table td { background:var(--panel); color:var(--text); padding:12px 10px; border-color:var(--border); font-size:13px; line-height:1.5; }
  .oo-doc .oo-table tr:hover td { background:var(--panel2); }
  .oo-doc tr.oo-group td, .oo-doc tr.oo-group:hover td { background:var(--panel2); color:var(--text-secondary); }
  .oo-doc .oo-table .oo-hold { color:var(--accent-warn); }
  .oo-doc .oo-table td:nth-child(8), .oo-doc .oo-table td:nth-child(9), .oo-doc .oo-table .num { white-space:nowrap; }
}
@page dr-report { size:landscape; margin:0.4in; }
@media print {
  .oo-doc .oo-table th { color:inherit; background:transparent; }
  #content:has(#dr-results) { page:dr-report; }
  #dr-results { overflow:visible; }
  #dr-results .work-table { min-width:0; background:white; }
  #dr-results .work-table th, #dr-results .work-table td { background:white; color:black; padding:5px; font-size:9px; }
  #dr-results .work-table tbody tr { height:auto; break-inside:avoid; }
}
.line-history-locked { background: var(--panel2) !important; }
.line-history-locked > td { color: var(--muted); }
.line-history-locked input:disabled, .line-history-locked select:disabled { opacity: .55; cursor: not-allowed; }
.line-history-note { display:block; margin-top:6px; font-size:11px; color:var(--muted); white-space:nowrap; }

/* Administrative cleanup keeps evidence readable within the shared modal. */
.cleanup-review{max-height:65vh;overflow:auto}.cleanup-job{padding:16px 0;border-bottom:1px solid var(--border)}.cleanup-job label{display:block;margin:10px 0}.cleanup-job input,.cleanup-job textarea,.cleanup-job select{width:100%;box-sizing:border-box}.cleanup-confirm{display:flex;gap:10px;align-items:flex-start;margin-top:16px}.cleanup-confirm input{width:auto}.cleanup-warning,#cleanup-error,#cleanup-input-error{color:var(--accent-warn)}

/* Operation text is selectable; only the grip participates in dragging. */
.operation-preview{white-space:pre-wrap;overflow-wrap:normal;overflow-x:auto;max-height:26rem;margin:0;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:6px;font:12px/1.55 "JetBrains Mono","Space Mono",monospace;user-select:text;cursor:text}.operation-editor label{display:block}.operation-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.operation-fields input,.operation-template-bar input,.operation-template-bar select{width:100%;box-sizing:border-box}.operation-template-bar,.operation-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.operation-template-bar label{flex:1;min-width:200px}.operation-tools label{display:flex;align-items:center;gap:8px}.operation-tools input{width:auto}#operation-description{width:100%;box-sizing:border-box;min-height:320px;max-height:60vh;resize:vertical;overflow:auto;font:14px/1.6 "JetBrains Mono","Space Mono",monospace;tab-size:4}#operation-message{color:var(--accent-warn)}@media(max-width:700px){.operation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
