:root {
  color-scheme: light;
  --ink: #17251f;
  --muted: #657069;
  --paper: #f3f1ea;
  --card: #fffdf8;
  --line: #d8d7cf;
  --green: #1f5b43;
  --lime: #b9d348;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: linear-gradient(150deg, #faf9f4 0%, var(--paper) 52%, #e5e8df 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.shell { width: min(1240px, calc(100% - 32px)); margin: 0 auto; padding: 26px 0 48px; }
.brand { display: flex; align-items: center; gap: 13px; margin-bottom: 38px; }
.mark { display: grid; place-items: center; width: 42px; height: 42px; color: white; background: var(--green); font: 800 21px/1 Georgia, serif; border-radius: 4px; box-shadow: 5px 5px 0 var(--lime); }
.brand-logo-crop{display:block;width:78px;height:37px;overflow:hidden;flex:0 0 auto}.brand-logo{display:block;width:78px;height:auto;max-width:none}
.eyebrow { margin: 0 0 5px; color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font: 600 22px/1.1 Georgia, serif; }
h2 { margin-bottom: 12px; font: 600 clamp(28px, 4vw, 46px)/1.08 Georgia, serif; }
.notice { position: relative; padding: clamp(28px, 5vw, 58px); margin-bottom: 72px; overflow: hidden; color: white; background: var(--green); border-radius: 6px; }
.notice::after { content: ""; position: absolute; width: 240px; height: 240px; right: -68px; top: -76px; border: 32px solid rgba(185,211,72,.72); transform: rotate(18deg); }
.notice p { max-width: 720px; margin-bottom: 0; color: #dce7e1; font-size: 17px; line-height: 1.65; }
.status, .phase { display: inline-block; padding: 7px 10px; margin-bottom: 24px; color: var(--ink); background: var(--lime); border-radius: 2px; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 0 12px; }
.section-heading h2 { margin-bottom: 0; font-size: clamp(20px, 2.2vw, 26px); }
.section-heading .eyebrow { display: none; }
.phase { margin: 0; white-space: nowrap; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
article { min-height: 180px; padding: 20px; background: rgba(255,253,248,.76); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
article span { color: var(--green); font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
article h3 { margin: 30px 0 8px; font: 600 20px/1.2 Georgia, serif; }
article p { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.userbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0 28px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
.userbar div { display: grid; gap: 4px; }
.userbar .status { width: fit-content; margin-bottom: 6px; }
.userbar small { color: var(--muted); }
button { padding: 9px 13px; color: white; background: var(--green); border: 0; border-radius: 3px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
button:disabled { opacity: .48; cursor: not-allowed; }
.button-link { display: inline-block; padding: 9px 13px; color: white; background: var(--green); border-radius: 3px; font-size: 14px; font-weight: 750; text-decoration: none; }
.secondary-button { color: var(--ink); background: #e4e2da; }
.danger-button { color: #7b1f1f; background: #f3dddd; }
.auth-card { width: min(620px, 100%); padding: clamp(28px, 5vw, 48px); margin: 0 auto; background: var(--card); border: 1px solid var(--line); border-top: 6px solid var(--green); border-radius: 5px; box-shadow: 0 20px 60px rgba(23,37,31,.08); }
.auth-card h2 { font-size: clamp(30px, 5vw, 42px); }
.auth-card > div > p { color: var(--muted); line-height: 1.55; }
.auth-form { display: grid; gap: 18px; margin-top: 30px; }
.auth-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 750; }
.auth-form input { width: 100%; padding: 13px 14px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; }
.auth-form input:focus { outline: 3px solid rgba(185,211,72,.45); border-color: var(--green); }
.auth-form small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.auth-form button { margin-top: 6px; padding: 14px 18px; }
.form-message { padding: 12px 14px; margin: 22px 0 0; color: #713719; background: #fff0d9; border-left: 4px solid #d4822a; line-height: 1.45; }
.form-message.success-message{color:#174c2c;background:#e7f3e8;border-left-color:#2f7048;font-weight:750}
.portal-nav { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 10px 0 18px; margin: -14px 0 24px; border-bottom: 1px solid var(--line); }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.nav-links a { padding: 10px 12px; color: var(--muted); border-radius: 3px; font-size: 14px; font-weight: 750; text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: white; background: var(--green); }
.portal-nav-menu{position:relative;align-self:center}.portal-nav-menu>summary{list-style:none;cursor:pointer;padding:10px 12px;color:var(--muted);border-radius:3px;font-size:14px;font-weight:750}.portal-nav-menu>summary::-webkit-details-marker{display:none}.portal-nav-menu>summary::after{content:' ▾'}.portal-nav-menu[open]>summary,.portal-nav-menu>summary:hover{color:white;background:var(--green)}.portal-nav-menu>div{position:absolute;top:100%;left:0;z-index:40;min-width:220px;padding:7px;background:#fff;border:1px solid var(--line);box-shadow:0 9px 20px #0002}.portal-nav-menu a{display:block;white-space:nowrap}
.session-block { display: flex; align-items: center; gap: 18px; }
.session-block > div { display: grid; gap: 3px; text-align: right; }
.session-block .status { margin: 0 0 3px auto; padding: 5px 7px; }
.session-block small { color: var(--muted); }
.dashboard-hero { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 36px; padding: clamp(28px, 5vw, 54px); margin-bottom: 28px; color: white; background: var(--green); border-radius: 6px; }
.dashboard-hero h2 { margin-bottom: 12px; }
.dashboard-hero p { max-width: 700px; margin-bottom: 0; color: #dce7e1; line-height: 1.6; }
.readiness { display: grid; gap: 7px; min-width: 180px; padding: 20px; color: var(--ink); background: var(--lime); border-radius: 3px; }
.readiness span { font-size: 13px; }
.metric-grid, .module-grid, .role-grid { display: grid; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.metric-grid { grid-template-columns: repeat(3, 1fr); margin-bottom: 72px; }
.metric-grid article, .module-grid article, .role-grid article { min-height: 0; }
.metric-grid strong { display: block; margin: 24px 0 8px; font: 600 42px/1 Georgia, serif; }
.module-grid { grid-template-columns: repeat(3, 1fr); }
.module-link { display: block; color: inherit; text-decoration: none; }
.module-link article { height: 100%; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.module-link:hover article, .module-link:focus-visible article { position: relative; z-index: 1; background: var(--card); box-shadow: 0 10px 26px rgba(23,37,31,.12); transform: translateY(-3px); }
.module-link:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
.module-grid article > div { display: flex; justify-content: space-between; align-items: center; }
.module-grid .locked { padding: 5px 7px; color: #61400f; background: #f2dfa8; border-radius: 2px; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.module-grid .available { padding: 5px 7px; color: var(--green); background: #e5efdf; border-radius: 2px; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.project-admin-panel { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.7fr); gap: 24px; align-items: end; margin-bottom: 28px; }
.project-admin-panel h3, .project-settings h3 { margin-bottom: 8px; }
.project-admin-panel .supporting-note, .project-settings .supporting-note { margin-top: 0; }
.project-create-form { grid-template-columns: 1.5fr .7fr .9fr .9fr auto; align-items: end; }
.project-create-form button { min-height: 45px; white-space: nowrap; }
.project-grid .project-card { min-height: 150px; }
.project-card h3 { margin: 22px 0 7px; }
.project-card p { font-size: 14px; }
.project-card-wrap { position: relative; min-width: 0; }
.project-card-wrap .module-link { height: 100%; }
.project-card-wrap.has-order-controls .project-card { min-height: 172px; padding-bottom: 52px; }
.project-order-controls { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: flex; gap: 6px; }
.project-order-controls form { margin: 0; }
.project-order-controls button { padding: 6px 8px; font-size: 12px; }
.project-empty { grid-column: 1 / -1; }
.project-list-section { margin-top: 8px; }
.master-shortcuts { display: flex; flex-wrap: wrap; gap: 10px; margin: -6px 0 20px; }
.master-shortcuts a { padding: 9px 12px; color: var(--green); background: #e5efdf; border-radius: 3px; font-size: 13px; font-weight: 800; text-decoration: none; }
.secondary-link { color: var(--ink); background: #e4e2da; }
.project-settings { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.project-settings .inline-form { flex: 0 0 auto; }
.project-module-grid { margin-bottom: 18px; }
.page-heading, .work-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 11px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.page-heading .eyebrow, .page-heading > div > p:last-child { display: none; }
.page-heading h2, .work-header h2 { margin-bottom: 0; font-size: clamp(20px, 2.4vw, 27px); }
.work-header > div { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.work-header > div > span:not(.table-status) { color: var(--muted); font-size: 14px; }
.table-wrap { max-width: 100%; min-width: 0; overflow-x: auto; background: var(--card); border: 1px solid var(--line); }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 11px 13px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; white-space: normal; overflow-wrap: anywhere; }
.data-table th { color: var(--muted); background: #f0efe8; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.table-status { padding: 5px 8px; color: var(--green); background: #e5efdf; border-radius: 2px; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.role-grid { grid-template-columns: repeat(3, 1fr); }
.integration-card { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px; background: var(--card); border: 1px solid var(--line); border-left: 6px solid var(--green); }
.integration-card h3 { margin: 0 0 10px; font: 600 26px/1.2 Georgia, serif; }
.integration-card p { max-width: 720px; margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.integration-card .status { margin-bottom: 18px; }
.integration-card form { flex: 0 0 auto; }
.workspace-split { display: grid; grid-template-columns: minmax(260px, .62fr) minmax(0, 1.65fr); gap: 18px; align-items: start; }
.workspace-split > *, .master-grid > *, .module-grid > *, .role-grid > * { min-width: 0; }
.timesheet-workspace { grid-template-columns: minmax(300px, .62fr) minmax(0, 1.75fr); }
.timesheet-workspace .table-wrap { min-width: 0; }
.timesheet-table { table-layout: fixed; }
.timesheet-table th:nth-child(1) { width: 17%; }
.timesheet-table th:nth-child(2) { width: 16%; }
.timesheet-table th:nth-child(3) { width: 9%; }
.timesheet-table th:nth-child(4) { width: 19%; }
.timesheet-table th:nth-child(5) { width: 15%; }
.timesheet-table th:nth-child(6) { width: 24%; }
.timesheet-table th, .timesheet-table td { white-space: normal; overflow-wrap: anywhere; }
.timesheet-table td small { display: block; margin-top: 5px; color: var(--muted); line-height: 1.4; }
.timesheet-table .timesheet-actions { justify-content: flex-start; }
.timesheet-table .button-link, .timesheet-table button { padding: 7px 9px; font-size: 13px; }
.toolbox-workspace { grid-template-columns: minmax(280px, 330px) minmax(0, 1fr); }
.toolbox-workspace .table-wrap { min-width: 0; }
.toolbox-table { table-layout: fixed; }
.toolbox-table th:nth-child(1) { width: 18%; }
.toolbox-table th:nth-child(2) { width: 15%; }
.toolbox-table th:nth-child(3) { width: 23%; }
.toolbox-table th:nth-child(4) { width: 25%; }
.toolbox-table th:nth-child(5) { width: 19%; }
.toolbox-table th, .toolbox-table td { white-space: normal; overflow-wrap: anywhere; }
.toolbox-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.toolbox-table .timesheet-actions { justify-content: flex-start; }
.toolbox-table .button-link, .toolbox-table button { padding: 7px 9px; font-size: 13px; }
.panel { padding: 18px; background: var(--card); border: 1px solid var(--line); border-top: 4px solid var(--green); }
.panel h3 { margin-bottom: 14px; font: 600 20px/1.2 Georgia, serif; }
.compact-form { display: grid; gap: 12px; }
.compact-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 750; }
.compact-form input, .compact-form select { width: 100%; padding: 9px 10px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; }
.compact-form input:focus, .compact-form select:focus { outline: 3px solid rgba(185,211,72,.45); border-color: var(--green); }
.compact-form small, .supporting-note { color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.45; }
.supporting-note { margin: 18px 0 0; }
.empty-cell { padding: 38px 18px !important; color: var(--muted); text-align: center !important; white-space: normal !important; }
.code-chip { display: inline-block; padding: 5px 8px; color: white; background: var(--green); border-radius: 2px; font: 800 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.workflow-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.workflow-grid article { min-height: 160px; }
.workflow-grid article h3 { margin-top: 22px; }
.heading-actions { display: flex; align-items: center; gap: 12px; }
.heading-actions .phase { margin: 0; }
.table-link { color: var(--green); font-weight: 850; text-decoration: none; }
.table-link:hover { text-decoration: underline; }
.po-form { display: grid; gap: 18px; }
.form-section { padding: 18px; background: var(--card); border: 1px solid var(--line); }
.form-section h3 { margin-bottom: 15px; font: 600 20px/1.2 Georgia, serif; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid label, .decision-form label, .status-actions label { display: grid; gap: 7px; font-size: 14px; font-weight: 750; }
.form-grid input, .form-grid select, .form-grid textarea, .line-item input, .line-item select, .decision-form textarea, .status-actions select, .inline-form select, .inline-form input, .compact-form textarea { width: 100%; padding: 9px 10px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; }
.section-row { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.section-row span { color: var(--muted); font-size: 13px; }
.line-head, .line-item { display: grid; grid-template-columns: 34px minmax(210px, 2fr) minmax(75px, .5fr) minmax(100px, .65fr) minmax(135px, .75fr) 76px; gap: 9px; align-items: center; }
.line-head.with-cost-category, .line-item.with-cost-category { grid-template-columns: 34px minmax(185px, 1.55fr) minmax(70px, .4fr) minmax(95px, .55fr) minmax(175px, 1fr) minmax(125px, .7fr) 76px; }
.unit-selector { display: grid; gap: 5px; min-width: 0; }
.remove-line { padding: 10px 8px; font-size: 11px; }
.cost-category-field { display: grid; gap: 5px; margin: 0; font-size: 11px; font-weight: 750; }
.cost-category-field span { color: var(--muted); }
.cost-category-field select { width: 100%; padding: 11px 9px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; }
.line-head { padding: 0 0 8px; color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.line-item { margin-bottom: 9px; }
.line-item > span { color: var(--muted); font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.po-summary { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0 0 14px; border: 1px solid var(--line); }
.po-summary div { display: grid; gap: 5px; padding: 11px 13px; background: var(--card); border-right: 1px solid var(--line); }
.po-summary div:last-child { border-right: 0; }
.po-summary span { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.decision-form, .status-actions { display: flex; align-items: end; gap: 14px; padding: 24px; margin-top: 22px; background: var(--card); border: 1px solid var(--line); }
.decision-form label { flex: 1; }
.decision-form textarea { min-height: 76px; resize: vertical; }
.status-actions { align-items: stretch; margin: 28px 0 56px; }
.status-actions form { display: flex; align-items: end; gap: 12px; flex: 1; }
.status-actions label { flex: 1; }
.status-field-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.status-field-heading>small{display:inline;white-space:nowrap}
/* All three operational controls share the same outlined-card geometry. */
.status-actions.status-actions{align-items:stretch;border:0;background:transparent;padding:0;gap:8px}
.status-actions.status-actions form{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:auto auto;gap:6px 8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:3px;background:var(--card);min-width:0}
.status-actions.status-actions form>label{display:block;grid-column:1;grid-row:1;margin:0;font-size:13px;line-height:1.3;min-width:0}
.status-actions .status-card-confirmation{grid-column:2;grid-row:1;justify-self:center;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}
.status-actions.status-actions form>select{grid-column:1;grid-row:2;min-width:0;width:100%;height:34px;padding:5px 7px;font-size:13px}
.status-actions.status-actions form>button{grid-column:2;grid-row:2;min-height:34px;padding:7px 9px;font-size:12px;white-space:nowrap;margin:0}
.timeline { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; border-left: 3px solid var(--green); }
.timeline li { display: grid; gap: 5px; padding: 6px 0 24px 22px; }
.timeline li span { color: var(--muted); font-size: 13px; }
.inline-form { display: flex; align-items: center; gap: 8px; min-width: 260px; }
.inline-form button { padding: 9px 12px; }
.supplier-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.supplier-actions .inline-form { min-width: 0; margin: 0; }
.supplier-actions > .inline-form:first-child { flex: 1 1 220px; }
.data-table tfoot th, .data-table tfoot td { background: #f7f5ef; }
.attachments-panel { padding: 18px; margin: 0 0 32px; background: var(--card); border: 1px solid var(--line); border-top: 4px solid var(--green); }
.attachments-panel .section-heading { align-items: end; }
.attachments-panel .section-heading p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.attachment-list { display: grid; gap: 0; padding: 0; margin: 0 0 24px; list-style: none; border: 1px solid var(--line); }
.attachment-checklist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0; margin: 0 0 20px; list-style: none; }
.attachment-checklist li { display: grid; grid-template-columns: 28px 1fr; gap: 3px 10px; align-items: center; padding: 14px; background: #f5f4ee; border: 1px solid var(--line); }
.attachment-checklist li > span:last-child { grid-column: 2; color: var(--muted); font-size: 12px; font-weight: 750; }
.check-icon { display: grid; grid-row: 1 / span 2; place-items: center; width: 27px; height: 27px; color: white; background: #777; border-radius: 50%; font-weight: 900; }
.check-complete .check-icon { background: #32603f; }
.check-missing .check-icon { background: #a9472d; }
.check-missing { border-color: #d79582 !important; }
.credit-note-control { display: flex; align-items: end; gap: 12px; padding: 14px 16px; margin: 0 0 20px; background: #f0efe8; border-left: 4px solid var(--green); }
.credit-note-control label { display: grid; gap: 6px; min-width: 210px; font-size: 13px; font-weight: 800; }
.credit-note-control select { padding: 10px 11px; background: white; border: 1px solid #b9beb9; font: inherit; }
.attachment-list li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.attachment-list li:last-child { border-bottom: 0; }
.attachment-list li > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px 12px; min-width: 0; }
.attachment-list strong { overflow-wrap: anywhere; }
.attachment-list small { grid-column: 2; color: var(--muted); }
.attachment-list li > .document-actions, .timesheet-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.document-actions form, .timesheet-actions form { margin: 0; }
.timesheet-edit-panel { max-width: 680px; }
.attachment-form { display: grid; grid-template-columns: minmax(150px, .55fr) minmax(170px, .55fr) minmax(240px, 1fr) auto; align-items: end; gap: 14px; }
.attachment-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 750; }
.attachment-form select, .attachment-form input { width: 100%; padding: 11px 12px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; }
.procurement-cards { display: grid; grid-template-columns: repeat(8, minmax(120px, 1fr)); margin: 0 0 22px; overflow-x: auto; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.procurement-cards a { display: grid; gap: 9px; min-width: 112px; padding: 11px 13px; color: var(--ink); background: var(--card); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.procurement-cards a:hover, .procurement-cards a[aria-current="page"] { color: white; background: var(--green); }
.procurement-cards span { font-size: 10px; font-weight: 850; line-height:1.15; letter-spacing: .04em; text-transform: uppercase; }
.procurement-cards strong { font: 600 23px/1 Georgia, serif; }
.register-filters { display: grid; grid-template-columns: minmax(230px, 1.3fr) minmax(160px, .78fr) minmax(145px, .66fr) minmax(165px, .75fr) minmax(165px, .75fr) auto auto; align-items: end; gap: 8px; padding: 10px 12px; margin-bottom: 8px; background: #f0efe8; border: 1px solid var(--line); }
.register-filters label { display: grid; gap: 6px; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.register-filters input, .register-filters select { width: 100%; padding: 8px 9px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; text-transform: none; }
.register-filters button,.register-filters a { min-height: 38px; padding: 8px 10px; }
.register-filters a { color: var(--green); font-weight: 800; text-align: center; }
.project-po-filters{grid-template-columns:minmax(250px,1.35fr) minmax(170px,.9fr) minmax(145px,.68fr) minmax(165px,.76fr) minmax(165px,.76fr) auto auto}
.procurement-results .data-table th,.procurement-results .data-table td{padding:8px 9px;font-size:13px}
.procurement-results .data-table th:nth-child(4),.procurement-results .data-table td:nth-child(4){white-space:nowrap}
.current-action { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px 28px; margin: -6px 0 26px; color: white; background: var(--green); border-left: 7px solid var(--lime); }
.current-action h2 { margin: 4px 0 7px; font-size: 26px; }
.current-action p:last-child { margin: 0; color: #dce7e1; }
.current-action > span { flex: 0 0 auto; padding: 7px 9px; color: var(--ink); background: var(--lime); border-radius: 2px; font-size: 11px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.current-action.action-exception { background: #8a3a28; border-left-color: #ffb58e; }
.current-action.action-complete { color: #343938; background: #777d7a; border-left-color: #c7cbc9; }
.current-action.action-complete p:last-child { color: #f0f2f1; }
.current-action.action-complete > span { color: #3f4542; background: #dfe2e0; }
.current-action.action-cancelled { background: #666; border-left-color: #bbb; }
.current-action.action-approval-site { background: #2f6647; border-left-color: #9fd18d; }
.current-action.action-approval-qs { background: #315f78; border-left-color: #a8d4eb; }
.current-action.action-approval-accounts { background: #5a486f; border-left-color: #cfb8e4; }
.current-action.action-revision { background: #8a6115; border-left-color: #f5cf67; }
.action-chip { display: inline-block; padding: 6px 8px; color: #244632; background: #e5efdf; border-radius: 2px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.action-chip.action-exception { color: #7b2818; background: #ffe0d6; }
.action-chip.action-complete { color: #4b504e; background: #e1e3e2; border: 1px solid #c6cac8; }
.action-chip.action-cancelled { color: #555; background: transparent; border: 1px solid #999; }
.action-chip.action-approval-site { color: #20583a; background: #dcefdc; }
.action-chip.action-approval-qs { color: #234f6b; background: #dbeaf4; }
.action-chip.action-approval-accounts { color: #5b3f72; background: #eadff2; }
.action-chip.action-revision { color: #73540d; background: #f6e6b4; }
.current-action-cell{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.adjustment-chip{display:inline-block;padding:3px 5px;color:#8a251b;background:#f6d8d3;border:1px solid #d89589;border-radius:2px;font-size:9px;font-weight:850;letter-spacing:.035em;line-height:1;white-space:nowrap}.supplier-price-check-chip{display:inline-block;padding:3px 5px;color:#765400;background:#fff9df;border:1px solid #d49b00;border-radius:2px;font-size:9px;font-weight:850;letter-spacing:.035em;line-height:1;white-space:nowrap}
.returns-panel { padding: 18px; margin: 0 0 26px; background: var(--card); border: 1px solid var(--line); border-top: 4px solid #a9472d; }
.returns-panel .section-heading p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.return-grid { display: grid; gap: 12px; margin-bottom: 20px; }
.return-card { min-height: 0; padding: 20px; border: 1px solid var(--line); border-left: 5px solid #a9472d; }
.return-card > div { display: flex; align-items: center; gap: 8px; }
.return-card h3 { margin: 14px 0 8px; font: 700 17px/1.35 inherit; }
.return-card p { color: var(--muted); }
.return-card small { display: block; color: var(--muted); }
.return-status { padding: 5px 8px; color: #713719; background: #fff0d9; border-radius: 2px; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.return-status-form { display: flex; gap: 9px; margin-top: 16px; }
.return-status-form select { min-width: 210px; padding: 9px 10px; background: white; border: 1px solid #b9beb9; font: inherit; }
.empty-return { padding: 20px; color: var(--muted); background: #f5f4ee; border: 1px dashed var(--line); }

/* Keep recorded goods adjustments operationally dense. */
.returns-panel.returns-panel { padding: 11px 13px; margin: 8px 0 14px; }
.returns-panel .section-heading { margin: 2px 0 8px; }
.returns-panel .section-heading p:last-child { margin-top: 3px; }
.return-grid { gap: 7px; margin-bottom: 9px; }
.return-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; padding: 10px 12px; overflow: hidden; }
.return-card > div { grid-column: 1 / -1; gap: 6px; }
.return-card h3 { grid-column: 1; margin: 5px 0 2px; font-size: 14px; line-height: 1.25; }
.return-card p { grid-column: 1; margin: 0; font-size: 12px; }
.return-card small { grid-column: 1; font-size: 11px; }
.return-status-form { grid-column: 1 / -1; grid-row: auto; display: grid; grid-template-columns: minmax(155px,1.15fr) minmax(135px,.8fr) minmax(155px,1fr) minmax(135px,.85fr) auto; align-items: end; margin: 5px 0 0; gap: 6px; }
.return-status-form * { box-sizing: border-box; }
.return-status-form label { display: grid; gap: 3px; font-size: 10px; font-weight: 800; color: var(--muted); text-transform: uppercase; }
.return-status-form input,.return-status-form select { width: 100%; min-width: 0; padding: 7px 8px; }
.return-status-form button { padding: 8px 10px; white-space: nowrap; }
.return-status-buttons { display: flex; gap: 5px; }
.return-review-path { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.return-review-state { padding: 5px 7px; background: #edf3e8; border: 1px solid #d4ded0; font-size: 11px; }
.return-review-form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(240px,1fr) auto auto; gap: 6px; align-items: end; margin-top: 5px; }
.return-review-form label { display: grid; gap: 3px; font-size: 10px; font-weight: 800; color: var(--muted); text-transform: uppercase; }
.return-review-form textarea { min-height: 38px; padding: 7px 8px; resize: vertical; }
.return-reopen-form { grid-column: 1 / -1; display: flex; gap: 6px; margin-top: 5px; }
.return-reopen-form input { min-width: 260px; padding: 7px 8px; }
.return-create > summary { padding: 9px 12px; }
@media(max-width:1050px){.return-status-form{grid-template-columns:repeat(3,minmax(150px,1fr))}.return-status-buttons{grid-column:1/-1}}
@media(max-width:850px){.return-card{grid-template-columns:1fr}.return-status-form{grid-column:1;grid-row:auto;margin-top:5px}.return-review-form{grid-template-columns:1fr}.return-reopen-form{flex-direction:column}}
@media(max-width:620px){.return-status-form{grid-template-columns:1fr}}
.return-create { margin-top: 18px; border: 1px solid var(--line); }
.return-create summary { padding: 16px 18px; color: var(--green); background: #f0efe8; font-weight: 850; cursor: pointer; }
.return-create .po-form { padding: 22px; }
.return-create label { display: grid; gap: 7px; font-size: 14px; font-weight: 750; }
.return-create input, .return-create select, .return-create textarea { width: 100%; padding: 11px 12px; color: var(--ink); background: white; border: 1px solid #b9beb9; border-radius: 3px; font: inherit; }
.return-create textarea { min-height: 90px; resize: vertical; }
.return-create .checkbox-label { display: flex; align-items: center; grid-column: 1 / -1; }
.return-create .checkbox-label input { width: auto; }
.return-lines { display: grid; gap: 9px; padding: 16px; background: #f5f4ee; border: 1px solid var(--line); }
.return-line { grid-template-columns: minmax(0, 1fr) 150px; align-items: center; }
.return-line span { display: grid; gap: 3px; }
.return-line small { color: var(--muted); font-weight: 500; }
.return-line-choice { display: flex !important; align-items: center; gap: 8px; }
.return-line-choice input { width: auto; margin: 0; }
.return-line input[data-return-line-amount] { text-align: right; }
.return-value-mode { display: flex; gap: 18px; align-items: center; padding: 10px 14px; border: 1px solid var(--line); background: #f5f4ee; }
.return-value-mode legend { padding: 0 6px; font-weight: 800; }
.return-value-mode label { display: flex; align-items: center; gap: 7px; margin: 0; }
.return-value-mode input { width: auto; margin: 0; }
.return-card > h3 { display: none; }
.return-amount-alternative { grid-template-columns: minmax(0, 1fr) 210px; align-items: center; padding-top: 9px; border-top: 1px solid var(--line); }
.return-amount-alternative small { grid-column: 1 / -1; }
.return-fixed-total { display: flex; justify-content: flex-end; align-items: center; gap: 14px; padding-top: 9px; border-top: 1px solid var(--line); }
.return-fixed-total output { min-width: 150px; text-align: right; font-size: 1.05rem; font-weight: 800; }
.document-import-panel { padding: 18px; background: #eef3e9; border: 1px solid #b9c8b5; border-top: 4px solid var(--green); }
.document-import-panel .section-heading { margin-bottom: 20px; }
.document-import-panel .section-heading p:last-child { max-width: 720px; margin: 8px 0 0; color: var(--muted); line-height: 1.5; }
.document-import-controls { display: grid; grid-template-columns: minmax(170px, .55fr) minmax(280px, 1.2fr) auto; align-items: end; gap: 14px; }
.document-import-controls label { display: grid; gap: 7px; font-size: 14px; font-weight: 750; }
.document-import-controls input, .document-import-controls select { width: 100%; padding: 11px 12px; color: var(--ink); background: white; border: 1px solid #9dac9e; border-radius: 3px; font: inherit; }
.recognition-status { padding: 13px 15px; margin-top: 16px; color: var(--muted); background: rgba(255,255,255,.72); border-left: 4px solid #87978b; line-height: 1.5; }
.recognition-status[data-state="working"] { color: #23522f; border-left-color: var(--green); }
.recognition-status[data-state="success"] { color: #23522f; background: #dcebdc; border-left-color: #32603f; }
.recognition-status[data-state="warning"] { color: #713719; background: #fff0d9; border-left-color: #d4822a; }
.recognition-status[data-state="error"] { color: #7b2818; background: #ffe0d6; border-left-color: #a9472d; }
.document-import-panel details { margin-top: 12px; }
.document-import-panel summary { color: var(--green); font-weight: 800; cursor: pointer; }
.document-import-panel textarea { width: 100%; min-height: 180px; padding: 12px; margin-top: 10px; background: white; border: 1px solid #9dac9e; font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; resize: vertical; }
.line-item[hidden] { display: none !important; }
#show-more-lines { width: fit-content; margin-top: 10px; }
.user-edit-form { display: grid; grid-template-columns: repeat(4, minmax(145px, 1fr)); align-items: end; gap: 9px; min-width: 0; }
.user-edit-form label, .master-row label { display: grid; gap: 5px; font-size: 11px; font-weight: 800; }
.user-edit-form input, .user-edit-form select, .master-row input { width: 100%; padding: 9px 10px; border: 1px solid #b9beb9; background: white; font: inherit; }
.master-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.master-row { display: grid; grid-template-columns: minmax(150px,1fr) auto auto; gap: 8px; align-items: center; }
.categories-table { table-layout: fixed; min-width: 820px; }
.categories-table th:nth-child(1) { width: 18%; }
.categories-table th:nth-child(2) { width: 18%; }
.categories-table th:nth-child(3) { width: 54%; }
.categories-table th:nth-child(4) { width: 10%; }
.category-name-cell { white-space: normal !important; overflow-wrap: anywhere; }
.category-edit-form { display: grid; grid-template-columns: minmax(100px,.7fr) minmax(150px,1.3fr); align-items: center; gap: 8px; }
.category-edit-form textarea { min-height: 58px; resize: vertical; }

@media (max-width: 1050px) {
  .workspace-split, .timesheet-workspace, .toolbox-workspace { grid-template-columns: 1fr; }
  .register-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .attachment-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-edit-form { grid-template-columns: repeat(2, minmax(145px, 1fr)); }
  .master-grid { grid-template-columns: 1fr; }
  .categories-table { min-width: 0; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 28px, 1120px); padding-top: 28px; }
  .brand { margin-bottom: 42px; }
  .notice { margin-bottom: 52px; }
  .grid { grid-template-columns: 1fr; }
  .portal-nav, .session-block, .page-heading, .work-header { align-items: stretch; flex-direction: column; }
  .portal-nav { gap: 22px; }
  .nav-links { display: grid; grid-template-columns: 1fr; width: 100%; gap: 6px; }
  .nav-links a { display: block; width: 100%; }
  .session-block { width: 100%; gap: 14px; }
  .session-block > div { text-align: left; }
  .session-block .status { margin-left: 0; }
  .session-block form, .session-block button { width: 100%; }
  .dashboard-hero { grid-template-columns: 1fr; }
  .metric-grid, .module-grid, .role-grid { grid-template-columns: 1fr; }
  .workspace-split, .workflow-grid { grid-template-columns: 1fr; }
  .project-admin-panel { grid-template-columns: 1fr; }
  .project-create-form { grid-template-columns: 1fr; }
  .project-settings { align-items: stretch; flex-direction: column; }
  .project-settings .inline-form { width: 100%; }
  .heading-actions, .section-row, .decision-form, .status-actions, .status-actions form, .attachment-list li { align-items: stretch; flex-direction: column; }
  .attachment-form { grid-template-columns: 1fr; }
  .attachment-checklist { grid-template-columns: 1fr; }
  .credit-note-control { align-items: stretch; flex-direction: column; }
  .procurement-cards { grid-template-columns: repeat(8, 140px); }
  .register-filters { grid-template-columns: 1fr; }
  .current-action { align-items: flex-start; flex-direction: column; }
  .return-line { grid-template-columns: 1fr; }
  .return-amount-alternative { grid-template-columns: 1fr; }
  .return-status-form { align-items: stretch; flex-direction: column; }
  .document-import-controls { grid-template-columns: 1fr; }
  .form-grid, .po-summary { grid-template-columns: 1fr; }
  .line-head { display: none; }
  .line-item { grid-template-columns: 28px 1fr; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
  .line-item > input, .line-item > select, .line-item > .unit-selector, .line-item > .cost-category-field, .line-item > .remove-line { grid-column: 2; }
  .master-grid { grid-template-columns: 1fr; }
  .category-edit-form { grid-template-columns: 1fr; }
  .user-edit-form { grid-template-columns: 1fr; }
  .integration-card { align-items: stretch; flex-direction: column; }
  .integration-card form, .integration-card button { width: 100%; }
  article { min-height: 170px; }
  article h3 { margin-top: 28px; }
}
.invoice-fields,.return-evidence-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;width:100%}.invoice-panel,.version-panel{margin:18px 0}.version-panel .form-actions{align-items:end;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.version-panel form{display:grid;gap:8px}
.compact-reviewers{padding:12px!important}.reviewer-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.reviewer-picker{border:1px solid var(--line);padding:8px}.reviewer-picker summary{font-weight:750;cursor:pointer}.reviewer-picker label{display:block;padding:4px}.po-form .form-section,.attachments-panel,.returns-panel,.version-panel{margin:12px 0;padding:14px}.po-form .form-section h3,.attachments-panel h2,.returns-panel h2,.version-panel h2,.section-heading h2{font-size:20px;margin:0 0 8px}.workflow-grid article{padding:9px;min-height:0}.workflow-grid article h3{font-size:15px;margin:3px 0}.timeline{font-size:12px;line-height:1.25}.timeline li{padding:5px 0}.timeline li span{display:block}.attachment-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end}.attachment-form .invoice-fields,.attachment-form .return-evidence-fields{grid-column:1/-1}@media(max-width:800px){.reviewer-grid,.attachment-form{grid-template-columns:1fr}}
.invoice-inline{margin-top:.35rem}.invoice-inline summary{cursor:pointer;font-weight:700;font-size:.78rem}.invoice-inline form{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr)) auto;gap:.4rem;align-items:end;margin-top:.4rem}.invoice-inline label{font-size:.7rem}.invoice-inline input{padding:.42rem;font-size:.78rem}.invoice-inline button{padding:.48rem .7rem}@media(max-width:900px){.invoice-inline form{grid-template-columns:1fr 1fr}}
.project-procurement-summary{margin:12px 0 16px;padding:14px;border:1px solid var(--line);background:#fff}.project-total-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;margin-bottom:14px}.project-total-grid>div{background:#f7f7f2;border:1px solid var(--line);border-radius:4px;padding:11px 13px}.project-total-grid .total-primary{border-left:4px solid var(--green)}.project-total-grid .total-difference{background:#f2f6e8}.project-total-grid span{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.project-total-grid strong{display:block;margin-top:4px;font-size:19px;font-variant-numeric:tabular-nums}.project-procurement-summary .section-heading{margin:6px 0}.project-procurement-summary .section-heading h2{font-size:18px}.table-more{margin:6px 0 10px}.table-more>summary{cursor:pointer;font-weight:750;color:var(--green);padding:8px 10px;background:#f2f6e8}.continuation-table{margin-top:6px}.table-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px}.version-compact-row{display:grid;grid-template-columns:minmax(130px,.65fr) repeat(2,minmax(260px,1fr));gap:12px;align-items:end}.version-compact-row form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.version-original{display:grid;gap:4px;padding:9px 0}.version-original small{color:var(--muted)}.admin-delete-row{margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.inline-po-editor{margin-bottom:16px}.po-line-table{table-layout:fixed;min-width:980px}.po-line-table col.po-line-quantity{width:76px}.po-line-table col.po-line-unit{width:88px}.po-line-table col.po-line-category{width:220px}.po-line-table col.po-line-money{width:118px}.po-line-table th,.po-line-table td{word-break:normal;overflow-wrap:normal}.po-line-table th:first-child,.po-line-table td:first-child{overflow-wrap:anywhere;word-break:break-word}.po-line-table th:nth-child(2),.po-line-table td:nth-child(2),.po-line-table th:nth-child(3),.po-line-table td:nth-child(3),.po-line-table th:nth-child(5),.po-line-table td:nth-child(5),.po-line-table th:nth-child(6),.po-line-table td:nth-child(6){white-space:nowrap}.po-line-table th:nth-child(5),.po-line-table td:nth-child(5),.po-line-table th:nth-child(6),.po-line-table td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums}.po-line-table tr.has-goods-adjustment td{color:var(--green);background:#f1f6ed;font-weight:750}.po-line-table tr.has-goods-adjustment .category-missing{color:var(--green);background:#dfecd9}.po-line-table input{width:100%;min-width:85px;padding:8px}.po-line-table td:first-child input{min-width:260px}.inline-update-actions{display:flex;justify-content:flex-end;margin-top:8px}@media(max-width:1000px){.project-total-grid{grid-template-columns:repeat(2,1fr)}.version-compact-row{grid-template-columns:1fr}.version-compact-row form{grid-template-columns:1fr}}@media(max-width:650px){.project-total-grid{grid-template-columns:1fr}.table-pagination{justify-content:space-between}}
.project-member-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:7px;border-top:1px solid var(--line);padding-top:8px}.project-member-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project-member-heading small{color:var(--muted);font-weight:500}.project-member-picker{min-width:0;margin:0;padding:7px 9px;border:1px solid var(--line);background:#f7f7f2}.project-member-picker legend{padding:0 5px;font-size:12px;font-weight:850}.project-member-picker>div{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:4px 10px;max-height:130px;overflow:auto}.project-member-picker label{display:flex!important;align-items:center;gap:6px;margin:0!important;padding:3px 0;font-size:12px;text-transform:none!important}.project-member-picker input{width:auto!important;margin:0}.project-member-picker span{min-width:0}.project-member-picker small{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;font-weight:500}.access-denied-notice{max-width:620px;margin:20px auto}.access-denied-notice .button-link{display:inline-flex;margin-top:8px}@media(max-width:720px){.project-member-fields{grid-template-columns:1fr}.project-member-picker>div{grid-template-columns:1fr}}
.module-card-locked{cursor:not-allowed;background:#f5f4ef;color:#686b66}.module-card-locked .locked{background:#f5dfa5;color:#5c4708}.module-card-locked h3,.module-card-locked p,.module-card-locked small{color:#686b66}
.work-header{padding:9px 0;margin-bottom:12px}.work-header>div:first-child{gap:8px}.work-header .heading-actions{gap:6px}.work-header .button-link{padding:8px 10px;font-size:13px}.current-action{padding:12px 14px;margin-bottom:12px}.current-action h2{font-size:20px;margin:2px 0}.status-actions{gap:8px;margin:12px 0}.status-actions form{padding:10px}.workflow-grid{gap:8px}.workflow-grid article{padding:10px}.user-edit-form{grid-template-columns:1.1fr 1.25fr .8fr .75fr .9fr 1fr auto;gap:8px;align-items:end}.user-edit-form .checkbox-label{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px;border:1px solid var(--line)}.user-edit-form button{padding:8px 10px;min-height:38px;font-size:13px}.roles-with-users{margin-top:14px;border:1px solid var(--line);padding:10px 12px}.roles-with-users>summary{cursor:pointer;font-weight:800}.roles-with-users .role-grid{margin-top:10px}
.master-data-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.master-card small{display:block;margin-top:14px;color:var(--muted)}.category-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.category-scope-card{display:block;padding:18px;color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--line);border-top:4px solid #91a298}.category-scope-card.selected,.category-scope-card:hover{border-top-color:var(--green);background:#f2f6e8}.category-scope-card span{font-size:10px;font-weight:850;color:var(--green)}.category-scope-card h3{margin:8px 0 5px}.category-scope-card p{margin:0;color:var(--muted);font-size:12px}.category-add-panel{margin-bottom:16px}.category-add-panel>summary,.category-group>summary{cursor:pointer;font-weight:800}.category-add-panel>form{margin-top:14px}.category-sections{display:grid;gap:18px}.category-scope-section{padding:18px;background:#fff;border:1px solid var(--line)}.category-group{border-top:1px solid var(--line)}.category-group>summary{display:flex;justify-content:space-between;padding:13px 4px}.category-group>summary span{color:var(--muted);font-size:12px}.category-group-items{display:grid;gap:8px;padding:0 0 14px}.category-manage-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;background:#f7f7f2}.category-manage-row .category-edit-form{grid-template-columns:minmax(220px,1fr) auto auto}.project-address{white-space:pre-line}.line-item.with-cost-category>.cost-category-field{grid-template-columns:110px minmax(170px,.7fr) minmax(170px,.8fr) minmax(260px,1.2fr)}.cost-category-field .cost-group{min-width:170px}.bulk-upload-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.bulk-preview{display:grid;gap:14px}.bulk-po-card{margin:0!important}.bulk-line-head,.bulk-line{display:grid;grid-template-columns:minmax(190px,1.4fr) 80px 110px minmax(260px,1.4fr) 110px;gap:8px;align-items:center}.bulk-line-head{padding:8px 0;font-size:11px;font-weight:800;color:var(--muted)}.bulk-line{margin-bottom:7px}.bulk-line input,.bulk-line select{width:100%;padding:9px;border:1px solid #b9beb9;background:#fff;font:inherit}
@media(max-width:900px){.master-data-cards,.category-scope-grid,.bulk-upload-intro{grid-template-columns:1fr}.bulk-line-head{display:none}.bulk-line{grid-template-columns:1fr 1fr}.bulk-line select{grid-column:1/-1}}@media(max-width:600px){.bulk-line,.category-manage-row,.category-manage-row .category-edit-form{grid-template-columns:1fr}.bulk-line select{grid-column:auto}}
.user-create-form{display:grid!important;grid-template-columns:1.1fr 1.25fr .85fr 1.1fr .85fr auto;gap:9px;align-items:end}.user-create-form label{margin:0}.user-create-form .checkbox-label{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px;border:1px solid var(--line)}.user-create-form button{padding:9px 12px;min-height:40px}.project-card-wrap.has-order-controls{padding-bottom:52px}.project-order-controls{left:10px;right:10px;align-items:center}.project-edit-control{margin-left:auto;position:relative}.project-edit-control>summary{cursor:pointer;padding:6px 9px;background:#e8e8e1;font-size:12px;font-weight:800}.project-edit-control[open]{position:absolute;right:0;bottom:0;width:min(430px,95%);z-index:20;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.14)}.project-edit-control form{display:grid;grid-template-columns:1.2fr .7fr .7fr auto;gap:6px;align-items:end}.project-edit-control form+form{display:flex;justify-content:flex-end;margin-top:7px}.project-edit-control label{font-size:11px;font-weight:800}.project-edit-control input,.project-edit-control select{width:100%;padding:7px}@media(max-width:1050px){.user-create-form,.user-edit-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:650px){.user-create-form,.user-edit-form{grid-template-columns:1fr}.project-edit-control[open]{width:100%}.project-edit-control form{grid-template-columns:1fr}}
.business-role-select{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px 10px;min-width:290px;padding:8px 10px;margin:0;border:1px solid var(--line);background:#f8f8f4}.business-role-select legend{padding:0 5px;font-size:11px;font-weight:850}.business-role-select label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:12px!important}.business-role-select input{width:auto!important}.system-admin-toggle{background:#eef3e9}.user-edit-form{grid-template-columns:1fr 1.2fr minmax(290px,1.7fr) .7fr .9fr 1fr auto}.user-create-form{grid-template-columns:1fr 1.2fr minmax(290px,1.7fr) 1.1fr .9fr auto!important}.master-data-link-panel{align-content:start}.master-data-link-panel .button-link{width:fit-content;margin-top:8px}.line-head.with-cost-category,.line-item.with-cost-category{grid-template-columns:34px minmax(210px,2fr) minmax(75px,.5fr) minmax(100px,.65fr) minmax(135px,.75fr) 76px}.line-head.with-cost-category>.cost-category-field{display:none!important}.line-item.with-cost-category>.cost-category-field{grid-column:2/6;grid-row:2;display:grid;grid-template-columns:110px minmax(180px,.42fr) minmax(320px,1fr);align-items:center;gap:8px;font-size:14px}.line-item.with-cost-category>input[name^="item_price_"]{grid-column:5;grid-row:1}.line-item.with-cost-category>.remove-line{grid-column:6;grid-row:1}.cost-category-field select{min-height:44px;font-size:14px!important;line-height:1.35}.cost-category-select{min-width:320px}.reviewer-picker small{color:var(--muted);font-size:11px}
@media(max-width:1050px){.user-create-form,.user-edit-form{grid-template-columns:repeat(2,minmax(220px,1fr))}.business-role-select{min-width:0}.line-item.with-cost-category>.cost-category-field{grid-template-columns:100px minmax(160px,.45fr) minmax(260px,1fr)}.cost-category-select{min-width:260px}}
@media(max-width:760px){.line-item.with-cost-category>.cost-category-field{grid-column:2;grid-row:auto;grid-template-columns:1fr}.line-item.with-cost-category>input[name^="item_price_"],.line-item.with-cost-category>.remove-line{grid-column:2;grid-row:auto}.cost-category-select{min-width:0}.business-role-select{grid-template-columns:1fr}.user-create-form,.user-edit-form{grid-template-columns:1fr!important}}

/* Operational-density pass: keep routine work visible without decorative whitespace. */
.category-sections{gap:8px}.category-scope-section{padding:10px 14px}.category-scope-section .section-heading{margin:2px 0 5px}.category-scope-section .section-heading h2{font-size:19px}.category-scope-section .section-heading p{margin-bottom:4px;font-size:12px}.category-group>summary{padding:9px 3px}.category-batch-form{display:block}.category-group-toolbar{display:grid;grid-template-columns:minmax(260px,520px) 1fr;gap:12px;align-items:end;padding:8px 7px;background:#eef3e6;border-top:1px solid var(--line)}.category-group-toolbar label{font-size:12px;font-weight:800}.category-group-toolbar input{display:block;width:100%;margin-top:4px}.category-group-toolbar span,.category-batch-actions span{color:var(--muted);font-size:12px}.category-group-items{display:grid;gap:4px;padding:6px 0}.category-manage-row{grid-template-columns:minmax(220px,1fr) auto auto;padding:5px 7px}.category-manage-row textarea{min-height:38px;resize:vertical}.category-batch-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:2px 7px 10px}.category-batch-actions button{min-width:180px}@media(max-width:600px){.category-group-toolbar,.category-manage-row{grid-template-columns:1fr}.category-batch-actions{align-items:stretch;flex-direction:column}.category-batch-actions button{width:100%}}
.project-create-form{grid-template-columns:minmax(180px,1fr) minmax(320px,2fr) minmax(105px,.65fr) minmax(130px,.8fr) minmax(130px,.8fr) auto}.project-edit-control[open]{width:min(760px,96vw)}.project-edit-control form{grid-template-columns:minmax(150px,1fr) minmax(300px,2fr) minmax(95px,.65fr) minmax(120px,.75fr) auto}
.line-item.with-cost-category>.cost-category-field{grid-template-columns:auto minmax(230px,.8fr) minmax(300px,1.2fr);gap:6px}.cost-category-field select{min-height:36px;padding:7px 8px;font-size:13px!important}.cost-category-select{min-width:240px}.locked-setting{display:flex;align-items:center;min-height:39px;padding:7px 9px;background:#f1f3ed;border:1px solid var(--line);color:var(--ink);font-weight:800}
.decision-form{padding:12px 14px;margin-top:10px}.decision-form textarea{min-height:44px}.attachment-checklist{gap:5px;margin-bottom:10px}.attachment-checklist li{padding:8px 10px}.attachments-panel{padding:10px 12px;margin-bottom:16px}.attachments-panel .section-heading{margin:4px 0 8px}.credit-note-control{padding:8px 10px;margin-bottom:10px}.attachment-list{margin-bottom:10px}.attachment-form{gap:7px}.attachment-form select,.attachment-form input{padding:8px 9px}.invoice-fields,.return-evidence-fields{gap:7px}.version-panel{padding:10px 12px!important;margin:8px 0!important}.version-panel .section-heading{margin:0 0 4px}.version-compact-row{gap:7px}.version-compact-row form{gap:5px}.version-compact-row input,.admin-delete-row input{padding:7px}.admin-delete-row{margin-top:7px}.version-original{padding:5px 0}
@media(max-width:1050px){.project-create-form{grid-template-columns:repeat(2,minmax(220px,1fr))}.project-edit-control form{grid-template-columns:1fr 1fr}.line-item.with-cost-category>.cost-category-field{grid-template-columns:auto minmax(190px,.75fr) minmax(240px,1fr)}}
.claims-filter{display:grid;grid-template-columns:minmax(220px,420px) auto auto;gap:8px;align-items:end;margin:8px 0 10px}.claims-filter label{margin:0}.claim-metrics{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:7px;margin:8px 0}.claim-metrics>div{padding:9px 11px;border:1px solid var(--line);background:#fff}.claim-metrics span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.claim-metrics strong{display:block;margin-top:2px;font-size:18px}.retention-warning,.retention-alert{border-left:4px solid #a84d25!important;background:#fff4ed!important}.retention-alert{padding:9px 11px;margin:8px 0}.claims-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:8px}.claim-card{padding:11px 13px!important;min-height:0}.claim-card h3{margin:3px 0 7px}.claim-card dl{display:grid;gap:4px;margin:6px 0}.claim-card dl>div,.claim-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:10px}.claim-card dt,.claim-breakdown span{color:var(--muted)}.claim-card dd,.claim-breakdown strong{margin:0;text-align:right;font-variant-numeric:tabular-nums}.claim-breakdown{display:grid;gap:4px;margin:6px 0}.claim-form{display:grid;gap:9px}.claim-core-fields{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px}.claim-amount-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px}.claim-form label,.schedule-form label{margin:0}.claim-other-note{grid-column:1/-1}.claim-detail-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}.claim-detail-summary>section,.claim-detail-summary>div,.claim-file-panel,.schedule-form{padding:11px 13px;border:1px solid var(--line);background:#fff}.claim-total{border-top:2px solid var(--green);padding-top:5px;font-weight:850}.claim-file-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px}.claim-file-panel h3,.claim-file-panel p{margin:0}.claim-file-panel .document-actions{display:flex;gap:6px}.schedule-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:8px;align-items:end}.schedule-note{grid-column:1/-1}.difference-summary{padding:8px 10px;background:#f2f6e8;font-weight:800}.schedule-form .form-actions{grid-column:1/-1;margin:0}.reviewer-picker[hidden]{display:none!important}
@media(max-width:950px){.claims-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.claim-detail-summary{grid-template-columns:1fr}.schedule-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){.claims-filter,.claim-metrics,.claims-grid,.claim-core-fields,.claim-amount-grid,.schedule-form{grid-template-columns:1fr}.claim-other-note,.schedule-note,.schedule-form .form-actions{grid-column:auto}}

/* Payment claim entry: compact operational workspace. */
.claim-entry-heading{margin-bottom:8px}.claim-entry-form{display:grid;gap:8px}.claim-step{padding:0!important;overflow:hidden}.claim-step>header{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);background:#f4f5ef}.claim-step>header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:850}.claim-step>header h3,.claim-step>header p{margin:0}.claim-step>header p{margin-top:1px;color:var(--muted);font-size:12px}.claim-core-fields{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(180px,.75fr) minmax(160px,.65fr);gap:8px;padding:10px 12px}.claim-core-fields label{margin:0}.claim-file-field{grid-column:1/-1;display:grid;grid-template-columns:180px minmax(240px,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px}.claim-file-field input{margin:0}.claim-file-field small{color:var(--muted);font-weight:500}.claim-entry-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,300px);gap:8px;align-items:start}.claim-amount-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:0;padding:4px 12px 10px}.claim-amount-field{display:grid;grid-template-columns:1fr minmax(125px,170px);align-items:center;gap:12px;margin:0;padding:7px 0;border-bottom:1px solid var(--line)}.claim-amount-field:nth-child(odd){padding-right:14px}.claim-amount-field:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}.claim-amount-field>span:first-child{font-weight:750}.claim-amount-field.retention-field{color:#8d3e22}.money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #aeb2a8;background:#fff}.money-input>span{padding:0 7px;color:var(--muted);font-weight:750}.money-input input{margin:0;border:0;border-left:1px solid var(--line);border-radius:0;text-align:right;font-variant-numeric:tabular-nums}.claim-other-note{grid-column:1/-1;display:grid;grid-template-columns:170px 1fr;align-items:center;gap:10px;margin:7px 0 0}.claim-other-note>span{font-weight:750}.claim-other-note.is-required>span:after{content:' *';color:#a12a1f}.claim-live-summary{position:sticky;top:8px;border:1px solid var(--green);background:#f5f7ee;padding:12px}.claim-live-summary>.eyebrow{margin:0 0 9px}.claim-live-summary>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #d5dacb}.claim-live-summary strong,.claim-live-summary output{font-variant-numeric:tabular-nums}.claim-live-summary .retention-summary{color:#8d3e22}.claim-live-summary .claim-live-total{display:grid;grid-template-columns:1fr;gap:3px;padding-top:11px;border:0}.claim-live-total output{font-size:30px;font-weight:900;color:var(--green)}.claim-live-summary>p:last-child{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.35}.claim-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border:1px solid var(--line);border-left:4px solid var(--green);background:#fff}.claim-submit-bar>div:first-child{display:grid;gap:1px}.claim-submit-bar>div:first-child span{color:var(--muted);font-size:12px}.claim-submit-bar .form-actions{margin:0}
@media(max-width:950px){.claim-entry-workspace{grid-template-columns:1fr}.claim-live-summary{position:static}}@media(max-width:650px){.claim-core-fields,.claim-amount-grid{grid-template-columns:1fr}.claim-file-field,.claim-other-note{grid-column:auto;grid-template-columns:1fr}.claim-amount-field,.claim-amount-field:nth-child(odd),.claim-amount-field:nth-child(even){grid-template-columns:1fr 140px;padding:7px 0;border-left:0}.claim-submit-bar{align-items:stretch;flex-direction:column}.claim-submit-bar .form-actions{display:grid;grid-template-columns:1fr 1fr}}

/* Payment Claim v1.19: use the same density and typography as Procurement & PO. */
.payment-claim-form{gap:10px}.payment-claim-form .form-section{margin:0;padding:12px 14px}.payment-claim-form .form-section h3{font-size:20px}.payment-claim-identity{grid-template-columns:minmax(170px,1.1fr) minmax(145px,.75fr) minmax(145px,.7fr) minmax(145px,.7fr) minmax(250px,1.45fr);gap:9px;align-items:end}.payment-claim-file small{font-size:11px;color:var(--muted)}.payment-claim-amounts{grid-template-columns:repeat(3,minmax(160px,1fr));gap:9px}.payment-claim-other{grid-column:1/-1}.payment-claim-calculation{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));margin-top:10px;border:1px solid var(--line);background:#f7f7f2}.payment-claim-calculation>div{padding:8px 10px;border-right:1px solid var(--line)}.payment-claim-calculation>div:last-child{border-right:0}.payment-claim-calculation span{display:block;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.payment-claim-calculation strong{display:block;margin-top:2px;font-size:18px;font-variant-numeric:tabular-nums}.payment-claim-grand-total{background:#eef3e9}.payment-claim-grand-total strong{color:var(--green)}.payment-claim-actions{margin:0}.claims-filter{display:flex;align-items:end;gap:7px;margin:7px 0}.claims-filter label{width:min(340px,100%);display:grid;gap:5px;font-size:12px;font-weight:800;text-transform:uppercase}.claims-filter select{width:100%;padding:8px 9px;border:1px solid #b9beb9;background:#fff;font:inherit;text-transform:none}.claims-filter button,.claims-filter .button-link{width:auto;padding:8px 12px;margin:0}.claim-metrics-five{grid-template-columns:repeat(5,minmax(130px,1fr));gap:5px;margin:7px 0}.claim-metrics-five>div{padding:7px 9px}.claim-metrics-five strong{font-size:16px}.payment-claim-table{font-size:13px}.payment-claim-table .data-table th,.payment-claim-table .data-table td{padding:8px 9px}.money-cell{text-align:right!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}.retention-text{color:#8d3e22;font-weight:800}.payment-claim-summary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:8px}.payment-claim-summary-grid .form-section,.payment-schedule-section,.retention-release-section{margin:0 0 8px;padding:12px 14px}.payment-claim-summary-grid h3,.payment-schedule-section h3,.retention-release-section h3,.claim-delete-panel h3{margin:0 0 8px;font-size:20px}.claim-meta-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:8px;color:var(--muted);font-size:12px}.claim-meta-row strong{margin-left:4px;color:var(--ink)}.payment-claim-breakdown td,.payment-claim-breakdown th{padding:6px 9px}.payment-claim-breakdown th{background:#eef3e9;text-transform:none;letter-spacing:0;font-size:13px}.grand-total-row th{border-top:2px solid var(--green);font-size:15px}.payment-claim-files{display:grid;align-content:start;gap:8px}.payment-claim-files>div{display:grid;grid-template-columns:120px 1fr;gap:4px 8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.payment-claim-files>div:last-child{border-bottom:0}.payment-claim-files>div>span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.payment-claim-files .document-actions{grid-column:1/-1;display:flex;gap:6px}.payment-claim-files .button-link{padding:7px 10px;font-size:12px}.payment-schedule-metrics,.retention-metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));border:1px solid var(--line);margin-bottom:9px}.retention-metrics{grid-template-columns:repeat(3,minmax(140px,1fr))}.payment-schedule-metrics>div,.retention-metrics>div{padding:7px 9px;border-right:1px solid var(--line)}.payment-schedule-metrics>div:last-child,.retention-metrics>div:last-child{border-right:0}.payment-schedule-metrics span,.retention-metrics span{display:block;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.payment-schedule-metrics strong,.retention-metrics strong{display:block;margin-top:2px;font-size:16px;font-variant-numeric:tabular-nums}.payment-schedule-form{grid-template-columns:minmax(170px,.8fr) minmax(240px,1.2fr) minmax(260px,1.5fr) auto;gap:8px;align-items:end}.payment-schedule-note{grid-column:auto}.payment-schedule-form textarea{min-height:39px;resize:vertical}.payment-schedule-form button,.retention-release-form button{min-height:39px;white-space:nowrap}.retention-release-form{grid-template-columns:170px 190px minmax(230px,1fr) auto;gap:8px;align-items:end;margin-bottom:9px}.retention-release-section .table-wrap{font-size:12px}.retention-release-section .data-table th,.retention-release-section .data-table td{padding:7px 9px}.claim-delete-panel{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:10px 14px!important;margin:8px 0!important;border-left:4px solid #9b312b}.claim-delete-panel h3{font-size:17px}.claim-delete-panel p{margin:0;color:var(--muted);font-size:12px}.claim-delete-panel form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:7px;min-width:min(460px,100%)}.claim-delete-panel input{width:100%;padding:8px 9px;border:1px solid #b9beb9;background:#fff;font:inherit}.claim-delete-panel button{white-space:nowrap}
@media(max-width:1050px){.payment-claim-identity{grid-template-columns:repeat(2,minmax(220px,1fr))}.payment-claim-file{grid-column:1/-1}.payment-claim-summary-grid{grid-template-columns:1fr}.payment-schedule-form{grid-template-columns:1fr 1fr}.payment-schedule-note{grid-column:1/-1}.retention-release-form{grid-template-columns:1fr 1fr}.retention-release-form label:nth-of-type(3){grid-column:1/-1}.claim-metrics-five{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.payment-claim-identity,.payment-claim-amounts,.payment-claim-calculation,.claim-metrics-five,.payment-schedule-metrics,.retention-metrics,.payment-schedule-form,.retention-release-form{grid-template-columns:1fr}.payment-claim-file,.payment-claim-other,.payment-schedule-note,.retention-release-form label:nth-of-type(3){grid-column:auto}.payment-claim-calculation>div,.payment-schedule-metrics>div,.retention-metrics>div{border-right:0;border-bottom:1px solid var(--line)}.claims-filter,.claim-delete-panel{align-items:stretch;flex-direction:column}.claims-filter label{width:100%}.claim-delete-panel form{min-width:0;grid-template-columns:1fr}}

/* Payment Claim v1.20: project commercial summary and project-level retention. */
.project-claim-summary{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:6px;margin:7px 0}.project-claim-summary>div,.project-claim-breakdown>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:1px 0;padding:8px 10px;border:1px solid var(--line);background:#fff}.project-claim-summary span,.project-claim-breakdown span{grid-column:1/-1;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.project-claim-summary small,.project-claim-breakdown small{padding:3px 5px;color:var(--muted);font-size:10px;text-transform:uppercase}.project-claim-summary strong,.project-claim-breakdown strong{padding:3px 5px;text-align:right;font-size:16px;font-variant-numeric:tabular-nums}.project-claim-summary small:first-of-type,.project-claim-summary strong:first-of-type,.project-claim-breakdown small:first-of-type,.project-claim-breakdown strong:first-of-type{background:#f1f2ef}.project-claim-summary .retention-warning{border-left-width:4px}.project-claim-breakdown{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:6px;margin:0 0 8px}.project-claim-breakdown>div{padding:7px 9px}.project-claim-breakdown strong{font-size:14px}.project-retention-section{margin:0 0 8px;padding:11px 13px}.project-retention-section .section-row>div>h3{margin:0}.project-retention-section .section-row>div>span{font-size:12px;color:var(--muted)}.project-retention-form{grid-template-columns:170px 200px minmax(230px,1fr) auto;gap:8px;align-items:end;margin:8px 0}.project-retention-form button{min-height:39px;white-space:nowrap}.payment-claim-files>div{grid-template-columns:1fr auto}.payment-claim-files .document-actions{grid-column:auto;justify-content:flex-end}.payment-claim-files .supporting-note{margin:2px 0 0}.payment-claim-other textarea{min-height:58px}.claim-edit-note{grid-column:1/-1}
.retention-release-table{width:100%;table-layout:fixed}.retention-release-table th:nth-child(1){width:14%}.retention-release-table th:nth-child(2){width:16%;text-align:right}.retention-release-table th:nth-child(3){width:18%}.retention-release-table th:nth-child(4){width:16%}.retention-release-table th:nth-child(5){width:36%}.retention-release-table td:nth-child(3),.retention-release-table td:nth-child(4){overflow-wrap:anywhere}.retention-release-table td:nth-child(4) small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.project-retention-actions{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap}.retention-release-edit summary{display:inline-block;padding:6px 9px;background:var(--green);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.retention-release-edit[open]{flex-basis:100%}.retention-release-edit form{display:grid;grid-template-columns:130px 120px minmax(140px,1fr) auto;gap:5px;margin-top:5px}.retention-release-edit input,.retention-release-delete input{min-height:32px;padding:5px 7px;border:1px solid #b9beb9;background:#fff;font:inherit}.retention-release-edit button,.retention-release-delete button{min-height:32px;padding:6px 9px;white-space:nowrap}.retention-release-delete{display:flex;gap:5px;flex:1;min-width:220px}.retention-release-delete input{min-width:120px;flex:1}@media(max-width:850px){.retention-release-table{min-width:900px}.retention-release-edit form{grid-template-columns:120px 110px minmax(130px,1fr) auto}}
@media(max-width:1050px){.project-claim-summary{grid-template-columns:repeat(2,1fr)}.project-claim-breakdown{grid-template-columns:repeat(3,1fr)}.project-retention-form{grid-template-columns:1fr 1fr}.project-retention-form label:nth-of-type(3){grid-column:1/-1}}@media(max-width:650px){.brand-logo-crop{width:68px;height:32px}.brand-logo{width:68px}.project-claim-summary,.project-claim-breakdown,.project-retention-form{grid-template-columns:1fr}.project-retention-form label:nth-of-type(3){grid-column:auto}.payment-claim-files>div{grid-template-columns:1fr}.payment-claim-files .document-actions{justify-content:flex-start}}

/* v1.21 operational layout and secure in-portal file viewing. */
.project-claim-summary small:first-of-type,.project-claim-summary strong:first-of-type,.project-claim-breakdown small:first-of-type,.project-claim-breakdown strong:first-of-type{background:#eef3e9}.payment-claim-breakdown td,.payment-claim-breakdown th,.payment-claim-breakdown .grand-total-row th{font-size:13px}
.project-admin-panel{grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:16px;padding:12px 14px}.project-admin-panel h3{margin:4px 0}.project-create-form{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px 9px;align-items:end}.project-create-form .project-name-field{grid-column:1/5}.project-create-form .project-address-field{grid-column:5/13}.project-create-form .project-prefix-field{grid-column:1/3}.project-create-form .project-status-field{grid-column:3/6}.project-create-form .project-cost-field{grid-column:6/10}.project-create-form button{grid-column:10/13;min-height:39px}.project-create-form input,.project-create-form select{padding:7px 9px}
.create-submit-section{padding:11px 13px!important}.create-review-grid{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(170px,.65fr) minmax(0,2.6fr);gap:8px;align-items:start}.create-review-grid>.creator-role-field,.create-review-grid>.required-date-field{display:grid;gap:6px;font-size:13px;font-weight:750}.create-review-grid>.reviewer-grid{grid-column:3;grid-row:1/3;gap:7px}.create-review-grid .reviewer-picker{padding:7px}.create-review-grid .reviewer-picker label{font-size:12px}
.admin-review-path{grid-column:1/3;margin:0;padding:8px 10px;border:1px solid var(--green);background:#f2f6e8}.admin-review-path legend{padding:0 5px;font-size:12px;font-weight:850;color:var(--green)}.admin-review-path>.checkbox-label{display:flex;align-items:center;gap:7px;margin:0;font-size:13px}.admin-review-path input{width:auto}.admin-review-stage-options{display:flex;gap:14px;margin:7px 0 3px}.admin-review-stage-options label{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:750}.admin-review-path small{display:block;color:var(--muted);font-size:11px}
.review-path-section{margin:10px 0}.review-path-section .section-heading{margin-bottom:5px}.review-path-compact{border:1px solid var(--line);background:#fff}.review-stage-row{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.7fr);gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid var(--line)}.review-stage-row:last-child{border-bottom:0}.review-stage-person{display:grid;grid-template-columns:45px 46px minmax(90px,1fr) auto;gap:6px;align-items:center}.review-stage-person>span:first-child{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.06em}.review-stage-person>small{color:var(--muted);font-size:11px}.review-stage-person>strong{font-size:13px}.review-stage-person>.table-status{font-size:10px}.review-stage-note{display:grid;grid-template-columns:44px 1fr;gap:7px;align-items:center;min-height:34px}.review-stage-note>span,.review-note-form label>span{color:var(--muted);font-size:11px;font-weight:800}.review-stage-note>strong{font-size:13px;font-weight:600}.review-note-form{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(210px,1.5fr) auto auto;gap:6px;align-items:end}.review-note-form label{display:grid;grid-template-columns:44px 1fr;gap:6px;align-items:center;margin:0}.review-note-form input,.review-note-form textarea{width:100%;min-height:36px;padding:7px 8px;border:1px solid #b9beb9;background:#fff;font:inherit}.review-note-form textarea{height:36px;resize:vertical}.review-note-form button{min-height:36px;padding:7px 10px;white-space:nowrap}.review-note-form:not(:has(.review-invoice-field)){grid-template-columns:minmax(210px,1fr) auto auto}.review-note-form:not(:has(.review-invoice-field)) .review-note-input{grid-column:1}
.attachment-checklist-panel{display:grid;grid-template-columns:135px minmax(0,1fr);gap:8px;align-items:center;margin:8px 0;padding:7px 9px;border:1px solid var(--line);background:#fff}.attachment-checklist-panel>.eyebrow{margin:0}.attachment-checklist-panel .attachment-checklist{grid-template-columns:repeat(6,minmax(100px,1fr));gap:4px;margin:0}.attachment-checklist-panel .attachment-checklist li{grid-template-columns:20px 1fr;padding:5px 6px;font-size:11px;line-height:1.1}.attachment-checklist-panel .check-icon{font-size:12px}.attachment-checklist-panel .attachment-checklist li>span:last-child{grid-column:2;font-size:10px}
.review-stage-row:has(.review-note-form){grid-template-columns:minmax(220px,.55fr) minmax(0,2.45fr)}.review-note-form{grid-template-columns:minmax(120px,.65fr) minmax(165px,1fr) max-content max-content;min-width:0}.review-note-form label{min-width:0}.review-note-form button{max-width:100%}
@media(max-width:1050px){.project-create-form .project-name-field{grid-column:1/6}.project-create-form .project-address-field{grid-column:6/13}.project-create-form .project-prefix-field{grid-column:1/4}.project-create-form .project-status-field{grid-column:4/7}.project-create-form .project-cost-field{grid-column:7/10}.project-create-form button{grid-column:10/13}.create-review-grid{grid-template-columns:1fr 1fr}.create-review-grid>.reviewer-grid{grid-column:1/-1;grid-row:auto}.review-stage-row,.review-stage-row:has(.review-note-form){grid-template-columns:1fr}.attachment-checklist-panel{grid-template-columns:1fr}.attachment-checklist-panel .attachment-checklist{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.project-admin-panel{grid-template-columns:1fr}.project-create-form{grid-template-columns:1fr}.project-create-form .project-name-field,.project-create-form .project-address-field,.project-create-form .project-prefix-field,.project-create-form .project-status-field,.project-create-form .project-cost-field,.project-create-form button{grid-column:1}.create-review-grid{grid-template-columns:1fr}.create-review-grid>.reviewer-grid{grid-column:1}.review-stage-person{grid-template-columns:42px 44px 1fr}.review-stage-person>.table-status{grid-column:3}.review-note-form,.review-note-form:not(:has(.review-invoice-field)){grid-template-columns:1fr}.review-note-form label{grid-template-columns:42px 1fr}.attachment-checklist-panel .attachment-checklist{grid-template-columns:1fr 1fr}}

/* v1.22 review, claim-summary and project-density refinements. */
.project-claim-summary>div,.project-claim-breakdown>div{display:block}.project-claim-summary .claim-metric-card>span,.project-claim-breakdown .claim-metric-card>span{display:block;margin-bottom:2px}.claim-metric-row{display:grid;grid-template-columns:auto 1fr;align-items:baseline}.claim-metric-row small,.claim-metric-row strong{background:transparent!important}.claim-metric-excl{background:#eef3e9}
.review-stage-row{min-height:0!important;padding:6px 8px}.review-stage-person{grid-template-columns:42px 44px minmax(90px,1fr) auto}.review-note-form input,.review-note-form textarea,.review-note-form button{min-height:34px}.review-note-form textarea{height:34px}.review-stage-note{min-height:32px}
.review-note-form.site-review-confirmation{display:flex;align-items:center;justify-content:flex-end;gap:9px}.review-note-form.site-review-confirmation button{flex:0 0 auto}.review-note-form.site-review-confirmation .site-review-gate-note{max-width:540px}
.status-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:7px;padding:7px 8px;margin:8px 0}.status-actions form{padding:0;gap:7px}.status-actions select{padding:7px 8px}.status-actions button{padding:8px 10px}
.attachment-checklist-panel{grid-template-columns:120px minmax(0,1fr);padding:6px 8px}.attachment-checklist-panel .attachment-checklist{grid-template-columns:repeat(3,minmax(180px,1fr));gap:4px}.attachment-checklist-panel .attachment-checklist li{grid-template-columns:22px minmax(0,1fr) auto;gap:5px;padding:6px 8px;font-size:12px;line-height:1.2}.attachment-checklist-panel .attachment-checklist li>strong{white-space:nowrap}.attachment-checklist-panel .attachment-checklist li>span:last-child{grid-column:auto;white-space:nowrap;font-size:11px}
.po-summary-three{grid-template-columns:repeat(3,minmax(0,1fr))}.po-summary-three div{padding:8px 11px}.po-summary-three strong{font-size:14px}
.project-grid .project-card{min-height:108px;padding:13px 17px}.project-card h3{margin:14px 0 5px;font-size:19px}.project-card p{font-size:13px;line-height:1.35}.project-card-wrap.has-order-controls{padding-bottom:40px}.project-card-wrap.has-order-controls .project-card{min-height:124px;padding-bottom:38px}.project-order-controls{bottom:7px}
@media(max-width:1050px){.status-actions{grid-template-columns:1fr 1fr}.attachment-checklist-panel{grid-template-columns:1fr}.attachment-checklist-panel .attachment-checklist{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:650px){.status-actions,.po-summary-three{grid-template-columns:1fr}.attachment-checklist-panel .attachment-checklist{grid-template-columns:1fr}.review-stage-person{grid-template-columns:42px 44px 1fr}.review-stage-person>.table-status{grid-column:3}}
.bulk-import-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0!important;margin-bottom:12px;overflow:hidden;background:var(--line)}.bulk-import-progress>div{display:grid;gap:3px;padding:10px 12px;background:#eef3e9}.bulk-import-progress strong{font-size:15px}.bulk-import-progress span{font-size:12px;color:var(--muted)}.bulk-confirm-all{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--green);background:#eef3e9}.bulk-confirm-all small{color:var(--muted)}.bulk-po-card .section-heading{margin-bottom:8px}.bulk-po-card .form-grid{margin-bottom:8px}@media(max-width:700px){.bulk-import-progress{grid-template-columns:1fr}.bulk-confirm-all{align-items:stretch;flex-direction:column}}
.bulk-card-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px;align-items:end;padding:8px 10px;margin:6px 0;background:#eef3e9}.bulk-card-tools label{margin:0;font-size:11px}.bulk-card-tools select{width:100%;padding:7px}@media(max-width:650px){.bulk-card-tools{grid-template-columns:1fr}}
.category-missing{display:inline-block;padding:3px 6px;background:#fff2e8;color:#93451f;font-size:11px;font-weight:800}.category-review-pending{margin:8px 0;padding:9px 11px;border-left:3px solid #ad5b32;background:#fff7f0}.review-category-editor{margin:8px 0 12px;border:1px solid var(--line);background:#fff}.review-category-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;cursor:pointer;font-weight:800;background:#eef3e9}.review-category-editor>form{display:grid;gap:6px;padding:10px}.review-category-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(320px,1.2fr);gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line)}.review-category-row label{margin:0;font-size:12px}.review-category-editor select{width:100%;min-height:40px;padding:7px;font-size:14px;appearance:auto;-webkit-appearance:menulist}.review-category-editor button{justify-self:end}.review-category-editor small{text-align:right;color:var(--muted)}@media(max-width:700px){.review-category-row{grid-template-columns:1fr}.review-category-editor button{justify-self:stretch}}@media(max-width:700px),(pointer:coarse){.review-category-editor select,.cost-category-select{min-height:44px;font-size:16px!important;touch-action:manipulation}}

/* v1.24 System Administrator PO status override. */
.admin-status-override{margin:8px 0;border:1px solid #a86a24;border-left:4px solid #a86a24;background:#fffaf2}.admin-status-override>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer;font-weight:850}.admin-status-override>summary strong{padding:3px 6px;background:#a86a24;color:#fff;font-size:10px;letter-spacing:.07em}.admin-status-override>p,.admin-status-override>small{display:block;margin:0;padding:0 10px 7px;color:var(--muted);font-size:11px}.admin-status-override>form{display:grid;grid-template-columns:repeat(5,minmax(125px,.8fr)) minmax(240px,1.5fr) auto;gap:6px;align-items:end;padding:8px 10px;border-top:1px solid #ead7bb}.admin-status-override label{display:grid;gap:4px;margin:0;font-size:11px;font-weight:800}.admin-status-override select,.admin-status-override input{width:100%;min-height:36px;padding:7px 8px;border:1px solid #b9beb9;background:#fff;font:inherit}.admin-status-override button{min-height:36px;padding:7px 10px;white-space:nowrap}.admin-status-reason{min-width:0}@media(max-width:1150px){.admin-status-override>form{grid-template-columns:repeat(3,1fr)}.admin-status-reason{grid-column:1/3}}@media(max-width:650px){.admin-status-override>form{grid-template-columns:1fr}.admin-status-reason{grid-column:auto}.admin-status-override button{white-space:normal}}

/* v1.25/1.26 compact filtered PO totals and same-row attachment controls. */
.po-filter-summary{margin:0 0 8px}.po-filter-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 9px;border:1px solid var(--line);border-bottom:0;background:#f2f6e8}.po-filter-summary-heading strong{font-size:10px;letter-spacing:.05em}.po-filter-summary-heading span{color:var(--muted);font-size:10px}.po-filter-summary-grid{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));overflow-x:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}.po-filter-summary-grid>div{display:grid;gap:5px;min-width:112px;padding:8px 10px;background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.po-filter-summary-grid>div.pending{background:#fbf8f0}.po-filter-summary-grid span{color:var(--muted);font-size:9px;font-weight:850;line-height:1.15;letter-spacing:.03em;text-transform:uppercase}.po-filter-summary-grid strong{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.attachment-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}.attachment-delete-form{display:grid;grid-template-columns:minmax(145px,190px) auto;gap:5px;align-items:center;margin:0}.attachment-delete-form input{width:100%;min-height:34px;padding:6px 8px;border:1px solid #b9beb9;background:#fff;font:inherit}.attachment-delete-form button,.attachment-row-actions>.button-link{min-height:34px;padding:7px 9px;white-space:nowrap}@media(max-width:760px){.attachment-list li{align-items:flex-start;flex-direction:column}.attachment-row-actions{width:100%;justify-content:flex-start}.attachment-delete-form{flex:1;grid-template-columns:1fr auto}}@media(max-width:520px){.po-filter-summary-heading{align-items:flex-start;flex-direction:column}.attachment-row-actions{align-items:stretch;flex-direction:column}.attachment-delete-form{width:100%}}

/* Refunds stay separate from gross PO value and reduce net project spend. */
.project-total-grid .total-credit{border-left:4px solid #a9472d;background:#fbf2ed}

/* v1.28.5: compact, single-line Cost Category Summary. */
.project-procurement-summary .data-table{min-width:1040px}.project-procurement-summary .data-table th,.project-procurement-summary .data-table td{padding:7px 8px;white-space:nowrap;overflow-wrap:normal;font-size:12px}.project-procurement-summary .data-table th{font-size:10px}.project-procurement-summary .data-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.project-procurement-summary .data-table th:nth-child(n+4){text-align:right}

/* v1.29 invoice-date reporting period. */
.invoice-period-panel{margin:10px 0 12px;padding:10px;background:#f7f7f2;border:1px solid var(--line)}.invoice-period-filter{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.invoice-period-filter label{display:grid;gap:4px;min-width:170px;font-size:11px;font-weight:800;text-transform:uppercase}.invoice-period-filter input{min-height:38px;padding:7px 9px;border:1px solid #b9beb9;background:#fff;font:inherit}.invoice-period-filter button,.invoice-period-filter .button-link{min-height:38px;padding:8px 11px}.invoice-period-metrics{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:6px;margin-top:9px}.invoice-period-metrics>div{padding:7px 9px;background:#fff;border:1px solid var(--line)}.invoice-period-metrics span{display:block;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.invoice-period-metrics strong{display:block;margin-top:2px;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-period-results{margin-top:8px}.invoice-period-results .data-table{min-width:850px}.invoice-period-net-note{margin:6px 0 0;text-align:right;color:var(--green);font-size:12px;font-weight:800}.invoice-period-panel .supporting-note{margin:7px 0 0}@media(max-width:900px){.invoice-period-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.invoice-period-filter{display:grid;grid-template-columns:1fr 1fr}.invoice-period-filter label{min-width:0}.invoice-period-metrics{grid-template-columns:1fr 1fr}}

/* v1.31 Timesheet operations: dense working layouts with no decorative whitespace. */
label:has(>select[name="photos_requirement"]){display:none!important}
.timesheet-hub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}.timesheet-hub-cards article{min-height:92px;padding:11px 13px}.timesheet-hub-cards article h3{margin:9px 0 3px;font-size:17px}.timesheet-hub-cards article p{margin:0;font-size:12px}
.compact-create-panel,.compact-operation-panel{margin:8px 0 10px;padding:10px 12px}.compact-create-panel>summary{cursor:pointer;font-weight:850}.compact-create-panel>form{margin-top:9px}.compact-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:7px;align-items:end}.compact-grid label{display:grid;gap:4px;margin:0;font-size:11px;font-weight:800}.compact-grid input,.compact-grid select,.compact-grid textarea{width:100%;min-height:36px;padding:7px 8px;border:1px solid #b9beb9;background:#fff;font:inherit}.compact-grid textarea{min-height:54px}.wide-field{grid-column:span 2}
.subcontractor-register{display:grid;gap:7px}.subcontractor-card{margin:0;border:1px solid var(--line);background:#fff}.subcontractor-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 11px;cursor:pointer}.subcontractor-card>summary strong{font-size:15px}.subcontractor-card>summary span{font-size:10px;font-weight:850}.subcontractor-card-body{padding:9px 11px;border-top:1px solid var(--line)}.company-edit-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.company-edit-form .form-actions{align-self:end;margin:0}.worker-register{margin-top:9px}.worker-register h4{margin:0 0 6px}.worker-add-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:6px;align-items:end;margin-bottom:7px}.worker-add-form label,.worker-edit-form label{display:grid;gap:3px;margin:0;font-size:10px;font-weight:800}.worker-add-form input,.worker-add-form select,.worker-edit-form input,.worker-edit-form select{width:100%;min-height:34px;padding:6px 7px}.worker-table th,.worker-table td{padding:6px 7px;font-size:12px}.worker-edit-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:5px;align-items:end}.archive-inline{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:5px;align-items:center;margin:0}.archive-inline input{min-height:34px;padding:6px 7px}.archive-inline button{min-height:34px;padding:7px 9px}
.timesheet-document-form{grid-template-columns:1.1fr 1.1fr .85fr .85fr .75fr 1.2fr}.timesheet-document-form .document-upload-field{grid-column:span 2}.timesheet-document-form .form-actions{align-self:end;margin:0}.timesheet-document-table th,.timesheet-document-table td{padding:7px 8px;font-size:12px}.timesheet-document-table small{display:block;color:var(--muted)}
.payroll-header-grid{grid-template-columns:1.15fr 1.15fr .8fr .9fr .85fr 1.2fr;margin-bottom:8px}.payroll-segment-head,.payroll-segment-row{display:grid;grid-template-columns:28px minmax(190px,1.6fr) 105px 105px 88px minmax(150px,1fr) 65px;gap:5px;align-items:center}.payroll-segment-head{padding:5px 6px;background:#eef3e9;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.payroll-segment-row{padding:4px 6px;border-bottom:1px solid var(--line)}.payroll-segment-row input{width:100%;min-height:34px;padding:6px 7px;border:1px solid #b9beb9;background:#fff;font:inherit}.payroll-segment-row>span:last-child{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.payroll-live-total{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:7px;padding:7px 9px;background:#eef3e9}.payroll-live-total span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}.payroll-live-total strong{min-width:72px;font-size:15px;text-align:right;font-variant-numeric:tabular-nums}.payroll-entry-form>.form-actions{justify-content:flex-end;margin:8px 0 0}.payroll-register .data-table th,.payroll-register .data-table td{padding:7px 8px;font-size:12px}
.timesheet-metrics{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:6px;margin:8px 0}.timesheet-metrics>div{padding:7px 9px;border:1px solid var(--line);background:#eef3e9}.timesheet-metrics span{display:block;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.timesheet-metrics strong{display:block;margin-top:2px;font-size:16px;font-variant-numeric:tabular-nums}.project-timesheet-summary{min-width:850px}.project-timesheet-summary th,.project-timesheet-summary td{padding:7px 8px;font-size:12px}.project-timesheet-summary small{display:block;color:var(--muted)}.timesheet-rate-form{display:grid!important;grid-template-columns:75px auto;gap:4px}.timesheet-rate-form input,.timesheet-rate-form button{min-height:32px;padding:5px 7px}
.work-site-register{margin-top:10px}.work-site-register>summary{cursor:pointer;padding:7px 9px;background:#eef3e9;font-weight:850}.work-site-register>div{padding:7px;border:1px solid var(--line)}.work-site-edit{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1fr) 100px auto;gap:5px;align-items:end;margin-bottom:5px}.work-site-edit label{display:grid;gap:3px;margin:0;font-size:10px;font-weight:800}.work-site-edit input,.work-site-edit select{width:100%;min-height:34px;padding:6px 7px}
@media(max-width:1050px){.compact-grid,.company-edit-form,.timesheet-document-form,.payroll-header-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}.wide-field,.timesheet-document-form .document-upload-field{grid-column:span 2}.payroll-segment-head,.payroll-segment-row{grid-template-columns:26px minmax(170px,1.4fr) 90px 90px 75px minmax(120px,1fr) 55px}.worker-add-form,.worker-edit-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.work-site-edit{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.timesheet-hub-cards,.compact-grid,.company-edit-form,.timesheet-document-form,.payroll-header-grid,.timesheet-metrics{grid-template-columns:1fr}.wide-field,.timesheet-document-form .document-upload-field{grid-column:auto}.payroll-segment-head{display:none}.payroll-segment-row{grid-template-columns:26px 1fr}.payroll-segment-row input,.payroll-segment-row>span:last-child{grid-column:2}.payroll-live-total{display:grid;grid-template-columns:1fr auto}.worker-add-form,.worker-edit-form,.work-site-edit{grid-template-columns:1fr}.subcontractor-card>summary{align-items:flex-start;flex-direction:column}}

/* v1.32 fortnightly Payroll, clearer Timesheet controls and consistent operational type. */
.attachment-checklist-panel .attachment-checklist li:nth-child(2){grid-column:span 2}
.project-timesheet-summary th{font-size:11px}.project-timesheet-summary td{font-size:13px}.project-timesheet-summary small{font-size:12px;line-height:1.3}
.timesheet-rate-control{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:145px}.timesheet-rate-control>strong{font-size:14px;font-variant-numeric:tabular-nums}.timesheet-rate-control details{position:relative}.timesheet-rate-control summary{cursor:pointer;padding:5px 7px;background:var(--soft);font-size:11px;font-weight:800;list-style:none}.timesheet-rate-control details[open]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px}.timesheet-rate-control details[open]>summary{align-self:center}.timesheet-rate-form{display:grid!important;grid-template-columns:68px auto;gap:4px}.timesheet-rate-form input{min-height:30px;padding:4px 6px}.timesheet-rate-form button{min-height:30px;padding:4px 7px;font-size:11px}
.subcontractor-card>summary>span:first-child{display:flex;align-items:center;gap:10px;min-width:0}.subcontractor-card>summary small{color:var(--muted);font-size:12px;line-height:1.3;font-weight:650}.subcontractor-card>summary>span:last-child{font-size:11px}
.compact-grid label,.worker-add-form label,.worker-edit-form label,.work-site-edit label{font-size:12px}.timesheet-document-table th,.payroll-table th,.worker-table th{font-size:11px}.timesheet-document-table td,.payroll-table td,.worker-table td{font-size:13px}.timesheet-document-table small,.payroll-table small{font-size:12px;line-height:1.3}.payroll-segment-head{font-size:11px}.payroll-live-total span,.timesheet-metrics span{font-size:10px}
.timesheet-hub-cards article{min-height:88px}.timesheet-hub-cards article h3{font-size:18px}.timesheet-hub-cards article p{font-size:13px;line-height:1.35}
.payroll-period-bar{display:grid;grid-template-columns:minmax(360px,1fr) auto auto;gap:8px;align-items:end;margin:8px 0;padding:8px 10px;border:1px solid var(--line);border-left:4px solid var(--green);background:#eef3e9}.payroll-period-bar>.payroll-period-summary{display:flex;align-items:flex-end;gap:28px}.payroll-period-summary>div{display:grid;gap:2px}.payroll-period-summary span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.04em}.payroll-period-summary strong{font-size:16px}.payroll-period-summary>div:last-child{padding-left:20px;border-left:1px solid #c5d2be}.payroll-period-bar form,.payroll-period-bar nav{display:flex;align-items:end;gap:5px;margin:0}.payroll-period-bar label{display:grid;gap:3px;margin:0;font-size:11px;font-weight:800}.payroll-period-bar input,.payroll-period-bar button,.payroll-period-bar .button-link{min-height:34px;padding:6px 8px}.payroll-period-bar .secondary-button{white-space:nowrap}
@media(max-width:950px){.payroll-period-bar{grid-template-columns:1fr 1fr}.payroll-period-bar>.payroll-period-summary{grid-column:1/-1}.attachment-checklist-panel .attachment-checklist li:nth-child(2){grid-column:auto}}@media(max-width:600px){.payroll-period-bar{grid-template-columns:1fr}.payroll-period-bar>.payroll-period-summary{align-items:flex-start;flex-direction:column;gap:8px}.payroll-period-summary>div:last-child{padding-left:0;border-left:0}.payroll-period-bar form,.payroll-period-bar nav{align-items:stretch;flex-wrap:wrap}.subcontractor-card>summary>span:first-child{align-items:flex-start;flex-direction:column;gap:3px}}

/* v1.32.4: direct Cost Category to project PO reconciliation. */
.category-po-link{font-weight:800}.active-filter-note{display:flex;align-items:center;gap:5px;margin:0 0 7px;padding:6px 9px;border-left:3px solid var(--green);background:#eef3e9;font-size:12px}.active-filter-note strong{font-size:13px}.active-filter-note a{margin-left:auto;font-weight:800}

/* Work Sites are managed centrally under Subcontractors and selected in Payroll. */
.work-site-manager{margin:0 0 10px;padding:10px 12px}.work-site-manager .section-heading{margin-bottom:7px}.work-site-create-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(240px,1.4fr) minmax(180px,1fr) 110px auto;gap:6px;align-items:end;margin-bottom:8px;padding:7px 8px;background:#eef3e9}.work-site-create-form label,.work-site-card-edit label{display:grid;gap:3px;margin:0;font-size:11px;font-weight:800}.work-site-create-form input,.work-site-create-form select,.work-site-card-edit input,.work-site-card-edit select{width:100%;min-height:34px;padding:6px 7px}.work-site-table th,.work-site-table td{padding:6px 8px;font-size:12px}.work-site-table small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.work-site-card-edit{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.3fr) minmax(170px,1fr) 100px auto;gap:5px;align-items:end}.payroll-segment-row select{width:100%;min-height:34px;padding:6px 7px;border:1px solid #b9beb9;background:#fff;font:inherit}@media(max-width:900px){.work-site-create-form,.work-site-card-edit{grid-template-columns:1fr 1fr}}@media(max-width:560px){.work-site-create-form,.work-site-card-edit{grid-template-columns:1fr}}

/* Keep adjusted PO lines compact while preserving the green operational marker. */
.po-line-table tr.has-goods-adjustment td{font-size:15px}

/* Cost Category Summary: compact second-level totals with expandable leaf categories. */
.category-summary-table{min-width:820px!important}.category-summary-table .category-group-row th,.category-summary-table .category-group-row td{padding:8px 9px;background:#eef3e9;font-weight:850}.category-summary-table .category-group-row th{text-transform:none;letter-spacing:0;color:var(--ink);font-size:13px}.category-summary-table .category-group-details>td{padding:0!important;background:#fafaf6}.category-group-details details>summary{cursor:pointer;padding:6px 10px;color:var(--green);font-size:12px;font-weight:800}.category-group-details details[open]>summary{border-bottom:1px solid var(--line)}.category-detail-table{min-width:800px!important}.category-detail-table td{padding:6px 9px!important;background:#fff}.category-detail-table td:first-child{padding-left:24px!important}.category-summary-table th:first-child,.category-summary-table td:first-child{width:38%}.category-summary-table th:nth-child(n+2),.category-summary-table td:nth-child(n+2),.category-detail-table td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}

/* Keep grouped category controls light and use alternating leaf rows for scanning. */
.category-summary-table .category-group-row td{font-weight:400}.category-group-details details>summary{padding:5px 9px;font-size:11px;font-weight:400}.category-detail-table tbody tr:nth-child(odd) td{background:#fff}.category-detail-table tbody tr:nth-child(even) td{background:#f3f4ee}

/* Expand a second-level category directly; no separate Show categories row. */
.category-summary-grid{min-width:820px;border:1px solid var(--line);background:#fff}.category-summary-head,.category-summary-group>summary{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(5,minmax(110px,1fr));align-items:center}.category-summary-head{background:#f0efe8;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.category-summary-head span{padding:7px 9px}.category-summary-group>summary span{padding:9px}.category-summary-head span:nth-child(n+2),.category-summary-group>summary span:nth-child(n+2){text-align:right}.category-summary-group{border-top:1px solid var(--line)}.category-summary-group:first-of-type{border-top:0}.category-summary-group>summary{position:relative;cursor:pointer;list-style:none;background:#eef3e9;font-size:13px;font-weight:400}.category-summary-group>summary::-webkit-details-marker{display:none}.category-summary-group>summary::before{content:'▶';position:absolute;left:9px;color:var(--green);font-size:10px}.category-summary-group[open]>summary::before{content:'▼'}.category-summary-label{padding-left:25px!important;font-weight:800}.category-summary-group>summary span:nth-child(n+2){font-variant-numeric:tabular-nums;font-weight:400}.category-summary-group[open]>summary{border-bottom:1px solid var(--line)}.category-summary-group .category-detail-table{margin:0}.category-summary-group .category-detail-table td:first-child{width:38%}

/* v1.32.13: denser Procurement metrics; label typography remains unchanged. */
.procurement-cards a{gap:5px;padding:8px 12px}.procurement-cards strong{font-size:21px}
.project-total-grid>div{padding:8px 12px}.project-total-grid strong{margin-top:2px;font-size:17px}

/* v1.32.14: order lines use quantity and unit price only. */
.master-data-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.line-head.with-cost-category,.line-item.with-cost-category{grid-template-columns:34px minmax(260px,2fr) minmax(80px,.45fr) minmax(135px,.75fr) 76px}
.line-item.with-cost-category>.cost-category-field{grid-column:2/5;grid-row:2}
.line-item.with-cost-category>input[name^="item_price_"]{grid-column:4;grid-row:1}
.line-item.with-cost-category>.remove-line{grid-column:5;grid-row:1}
.bulk-line-head,.bulk-line{grid-template-columns:minmax(220px,1.6fr) 90px minmax(280px,1.5fr) 120px}
.po-line-table{min-width:880px}.po-line-table th:nth-child(4),.po-line-table td:nth-child(4),.po-line-table th:nth-child(5),.po-line-table td:nth-child(5){white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:760px){.line-item.with-cost-category>.cost-category-field,.line-item.with-cost-category>input[name^="item_price_"],.line-item.with-cost-category>.remove-line{grid-column:2;grid-row:auto}}

/* v1.33 commercial controls, live access policy and stable Project editor. */
.project-card-wrap{position:relative}.project-edit-control[open]{position:absolute;z-index:20;left:8px;right:8px;bottom:42px;max-width:980px;padding:8px;border:1px solid var(--line);box-shadow:0 8px 24px #2030282b;background:#fff}.project-edit-control[open]>form:first-of-type{display:grid;grid-template-columns:1.2fr 2fr .65fr .8fr 1fr;gap:7px;align-items:end}.project-edit-control .project-member-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.project-edit-control .project-member-heading{grid-column:1/-1}.project-edit-control .project-member-picker{min-width:0}.project-edit-control[open]>form:last-of-type{display:flex;justify-content:flex-end;margin-top:6px}
.access-matrix{min-width:940px}.access-matrix th,.access-matrix td{padding:8px 9px;text-align:center}.access-matrix tbody th{text-align:left}.access-matrix small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.access-level{display:inline-block;min-width:66px;padding:3px 6px;font-size:10px;font-weight:850;letter-spacing:.04em}.access-locked{background:#f5e2dc;color:#8a2c1b}.access-view{background:#ecece6}.access-manage,.access-review{background:#e5f0dc;color:var(--green)}.access-admin{background:var(--green);color:#fff}.privacy-notice{margin-bottom:9px;padding:10px 12px;border-left:4px solid var(--green);color:var(--ink);background:#eef3e9}.privacy-notice::after{display:none}.privacy-notice h3,.privacy-notice p{max-width:none;margin:0;color:var(--ink)}.privacy-notice h3{font-size:15px}.privacy-notice p{margin-top:4px;color:#4f5d54;font-size:13px;line-height:1.45}
.subcontract-commercial{margin:10px 0;padding:11px 12px;border-top:4px solid var(--green);background:#fafaf6}.commercial-metrics{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:6px;margin-bottom:8px}.commercial-metrics>div{padding:7px 9px;border:1px solid var(--line);background:#eef3e9}.commercial-metrics span{display:block;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.commercial-metrics strong{display:block;margin-top:2px;font-size:15px;font-variant-numeric:tabular-nums}.commercial-entry{margin:6px 0;border:1px solid var(--line);background:#fff}.commercial-entry>summary{cursor:pointer;padding:7px 9px;font-weight:850}.commercial-entry>form{padding:8px;border-top:1px solid var(--line)}.subcontract-claims{min-width:1020px}.subcontract-claims td,.subcontract-claims th,.commercial-adjustments td,.commercial-adjustments th{padding:7px 8px;font-size:12px}.subcontract-claims small{display:block;color:var(--muted)}.payment-trigger{display:inline-block;padding:4px 7px;font-size:10px;font-weight:900;white-space:nowrap}.trigger-pay_full,.trigger-reviewed{background:#dfeeda;color:#194f36}.trigger-pay_certified{background:#fff0c7;color:#6a4a00}.trigger-hold{background:#f6ded7;color:#8a2c1b}.schedule-wording{max-width:360px;margin:0 0 4px;line-height:1.3}.copy-wording{min-height:28px;padding:4px 7px;font-size:10px}
@media(max-width:1000px){.commercial-metrics{grid-template-columns:repeat(3,1fr)}.project-edit-control[open]>form:first-of-type{grid-template-columns:1fr 1fr}.project-edit-control .project-member-fields{grid-template-columns:1fr}}
@media(max-width:600px){.commercial-metrics{grid-template-columns:1fr 1fr}.project-edit-control[open]{position:fixed;top:10px;left:10px;right:10px;bottom:auto;max-height:90vh;overflow:auto}.project-edit-control[open]>form:first-of-type{grid-template-columns:1fr}}
.line-item.with-cost-category>.cost-category-field{grid-template-columns:auto minmax(300px,1fr)}
@media(max-width:760px){.line-item.with-cost-category>.cost-category-field{grid-template-columns:1fr}}

/* v1.33.6: align PO line headings and ignore unused blank entry rows. */
.po-form .line-head,.po-form .line-head.with-cost-category{grid-template-columns:34px minmax(260px,2fr) minmax(80px,.45fr) minmax(135px,.75fr) 76px}

/* v1.33.7: make an unconfirmed PO Supplier unmistakable in the register. */
.supplier-pending{font-weight:900;color:var(--ink);white-space:nowrap}
.po-line-table tr.supplier-price-check>td{background:#fff4c7;border-top-color:#e0b84f;border-bottom-color:#e0b84f}.po-line-table tr.supplier-price-check>td:first-child{box-shadow:inset 4px 0 #d49b00}.supplier-price-check-badge{display:inline-block;margin-top:5px;padding:2px 6px;border:1px solid #c58e00;background:#fff9df;color:#765400;font-size:10px;font-weight:900;letter-spacing:.05em}.accounts-price-line.supplier-price-check{background:#fff4c7;border-left:4px solid #d49b00;padding-left:10px}.supplier-price-check-control{display:flex!important;align-items:center;gap:7px;font-weight:800;color:#765400}.supplier-price-check-control input{width:auto!important;margin:0}

/* v1.33.10: keep the Project editor inside the visible browser window. */
.project-edit-control[open]{position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain;z-index:1000}
.project-edit-control[open]>form:first-of-type>button{grid-column:1/-1;justify-self:end;min-width:140px}
@media(max-width:650px){.project-edit-control[open]{left:50%;top:10px;right:auto;bottom:auto;transform:translateX(-50%);width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.project-edit-control[open]>form:first-of-type>button{width:100%;justify-self:stretch}}

/* v1.33.11: effective-dated worker rates and compact history controls. */
.worker-rate-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.worker-rate-actions>details{position:relative}.worker-rate-actions>details>summary{cursor:pointer;padding:5px 7px;background:var(--soft);font-size:11px;font-weight:850;list-style:none;white-space:nowrap}.worker-rate-actions>details>summary::-webkit-details-marker{display:none}.worker-rate-actions>details[open]{position:static}.worker-rate-actions>details[open]>.worker-rate-change-form,.worker-rate-actions>details[open]>.table-wrap{position:absolute;z-index:30;right:12px;width:min(680px,calc(100vw - 48px));margin-top:4px;padding:8px;border:1px solid var(--line);box-shadow:0 8px 24px #2030282b;background:#fff}.worker-rate-change-form{grid-template-columns:110px 150px minmax(220px,1fr) auto}.worker-rate-history{min-width:620px}.worker-rate-history small{display:block;color:var(--muted);font-size:10px}.payroll-header-grid label>small{color:var(--muted);font-size:10px;font-weight:600}.payroll-header-grid input[readonly]{background:#f1f2ed;color:var(--ink);font-weight:800}
@media(max-width:700px){.worker-rate-actions>details[open]>.worker-rate-change-form,.worker-rate-actions>details[open]>.table-wrap{position:fixed;left:10px;right:10px;top:10px;width:auto;max-height:calc(100vh - 20px);overflow:auto}.worker-rate-change-form{grid-template-columns:1fr}}

/* v1.33.12: archived Company history remains readable and recoverable. */
.archive-policy-note{margin:0 0 10px;padding:10px 12px;border-left:4px solid var(--green);background:#eef3e9;color:#425248;font-size:13px;line-height:1.45}.archived-company-table{min-width:980px}.archived-company-table td{vertical-align:top}.archived-company-table small,.archived-company-profile small,.archived-worker-table small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.archived-company-profile{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:7px;margin-bottom:10px;padding:10px 12px}.archived-company-profile>div{min-width:0;padding:8px 10px;border:1px solid var(--line);background:#f7f7f2}.archived-company-profile span{display:block;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.archived-company-profile strong{display:block;margin-top:3px;overflow-wrap:anywhere}.reactivate-company-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;padding:10px 12px;border-left:4px solid var(--green)}.reactivate-company-panel h3,.reactivate-company-panel p{margin:0}.reactivate-company-panel p{margin-top:4px;color:var(--muted);font-size:12px}.reactivate-company-panel form{flex:0 0 auto}.archived-history-section{margin:10px 0;padding:10px 12px}.archived-history-section .section-heading{margin-bottom:7px}.archived-worker-table{min-width:980px}.archived-worker-table details>summary{cursor:pointer;white-space:nowrap;color:var(--green);font-weight:800}.archived-worker-table details .table-wrap{margin-top:5px}.archived-payroll-table{min-width:920px}
@media(max-width:760px){.archived-company-profile{grid-template-columns:1fr}.reactivate-company-panel{align-items:stretch;flex-direction:column}.reactivate-company-panel button{width:100%}}

/* v1.33.13: compact review rows and explicit Company-first Timesheet forms. */
.review-stage-row{grid-template-columns:minmax(560px,1.35fr) minmax(240px,1fr);gap:7px;padding:5px 8px}
.review-stage-person{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.review-stage-person>span:first-child{flex:0 0 42px}.review-stage-person>small:not(.review-stage-completed){flex:0 0 44px}.review-stage-person>strong{flex:0 0 auto;min-width:82px}.review-stage-person>.table-status{flex:0 0 auto;white-space:nowrap}.review-stage-completed{flex:0 0 auto;color:var(--muted);font-size:11px;white-space:nowrap}
.review-stage-note{min-height:30px}.review-stage-note>strong{overflow-wrap:anywhere}
.timesheet-document-create-form{grid-template-columns:minmax(180px,1.15fr) 145px 145px minmax(220px,1.2fr) auto;grid-template-areas:"company start end document document" "worker hours notes notes save";gap:6px 7px;align-items:end}
.timesheet-document-create-form .document-company-field{grid-area:company}.timesheet-document-create-form .document-period-start{grid-area:start}.timesheet-document-create-form .document-period-end{grid-area:end}.timesheet-document-create-form .document-upload-field{grid-area:document}.timesheet-document-create-form .document-worker-field{grid-area:worker}.timesheet-document-create-form .document-hours-field{grid-area:hours}.timesheet-document-create-form .document-notes-field{grid-area:notes}.timesheet-document-create-form .document-save-button{grid-area:save;min-height:36px;white-space:nowrap}
@media(max-width:1050px){.review-stage-row{grid-template-columns:1fr}.review-stage-person{flex-wrap:wrap}.timesheet-document-create-form{grid-template-columns:1fr 1fr;grid-template-areas:"company start" "end document" "worker hours" "notes notes" "save save"}.timesheet-document-create-form .document-save-button{width:100%}}
@media(max-width:650px){.timesheet-document-create-form{grid-template-columns:1fr;grid-template-areas:"company" "start" "end" "document" "worker" "hours" "notes" "save"}.review-stage-person{white-space:normal}.review-stage-person>.table-status,.review-stage-completed{white-space:normal}}

/* v1.33.15: fortnight results grouped by Company and Worker. */
.payroll-batch-selector{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.25fr) auto auto;gap:7px;align-items:end;margin-bottom:9px}.payroll-batch-selector button{min-height:36px;white-space:nowrap}.payroll-batch-form{overflow-x:auto}.payroll-batch-head,.payroll-batch-row{display:grid;grid-template-columns:28px 128px minmax(190px,1.3fr) 88px 88px 78px 72px minmax(150px,1fr) 68px;gap:5px;align-items:center;min-width:980px}.payroll-batch-head{padding:6px 5px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.payroll-batch-row{padding:4px 5px;border-bottom:1px solid var(--line)}.payroll-batch-row input,.payroll-batch-row select,.payroll-batch-row button{min-height:34px;padding:5px 6px}.payroll-batch-row [data-batch-hours]{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.batch-row-number{color:var(--muted);font-size:11px;font-weight:800;text-align:center}.payroll-batch-row.is-deleted{background:#faeeee;opacity:.72}.payroll-batch-row.is-deleted [data-batch-hours]{text-decoration:line-through}.payroll-batch-total{display:flex;justify-content:flex-end;gap:10px;min-width:980px;padding:8px 6px;background:#eef3e9;font-variant-numeric:tabular-nums}.payroll-batch-total strong{min-width:80px;text-align:right}.historical-import-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px;align-items:end;margin-bottom:10px}.historical-import-panel h3,.historical-import-panel p{margin:0}.historical-import-panel p{margin:5px 0 9px;color:var(--muted);font-size:13px;line-height:1.45}.historical-summary-table{min-width:980px}.historical-summary-table small{display:block;margin-top:3px;color:var(--muted)}.historical-summary-edit{min-width:620px;margin-top:6px}.historical-summary-row{background:#f8f4e6}
.payroll-fortnight-results{margin-top:12px}.payroll-company-result-group{margin:7px 0;border:1px solid var(--line);background:#fff}.payroll-company-result-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;cursor:pointer;background:#f3f6ee;list-style-position:inside}.payroll-company-result-group>summary>span{display:flex;align-items:baseline;gap:12px}.payroll-company-result-group>summary strong{font-variant-numeric:tabular-nums}.payroll-company-result-group>summary small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}.payroll-company-result-content{padding:5px 12px 10px}.payroll-worker-result{border-bottom:1px solid var(--line)}.payroll-worker-result-heading{display:flex;align-items:center;gap:10px;padding:9px 4px;cursor:pointer}.payroll-worker-result-heading span{display:flex;align-items:baseline;gap:12px}.payroll-worker-result-heading strong{font-size:15px}.payroll-worker-result-heading small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}.payroll-worker-result-content{padding:0 0 10px}.payroll-worker-result-actions{display:flex;justify-content:flex-end;margin:0 0 5px}.payroll-worker-result-actions .button-link{padding:6px 10px}.payroll-result-lines{min-width:760px;table-layout:fixed}.payroll-result-lines th:nth-child(1),.payroll-result-lines td:nth-child(1){width:34px;text-align:center}.payroll-result-lines th:nth-child(2),.payroll-result-lines td:nth-child(2){width:104px;white-space:nowrap}.payroll-result-lines th:nth-child(3),.payroll-result-lines td:nth-child(3){width:auto}.payroll-result-lines th:nth-child(4),.payroll-result-lines td:nth-child(4),.payroll-result-lines th:nth-child(5),.payroll-result-lines td:nth-child(5){width:72px;white-space:nowrap}.payroll-result-lines th:nth-child(6),.payroll-result-lines td:nth-child(6){width:86px;white-space:nowrap}.payroll-result-lines th:nth-child(7),.payroll-result-lines td:nth-child(7){width:150px}.payroll-result-lines td{padding-top:8px;padding-bottom:8px}.project-timesheet-period-filter{display:grid;grid-template-columns:minmax(150px,210px) minmax(150px,210px) auto auto;gap:8px;align-items:end;margin:0 0 10px;padding:10px;border:1px solid var(--line);background:#f8f7f1}.project-timesheet-period-filter label{margin:0}.project-timesheet-period-note{margin:0 0 10px;color:var(--muted);font-size:12px}
@media(max-width:800px){.payroll-batch-selector,.historical-import-panel,.project-timesheet-period-filter{grid-template-columns:1fr}.payroll-batch-selector button{width:100%}.historical-summary-edit{min-width:0}.payroll-company-result-group>summary,.payroll-worker-result-heading{align-items:flex-start}.payroll-company-result-group>summary>span,.payroll-worker-result-heading span{display:flex;flex-wrap:wrap}.payroll-company-result-content{padding:4px 7px 8px}}

/* v1.33.17: balanced Payroll detail columns and Period-first Project Timesheet summaries. */
.payroll-result-lines{min-width:920px;table-layout:fixed}
.payroll-result-lines th,.payroll-result-lines td{box-sizing:border-box;padding-left:12px;padding-right:12px}
.payroll-result-lines th:nth-child(1),.payroll-result-lines td:nth-child(1){width:5%;min-width:48px;white-space:nowrap;text-align:center}
.payroll-result-lines th:nth-child(2),.payroll-result-lines td:nth-child(2){width:14%;white-space:nowrap}
.payroll-result-lines th:nth-child(3),.payroll-result-lines td:nth-child(3){width:30%}
.payroll-result-lines th:nth-child(4),.payroll-result-lines td:nth-child(4),.payroll-result-lines th:nth-child(5),.payroll-result-lines td:nth-child(5){width:10%;white-space:nowrap}
.payroll-result-lines th:nth-child(6),.payroll-result-lines td:nth-child(6){width:11%;white-space:nowrap}
.payroll-result-lines th:nth-child(7),.payroll-result-lines td:nth-child(7){width:20%}
.project-timesheet-period-list{overflow-x:auto;border:1px solid var(--line);background:#fff}
.project-timesheet-period-head,.project-timesheet-period-summary{display:grid;grid-template-columns:minmax(220px,1.4fr) 100px 110px 130px 110px 140px;gap:14px;align-items:center;box-sizing:border-box;min-width:920px;padding:10px 14px}
.project-timesheet-period-head{background:var(--soft);color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.project-timesheet-period-group{min-width:920px;border-top:1px solid var(--line)}
.project-timesheet-period-summary{cursor:pointer;background:#f3f6ee;list-style-position:inside;font-variant-numeric:tabular-nums}
.project-timesheet-period-summary:hover{background:#eaf0e4}
.project-timesheet-period-summary>span,.project-timesheet-period-summary>strong:not(:first-child){text-align:right;white-space:nowrap}
.project-timesheet-company-results{padding:7px 14px 12px;background:#fff}
.project-timesheet-company-results table{min-width:840px;table-layout:fixed}
.project-timesheet-company-results th,.project-timesheet-company-results td{padding-left:12px;padding-right:12px}
.project-timesheet-company-results th:nth-child(1),.project-timesheet-company-results td:nth-child(1){width:30%}
.project-timesheet-company-results th:nth-child(2),.project-timesheet-company-results td:nth-child(2){width:12%}
.project-timesheet-company-results th:nth-child(3),.project-timesheet-company-results td:nth-child(3){width:18%}
.project-timesheet-company-results th:nth-child(4),.project-timesheet-company-results td:nth-child(4),.project-timesheet-company-results th:nth-child(5),.project-timesheet-company-results td:nth-child(5),.project-timesheet-company-results th:nth-child(6),.project-timesheet-company-results td:nth-child(6){width:13.33%;white-space:nowrap}
.project-timesheet-company-results td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
@media(max-width:800px){.payroll-result-lines{min-width:860px}.project-timesheet-period-head,.project-timesheet-period-summary,.project-timesheet-period-group{min-width:860px}.project-timesheet-company-results{padding-left:8px;padding-right:8px}}

/* v1.33.18: keep every Period summary value directly under its matching heading. */
.project-timesheet-period-summary{position:relative;list-style:none}
.project-timesheet-period-summary::-webkit-details-marker{display:none}
.project-timesheet-period-summary>strong:first-child{grid-column:1;white-space:nowrap}
.project-timesheet-period-summary>span:nth-child(2){grid-column:2}
.project-timesheet-period-summary>span:nth-child(3){grid-column:3}
.project-timesheet-period-summary>span:nth-child(4){grid-column:4}
.project-timesheet-period-summary>span:nth-child(5){grid-column:5}
.project-timesheet-period-summary>strong:nth-child(6){grid-column:6}
.project-timesheet-period-summary>strong:first-child::before{content:'▸';display:inline-block;width:16px;margin-right:4px;color:var(--green);text-align:left}
.project-timesheet-period-group[open]>.project-timesheet-period-summary>strong:first-child::before{content:'▾'}
.project-timesheet-period-head>span:first-child{padding-left:20px}
.project-timesheet-period-head>span:not(:first-child),.project-timesheet-period-summary>span,.project-timesheet-period-summary>strong:nth-child(6){text-align:right}
.project-timesheet-company-results th:not(:first-child),.project-timesheet-company-results td:not(:first-child){text-align:right}

/* v1.33.18: collapsed Work Site creation and single-line management controls. */
.work-site-create-disclosure{margin:0 0 8px;border:1px solid var(--line);background:#eef3e9}
.work-site-create-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px;cursor:pointer;list-style-position:inside}
.work-site-create-disclosure>summary strong{white-space:nowrap}.work-site-create-disclosure>summary small{color:var(--muted);font-size:11px}
.work-site-create-disclosure .work-site-create-form{grid-template-columns:minmax(160px,1fr) minmax(180px,1.05fr) minmax(210px,1.3fr) 96px 120px;margin:0;padding:8px 10px;border-top:1px solid var(--line);background:#f6f8f3}
.work-site-create-form button,.work-site-card-edit button{min-width:0;white-space:nowrap}
.work-site-table{min-width:1040px;table-layout:fixed}
.work-site-table th:nth-child(1),.work-site-table td:nth-child(1){width:145px}
.work-site-table th:nth-child(2),.work-site-table td:nth-child(2){width:205px}
.work-site-table th:nth-child(3),.work-site-table td:nth-child(3){width:65px;white-space:nowrap}
.work-site-table td:nth-child(1)>strong,.work-site-table .table-status{white-space:nowrap}
.work-site-card-edit{grid-template-columns:minmax(125px,.85fr) minmax(160px,1fr) minmax(155px,1fr) 92px 62px}
.work-site-card-edit label,.work-site-card-edit button{min-width:0}.work-site-card-edit select{white-space:nowrap}.work-site-card-edit button{padding-left:8px;padding-right:8px}
@media(max-width:900px){.work-site-create-disclosure .work-site-create-form,.work-site-card-edit{grid-template-columns:1fr 1fr}.work-site-card-edit button{width:100%}}
@media(max-width:560px){.work-site-create-disclosure>summary{align-items:flex-start;flex-direction:column;gap:3px}.work-site-create-disclosure .work-site-create-form,.work-site-card-edit{grid-template-columns:1fr}}

/* v1.33.19: collapse the complete Work Sites panel and balance view/edit halves. */
.work-site-manager{padding:0;overflow:hidden}
.work-site-manager-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;cursor:pointer;list-style:none;background:#fff}
.work-site-manager-summary::-webkit-details-marker{display:none}
.work-site-manager-title{display:flex;align-items:center;gap:10px}.work-site-manager-title .eyebrow{margin:0}.work-site-manager-title>strong{font-family:Georgia,'Times New Roman',serif;font-size:19px;white-space:nowrap}
.work-site-manager-title>strong::before{content:'▸';display:inline-block;width:16px;margin-right:4px;color:var(--green);font-family:Arial,sans-serif;font-size:13px}
.work-site-manager[open]>.work-site-manager-summary .work-site-manager-title>strong::before{content:'▾'}
.work-site-manager-summary>span:last-child{white-space:nowrap;font-size:12px}
.work-site-manager-content{padding:0 11px 11px;border-top:1px solid var(--line)}
.work-site-manager-content>.work-site-create-form{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(210px,1.35fr) 92px 116px;margin:8px 0;padding:7px 8px}
.work-site-table{min-width:1060px;table-layout:fixed}
.work-site-table th:nth-child(1),.work-site-table td:nth-child(1){width:15%}
.work-site-table th:nth-child(2),.work-site-table td:nth-child(2){width:27%}
.work-site-table th:nth-child(3),.work-site-table td:nth-child(3){width:8%;white-space:nowrap}
.work-site-table th:nth-child(4),.work-site-table td:nth-child(4){width:50%}
.work-site-card-edit{grid-template-columns:minmax(105px,.85fr) minmax(130px,1fr) minmax(140px,1.1fr) 82px 54px}
.work-site-card-edit button{width:auto;white-space:nowrap;padding-left:6px;padding-right:6px}
@media(max-width:900px){.work-site-manager-content>.work-site-create-form{grid-template-columns:1fr 1fr}.work-site-card-edit{grid-template-columns:minmax(105px,.85fr) minmax(130px,1fr) minmax(140px,1.1fr) 82px 54px}.work-site-card-edit button{width:auto}}
@media(max-width:560px){.work-site-manager-title{align-items:flex-start;flex-direction:column;gap:3px}.work-site-manager-content>.work-site-create-form{grid-template-columns:1fr}.work-site-card-edit{grid-template-columns:minmax(105px,.85fr) minmax(130px,1fr) minmax(140px,1.1fr) 82px 54px}}

/* v1.33.28: Payment Claim item assessment and reconciliation. */
.payment-claim-reconciliation{border-top:4px solid var(--green)}
.payment-claim-reconciliation>.section-row{align-items:flex-start}.payment-claim-reconciliation>.section-row h3{margin-bottom:2px}.payment-claim-reconciliation>.section-row span{display:block;color:var(--muted);font-size:11px}
.payment-claim-assessment-form{display:grid;gap:10px;margin-top:10px}
.claim-schedule-metadata{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(155px,.9fr) 145px 145px minmax(240px,1.35fr);gap:8px;align-items:start;padding:10px;border:1px solid var(--line);background:#f4f6f1}
.claim-schedule-metadata label,.claim-item-context label,.claim-receipt-grid label,.claim-adjustment-row label,.claim-assessment-item-main label{display:grid;gap:4px;margin:0;color:#26372f;font-size:10px;font-weight:850;letter-spacing:.02em}
.claim-schedule-metadata input,.claim-item-context textarea,.claim-receipt-grid input,.claim-adjustment-row input,.claim-adjustment-row select,.claim-assessment-item-main input,.claim-assessment-item-main select{width:100%;min-width:0}
.claim-schedule-file small{color:var(--muted);font-weight:500;line-height:1.3}
.claim-legacy-notice{margin:0;padding:9px 11px;border-left:4px solid #aa711b;background:#fff7e8;color:#583d13;font-size:11px;line-height:1.45}
.claim-assessment-list{display:grid;gap:9px}.claim-assessment-item{overflow:hidden;border:1px solid #b9c3ba;border-left:4px solid var(--green);background:#fff;box-shadow:0 1px 0 rgba(28,58,44,.04)}
.claim-assessment-item-main{display:grid;grid-template-columns:minmax(250px,1.7fr) 132px 108px 108px 120px 92px;gap:8px;align-items:end;padding:9px 10px;background:#f7f8f5}
.claim-item-calculated{display:flex;flex-direction:column;justify-content:center;min-height:39px;padding:5px 8px;border:1px solid var(--line);background:#fff;text-align:right;font-variant-numeric:tabular-nums}.claim-item-calculated span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.claim-item-calculated strong{margin-top:2px;font-size:13px}
.claim-remove-item,.claim-remove-adjustment{min-width:0;padding:8px 9px;white-space:nowrap}
.claim-item-context{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;border-top:1px solid var(--line)}.claim-item-context textarea{min-height:53px;resize:vertical}
.claim-adjustment-list{display:grid;gap:5px;padding:0 10px}.claim-adjustment-row{display:grid;grid-template-columns:115px 125px minmax(230px,1.3fr) minmax(210px,1fr) 78px;gap:7px;align-items:end;padding:7px 8px;border:1px solid #e2cfc4;background:#fff9f5}.claim-adjustment-row[hidden],.claim-assessment-item[hidden]{display:none}
.claim-add-adjustment{justify-self:start;margin:7px 10px 9px;padding:7px 10px}.claim-add-item{justify-self:start}
.claim-assessment-totals{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:6px;padding:8px;border:1px solid #aeb9ae;background:#eaf0e6}.claim-assessment-totals>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;background:#fff}.claim-assessment-totals span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.claim-assessment-totals strong{white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums}
.claim-receipt-panel{padding:10px;border:1px solid var(--line);background:#f7f6f1}.claim-receipt-panel h4{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:18px}.claim-receipt-grid{display:grid;grid-template-columns:160px 145px minmax(170px,.8fr) minmax(240px,1.4fr);gap:8px;margin-top:8px}
.claim-assessment-actions{justify-content:space-between;margin-top:0}.claim-assessment-history{margin-top:10px;border-top:1px solid var(--line)}.claim-assessment-history>summary{padding:10px 3px;cursor:pointer;font-weight:850}.claim-assessment-history table{min-width:620px}.claim-assessment-readonly{display:grid;gap:4px}.claim-assessment-readonly article{display:grid;grid-template-columns:minmax(240px,1fr) 145px 145px 100px;gap:10px;padding:8px;border-bottom:1px solid var(--line)}
@media(max-width:1150px){.claim-schedule-metadata{grid-template-columns:1fr 1fr 145px 145px}.claim-schedule-file{grid-column:1/-1}.claim-assessment-item-main{grid-template-columns:minmax(240px,1fr) 125px 105px 105px 115px}.claim-remove-item{grid-column:5}.claim-adjustment-row{grid-template-columns:110px 120px 1fr 1fr}.claim-remove-adjustment{grid-column:4;justify-self:end}.claim-receipt-grid{grid-template-columns:1fr 1fr}.claim-assessment-totals{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.claim-schedule-metadata,.claim-assessment-item-main,.claim-item-context,.claim-adjustment-row,.claim-receipt-grid,.claim-assessment-totals,.claim-assessment-readonly article{grid-template-columns:1fr}.claim-schedule-file,.claim-remove-item,.claim-remove-adjustment{grid-column:auto}.claim-item-calculated{text-align:left}.claim-remove-adjustment{justify-self:stretch}.claim-assessment-actions{align-items:stretch;flex-direction:column}.payment-schedule-metrics{grid-template-columns:1fr 1fr}}
/* v1.33.20: complete subcontract Claim, Payment Schedule and Adjustment records */
.commercial-record-link{color:var(--green);font-weight:850;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.commercial-create-action{display:flex;align-items:center;gap:12px;margin:7px 0;padding:8px 9px;border:1px solid var(--line);background:#fff}.commercial-create-action small{color:var(--muted)}
.subcontract-document-header .heading-actions{flex-wrap:wrap}.subcontract-claim-full-form{max-width:none}.claim-adjustment-picker{display:grid;gap:6px}.claim-adjustment-choice{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:14px;padding:8px 10px;border:1px solid var(--line);background:#fff}.claim-adjustment-choice span,.claim-adjustment-choice small{display:block}.claim-adjustment-choice small{margin-top:2px;color:var(--muted)}.claim-adjustment-choice input{margin:0;text-align:right}
.claim-document-summary{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:6px;margin:10px 0}.claim-document-summary>div{padding:9px 10px;border:1px solid var(--line);background:#eef3e9}.claim-document-summary span,.claim-document-summary strong{display:block}.claim-document-summary span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.claim-document-summary strong{margin-top:3px;font-size:14px;font-variant-numeric:tabular-nums}
.claim-record-grid{display:grid;grid-template-columns:280px minmax(0,1fr);margin:0}.claim-record-grid dt,.claim-record-grid dd{min-height:44px;margin:0;padding:11px 14px;border-bottom:1px solid var(--line)}.claim-record-grid dt{font-weight:850;background:#f3f2ed;white-space:nowrap}.claim-record-grid dd{overflow-wrap:anywhere;background:#fff}.claim-decision-form,.claim-account-actions{display:flex;align-items:end;gap:8px;margin:8px 0}.claim-decision-form{padding:8px;border:1px solid var(--line);background:#fff}.claim-decision-form label{flex:1}.claim-account-actions{align-items:stretch}.claim-account-actions>form{display:flex;align-items:end}.claim-account-actions .claim-decision-form{flex:1;margin:0}
.qs-commercial-review{border-top:4px solid var(--green)}.qs-commercial-row{display:grid;grid-template-columns:minmax(220px,1fr) 180px 120px;align-items:end;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.qs-commercial-row span,.qs-commercial-row small{display:block}.qs-commercial-row small{margin-top:3px;color:var(--muted)}.qs-commercial-row output{padding:11px 8px;text-align:right;font-weight:850}.qs-send-accounts{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.product-match-preview{display:block;max-width:260px;margin-top:3px;color:var(--muted);white-space:normal}
@media(max-width:900px){.claim-document-summary{grid-template-columns:repeat(2,minmax(135px,1fr));overflow-x:auto}.claim-adjustment-choice{grid-template-columns:1fr}.claim-record-grid{display:block}.claim-record-grid dt{min-height:0;padding-bottom:4px;border-bottom:0;white-space:normal}.claim-record-grid dd{min-height:42px;padding-top:5px}.claim-account-actions{flex-direction:column}.qs-commercial-row{grid-template-columns:1fr}.qs-commercial-row output{text-align:left}.qs-send-accounts{align-items:stretch;flex-direction:column}}

/* v1.33.32: Nu-Wall project type and safe bulk Cost Category management. */
.category-scope-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.category-group-toolbar{grid-template-columns:minmax(260px,520px) 1fr auto}
.category-group-select-actions{display:flex;align-items:end;gap:6px}.category-group-select-actions button{min-height:36px;padding:7px 10px}
.category-manage-row{grid-template-columns:62px minmax(240px,1fr) auto minmax(135px,auto) auto}
.category-select-cell{display:flex;align-items:center;gap:5px;margin:0;font-size:11px;font-weight:800}.category-select-cell input{width:16px;height:16px;margin:0;accent-color:var(--green)}
.category-removal-state{padding:5px 7px;border-radius:2px;font-size:10px;font-weight:850;white-space:nowrap}.category-removal-state.delete{background:#edf3e9;color:#22573e}.category-removal-state.deactivate{background:#fff1df;color:#84500f}.category-removal-state.protect{background:#ececeb;color:#5a5c58}
.category-bulk-actions{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,360px) auto;gap:10px;align-items:center;padding:10px 7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff8ee}.category-bulk-actions strong,.category-bulk-actions small{display:block}.category-bulk-actions small{margin-top:2px;color:var(--muted);font-size:10px}.category-bulk-actions input{width:100%;min-height:38px}.category-bulk-actions button{min-height:38px;white-space:nowrap}.category-bulk-actions button:disabled,.category-manage-row button:disabled{cursor:not-allowed;opacity:.45}
@media(max-width:1000px){.category-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-manage-row{grid-template-columns:62px minmax(220px,1fr) auto}.category-removal-state{grid-column:2}.category-manage-row>.danger-button{grid-column:3;grid-row:2}.category-bulk-actions{grid-template-columns:1fr 1fr}.category-bulk-actions button{grid-column:2;justify-self:end}}
@media(max-width:600px){.category-scope-grid,.category-group-toolbar,.category-manage-row,.category-bulk-actions{grid-template-columns:1fr}.category-group-select-actions{align-items:stretch}.category-group-select-actions button{flex:1}.category-select-cell,.category-manage-row textarea,.category-manage-row .checkbox-label,.category-removal-state,.category-manage-row>.danger-button,.category-bulk-actions button{grid-column:1;grid-row:auto}.category-bulk-actions button{width:100%;justify-self:stretch}}

/* v1.33.23: audited Company-role conversion and compact Retention notes. */
.admin-type-conversion{margin:8px 0;border:1px solid #8f5d26;border-left:4px solid #8f5d26;background:#fffaf2}.admin-type-conversion>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer;font-weight:850}.admin-type-conversion>summary strong{padding:3px 6px;background:#8f5d26;color:#fff;font-size:10px;letter-spacing:.07em}.admin-type-conversion>p{margin:0;padding:0 10px 8px;color:var(--muted);font-size:11px}.admin-type-conversion>form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) minmax(280px,1.3fr) auto;gap:7px;align-items:end;padding:9px 10px;border-top:1px solid #ead7bb}.admin-type-conversion label{display:grid;gap:4px;margin:0;font-size:11px;font-weight:800}.admin-type-conversion select,.admin-type-conversion input{width:100%;min-height:36px;padding:7px 8px;border:1px solid #b9beb9;background:#fff;font:inherit}.admin-type-conversion button{min-height:36px;white-space:nowrap}.retention-profile-form{align-items:end}.retention-enabled-toggle{display:flex!important;align-items:center;justify-content:flex-start;gap:7px;min-height:39px;margin:0}.retention-enabled-toggle input{width:20px!important;height:20px!important;min-height:20px!important;margin:0;flex:0 0 20px;accent-color:var(--green)}.retention-enabled-toggle span{line-height:20px}.retention-special-notes{grid-column:1/-1;display:grid;gap:6px}.retention-special-note-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:7px;align-items:end}.retention-special-note-row label{margin:0}.retention-special-note-row button,.retention-add-note{min-height:36px;white-space:nowrap}.retention-add-note{justify-self:start}@media(max-width:1000px){.admin-type-conversion>form{grid-template-columns:1fr 1fr}.admin-type-conversion .admin-status-reason{grid-column:1/-1}}@media(max-width:650px){.admin-type-conversion>form,.retention-special-note-row{grid-template-columns:1fr}.admin-type-conversion .admin-status-reason{grid-column:auto}.admin-type-conversion button{white-space:normal}.claim-record-grid dt{white-space:normal}}

/* v1.33.34: Job-based Subcontract privacy, multi-Claim lifecycle and visible Claim totals */
.commercial-restriction-note{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-left:4px solid #7b5b20;background:#fff6dd;color:#513c16}.restricted-job-based-row td{background:#f2f0e9;color:#445048}.restricted-job-based-row small{display:block;margin-top:2px;color:#6b746e}.action-restricted{background:#e5dfcf;color:#4d432c}.action-contract{background:#dcebdc;color:#164d34}.subcontract-commercial{padding:14px;border-top-width:5px}.contract-value-block,.contract-adjustments-block,.contract-claims-block{margin-top:10px;border:1px solid var(--line);background:#fff}.contract-value-formula{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(130px,.8fr) auto minmax(165px,1fr) auto minmax(210px,1.25fr);align-items:stretch;gap:7px;padding:11px;background:#f6f7f2}.contract-value-formula>div{padding:9px 10px;border:1px solid #c9d0c7;background:#fff}.contract-value-formula>b{align-self:center;color:#647067;font-size:18px}.contract-value-formula span,.contract-value-formula strong,.contract-value-formula small{display:block}.contract-value-formula span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.contract-value-formula strong{margin-top:3px;font-size:18px;font-variant-numeric:tabular-nums}.contract-value-formula small{margin-top:3px;color:var(--muted)}.contract-value-formula .positive strong{color:#1c5e42}.contract-value-formula .negative strong{color:#963b27}.contract-value-formula .current-contract{border:2px solid var(--green);background:#edf4ea}.contract-adjustments-block>.section-row,.contract-claims-block>.section-row{padding:10px 11px;border-bottom:1px solid var(--line)}.contract-adjustments-block .commercial-entry{margin:8px}.contract-effect{font-size:14px!important;font-weight:900;white-space:nowrap}.adjustment-account-status{display:inline-block;padding:4px 7px;background:#eee9d9;font-size:10px;font-weight:850}.contract-claims-block .commercial-create-action{margin:0}.claim-position-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:6px;padding:9px}.claim-position-metrics>div{padding:8px 10px;border:1px solid var(--line);background:#eef3e9}.claim-position-metrics span,.claim-position-metrics strong,.claim-position-metrics small{display:block}.claim-position-metrics span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.claim-position-metrics strong{margin-top:3px;font-size:15px}.claim-position-metrics small{margin-top:2px;color:var(--muted)}.retention-bottom{margin-top:10px;border:1px solid var(--line);background:#f7f6f1}.retention-bottom>summary{padding:9px 11px;cursor:pointer;font-weight:850}.retention-bottom>.commercial-entry,.retention-bottom>.table-wrap,.retention-bottom>.supporting-note{margin:8px}.claim-contract-context{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:7px;margin:10px 0;padding:9px;border:1px solid var(--line);background:#eef3e9}.claim-contract-context>div{padding:8px 10px;background:#fff}.claim-contract-context span,.claim-contract-context strong{display:block}.claim-contract-context span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.claim-contract-context strong{margin-top:3px;font-size:15px}.subcontract-claim-entry{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:9px}.subcontract-claim-entry label{display:grid;gap:4px}.subcontract-claim-entry input[readonly]{background:#eef1ed;color:#3e4942}.claim-entry-check{grid-column:1/-1;padding:9px 11px;border-left:4px solid var(--green);background:#edf4ea}.claim-entry-check span,.claim-entry-check strong{display:block}.claim-entry-check span{font-size:9px;font-weight:850;text-transform:uppercase}.claim-entry-check strong{margin-top:3px}.final-claim-toggle{display:flex!important;align-items:center;gap:8px}.final-claim-toggle input{width:20px!important;height:20px!important;min-height:20px!important;margin:0}.subcontract-claims td small{margin-top:2px}.subcontract-claims td strong{font-variant-numeric:tabular-nums}
@media(max-width:1050px){.contract-value-formula{grid-template-columns:1fr 1fr}.contract-value-formula>b{display:none}.contract-value-formula .current-contract{grid-column:1/-1}.claim-position-metrics,.claim-contract-context{grid-template-columns:1fr 1fr}.subcontract-claim-entry{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.contract-value-formula,.claim-position-metrics,.claim-contract-context,.subcontract-claim-entry{grid-template-columns:1fr}.contract-value-formula .current-contract,.claim-entry-check{grid-column:auto}.contract-claims-block>.section-row{align-items:stretch;flex-direction:column}}

/* v1.33.35: compact commercial actions and one-line workspace follow-up */
.contract-adjustments-block>.section-row>div{display:flex;align-items:baseline;gap:12px;min-width:0}.contract-adjustments-block>.section-row h3{margin:0;white-space:nowrap}.contract-adjustments-block>.section-row span{min-width:0}.contract-claims-block>.section-row>div{width:100%}.contract-claims-block>.section-row h3{margin:0 0 2px}.claim-position-metrics>.commercial-create-action{grid-column:span 3;margin:0;min-height:100%;padding:7px 9px}.claim-position-metrics>.commercial-create-action .button-link{flex:0 0 auto}.claim-position-metrics>.final-claim-metric.wide{grid-column:1/-1}.workspace-subcontract-reminder{padding:14px 16px}.workspace-subcontract-reminder .section-heading{margin-bottom:8px}.workspace-subcontract-reminder th,.workspace-subcontract-reminder td{padding:7px 10px}.workspace-subcontract-reminder td strong,.workspace-subcontract-reminder td small{display:inline}.workspace-subcontract-reminder td span{color:#647068}.workspace-subcontract-reminder .action-chip{color:#234f6b}.workspace-subcontract-reminder .action-chip.action-approval-accounts{color:#5b3f72}
@media(max-width:650px){.contract-adjustments-block>.section-row>div{align-items:flex-start;flex-direction:column;gap:2px}.claim-position-metrics>.commercial-create-action{grid-column:auto;align-items:stretch;flex-direction:column}.claim-position-metrics>.final-claim-metric.wide{grid-column:auto}.workspace-subcontract-reminder td span{display:block;margin-top:2px}}
.workspace-subcontract-reminder{margin-top:26px;padding:22px;border:1px solid #cbd4cc;background:#fff}.workspace-subcontract-reminder .section-heading{margin-bottom:14px}.workspace-subcontract-reminder td strong,.workspace-subcontract-reminder td small{display:block}.workspace-subcontract-reminder td small{margin-top:4px;color:#647068}.workspace-subcontract-reminder .table-status{white-space:nowrap}

/* v1.33.35 final overrides: compact reminders and Restricted Supplier controls. */
.workspace-subcontract-reminder{padding:14px 16px}.workspace-subcontract-reminder .section-heading{margin-bottom:8px}.workspace-subcontract-reminder th,.workspace-subcontract-reminder td{padding:7px 10px}.workspace-subcontract-reminder td strong,.workspace-subcontract-reminder td small{display:inline}.workspace-subcontract-reminder td small{margin:0;color:#647068}.workspace-subcontract-reminder td small::before{content:' · '}.workspace-subcontract-reminder .action-chip{color:#234f6b}.workspace-subcontract-reminder .action-chip.action-approval-accounts{color:#5b3f72}
.restricted-site-access-panel{margin:8px 0;border:1px solid #375d75;border-left:4px solid #375d75;background:#f7fbfd}.restricted-site-access-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer;font-weight:850}.restricted-site-access-panel>summary strong{padding:3px 6px;background:#375d75;color:#fff;font-size:10px;letter-spacing:.06em}.restricted-site-access-panel>form{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr) auto;gap:9px;align-items:end;padding:10px;border-top:1px solid #cedde5}.restricted-site-access-panel>form>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}.restricted-site-access-panel>form>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px}.restricted-site-access-panel>form>div label{display:flex;align-items:center;gap:5px;margin:0;font-size:12px}.restricted-site-access-panel input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--green)}.restricted-site-access-panel>form>label{display:grid;gap:4px;margin:0;font-size:11px;font-weight:800}.restricted-site-access-panel button{min-height:36px;white-space:nowrap}
@media(max-width:760px){.restricted-site-access-panel>form{grid-template-columns:1fr}.restricted-site-access-panel>form>p{grid-column:auto}.workspace-subcontract-reminder td small{display:block}.workspace-subcontract-reminder td small::before{content:''}}

/* v1.33.36: audited Project type override without rewriting historical PO categories. */
.commercial-adjustment-record-grid{grid-template-columns:minmax(330px,30%) minmax(0,1fr)}.commercial-adjustment-record-grid dt{white-space:normal;overflow-wrap:anywhere;line-height:1.2}.adjustment-review-panel{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:8px 0;padding:10px 12px;border:1px solid #d4c79e;border-left:4px solid #8f6d22;background:#fffaf0}.adjustment-review-panel>div{min-width:0}.adjustment-review-panel span,.adjustment-review-panel strong,.adjustment-review-panel small{display:block}.adjustment-review-panel span{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.adjustment-review-panel strong{margin-top:3px}.adjustment-review-panel small{margin-top:3px;color:var(--muted)}.adjustment-review-panel form{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:7px;min-width:min(600px,55%)}.adjustment-review-panel label{display:grid;gap:4px;margin:0;font-size:11px;font-weight:800}.adjustment-review-panel input{width:100%;min-height:36px;padding:7px 8px;border:1px solid #b9beb9;background:#fff;font:inherit}.adjustment-review-panel button{min-height:36px;white-space:nowrap}.adjustment-review-panel.reviewed{border-color:#b9cfb5;border-left-color:var(--green);background:#eef5ea}.adjustment-review-panel.pending{background:#f6f4eb}.adjustment-account-status.review-required{color:#5c4210;text-decoration:underline;text-underline-offset:2px}.contract-adjustments-block th:last-child{min-width:190px}@media(max-width:800px){.commercial-adjustment-record-grid{display:block}.commercial-adjustment-record-grid dt{min-height:0;padding-bottom:4px;border-bottom:0}.adjustment-review-panel{align-items:stretch;flex-direction:column}.adjustment-review-panel form{grid-template-columns:1fr;min-width:0}.adjustment-review-panel button{white-space:normal}}
.project-edit-control .project-type-change-reason{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr);gap:7px;align-items:center;padding:7px 9px;border-left:4px solid #b07a20;background:#fff7df}.project-edit-control .project-type-change-reason small{grid-column:2;color:var(--muted);font-weight:500}@media(max-width:650px){.project-edit-control .project-type-change-reason{grid-template-columns:1fr}.project-edit-control .project-type-change-reason small{grid-column:1}}
.po-type-label{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border:1px solid #c8cec8;background:#f1f3ed;color:#4e5b52;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

/* v1.33.39: safe Job-based workflow and PO type correction controls. */
.admin-type-conversion>form[action$="/job-based-to-supplier"]{grid-template-columns:repeat(2,minmax(220px,1fr))}.admin-type-conversion>form[action$="/job-based-to-supplier"] .admin-status-reason{grid-column:1/-1}.admin-type-conversion>form[action$="/job-based-to-supplier"] button{justify-self:start}@media(max-width:650px){.admin-type-conversion>form[action$="/job-based-to-supplier"]{grid-template-columns:1fr}.admin-type-conversion>form[action$="/job-based-to-supplier"] .admin-status-reason{grid-column:auto}}

/* v1.33.40: separate Job-based commercial company register and unified PO type correction. */

/* v1.33.41: explicit Site logistics gate and Work Area Payment Claim packages. */
.create-review-grid>.create-operational-status{grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:10px 12px;border:1px solid #bdc8be;background:#f4f7f1}
.create-operational-status>legend{padding:0 5px;font-family:Georgia,serif;font-size:16px;font-weight:700}
.create-operational-status>label{min-width:0;margin:0;display:grid;grid-template-rows:auto auto 1fr;gap:5px;font-size:13px;font-weight:750}
.create-operational-status>label>select{width:100%;min-width:0;padding:8px 9px}
.create-operational-status>label>small{display:block;color:#59675e;font-size:11px;font-weight:500;line-height:1.35}
.claim-package-workspace{border-top:4px solid var(--green)}
.claim-work-area-register,.claim-package-create{margin:10px 0;border:1px solid #cbd3ca;background:#f8faf6}
.claim-work-area-register>summary,.claim-package-create>summary{padding:11px 13px;font-weight:850;cursor:pointer}
.claim-work-area-form,.claim-package-create form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;padding:12px;border-top:1px solid #d4dad3}
.claim-work-area-form label,.claim-package-create label{margin:0}
.claim-package-amount-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}
.claim-package-table td:first-child{min-width:260px}
.claim-package-empty{padding:14px;border:1px dashed #bdc8be;background:#fafbf8;color:#58665d}
.payment-claim-package-assessment{display:grid;gap:12px}
.claim-package-assessment-list{display:grid;gap:10px}
.claim-package-assessment-row{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(160px,.8fr) minmax(240px,1.4fr) minmax(220px,1.2fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #c8d0c7;background:#fafbf8}
.claim-package-assessment-row header{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid #d9ded8}
.claim-package-assessment-row label{margin:0}
.claim-package-assessment-row output{padding:10px 8px;font-weight:850;white-space:nowrap}
.claim-schedule-metadata{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}
.claim-schedule-file{grid-column:1/-1}
.claim-work-area-analytics{margin-top:12px}
.claim-summary-filter{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(300px,1.5fr) auto;gap:12px;align-items:end;margin:10px 0 14px;padding:10px;border:1px solid #cbd3ca;background:#f7f9f5}
.claim-summary-filter>label{margin:0}.claim-summary-filter select[multiple]{min-height:86px}
.claim-summary-filter fieldset{display:flex;flex-wrap:wrap;gap:7px 14px;min-width:0;margin:0;padding:7px 10px;border:1px solid #bfc8c0}
.claim-summary-filter fieldset label{display:flex;align-items:center;gap:5px;margin:0;font-weight:700}.claim-summary-filter fieldset input{width:auto}
.claim-summary-filter>div{display:flex;gap:7px;align-items:center}
@media(max-width:900px){.create-operational-status,.claim-package-amount-grid,.claim-schedule-metadata{grid-template-columns:1fr 1fr}.claim-package-assessment-row{grid-template-columns:1fr 1fr}.claim-work-area-form,.claim-package-create form{grid-template-columns:1fr}.claim-package-assessment-row output{white-space:normal}}
@media(max-width:900px){.claim-summary-filter{grid-template-columns:1fr 1fr}.claim-summary-filter>div{grid-column:1/-1}}

/* v1.33.43 Claim payment and post-Accounts completion controls */
.claim-document-summary{grid-template-columns:repeat(6,minmax(135px,1fr))}.subcontract-claims{min-width:1120px}.subcontract-claims .claim-incl-gst{white-space:nowrap;background:#f2f7ee}.subcontract-claims .claim-incl-gst strong{font-size:13px;color:#184e35}.claim-certified-value,.claim-accounts-review-row,.claim-completion-row{display:flex;align-items:center;gap:14px}.claim-certified-value strong,.claim-summary-payable strong{color:#184e35}.claim-accounts-review-row,.claim-completion-row{justify-content:space-between}.claim-inline-account-review,.claim-completion-row form{margin:0}.claim-inline-account-review button,.claim-completion-row button{min-height:34px;padding:7px 12px;white-space:nowrap}.claim-completion-row{background:#eef3e9!important}.claim-completion-row span{max-width:660px;color:var(--muted)}
@media(max-width:900px){.claim-document-summary{grid-template-columns:repeat(2,minmax(135px,1fr))}.claim-accounts-review-row,.claim-completion-row{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.create-operational-status,.claim-package-amount-grid,.claim-schedule-metadata,.claim-package-assessment-row,.claim-summary-filter{grid-template-columns:1fr}.claim-package-assessment-row header{display:block}.claim-package-assessment-row header span{display:block;margin-top:4px}.claim-summary-filter>div{grid-column:auto;flex-wrap:wrap}}
.admin-type-choice{padding:9px 10px;border-top:1px solid #ead7bb}.admin-type-choice h3{margin:0 0 6px;font-size:14px}.admin-type-choice>p{margin:0 0 7px;color:var(--muted);font-size:11px}.admin-type-choice>form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.75fr) minmax(280px,1.3fr) auto;gap:7px;align-items:end}.admin-type-choice button{justify-self:start}
.job-based-company-register{display:grid;gap:8px}.job-based-company-card{padding:11px 12px;border-left:4px solid var(--green)}.job-based-company-card .section-heading{align-items:flex-start;margin-bottom:8px}.job-based-company-contact{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:5px 12px;padding:8px 10px;background:#f7f8f4}.job-based-company-contact span,.job-based-company-contact strong{display:block}.job-based-company-contact span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.job-based-company-contact strong{margin-top:2px;font-size:12px;overflow-wrap:anywhere}.job-based-company-metrics{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:5px;margin-top:7px}.job-based-company-metrics>div{padding:7px 8px;border:1px solid var(--line);background:#eef3e9}.job-based-company-metrics span,.job-based-company-metrics strong{display:block}.job-based-company-metrics span{font-size:8px;font-weight:850;text-transform:uppercase;white-space:nowrap}.job-based-company-metrics strong{margin-top:2px;font-size:13px;font-variant-numeric:tabular-nums}.job-based-company-edit{margin-top:8px;border-top:1px solid var(--line)}.job-based-company-edit>summary{padding:8px 2px;cursor:pointer;font-weight:850}.job-based-company-form button{justify-self:start}
@media(max-width:1050px){.admin-type-choice>form{grid-template-columns:1fr 1fr}.admin-type-choice .admin-status-reason{grid-column:1/-1}.job-based-company-metrics{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:700px){.admin-type-choice>form,.job-based-company-contact,.job-based-company-metrics{grid-template-columns:1fr}.admin-type-choice .admin-status-reason{grid-column:auto}.job-based-company-card .section-heading{align-items:flex-start;flex-direction:column}}

/* v1.33.42: recover Job-based review actions and compact the commercial company register. */
.pending-claim-review{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-1px 0 8px;padding:8px 10px;border:1px solid #c9b7d8;border-left:5px solid #6d4b86;background:#f6f0fa}.pending-claim-review>div{display:flex;align-items:baseline;gap:8px;min-width:0}.pending-claim-review strong{white-space:nowrap;color:#5b3f72}.pending-claim-review span{min-width:0;color:#62596a}.pending-claim-review .button-link{flex:0 0 auto;background:#6d4b86}
.claim-accounts-action{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.claim-review-link{display:inline-block;padding:5px 8px;background:#6d4b86;color:#fff;font-size:11px;font-weight:850;text-decoration:none;white-space:nowrap}.workspace-subcontract-reminder .action-chip[href]{display:inline-block;text-decoration:none}.workspace-subcontract-reminder .action-chip.action-approval-accounts[href]{background:#eee4f5}
.admin-status-job-based>form{grid-template-columns:minmax(170px,.75fr) minmax(165px,.7fr) minmax(260px,1.35fr) auto}.admin-status-job-based .admin-job-based-note{grid-column:1/-1;margin:0;padding:5px 7px;background:#f5ead8;color:#77521e;font-size:11px}.admin-status-job-based .admin-status-reason{grid-column:auto}
.job-based-company-register{gap:6px}.job-based-company-card{min-height:0;padding:7px 9px}.job-based-company-overview{display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(520px,3fr) auto auto;gap:8px;align-items:center}.job-based-company-identity{display:flex;align-items:baseline;gap:7px;min-width:0}.job-based-company-identity h3{margin:0;font-size:17px;line-height:1.15;white-space:nowrap}.job-based-company-identity>span{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.job-based-company-overview .job-based-company-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;background:transparent}.job-based-company-overview .job-based-company-contact span{min-width:0;overflow:hidden;color:#4f5b53;font-size:10px;font-weight:600;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.job-based-company-overview .job-based-company-contact strong{display:inline;margin:0 3px 0 0;color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}.job-based-company-overview>.table-status,.job-based-company-overview>.button-link{white-space:nowrap}.job-based-company-overview>.button-link{padding:6px 9px}.job-based-company-metrics{gap:4px;margin-top:5px}.job-based-company-metrics>div{padding:4px 6px}.job-based-company-metrics span{font-size:7px}.job-based-company-metrics strong{margin-top:1px;font-size:12px}.job-based-company-edit{margin-top:4px}.job-based-company-edit>summary{padding:5px 1px;font-size:12px}
@media(max-width:1150px){.admin-status-job-based>form{grid-template-columns:1fr 1fr}.admin-status-job-based .admin-job-based-note,.admin-status-job-based .admin-status-reason{grid-column:1/-1}.job-based-company-overview{grid-template-columns:minmax(190px,1fr) minmax(360px,2fr) auto}.job-based-company-overview>.button-link{grid-column:3}.job-based-company-overview .job-based-company-contact{grid-template-columns:1fr 1fr}.job-based-company-overview .job-based-company-contact span:last-child{display:none}.job-based-company-metrics{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:700px){.pending-claim-review,.pending-claim-review>div{align-items:stretch;flex-direction:column}.pending-claim-review .button-link{width:100%;text-align:center}.admin-status-job-based>form,.job-based-company-overview{grid-template-columns:1fr}.admin-status-job-based .admin-job-based-note,.admin-status-job-based .admin-status-reason,.job-based-company-overview>.button-link{grid-column:auto}.job-based-company-identity{align-items:flex-start;flex-direction:column;gap:2px}.job-based-company-overview .job-based-company-contact,.job-based-company-metrics{grid-template-columns:1fr 1fr}.job-based-company-overview .job-based-company-contact span:last-child{display:block}.job-based-company-overview>.button-link{width:100%;text-align:center}}

/* v1.33.43: preserved, read-only history after an Admin PO type change. */
.subcontract-commercial-history{border:1px solid var(--line);background:#f7f5ee;padding:12px;margin-top:12px}
.subcontract-commercial-history>.subcontract-commercial>.section-heading{display:none}
.subcontract-commercial-history .commercial-create-action,
.subcontract-commercial-history .commercial-entry,
.subcontract-commercial-history .claim-review-link{display:none!important}
.subcontract-commercial-history .commercial-record-link{pointer-events:none;text-decoration:none;color:inherit}
.review-stage-historical{background:#f7f5ee}
.review-stage-historical .review-stage-note small{display:block;margin-top:3px;color:var(--muted)}
/* 1.34: admin registers, contract register and project payment claim workflow */
.admin-bulk-override{border:2px solid #a36b14;background:#fffaf0;padding:14px;margin:16px 0 0;display:grid;gap:12px}.admin-bulk-override>div:first-child{display:flex;justify-content:space-between;gap:18px;align-items:center}.admin-bulk-fields{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) minmax(210px,1.6fr) auto;gap:10px;align-items:end}.admin-bulk-fields label{display:grid;gap:4px}.admin-bulk-fields select,.admin-bulk-fields input{width:100%;min-width:0}.admin-bulk-fields button{white-space:nowrap}.procurement-results input[type=checkbox]{width:18px;height:18px}
.contract-register{display:grid;gap:12px;margin:14px 0}.project-contract-card{border:1px solid var(--line,#ccd1ca);border-top:3px solid #285e43;background:#fff}.project-contract-card summary{display:flex;justify-content:space-between;gap:20px;padding:14px;cursor:pointer}.project-contract-card summary span{display:grid;gap:4px}.contract-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d5d8d2;border-top:1px solid #d5d8d2}.contract-facts span{background:#f6f6f1;padding:10px;display:grid;gap:4px}.project-contract-card>p,.project-contract-card>a{margin:12px}.contract-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.contract-form label{display:grid;gap:5px}.contract-form .contract-scope,.contract-form .contract-retention{grid-column:span 2}.contract-form button{grid-column:1/2}.contract-upload-note{grid-column:2/-1}
.payment-claim-identity{grid-template-columns:1fr 1fr 1fr;align-items:start}.claim-retention-choice{align-self:end;min-height:43px}.claim-package-amount-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:end}.claim-package-create form>label{display:grid;gap:4px}.claim-retention-card{margin:12px 0;border:1px solid #ccd1ca;background:#f7f7f2;padding:10px}.claim-retention-card summary{font-weight:800;cursor:pointer}.claim-retention-card label{margin-top:9px}.claim-package-assessment-row{grid-template-columns:minmax(180px,.75fr) minmax(180px,.75fr)!important}.claim-package-assessment-row header,.claim-package-assessment-row output{grid-column:1/-1}.claim-package-assessment-row>label:nth-of-type(1),.claim-package-assessment-row>label:nth-of-type(2){grid-column:auto}.claim-package-assessment-row>label:nth-of-type(3),.claim-package-assessment-row>label:nth-of-type(4){grid-column:auto}.claim-package-assessment-row textarea{min-height:78px;width:100%}.payment-schedule-metrics.five-column-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.accounts-receipt-reconciliation{display:grid!important;gap:12px;margin-top:14px}.accounts-receipt-reconciliation .claim-receipt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.work-area-summary-register{display:grid;gap:8px}.work-area-summary-register>details{border:1px solid #cfd3cc;background:#fff}.work-area-summary-register>details>summary{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:12px;align-items:center;padding:13px 14px;cursor:pointer}.payment-claim-table td,.payment-claim-table th{padding-top:11px;padding-bottom:11px}
@media(max-width:1000px){.admin-bulk-fields,.contract-form{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-facts{grid-template-columns:repeat(2,1fr)}.payment-schedule-metrics.five-column-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.work-area-summary-register>details>summary{grid-template-columns:1fr 1fr}.accounts-receipt-reconciliation .claim-receipt-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.admin-bulk-fields,.contract-form,.contract-facts,.claim-package-amount-grid,.accounts-receipt-reconciliation .claim-receipt-grid{grid-template-columns:1fr!important}.contract-form .contract-scope,.contract-form .contract-retention{grid-column:auto}.payment-schedule-metrics.five-column-metrics{grid-template-columns:1fr}.work-area-summary-register>details>summary{grid-template-columns:1fr}}

/* 1.34.5: compact preserved review history and paged personal action queue. */
.review-stage-historical .review-stage-note{display:grid;grid-template-columns:max-content minmax(120px,.7fr) minmax(260px,1.3fr);gap:8px;align-items:center;min-height:0}.review-stage-historical .review-stage-note>span{white-space:nowrap}.review-stage-historical .review-stage-note>small{display:block;min-width:0;margin:0;color:var(--muted);font-size:10px;line-height:1.2;overflow-wrap:anywhere}.overview-action-pagination{margin-top:7px}
@media(max-width:650px){.review-stage-historical .review-stage-note{grid-template-columns:1fr}.review-stage-historical .review-stage-note>span{white-space:normal}}

/* 1.34.9: server-rendered Payment Claim workflow and compact personal queue. */
.workspace-po-actions .data-table td{padding:6px 10px;font-size:14px;line-height:1.2}
.workspace-po-actions .data-table td:nth-child(2) strong,.workspace-po-actions .data-table td:nth-child(4) strong{font-size:14px}
.workspace-po-actions .data-table td:nth-child(4) small{font-size:11px;line-height:1.15}
.claim-summary-filter{display:block;margin:8px 0 12px;padding:0;border:1px solid #cbd3ca;background:#f7f9f5}
.claim-summary-filter>summary{padding:8px 10px;font-weight:800;cursor:pointer}
.claim-summary-filter>form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:10px;border-top:1px solid #cbd3ca}
.claim-summary-filter fieldset{min-height:0;padding:7px 10px}
.project-retention-section{padding:0}.project-retention-section>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;cursor:pointer}.project-retention-section>summary>span:first-child{display:grid;gap:3px}.project-retention-section>summary small{font-weight:400;color:var(--muted)}.project-retention-section>.retention-metrics,.project-retention-section>.project-retention-form,.project-retention-section>.table-wrap,.project-retention-section>.supporting-note{margin:0 14px 12px}
.claim-retention-settings{margin-top:12px;border:1px solid #cbd1ca;background:#f8f9f5}.claim-retention-settings>summary{padding:10px 12px;font-weight:800;cursor:pointer}.claim-retention-settings>.checkbox-label,.claim-retention-settings-body{margin:0 12px 10px}.claim-retention-settings-body{display:grid;gap:10px}.retention-basis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px}.retention-tier-editor{display:grid;gap:7px}.retention-tier-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:9px;align-items:end}
.claim-package-amount-grid .claim-other-description,.claim-package-amount-grid .claim-package-file{min-width:0}.claim-package-amount-grid input{width:100%;min-width:0}
.payment-schedule-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.claim-schedule-metadata{grid-template-columns:1fr 1fr 1.4fr}.claim-package-assessment-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.claim-package-assessment-row header{display:flex!important;justify-content:space-between;gap:14px}.claim-assessment-primary{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(210px,1fr) minmax(150px,.6fr);gap:10px;align-items:end}.claim-assessment-primary output{padding:10px;font-weight:800;text-align:right}.claim-assessment-explanations{display:grid;grid-template-columns:1fr 1fr;gap:10px}.claim-assessment-explanations label{display:grid;gap:4px}.claim-assessment-explanations textarea{width:100%;min-height:90px}.claim-assessment-readonly input,.claim-assessment-readonly select,.claim-assessment-readonly textarea{pointer-events:none;background:#f0f1ed}
@media(max-width:850px){.claim-summary-filter>form,.retention-basis-grid{grid-template-columns:1fr 1fr}.claim-summary-filter>form>div{grid-column:1/-1}.claim-assessment-primary,.claim-assessment-explanations,.claim-schedule-metadata{grid-template-columns:1fr}}
@media(max-width:560px){.claim-summary-filter>form,.retention-basis-grid,.retention-tier-row{grid-template-columns:1fr}.claim-package-assessment-row header{display:grid!important}.workspace-po-actions .data-table td{font-size:13px;padding:6px 7px}}
.payment-claim-files>div:first-of-type{display:none}

/* 1.35.0: compact, aligned Payment Claim and Project Contract workspaces. */
.claim-package-detail-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:8px 0;background:#d5dad4;border:1px solid #d5dad4}
.claim-package-detail-status>span{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:6px;min-width:0;padding:7px 9px;background:#f5f7f2;color:#58645c;font-size:11px}
.claim-package-detail-status strong{justify-self:end;color:#17271f;font-size:13px;white-space:nowrap}
.claim-package-detail>.form-actions{margin-top:7px;gap:6px}
.claim-package-detail>.form-actions .button-link{padding:7px 10px}
.claim-assessment-readonly .claim-package-assessment-row{gap:7px!important;padding:8px 10px}
.claim-assessment-readonly .claim-package-assessment-row header{padding-bottom:5px}
.claim-assessment-readonly .claim-assessment-primary{grid-template-columns:minmax(145px,.55fr) minmax(180px,.8fr) minmax(135px,.45fr);gap:8px}
.claim-assessment-primary output{grid-column:auto}
.claim-assessment-readonly .claim-assessment-primary input,.claim-assessment-readonly .claim-assessment-primary select{min-height:32px;padding:5px 7px}
.claim-assessment-readonly .claim-assessment-primary output{padding:6px 8px}
.claim-assessment-readonly .claim-assessment-explanations{gap:8px}
.claim-assessment-readonly .claim-assessment-explanations textarea{min-height:46px;height:46px;padding:6px 7px;resize:none}
.accounts-receipt-reconciliation{grid-template-columns:minmax(0,1fr) auto!important;gap:8px 10px!important;padding:9px 10px!important}
.accounts-receipt-reconciliation>.section-row{grid-column:1/-1;margin:0}
.accounts-receipt-reconciliation .claim-receipt-grid{grid-column:1;grid-template-columns:150px 145px minmax(180px,.8fr) minmax(170px,1fr);gap:7px;margin:0}
.accounts-receipt-reconciliation>button{grid-column:2;align-self:end;min-height:34px;padding:7px 12px;white-space:nowrap}
.claim-work-area-analytics{padding:10px 12px;margin-top:9px}
.claim-work-area-analytics .section-row{margin-bottom:6px}
.claim-work-area-analytics .section-row h3{font-size:20px;line-height:1.15}
.claim-work-area-analytics .section-row span{font-size:11px}
.claim-work-area-analytics .claim-summary-filter{margin:6px 0 8px}
.claim-work-area-analytics .claim-summary-filter>summary{padding:6px 8px;font-size:12px}
.claim-work-area-analytics .work-area-summary-register{gap:5px}
.claim-work-area-analytics .work-area-summary-register>details>summary{padding:8px 10px;gap:8px;font-size:12px}
.contract-create{padding:0}
.contract-create>summary{padding:9px 12px;font-weight:800;cursor:pointer}
.contract-form{display:grid;grid-template-columns:1.25fr .9fr .8fr;gap:8px;padding:0 12px 12px;align-items:start}
.contract-form-group{min-width:0;padding:9px 10px;border:1px solid #d2d7d0;background:#fafbf8}
.contract-form-group>h4{margin:0 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:15px}
.contract-detail-grid,.contract-commercial-grid,.contract-file-grid{display:grid;gap:7px}
.contract-detail-grid{grid-template-columns:1fr 1fr}
.contract-detail-grid .contract-scope{grid-column:1/-1}
.contract-detail-grid textarea{min-height:54px}
.contract-estimated-start{grid-column:1/-1}
.contract-estimated-controls{display:grid;grid-template-columns:.8fr 1.2fr;gap:7px}
.contract-commercial-grid{grid-template-columns:1fr 1fr}
.contract-commercial-grid .contract-retention{grid-column:1/-1}
.contract-commercial-grid textarea{min-height:48px}
.contract-form .contract-toggle{display:flex;align-items:center;gap:7px;min-height:34px;margin:0;padding:5px 7px;border:1px solid #d7dbd5;background:#fff;font-size:12px;font-weight:700}
.contract-form .contract-toggle input{width:17px;height:17px;min-height:17px;margin:0;flex:0 0 17px}
.contract-file-grid{grid-template-columns:1fr 1fr;align-items:end}
.contract-file-grid label{min-width:0}
.contract-file-grid input[type=file]{width:100%;font-size:11px}
.contract-upload-note{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.25}
.contract-file-grid button{grid-column:1/-1;justify-self:start;min-height:34px;padding:7px 12px}
@media(max-width:1050px){.accounts-receipt-reconciliation{grid-template-columns:1fr!important}.accounts-receipt-reconciliation .claim-receipt-grid{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-receipt-reconciliation>button{grid-column:1;justify-self:start}.contract-form{grid-template-columns:1fr 1fr}.contract-source-group{grid-column:1/-1}.claim-package-detail-status{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.claim-package-detail-status,.claim-assessment-readonly .claim-assessment-primary,.claim-assessment-readonly .claim-assessment-explanations,.accounts-receipt-reconciliation .claim-receipt-grid,.contract-form,.contract-detail-grid,.contract-commercial-grid,.contract-file-grid{grid-template-columns:1fr!important}.claim-package-detail-status>span{grid-template-columns:1fr auto}.accounts-receipt-reconciliation>button,.contract-source-group,.contract-detail-grid .contract-scope,.contract-estimated-start,.contract-commercial-grid .contract-retention,.contract-upload-note,.contract-file-grid button{grid-column:1}.accounts-receipt-reconciliation>button,.contract-file-grid button{width:100%;justify-self:stretch}.contract-estimated-controls{grid-template-columns:1fr 1fr}}
.payroll-batch-selector{grid-template-columns:minmax(240px,1.4fr) minmax(150px,1fr) minmax(150px,1fr);align-items:end}.payroll-batch-selector>label{min-width:0}.payroll-batch-selector>button{width:auto;justify-self:start;font-size:12px;padding:7px 12px}.payroll-batch-selector select{width:100%}
@media(max-width:800px){.payroll-batch-selector{grid-template-columns:1fr}.payroll-batch-selector>button{justify-self:stretch}}
.payroll-batch-selector>.form-actions{grid-column:1/-1;margin:0;display:flex;flex-wrap:wrap;gap:7px}.payroll-batch-selector select{min-height:34px;padding:5px 7px}
.payroll-worker-result-heading>.payroll-result-amount{margin-left:auto;flex-shrink:0}.payroll-result-amount{min-width:112px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payroll-company-result-group>summary>.payroll-company-totals{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-shrink:0}.payroll-amount-controls{margin:6px 0}.payroll-amount-controls [aria-current="page"]{background:#25583f;color:white}
.payroll-company-result-row{position:relative;margin:7px 0}.payroll-company-result-row>.payroll-company-result-group{margin:0}.payroll-company-result-group>summary{padding-right:94px}.payroll-company-result-group.is-paid>summary{background:#eaf3e9}.payroll-company-paid-form{position:absolute;top:0;right:12px;z-index:1;min-height:43px;display:flex;align-items:center}.payroll-company-paid-form label{display:inline-flex;align-items:center;gap:5px;margin:0;padding:5px 2px;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.payroll-company-paid-form input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#25583f;cursor:pointer}.payroll-company-paid-form input[type="checkbox"]:focus-visible{outline:2px solid #244632;outline-offset:2px}
/* PO text remains inside its own column; numeric columns never share text space. */
.po-line-table{width:100%;table-layout:fixed;min-width:880px}
.po-line-table col.po-line-description{width:50%}
.po-line-table col.po-line-quantity{width:7%}
.po-line-table col.po-line-category{width:21%}
.po-line-table col.po-line-money{width:11%}
.po-cell-scroll{display:block;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;overflow-wrap:normal;word-break:normal;scrollbar-width:thin;line-height:1.4}
.po-cell-scroll:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.po-line-table th:nth-child(3),.po-line-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:left}
.po-line-table th:nth-child(2),.po-line-table td:nth-child(2){text-align:right;white-space:nowrap}
.po-line-table td{vertical-align:top;padding-top:9px;padding-bottom:9px}
.cost-category-field,.review-category-row>*{min-width:0}
.cost-category-select,.review-category-select{width:100%;max-width:100%;min-width:0}
.review-category-row>label{overflow-wrap:anywhere}
.reviewer-picker label[hidden],.reviewer-picker [data-reviewer-empty][hidden]{display:none!important}
.reviewer-picker label{white-space:normal;overflow-wrap:anywhere}
/* Long reviewer names, status metadata and history wrap naturally, never in a 44px slot. */
.review-path-compact .review-stage-row,.review-path-compact .review-stage-row:has(.review-note-form){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px;padding:7px 9px}
.review-path-compact .review-stage-person{display:flex;flex-wrap:wrap;white-space:normal;gap:5px 8px;min-width:0}
.review-path-compact .review-stage-person>*{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;flex:0 1 auto}
.review-path-compact .review-stage-person>small:not(.review-stage-completed){flex:0 1 auto}
.review-path-compact .review-stage-person>.table-status{white-space:normal;line-height:1.4}
.review-path-compact .review-stage-note{grid-template-columns:auto minmax(0,1fr);min-width:0;min-height:0;align-items:start}
.review-path-compact .review-stage-note>*{min-width:0;white-space:normal;overflow-wrap:anywhere}
.review-path-compact .review-stage-historical .review-stage-note>small{grid-column:1/-1;line-height:1.4}
.review-path-compact .review-note-form{grid-template-columns:minmax(0,1fr) auto auto;min-width:0}
.review-path-compact .review-note-form .review-invoice-field{grid-column:1/-1}
@media(max-width:1000px){.review-path-compact .review-stage-row,.review-path-compact .review-stage-row:has(.review-note-form){grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.review-path-compact .review-note-form{grid-template-columns:1fr 1fr}.review-path-compact .review-note-form .review-note-input{grid-column:1/-1}.review-path-compact .review-note-form label{grid-template-columns:1fr}.review-path-compact .review-stage-historical .review-stage-note{grid-template-columns:1fr}.review-path-compact .review-stage-historical .review-stage-note>small{grid-column:1}}
@media print{.po-line-table{min-width:0;width:100%;font-size:10px}.po-line-table th,.po-line-table td{padding:5px}.po-cell-scroll{overflow:visible;white-space:normal;overflow-wrap:anywhere}.review-path-compact .review-stage-row{break-inside:avoid}}
@media(max-width:600px){.payroll-company-result-group>summary{flex-wrap:wrap}.payroll-company-result-group>summary>.payroll-company-totals{width:100%;justify-content:space-between}.payroll-worker-result-heading>span{min-width:0;flex-wrap:wrap;gap:4px}.payroll-result-amount{min-width:95px;font-size:13px}}
.accounts-price-editor{margin:10px 0;padding:9px 12px;border:1px solid var(--line);min-width:0}.accounts-price-editor summary{cursor:pointer;font-weight:700}.accounts-price-editor p{margin:8px 0;font-size:13px}.accounts-price-editor form{display:grid;gap:8px}.accounts-price-line{display:grid;grid-template-columns:minmax(0,1fr) 170px 160px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:5px 0}.accounts-price-line>span{overflow-wrap:anywhere;min-width:0}.accounts-price-line small{display:block;color:var(--muted);font-size:11px}.accounts-price-editor label{display:grid;gap:3px;font-size:12px}.accounts-price-editor input{width:100%;min-width:0;box-sizing:border-box;padding:6px 8px}.accounts-price-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.accounts-price-buttons button{width:auto}.accounts-price-totals{padding:8px;border:1px solid var(--line)}@media(max-width:700px){.accounts-price-line{grid-template-columns:minmax(0,1fr);gap:7px}.supplier-price-check-control{justify-self:start}.accounts-price-buttons button{font-size:12px}}
.panel:has(>.accounts-price-editor)>h2{font-size:20px;margin:0 0 10px;overflow-wrap:anywhere}
.po-payment-tick{display:inline-block;margin-left:5px;font:800 15px/1 Arial,sans-serif;vertical-align:baseline}.po-payment-tick.paid{color:#237a42}.po-payment-tick.partial{color:#c99400}.po-payment-note{display:flex;gap:5px;align-items:center;margin:0}.po-payment-note>span{font-size:11px;color:#657168}.po-payment-choices{display:inline-flex;gap:0}.po-payment-choices .po-payment-choice{width:auto;min-height:0;margin:0;padding:5px 7px;border:1px solid #c5cbc7;border-radius:0;background:transparent;color:#59615b;font-size:11px;line-height:1.2;white-space:nowrap}.po-payment-choices .po-payment-choice+.po-payment-choice{border-left:0}.po-payment-choice.paid span{color:#237a42}.po-payment-choice.partial span{color:#c99400}.po-payment-choices .po-payment-choice[aria-pressed="true"]{background:#eef2ed;box-shadow:inset 0 -2px #77877a}.po-payment-choices .po-payment-choice.partial[aria-pressed="true"]{background:#fff9e5;box-shadow:inset 0 -2px #c99400}.po-payment-choices .po-payment-choice.paid[aria-pressed="true"]{background:#eef6ee;box-shadow:inset 0 -2px #237a42}.po-payment-choice:focus-visible{outline:2px solid #244632;outline-offset:2px}@media print{.po-payment-note,.po-payment-tick{display:none!important}}
.work-site-locked-editor{min-width:110px}
.work-site-locked-editor>summary{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 15px;border:1px solid #275f49;background:#fff;color:#174f3b;font-weight:700;cursor:pointer;list-style:none}
.work-site-locked-editor>summary::-webkit-details-marker{display:none}
.work-site-locked-editor[open]>summary{margin-bottom:9px;background:#eef3eb}
.work-site-row-inactive{background:#fafbf8}
.work-site-row-inactive .work-site-card-edit{min-width:560px}
.invoice-register-heading .button-link{align-self:center}
.invoice-register-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.invoice-register-summary .panel{margin:0;border-top:3px solid var(--green);padding:14px 16px}
.invoice-register-summary h3{margin:0 0 11px;font-size:16px}
.invoice-register-summary article>div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.invoice-register-summary article>div span{color:var(--muted);font-size:12px}.invoice-register-summary article>div:last-child{font-weight:800}
.invoice-register-period{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.invoice-register-period label{display:grid;gap:4px;font-size:12px;font-weight:800}.invoice-register-period input{min-height:38px}.invoice-register-period button,.invoice-register-period .button-link{min-height:38px}
.invoice-register-period small{flex-basis:100%;color:var(--muted);line-height:1.4}
.job-based-timesheet-enable{margin:10px 0;padding:10px 12px;border:1px solid var(--line);background:#f8faf6}
.job-based-timesheet-enable summary{cursor:pointer;font-weight:800;color:var(--green)}
.job-based-timesheet-enable form{display:flex;align-items:end;gap:12px;margin:12px 0 6px}.job-based-timesheet-enable label{display:grid;gap:4px;max-width:210px}.job-based-timesheet-enable small{color:var(--muted)}
.invoice-register .money,.invoice-detail .money{text-align:right;white-space:nowrap}
.invoice-detail .invoice-line-title,.invoice-detail .invoice-line-note{display:block}.invoice-detail .invoice-line-note{margin-top:5px;line-height:1.35;white-space:normal}
.invoice-status{display:inline-block;padding:4px 8px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;background:#e9ece7;color:#405046}
.invoice-status-sent{background:#fff2bd;color:#765800}.invoice-status-paid{background:#dcefd8;color:#20552b}.invoice-status-overdue{background:#f7d9d3;color:#7b2317}.invoice-status-part-paid{background:#e8e2f7;color:#4d347d}.invoice-status-cancelled{background:#e6e6e6;color:#555}.invoice-status-issued{background:#e4edf4;color:#294f6b}
.invoice-client-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:12px;align-items:end;margin:16px 0 22px}.invoice-client-form .client-address-field{grid-column:1/4}.invoice-client-form button{min-height:38px}.invoice-client-list{display:grid;border-top:1px solid var(--line)}.invoice-client-row{display:grid;grid-template-columns:1.25fr 1.15fr 1.5fr auto auto;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.invoice-client-row>div{display:grid;gap:3px}.invoice-client-row span{color:var(--muted);font-size:12px}.invoice-client-address{line-height:1.35}.invoice-client-edit>summary{padding:7px 12px;border:1px solid var(--green);color:var(--green);font-weight:800;cursor:pointer;list-style:none}.invoice-client-edit>summary::-webkit-details-marker{display:none}.invoice-client-edit[open]{grid-column:1/-1}.invoice-client-edit-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;padding:14px;background:#f6f7f2;border:1px solid var(--line)}.invoice-client-edit-form .client-address-field{grid-column:1/4}
.invoice-form{display:grid;gap:18px;overflow:hidden}.invoice-header-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;align-items:start}.invoice-header-grid label{display:flex;min-width:0;flex-direction:column}.invoice-header-grid label>input,.invoice-header-grid label>select{height:39px}.invoice-header-grid label>small{min-height:28px;padding-top:5px}.invoice-header-grid .invoice-to-field{grid-column:1/3}.invoice-header-grid .client-address-field{grid-column:3/5}.invoice-header-grid .project-address-field{grid-column:3/5}.invoice-header-grid textarea{width:100%;resize:vertical}.invoice-line{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:22px;align-items:end;margin:0 0 14px;padding:15px 16px;border:1px solid #d6d8d2;overflow:hidden}.invoice-line legend{padding:0 6px;font-weight:800}.invoice-line-main{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:end;min-width:0}.invoice-line label{display:flex;min-width:0;flex-direction:column}.invoice-line-description input{height:39px}.invoice-line-description textarea{min-height:58px;resize:vertical}.invoice-calculation select{height:39px}.invoice-mode-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;min-width:0}.invoice-mode-fields label[data-for-mode="amount"]{grid-column:1/-1}.invoice-mode-fields input{width:100%;height:39px}.invoice-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:14px 0}.invoice-actions-grid .panel{margin:0}.invoice-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-bottom:22px}.invoice-detail-grid span,.invoice-detail-grid dt{font-size:11px;font-weight:800;color:#536057;letter-spacing:.04em}.invoice-detail-grid>div>strong{display:block;margin:10px 0}.invoice-detail-grid dl{display:grid;grid-template-columns:150px 1fr;gap:10px;margin:0}.invoice-detail-grid dt,.invoice-detail-grid dd{margin:0}.invoice-total-block{display:grid;justify-content:end;gap:8px;margin-top:14px}.invoice-total-block span{display:grid;grid-template-columns:150px 130px;gap:20px}.invoice-total-block strong{text-align:right}.invoice-total-block span:nth-last-child(-n+1){padding-top:8px;border-top:1px solid #777;font-size:1.1em}
@media(max-width:1000px){.invoice-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-header-grid .invoice-to-field,.invoice-header-grid .client-address-field,.invoice-header-grid .project-address-field{grid-column:auto}.invoice-line{grid-template-columns:1fr}.invoice-client-form,.invoice-client-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-client-form .client-address-field,.invoice-client-edit-form .client-address-field{grid-column:1/-1}.invoice-client-row{grid-template-columns:1fr 1fr auto}.invoice-client-address{grid-column:1/3}.invoice-detail-grid{grid-template-columns:1fr}.work-site-row-inactive .work-site-card-edit{min-width:0}}
@media(max-width:650px){.invoice-header-grid,.invoice-line-main,.invoice-mode-fields,.invoice-client-form,.invoice-client-edit-form,.invoice-client-row{grid-template-columns:1fr}.invoice-header-grid .invoice-to-field,.invoice-header-grid .client-address-field,.invoice-header-grid .project-address-field,.invoice-client-form .client-address-field,.invoice-client-edit-form .client-address-field,.invoice-client-address{grid-column:1}.invoice-client-edit[open]{grid-column:1}}
@media(max-width:750px){.invoice-register-summary{grid-template-columns:1fr}}
.invoice-header-grid label{position:relative}.invoice-header-grid .optional{position:absolute;top:0;right:0;font-size:11px;color:var(--muted)}
.invoice-client-form label,.invoice-client-edit-form label{display:flex;min-width:0;flex-direction:column;gap:5px}.invoice-client-form input,.invoice-client-form textarea,.invoice-client-edit-form input,.invoice-client-edit-form textarea,.invoice-client-edit-form select{width:100%}.invoice-client-form .client-address-field,.invoice-client-edit-form .client-address-field{grid-column:1/3}.invoice-client-form .client-project-field,.invoice-client-edit-form .client-project-field{grid-column:3/5}.invoice-client-form>button{grid-column:4;justify-self:stretch}.invoice-client-row{grid-template-columns:1.1fr 1fr 1.2fr 1.2fr auto auto}.invoice-client-address span{display:block;margin-bottom:4px;font-size:10px;font-weight:800;letter-spacing:.04em}.invoice-profile-save{display:grid;grid-template-columns:minmax(360px,1.4fr) minmax(260px,1fr);gap:18px;align-items:end;padding:12px 14px;background:#f2f5ee;border-left:3px solid var(--green)}.invoice-profile-save .checkbox-label{display:flex;align-items:center;gap:9px;margin:0}.invoice-profile-save .checkbox-label input{width:auto}.invoice-profile-save>label:last-child{display:flex;flex-direction:column;gap:5px}.invoice-profile-save input[type="text"],.invoice-profile-save>label:last-child input{width:100%}
@media(max-width:1000px){.invoice-client-row{grid-template-columns:1fr 1fr}.invoice-client-row>.table-status,.invoice-client-row>.invoice-client-edit{justify-self:start}.invoice-client-form .client-address-field,.invoice-client-form .client-project-field,.invoice-client-edit-form .client-address-field,.invoice-client-edit-form .client-project-field{grid-column:1/-1}.invoice-profile-save{grid-template-columns:1fr}}
.quotation-editor{display:grid;gap:16px;max-width:100%}.quotation-editor>.panel{margin:0}.quotation-editor h3{margin:0 0 16px}.quotation-editor h4{margin:18px 0 10px}.quotation-editor label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:700}.quotation-editor label:has(>input[type="checkbox"]){flex-direction:row;align-items:center;gap:8px}.quotation-editor input:not([type="checkbox"]),.quotation-editor textarea,.quotation-editor select{width:100%;min-height:38px;box-sizing:border-box}.quotation-editor textarea{resize:vertical}.quotation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}.quotation-basis-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 90px 170px;gap:10px;margin:8px 0}.quotation-section{border:1px solid var(--line);padding:14px;margin:14px 0;background:#fafbf8}.quotation-section-head{display:flex;align-items:end;gap:12px}.quotation-section-head>label{flex:1}.quotation-display-controls{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0}.quotation-item-row{display:grid;grid-template-columns:minmax(0,2.3fr) 90px 90px 125px 130px auto;gap:8px;align-items:end;padding:9px 0;border-top:1px solid var(--line)}.quotation-list-row{display:flex;align-items:end;gap:9px;margin:6px 0}.quotation-list-row>label{flex:1}.quotation-editor button.secondary-button{width:auto;min-height:36px}.quotation-editor details{border-top:1px solid var(--line);margin:14px 0;padding:10px 0}.quotation-editor details>summary{cursor:pointer;font-weight:800}.quotation-editor details>summary label{display:inline-flex;flex-direction:row;align-items:center}.quotation-save-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.quotation-save-bar span{color:var(--muted);font-size:12px}.quotation-detail-section{border-top:1px solid var(--line);padding:12px 0}.quotation-detail-section h4{display:flex;justify-content:space-between;gap:15px;margin:0 0 8px}.quotation-detail-section>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.quotation-detail-section>div span{color:var(--muted)}.quotation-detail-total{display:grid;grid-template-columns:minmax(170px,1fr) 130px;gap:8px;max-width:370px;margin:20px 0 0 auto;padding-top:12px;border-top:1px solid var(--line)}.quotation-detail-total strong{text-align:right}.quotation-detail-total>span:nth-last-child(2),.quotation-detail-total>strong:last-child{font-weight:800;font-size:16px}
.quotation-inspection-row{display:grid;grid-template-columns:max-content minmax(180px,260px);align-items:end;gap:20px;margin:8px 0}.quotation-editor .quotation-inspection-row>label:first-child{align-self:center}.quotation-editor .quotation-basis-row{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 70px 150px auto;align-items:end;margin:5px 0}.quotation-editor .quotation-basis-row input{min-height:34px}.quotation-editor [data-quotation-basis]+button{margin:2px 0 8px}.quotation-editor .quotation-list-row{margin:4px 0}.quotation-item-change{grid-column:1/-2;display:flex;align-items:end;gap:12px}.quotation-item-change>label:first-child{min-width:290px}.quotation-item-change>label:last-child{flex:1}.quotation-detail>p{white-space:pre-line}
.quotation-detail-item{border-top:1px solid var(--line);padding:8px 0}.quotation-detail-item>div:first-child{display:flex;justify-content:space-between;gap:16px}.quotation-detail-item>div:first-child>span:first-child{white-space:pre-line}.quotation-detail-item>div:first-child>span:last-child{color:var(--muted);text-align:right}.quotation-item-removed>div:first-child>span:first-child{text-decoration:line-through}.quotation-image-list{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.quotation-item-image{width:60mm;margin:0}.quotation-item-image img{display:block;width:60mm;height:45mm;object-fit:contain;border:1px solid var(--line);background:#fff}.quotation-item-image figcaption{font-size:11px;color:var(--muted);margin-top:3px}.quotation-image-upload{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:7px}.quotation-image-upload label{font-size:11px;font-weight:700}.quotation-image-upload input[type="file"]{max-width:240px}.quotation-image-upload input[name="caption"]{min-height:35px}.quotation-image-upload button{min-height:35px}
@media(max-width:950px){.quotation-basis-row{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-item-row{grid-template-columns:minmax(0,2fr) repeat(2,minmax(80px,1fr));gap:8px}.quotation-item-row>label:first-child{grid-column:1/-1}}
@media(max-width:950px){.quotation-editor .quotation-basis-row{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-item-change{grid-column:1/-1}}
@media(max-width:600px){.quotation-form-grid,.quotation-basis-row,.quotation-item-row{grid-template-columns:1fr}.quotation-item-row>label:first-child{grid-column:1}.quotation-section-head{align-items:stretch;flex-direction:column}.quotation-detail-section>div{flex-direction:column;gap:3px}}
@media(max-width:600px){.quotation-inspection-row{grid-template-columns:1fr;gap:8px}.quotation-item-change{grid-column:1;display:grid}.quotation-item-change>label:first-child{min-width:0}}
@media(max-width:600px){.quotation-editor .quotation-basis-row{grid-template-columns:1fr}.quotation-detail-item>div:first-child{flex-direction:column;gap:3px}.quotation-detail-item>div:first-child>span:last-child{text-align:left}}
.quotation-list-card{margin:14px 0}.quotation-list-card h3{margin-top:0}.quotation-pagination{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:12px}.quotation-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.quotation-type-card{border:1px solid var(--line);padding:16px;display:grid;gap:10px}.quotation-type-card h3,.quotation-type-card p{margin:0}.quotation-type-card code{font-size:12px}.quotation-terms-form{display:grid;gap:12px}.quotation-term-editor{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:9px}.quotation-term-editor h4{margin:0}.quotation-term-editor textarea{min-height:115px;width:100%}.quotation-term-editor input{width:100%}.quotation-panel-actions{display:flex;gap:8px;margin-top:16px}.quotation-panel-collapsed>:not(h3):not(.quotation-panel-actions){display:none}.quotation-image-picker,.quotation-image-list{grid-column:1/-1}.quotation-save-status{position:sticky;top:0;z-index:4}.quotation-save-error{background:#fff0ed;color:#7d2519}.quotation-client-status{display:flex;gap:8px;flex-wrap:wrap}.quotation-item-row>.quotation-image-list{display:flex;gap:8px;flex-wrap:wrap}.quotation-item-row>.quotation-image-list .quotation-item-image{width:90px;height:68px;margin:0}.quotation-item-row>.quotation-image-list img{width:100%;height:100%;object-fit:contain}
@media(max-width:750px){.quotation-type-grid{grid-template-columns:1fr}.portal-nav-menu{align-self:stretch}.portal-nav-menu>div{position:static;box-shadow:none}}
.quotation-section-meta{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:10px;margin-bottom:10px}.quotation-part-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:11px 13px;border-top:3px solid var(--green);background:#f2f5ee}.quotation-part-heading h4{margin:0;font-size:16px}.quotation-part-heading strong{white-space:nowrap}.quotation-style-note{color:#873b2e}.quotation-detail-section .quotation-style-note>div:first-child>span:first-child{color:#873b2e}.quotation-style-highlight{border-left:3px solid #c79522;background:#fff8dc;padding-left:10px}.quotation-detail-section .quotation-style-highlight>div:first-child>span:first-child{color:#805900;font-weight:700}.quotation-image-list,.quotation-detail-section>.quotation-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(60mm,100%),60mm));justify-content:center;align-items:start;gap:14px}.quotation-item-image{display:grid;grid-template-rows:45mm minmax(2.6em,auto);justify-items:center;align-items:start;width:60mm}.quotation-item-image img{box-sizing:border-box}.quotation-item-image figcaption{width:100%;overflow-wrap:anywhere;text-align:center}.quotation-item-row>.quotation-image-list{display:grid;grid-template-columns:repeat(auto-fill,90px);justify-content:start;align-items:center;gap:10px}.quotation-item-row>.quotation-image-list .quotation-item-image{display:block;width:90px;height:68px}.quotation-item-row>.quotation-image-list img{box-sizing:border-box}.quotation-detail-section>.quotation-section-images{padding:9px 0}
.quotation-level-lines-collapsed [data-item-row]:not([data-price-carrier]){display:none}.quotation-level2-fields{margin:8px 0}.quotation-price-carrier{grid-template-columns:minmax(160px,1fr) repeat(2,minmax(80px,120px)) minmax(150px,1fr) minmax(150px,1fr)}.quotation-item-note,.quotation-item-change{grid-column:1/-1}.quotation-item-note>div,.quotation-item-change>div{max-width:680px;margin-top:7px}.quotation-item-change{display:flex;align-items:center;flex-wrap:wrap}.quotation-item-change>div{flex:1;min-width:260px}.quotation-edit-removed textarea[name$="_description"]{text-decoration:line-through;color:#666}.quotation-detail-section>.quotation-detail-item{display:block}.quotation-detail-section .quotation-detail-item>.quotation-line{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:20px;min-height:37px;padding:5px 0;text-align:left}.quotation-detail-section .quotation-line>span:first-child{color:var(--ink);white-space:pre-line;text-align:left}.quotation-detail-section .quotation-line>span:last-child{color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.quotation-detail-section .quotation-item-removed .quotation-line>span:last-child{color:var(--muted)}.quotation-line-note{margin:2px 0 8px 0;padding-left:10px;border-left:2px solid #9e4b3a;color:#873b2e;white-space:pre-line;text-align:left}.quotation-part-heading{align-items:center}.quotation-detail-section h4{align-items:center}.quotation-detail-section h4 span{white-space:nowrap;text-align:right}
.quotation-editor .quotation-section-head,.quotation-editor .quotation-item-row{align-items:center;text-align:left}
.quotation-editor.quotation-editor .quotation-item-row{grid-template-columns:minmax(0,2fr) repeat(3,minmax(135px,1fr))}.quotation-editor.quotation-editor .quotation-price-carrier{grid-template-columns:minmax(280px,1fr) repeat(2,minmax(160px,.6fr))}.quotation-calculation{display:grid;gap:8px;min-width:0}.quotation-calculation-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:end}.quotation-calculation-fields[hidden]{display:none}.quotation-calculation-fields[data-direct-fields]{grid-template-columns:1fr}.quotation-editor.quotation-editor .quotation-item-row>label:first-of-type textarea[name$="_description"]{min-height:108px}.quotation-client-badge{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid;border-radius:3px;font-size:12px;font-weight:800;white-space:nowrap}.quotation-client-badge-not_sent{color:#525b60;border-color:#acb5b9;background:#f6f7f7}.quotation-client-badge-sent{color:#20557d;border-color:#78a9ce;background:#f0f7fc}.quotation-client-badge-accepted{color:#215a3c;border-color:#75ae89;background:#f0f8f1}.quotation-client-badge-rejected{color:#902f2a;border-color:#cf8680;background:#fff3f1}.quotation-admin-correction{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:13px}.quotation-admin-correction label{display:grid;gap:4px;min-width:180px}.quotation-admin-correction input{min-height:36px}.quotation-admin-revision{margin-top:14px}.quotation-part-heading{padding:10px 13px}.quotation-part-heading h4,.quotation-part-heading strong{font-size:18px;font-weight:800;color:#173f2d}.quotation-detail-section h4{padding:8px 13px;font-size:14px;font-weight:500;color:var(--ink)}.quotation-detail-section h4 span{font-size:14px;font-weight:500;color:var(--ink)}
@media(max-width:700px){.quotation-editor.quotation-editor .quotation-item-row,.quotation-editor.quotation-editor .quotation-price-carrier{grid-template-columns:1fr}.quotation-calculation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.quotation-section-meta{grid-template-columns:1fr}.quotation-part-heading{align-items:flex-start;flex-direction:column;gap:5px}.quotation-image-list,.quotation-detail-section>.quotation-image-list{grid-template-columns:repeat(auto-fill,minmax(min(60mm,100%),60mm))}}
.quotation-part-heading h4,.quotation-part-heading strong{font-size:17px;line-height:1.35}.quotation-detail-section h4,.quotation-detail-section h4 span{font-size:15px;line-height:1.35}.quotation-detail-section>.quotation-detail-item{padding:6px 13px}.quotation-detail-section>.quotation-detail-item.quotation-style-highlight{padding-left:13px}.quotation-detail-section .quotation-detail-item>.quotation-line{width:100%;min-height:36px;align-items:center;justify-items:start;gap:16px;padding:0;box-sizing:border-box}.quotation-detail-section .quotation-line>span:first-child{font-size:13px;line-height:1.4;text-align:left;align-self:center}.quotation-detail-section .quotation-line>span:last-child{font-size:13px;line-height:1.4;justify-self:end;text-align:right;align-self:center}.quotation-detail-section .quotation-line-note{text-align:left;font-size:12.5px;line-height:1.4}.quotation-admin-revision>summary{cursor:pointer;font-weight:800}.quotation-admin-revision>summary .quotation-admin-edit{float:right;color:#24543b;font-family:inherit;font-size:13px}.quotation-admin-revision[open]>summary{margin-bottom:12px}
.quotation-item-row>.quotation-image-list .quotation-item-image{display:flex;flex-direction:column;align-items:stretch;gap:4px;height:auto;min-height:68px}.quotation-item-row>.quotation-image-list .quotation-item-image img{height:68px;object-fit:contain}.quotation-editor .quotation-delete-image{min-height:27px;padding:3px 5px;font-size:11px;line-height:1.2}
.quotation-detail-section .quotation-detail-item .quotation-line>span:only-child{grid-column:1/-1;width:100%;justify-self:start;text-align:left;font-size:13px;line-height:1.4;white-space:pre-line}
.quotation-part>.quotation-part-heading,.quotation-detail-section>.quotation-section-heading{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.quotation-part>.quotation-part-heading::-webkit-details-marker,.quotation-detail-section>.quotation-section-heading::-webkit-details-marker{display:none}.quotation-part>.quotation-part-heading::before,.quotation-detail-section>.quotation-section-heading::before{content:'▸';flex:none;width:12px;color:var(--green);font-size:16px;line-height:1;text-align:center}.quotation-part[open]>.quotation-part-heading::before,.quotation-detail-section[open]>.quotation-section-heading::before{content:'▾'}.quotation-part>.quotation-part-heading h4,.quotation-detail-section>.quotation-section-heading h4{flex:1;min-width:0}.quotation-detail-section>.quotation-section-heading h4{margin:0}.quotation-part>.quotation-part-heading:focus-visible,.quotation-detail-section>.quotation-section-heading:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.quotation-editor .quotation-item-row.quotation-needs-confirmation{background:#fff8dc;border:2px solid #c79522;border-radius:4px;padding:12px}.quotation-editor .quotation-confirmation-toggle{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:8px;color:#745100}.quotation-detail-section>.quotation-detail-item.quotation-needs-confirmation{background:#fff8dc;border-left:3px solid #c79522}.quotation-confirmation-badge{display:block;margin:2px 0 4px;color:#745100;font-size:11px;font-weight:700}.quotation-scope-label{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.9em;align-items:start}.quotation-scope-label>span:last-child{white-space:pre-line}.quotation-item-ordinal,.quotation-detail-section .quotation-line>span.quotation-price-status{color:#707773}.quotation-detail-section .quotation-line>span.quotation-price-status{justify-self:end;text-align:right}
.quotation-editor .quotation-item-save{grid-column:1/-1;justify-self:end;min-height:29px;padding:5px 11px;font-size:11px}.quotation-editor .quotation-item-save:disabled{opacity:.7}
.quotation-editor textarea[name="payment_detail"]{min-height:150px;line-height:1.5}
.quotation-payment-stage{display:grid;grid-template-columns:minmax(170px,2fr) minmax(130px,1fr) minmax(110px,1fr) auto;align-items:end;gap:8px;margin:8px 0}.quotation-payment-stage button{min-height:38px}.quotation-editor [data-payment-fields]{margin:14px 0}.quotation-editor [data-payment-type],.quotation-editor [data-payment-staged]{margin:10px 0}.quotation-editor [data-payment-proposed]{color:var(--muted)}@media(max-width:700px){.quotation-payment-stage{grid-template-columns:1fr 1fr}.quotation-payment-stage>label:first-child{grid-column:1/-1}}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier){display:grid;grid-template-columns:minmax(0,2fr) minmax(190px,1fr) minmax(190px,1fr);align-items:start;gap:10px 14px;margin:10px 0;padding:14px;border:1px solid var(--line);border-radius:5px;background:#fff;text-align:left}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:first-of-type{grid-column:1;grid-row:1 / span 2}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-calculation{grid-column:2;grid-row:1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(select[name$="_price_mode"]){grid-column:3;grid-row:1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(select[name$="_presentation"]){grid-column:2;grid-row:2}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(input[name$="_included_in"]){grid-column:3;grid-row:2}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-confirmation-toggle{grid-column:1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-note{grid-column:2/-1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-change{grid-column:1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-image-picker{grid-column:2/-1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-image-list{grid-column:1/-1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>[data-remove-item-permanently]{grid-column:1;justify-self:start;width:auto}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-save{grid-column:3;justify-self:end}
.quotation-editor .quotation-item-row>label:first-of-type textarea[name$="_description"]{font-family:inherit;font-size:13px;line-height:1.45;min-height:170px}
.quotation-editor .quotation-item-row .quotation-calculation,.quotation-editor .quotation-item-row>label{align-self:start}
@media(max-width:900px){.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier){grid-template-columns:1fr 1fr}.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:first-of-type{grid-column:1/-1;grid-row:auto}.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-calculation,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(select[name$="_price_mode"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(select[name$="_presentation"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(input[name$="_included_in"]){grid-column:auto;grid-row:auto}.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-confirmation-toggle,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-note,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-change,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-image-picker{grid-column:1/-1}.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-save{grid-column:2}}
@media(max-width:560px){.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier){grid-template-columns:1fr}.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:first-of-type,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-calculation,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(select[name$="_price_mode"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(select[name$="_presentation"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:has(input[name$="_included_in"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-save{grid-column:1;grid-row:auto}}
.quotation-detail-section .quotation-scope-label .quotation-item-ordinal{color:#707773}
.quotation-detail-section .quotation-detail-item .quotation-line>span.quotation-price-status{color:#707773;text-align:right;justify-self:end}
.quotation-detail-section .quotation-line-note{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.3em;margin:0;padding:0 0 0 10px;line-height:1.4;white-space:pre-line}
.quotation-detail-section .quotation-line-note>span{align-self:start}
.quotation-edit-group{margin:12px 0;border:1px solid #c9d1c9;border-radius:5px;background:#fff;overflow:hidden}
.quotation-edit-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:13px 15px;background:#f2f6f0;border-top:3px solid var(--green)}
.quotation-edit-group-head>label{font-size:13px;font-weight:800}.quotation-edit-group-head>label input{font-size:16px;font-weight:750}
.quotation-edit-group-options{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;font-size:12px}.quotation-edit-group-options label{display:flex;align-items:center;gap:6px;white-space:nowrap}.quotation-edit-group-options output,.quotation-section-total output{font-weight:800;font-variant-numeric:tabular-nums}
.quotation-edit-group [data-group-sections]{padding:0 14px}.quotation-editor .quotation-edit-group .quotation-section{margin:0;padding:13px 0;border:0;border-top:1px solid var(--line);background:transparent}.quotation-edit-group .quotation-section:first-child{border-top:0}
.quotation-editor .quotation-edit-group .quotation-display-controls{margin:0 0 8px;gap:15px}.quotation-edit-group .quotation-section-head{display:flex;align-items:end;gap:10px;margin:0 0 8px}.quotation-edit-group .quotation-section-head>label{flex:1}.quotation-section-total{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:12px}.quotation-section-total output{display:inline-block;margin-left:5px;color:var(--ink);font-size:14px}
.quotation-editor .quotation-edit-group [data-add-item],.quotation-edit-group>[data-add-subcategory]{margin:7px 0 12px}.quotation-edit-group>[data-add-subcategory]{margin-left:14px}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(240px,1.1fr) minmax(190px,.8fr) minmax(140px,.7fr);align-items:end;gap:9px;padding:9px 11px;background:#f8faf7;border:1px solid var(--line);border-radius:4px}
.quotation-price-carrier .quotation-level-amount-label{align-self:center;font-size:12px}.quotation-edit-group .quotation-price-carrier>.quotation-image-picker{grid-column:1/3}.quotation-edit-group .quotation-price-carrier>.quotation-image-list{grid-column:3}.quotation-edit-group .quotation-price-carrier>.quotation-item-save{grid-column:4;justify-self:end}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-section-auto-total .quotation-price-carrier{display:none}.quotation-editor.quotation-editor .quotation-edit-group .quotation-level-lines-collapsed [data-quotation-items]>[data-item-row]:not(.quotation-price-carrier){display:none}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quotation-item-actions .quotation-item-save{margin-left:auto;min-height:36px}.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-change:has([data-change-fields][hidden]),.quotation-item-row>.quotation-image-list:empty{display:none}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier).quotation-needs-confirmation{background:#fff4c9;border:2px solid #c79522;box-shadow:inset 0 0 0 1px #e2bd5c}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:0;min-height:36px}
.quotation-editor .quotation-item-actions>button{width:auto;min-height:36px;margin:0;white-space:nowrap}
.quotation-editor .quotation-item-actions>.quotation-item-save{margin-left:0}
.quotation-editor .quotation-cleanliness-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px}
.quotation-warranty-card{padding:14px;border:1px solid #94b2d4;border-left:3px solid #3874b6;border-radius:5px;background:#f7faff;margin:10px 0}
.quotation-warranty-register{grid-column:1/-1;width:100%}
.quotation-add-warranty{grid-column:1/-1;justify-self:start;border:2px solid #3975b8!important;background:#eef6ff!important;color:#174a82!important;font-weight:800}
.quotation-warranty-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.quotation-warranty-preview{margin:10px 0;padding:8px 12px;border-left:3px solid #94b2d4;background:#f7faff}
.quotation-form-grid>.quotation-warranty-card{grid-column:1/-1}
.quotation-warranty-primary,.quotation-warranty-secondary{display:grid;gap:12px}
.quotation-warranty-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
.quotation-warranty-secondary{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}
.quotation-warranty-secondary>label{padding:10px;border:1px solid #ccdaeb;border-radius:4px;background:#fff}
.quotation-warranty-secondary textarea{min-height:76px}
.quotation-warranty-legacy{margin:12px 0 0}
@media(max-width:700px){.quotation-warranty-primary,.quotation-warranty-secondary{grid-template-columns:1fr}}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-confirmation-toggle,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-note,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-image-picker{grid-column:1/-1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>label:first-of-type textarea[name$="_description"]{min-height:118px}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-item-note>div{max-width:none}
.quotation-detail-section .quotation-line-note{margin-bottom:8px}
.quotation-external-child-heading{background:#f4f7f1;border-left:3px solid #78977d;padding:7px 10px;margin-top:8px}.quotation-external-child-heading .quotation-section-heading h4{font-size:14px;font-weight:750}.quotation-external-nested{margin-left:22px}.quotation-editor .quotation-external-child-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.quotation-editor .quotation-external-child-heading label{display:flex;align-items:center;flex-direction:row;gap:7px}.quotation-editor .quotation-external-child-heading input{width:110px;min-height:30px}.quotation-editor .quotation-section:has([data-external-child-title]) .quotation-section-head{margin-left:12px}
.quotation-contractor-register{grid-column:1/-1;display:grid;gap:10px}
.quotation-supply-register{grid-column:1/-1;display:grid;gap:14px}
.quotation-supply-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.quotation-supply-row>label{min-width:0}
.quotation-supply-row>label:first-child{grid-column:1/-1}
.quotation-supply-row>button{grid-column:1/-1;justify-self:start;width:auto}
.quotation-add-supply{grid-column:1/-1;justify-self:start;width:auto}
.quotation-contractor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px}
.quotation-contractor-row>label{min-width:0}
.quotation-contractor-row>button{width:auto;white-space:nowrap}
.quotation-add-contractor{grid-column:1/-1;justify-self:start;width:auto}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier).quotation-treatment-nonpriced>label:has(select[name$="_price_mode"]){grid-column:2/-1;grid-row:1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-included-parent-hint{grid-column:3;grid-row:2;align-self:end}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-separate-price-hint{grid-column:1/-1}
.quotation-included-parent-hint,.quotation-separate-price-hint{margin:0;color:#5d6862;font-size:12px;line-height:1.4}
@media(max-width:900px){.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier).quotation-treatment-nonpriced>label:has(select[name$="_price_mode"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-included-parent-hint{grid-column:1/-1;grid-row:auto}}
@media(max-width:560px){.quotation-contractor-row{grid-template-columns:1fr}.quotation-contractor-row>button{justify-self:start}}
.quotation-edit-group-options .quotation-part-amount{display:flex;align-items:center;gap:7px;white-space:nowrap}.quotation-part-amount input{width:130px;min-width:100px}.quotation-group-auto-total .quotation-edit-group-options .quotation-part-amount{display:none}
.quotation-edit-group-options .quotation-part-amount[hidden]{display:none}
.quotation-appendix-file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
@media(max-width:900px){.quotation-edit-group-head{grid-template-columns:1fr}.quotation-edit-group-options{justify-content:space-between}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{grid-template-columns:1fr 1fr}.quotation-price-carrier .quotation-level-amount-label{grid-column:1/-1}.quotation-edit-group .quotation-price-carrier>.quotation-image-picker,.quotation-edit-group .quotation-price-carrier>.quotation-image-list{grid-column:1/-1}.quotation-edit-group .quotation-price-carrier>.quotation-item-save{grid-column:2}}
@media(max-width:600px){.quotation-edit-group .quotation-section-head{flex-wrap:wrap}.quotation-section-total{margin-left:0}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{grid-template-columns:1fr}.quotation-edit-group .quotation-price-carrier>.quotation-item-save{grid-column:1}.quotation-item-actions .quotation-item-save{margin-left:0}}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-calculation{display:grid;grid-template-columns:minmax(140px,1fr) minmax(125px,1fr);gap:8px;align-items:end}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-calculation:has([data-quantity-fields]:not([hidden])){grid-template-columns:1fr}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-calculation-fields{min-width:0}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-calculation label{min-width:0}
.quotation-editor .quotation-carrier-images{grid-column:1/4;margin:0;padding:0;border:0;font-size:11px}.quotation-editor .quotation-carrier-images>summary{display:inline-block;color:var(--muted);font-weight:700}.quotation-editor .quotation-carrier-images>.quotation-image-picker{max-width:320px;margin-top:7px}.quotation-editor .quotation-carrier-images>.quotation-image-list{margin:6px 0}
.quotation-edit-group-head{grid-template-columns:minmax(0,1fr) auto}.quotation-edit-group-head>.quotation-edit-group-options{grid-column:1/-1;grid-row:2;justify-content:flex-start;min-width:0}.quotation-edit-group-head>.quotation-level-save{grid-column:2;grid-row:1}.quotation-level-save{min-height:34px;padding:6px 10px;font-size:11px;white-space:nowrap}.quotation-section-head .quotation-level-save{align-self:end}
.quotation-contingency-editor{margin:20px 0 12px;padding:15px;border:1px solid var(--line);border-top:3px solid var(--green);background:#fafbf8}.quotation-contingency-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.quotation-contingency-heading h4{margin:0}.quotation-contingency-heading output{font-weight:800}.quotation-contingency-editor>label{max-width:320px;margin:12px 0}.quotation-contingency-editor h5{margin:16px 0 7px;font-size:12px}.quotation-contingency-reference{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.quotation-contingency-reference span:last-child{color:var(--muted);text-align:right}.quotation-contingency-manual-row{display:flex;align-items:end;gap:10px;margin:8px 0}.quotation-contingency-manual-row label{flex:1}.quotation-contingency-note{margin:16px 0;padding:8px 12px;border-left:3px solid #873b2e;color:#873b2e;line-height:1.45}.quotation-contingency-detail .quotation-price-status{color:var(--muted)}.quotation-contingency-detail .quotation-line-note{margin-top:12px}
@media(max-width:650px){.quotation-contingency-reference{grid-template-columns:1fr;gap:2px}.quotation-contingency-reference span:last-child{text-align:left}.quotation-contingency-manual-row{align-items:stretch;flex-direction:column}}
@media(max-width:900px){.quotation-edit-group-head{grid-template-columns:minmax(0,1fr) auto}.quotation-edit-group-head>.quotation-edit-group-options{grid-column:1/-1;grid-row:2}.quotation-edit-group-head>.quotation-level-save{grid-column:2;grid-row:1}}
.quotation-detail-item.quotation-fourth-level{margin-left:14px;padding-left:8px;border-left:1px solid var(--line)}
.quotation-detail-item.quotation-deep-child{margin-left:28px}
.quotation-detail-section .quotation-detail-item.quotation-fourth-level .quotation-line>span:first-child{color:var(--ink)}
.quotation-detail-section .quotation-detail-item.quotation-primary-line .quotation-line>span:first-child{font-weight:700}
.quotation-detail-section .quotation-inline-line,.quotation-detail-section .quotation-inline-subpoint{display:block}
.quotation-detail-section .quotation-inline-subpoint{margin:4px 0 0 20px;color:var(--ink);font-weight:400}
.quotation-detail-section .quotation-subpoint-number{color:#707773;font-weight:400}
.quotation-detail-section>.quotation-detail-item.quotation-virtual-subcategory{margin:7px 0 3px;background:#eef4ec;border-left:3px solid #7fa083}
.quotation-detail-section>.quotation-virtual-section{margin:8px 0;border-top:1px solid var(--line)}
.quotation-detail-section>.quotation-virtual-section>.quotation-section-heading{margin:0;background:#eaf3e8;border-left:3px solid #80a787}
.quotation-virtual-section>.quotation-section-heading{max-width:100%;min-width:0;box-sizing:border-box}
.quotation-virtual-section>.quotation-section-heading h4{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;width:100%;overflow-wrap:anywhere}
.quotation-virtual-section>.quotation-section-heading h4>span:first-child{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
.quotation-virtual-section>.quotation-section-heading h4>span:last-child{flex:0 0 auto;white-space:nowrap}
.quotation-detail-section.quotation-virtual-leaf>.quotation-section-heading,.quotation-detail-section.quotation-static-section>.quotation-section-heading{cursor:default}
.quotation-detail-section.quotation-virtual-leaf>.quotation-section-heading::before,.quotation-detail-section.quotation-static-section>.quotation-section-heading::before{content:'●';font-size:8px;color:var(--green)}
.quotation-virtual-section>.quotation-virtual-intro{margin:8px 20px;color:var(--ink);font-size:13px}
.quotation-virtual-section>.quotation-detail-item{background:#fbfdfb;padding:6px 13px}
.quotation-virtual-section>.quotation-detail-item.quotation-fourth-level{margin-left:14px;padding-left:8px}
.quotation-editor .quotation-item-row.quotation-virtual-subcategory>.quotation-item-compact{background:#eef4ec;border-left:3px solid #7fa083}
.quotation-editor .quotation-payment-warning{padding:8px 10px;border-left:3px solid #c79522;background:#fff8dc;color:#745100}
.quotation-editor .quotation-item-row.quotation-fourth-level{margin-left:20px;border-left:3px solid var(--line)}
.quotation-editor .quotation-item-row.quotation-deep-child{margin-left:40px}
.quotation-editor .quotation-item-row.quotation-fourth-level>label:first-of-type{color:#707773}
.quotation-editor .quotation-item-row [data-add-subitem][hidden]{display:none}
.quotation-contingency-note.quotation-style-highlight{border-left:3px solid #c79522;background:#fff8dc;color:#805900}
.quotation-contingency-detail .quotation-line-note.quotation-style-highlight{margin:12px 0 8px;padding:9px 12px;border-left:3px solid #c79522;background:#fff8dc;color:#805900}
.invoice-actions-grid>.invoice-receipt-form,.invoice-actions-grid>.invoice-cancel-form{min-width:0;padding:12px 14px;align-items:center;gap:9px}
.invoice-receipt-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(125px,150px) minmax(125px,150px) auto}
.invoice-cancel-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.invoice-receipt-form h3,.invoice-cancel-form h3{margin:0;white-space:nowrap}
.invoice-receipt-form label,.invoice-cancel-form label{min-width:0;margin:0;font-size:11px;font-weight:800}
.invoice-receipt-form label{display:grid;gap:3px}
.invoice-cancel-form label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center}
.invoice-receipt-form input,.invoice-cancel-form input{width:100%;min-width:0;height:36px;padding:6px 8px}
.invoice-receipt-form button,.invoice-cancel-form button{min-height:36px;white-space:nowrap}
@media(max-width:1100px){.invoice-actions-grid{grid-template-columns:1fr}}
@media(max-width:650px){.invoice-receipt-form{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-receipt-form h3{grid-column:1/-1}.invoice-cancel-form{grid-template-columns:1fr auto}.invoice-cancel-form h3{grid-column:1/-1}}
.quotation-version-history{margin-top:12px}
.quotation-version-history>summary{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border-radius:3px;background:#e4e2da;color:var(--ink);font-size:13px;font-weight:800;cursor:pointer;list-style:none}
.quotation-version-history>summary::-webkit-details-marker{display:none}
.quotation-version-history ol{margin:10px 0 0;padding:0;list-style:none}
.quotation-version-history li{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.quotation-version-history li:last-child{border-bottom:0}
.quotation-version-history small{color:var(--muted)}
.quotation-editor .quotation-edit-group-head{background:#dcebd9;border-top-color:#315a40}
.quotation-editor .quotation-edit-group .quotation-section-head{padding:10px 12px;background:#eaf3e8;border-left:3px solid #80a787;border-radius:3px}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-item-row:not(.quotation-price-carrier){background:#f8fbf7;border:1px solid #dce8db;border-radius:4px;padding:11px;margin:8px 0}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-item-row.quotation-needs-confirmation:not(.quotation-price-carrier){background:#fff4c9;border:2px solid #c79522}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{background:#f5faf4}
.quotation-part>.quotation-part-heading{background:#dcebd9;border-top-color:#315a40}
.quotation-edit-group.quotation-group-removed{border-color:#c79522;background:#fff9e8}
.quotation-edit-group.quotation-group-removed [data-group-title],.quotation-edit-group.quotation-group-removed [data-section-title-label] input,.quotation-edit-group.quotation-group-removed [data-item-summary],.quotation-edit-group.quotation-group-removed textarea[name$="_description"]{text-decoration:line-through;color:#666}
.quotation-part.quotation-group-removed>.quotation-part-heading h4,.quotation-part.quotation-group-removed .quotation-section-heading h4,.quotation-part.quotation-group-removed .quotation-detail-item .quotation-line>span:first-child{text-decoration:line-through;color:#666}
.quotation-part.quotation-group-removed .quotation-part-heading strong,.quotation-part.quotation-group-removed .quotation-section-heading h4 span,.quotation-part.quotation-group-removed .quotation-price-status{color:#666}
.quotation-detail-section>.quotation-section-heading{background:#eaf3e8;border-left:3px solid #80a787}
.quotation-detail-section>.quotation-detail-item{background:#fbfdfb}
.quotation-editor .quotation-scope-extras{margin:0 14px 8px;padding:7px 11px;border:1px solid #d5e3d3;border-radius:3px;background:#f8fbf7}
.quotation-editor [data-section-extras]>.quotation-scope-extras{margin:0 0 8px}
.quotation-editor .quotation-scope-extras>summary{font-size:12px;color:#315a40}
.quotation-editor .quotation-scope-extras-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:10px;margin-top:9px}
.quotation-editor .quotation-scope-extras-body>.quotation-image-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.quotation-scope-note{margin:9px 13px!important;padding:8px 10px!important;background:#f6faf5;border-left:3px solid #80a787}
@media(max-width:650px){.quotation-editor .quotation-scope-extras-body{grid-template-columns:1fr}}
.quotation-editor{grid-template-columns:minmax(0,1fr);min-width:0}.quotation-editor>.panel,.quotation-editor [data-quotation-sections],.quotation-editor .quotation-edit-group,.quotation-editor .quotation-section{min-width:0;max-width:100%}
.quotation-editor .quotation-item-row.quotation-item-collapsed{display:block;padding:7px 10px;cursor:pointer}
.quotation-editor .quotation-item-row.quotation-item-collapsed>:not([data-item-compact]){display:none!important}
.quotation-editor .quotation-item-row:not(.quotation-item-collapsed)>[data-item-compact]{display:none}
.quotation-item-compact{display:flex;align-items:center;gap:12px;min-width:0}
.quotation-item-compact strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.quotation-item-compact span{color:#68736c;font-size:12px;font-weight:700;white-space:nowrap}
.quotation-item-compact .quotation-item-saved{color:#315a40}
.quotation-editor .quotation-item-compact button{flex:none;padding:6px 10px;min-height:32px}
.quotation-editor .quotation-edit-group .quotation-section-head{flex-wrap:wrap}
.quotation-editor .quotation-insert-before{white-space:nowrap}
.quotation-editor .quotation-insert-before{border:2px solid #3975b8!important;background:#eef6ff!important;color:#174a82!important;font-weight:800;box-shadow:0 0 0 2px #d8eaff inset}
.quotation-editor .quotation-inserted-card{outline:2px solid #3975b8;outline-offset:2px}
.quotation-editor .quotation-insert-before:hover,.quotation-editor .quotation-insert-before:focus-visible{background:#dcecff!important;outline:2px solid #174a82;outline-offset:2px}
.quotation-editor [data-add-item],.quotation-editor [data-add-contractor]{border:2px solid #3975b8!important;background:#eef6ff!important;color:#174a82!important;font-weight:800;box-shadow:0 0 0 2px #d8eaff inset}
.quotation-editor [data-add-item]:hover,.quotation-editor [data-add-item]:focus-visible,.quotation-editor [data-add-contractor]:hover,.quotation-editor [data-add-contractor]:focus-visible{background:#dcecff!important;outline:2px solid #174a82;outline-offset:2px}
.quotation-editor .quotation-carrier-images>summary{cursor:pointer}
.quotation-editor .quotation-carrier-images>summary::before{content:'▸';display:inline-block;margin-right:6px;color:#315a40}
.quotation-editor .quotation-carrier-images[open]>summary::before{content:'▾'}
.quotation-editor .quotation-scope-extras-body>label:first-child{grid-column:1/-1;min-width:0}
.quotation-editor .quotation-scope-extras-body>label:first-child textarea,.quotation-editor .quotation-item-note textarea{display:block;width:100%;box-sizing:border-box}
.quotation-prepare-action{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.quotation-prepare-action>span{color:#556270;font-size:12px;line-height:1.4}
.quotation-issue-action{margin-top:10px;padding:10px 12px;border:1px solid #cbdccf;border-left:3px solid #3975b8;background:#f6faf7}
.quotation-issue-action button:disabled{opacity:.8;background:#d7e0da;color:#314538}
.quotation-issue-action>span strong{color:#174a82}
.quotation-editor .quotation-section-confirmation-toggle{display:flex;align-items:center;flex-direction:row;gap:8px;margin:0 0 9px;padding:7px 12px;border:1px solid #e1d39d;background:#fffaf0;color:#745100;font-weight:700}
.quotation-editor .quotation-section-confirmation-toggle input{flex:none}
.quotation-editor .quotation-edit-group .quotation-section.quotation-needs-confirmation{margin:8px 0 12px;padding:12px;border:2px solid #c79522;border-radius:4px;background:#fff4c9;box-shadow:inset 0 0 0 1px #e2bd5c}
.quotation-editor .quotation-edit-group .quotation-section.quotation-needs-confirmation>.quotation-section-head,
.quotation-editor .quotation-edit-group .quotation-section.quotation-needs-confirmation>.quotation-section-confirmation-toggle,
.quotation-editor .quotation-edit-group .quotation-section.quotation-needs-confirmation [data-section-extras]>.quotation-scope-extras,
.quotation-editor.quotation-editor .quotation-edit-group .quotation-section.quotation-needs-confirmation .quotation-price-carrier{background:#fff4c9;border-color:#e2bd5c}
.quotation-editor .quotation-edit-group.quotation-group-removed{border:2px solid #c79522;background:#fff4c9;box-shadow:inset 0 0 0 1px #e2bd5c}
.quotation-editor .quotation-edit-group.quotation-group-removed .quotation-edit-group-head,
.quotation-editor .quotation-edit-group.quotation-group-removed .quotation-section-head,
.quotation-editor .quotation-edit-group.quotation-group-removed .quotation-scope-extras,
.quotation-editor.quotation-editor .quotation-edit-group.quotation-group-removed .quotation-price-carrier,
.quotation-editor .quotation-edit-group.quotation-group-removed .quotation-item-row{background:#fff4c9;border-color:#e2bd5c}
.quotation-editor .quotation-item-row.quotation-item-collapsed{padding:5px 8px}
.quotation-item-compact{gap:7px}

/* Quotation editor review and action layout */
.quotation-editor .quotation-panel-collapsed{padding-bottom:14px}
.quotation-editor .quotation-panel-collapsed>:not(h3){display:none!important}
.quotation-editor [data-edit-panel]>h3{cursor:pointer}
.quotation-editor [data-edit-panel]>h3::before{content:'▾';display:inline-block;width:18px;color:#315a40}
.quotation-editor [data-edit-panel].quotation-panel-collapsed>h3{margin-bottom:0}
.quotation-editor [data-edit-panel].quotation-panel-collapsed>h3::before{content:'▸'}
.quotation-editor [data-edit-panel]>h3:focus-visible{outline:2px solid #315a40}
.quotation-editor .supporting-note,.quotation-editor .quotation-level-guide,.quotation-editor .quotation-included-parent-hint,.quotation-editor .quotation-separate-price-hint,.quotation-editor .quotation-image-picker small,.quotation-prepare-action>span{color:#9e3111}
.quotation-editor .quotation-edit-group-head{grid-template-columns:minmax(0,1fr) auto auto}
.quotation-editor .quotation-edit-group-head>.quotation-edit-group-options{grid-column:1;grid-row:2;justify-content:flex-start}
.quotation-editor .quotation-edit-group-head>.quotation-level-save{grid-column:3;grid-row:1}
.quotation-editor .quotation-edit-group-head>[data-toggle-group-removed]{grid-column:2;grid-row:2}
.quotation-editor .quotation-edit-group-head>[data-delete-group]{grid-column:3;grid-row:2}
.quotation-editor .quotation-edit-group [data-group-sections]>.quotation-section{border:1px solid #bdcfbd;border-radius:5px;background:#fff;margin:10px 0;padding:10px}
.quotation-editor .quotation-edit-group .quotation-section-head>label{flex:2 1 380px}
.quotation-editor .quotation-edit-group .quotation-section-head>label input{width:100%;min-width:0}
.quotation-editor .quotation-carrier-images{border:1px solid #d5e3d3;border-radius:3px;background:#f8fbf7;padding:7px 11px;margin:4px 0}
.quotation-editor .quotation-carrier-images>summary{display:list-item;color:#315a40;font-size:12px;font-weight:800}
.quotation-editor .quotation-carrier-images>summary::before{content:none}
.quotation-list-row textarea{min-height:55px}
.quotation-warranty-disclosure{margin:12px 0}
.quotation-warranty-disclosure>summary{cursor:pointer;font-size:16px;font-weight:800;color:#173f2d;padding:8px 0}
.quotation-status-panel{padding-top:14px;padding-bottom:14px}
.quotation-status-panel h3{margin:0 0 8px}
.quotation-status-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px}
.quotation-status-line>span:first-child{display:inline-flex;align-items:center;gap:5px}
.quotation-status-panel form[action$="/new-revision"]{display:flex;align-items:end;flex-wrap:wrap;gap:7px 10px;margin:8px 0 0}
.quotation-status-panel form[action$="/new-revision"] label{display:flex;align-items:center;gap:6px;margin:0}
.quotation-status-panel form[action$="/new-revision"] p{flex-basis:100%;margin:2px 0 8px;color:#9e3111}
.quotation-status-panel .quotation-client-status{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.quotation-admin-action{border-top:1px solid var(--line);padding:10px 0}
.quotation-admin-action summary{cursor:pointer;font-weight:800}
.quotation-admin-action p{color:#9e3111}
@media(max-width:900px){.quotation-editor .quotation-edit-group-head{grid-template-columns:1fr auto auto}.quotation-editor .quotation-edit-group-head>.quotation-edit-group-options{grid-column:1/-1;grid-row:2}.quotation-editor .quotation-edit-group-head>[data-toggle-group-removed]{grid-column:2;grid-row:3}.quotation-editor .quotation-edit-group-head>[data-delete-group]{grid-column:3;grid-row:3}}
.quotation-editor .quotation-item-compact button,.quotation-editor .quotation-item-actions>.quotation-insert-before{min-height:29px;padding:4px 7px;font-size:11px;font-weight:600}
.quotation-editor .quotation-insert-before{font-weight:600}
.quotation-detail-section.quotation-needs-confirmation>.quotation-section-heading{flex-wrap:wrap;background:#fff8dc;border-left-color:#c79522}
.quotation-detail-section.quotation-needs-confirmation>.quotation-section-heading>.quotation-confirmation-badge{flex-basis:100%;margin:0 0 2px 22px}
.quotation-editor .quotation-payment-stage>.quotation-stage-help{grid-column:1;grid-row:2;margin:0;color:#556270;font-size:11px;line-height:1.35}
.quotation-editor .quotation-payment-stage>label:first-child{grid-column:1;grid-row:1}
.quotation-editor .quotation-payment-stage>label:nth-of-type(2){grid-column:2;grid-row:1}
.quotation-editor .quotation-payment-stage>label:nth-of-type(3){grid-column:3;grid-row:1}
.quotation-editor .quotation-payment-stage>button{grid-column:4;grid-row:1}

/* Scope hierarchy: one cohesive, high-contrast card per subcategory. */
.quotation-editor .quotation-edit-group [data-group-sections]>.quotation-section{border:2px solid #668b70;border-left:6px solid #315a40;border-radius:6px;background:#fff;box-shadow:0 2px 8px #193b251c;margin:14px 0;padding:0 13px 10px}
.quotation-editor .quotation-edit-group .quotation-section-head{display:flex;align-items:end;flex-wrap:wrap;gap:9px 12px;margin:0 -13px 0;padding:11px 13px;background:#e4efe4;border:0;border-bottom:1px solid #c4d7c6;border-radius:0}
.quotation-editor .quotation-edit-group .quotation-section-head>label{flex:1 1 540px;min-width:min(100%,380px)}
.quotation-editor .quotation-edit-group .quotation-section-head>label input{width:100%;min-width:0;box-sizing:border-box}
.quotation-editor .quotation-section-confirmation-toggle{margin:0 -13px;padding:9px 13px;border:0;border-bottom:1px solid #d7e0d5;background:transparent}
.quotation-editor .quotation-section [data-section-extras]>.quotation-scope-extras{margin:0 -13px;padding:8px 13px;border:0;border-bottom:1px solid #d7e0d5;border-radius:0;background:transparent}
.quotation-editor .quotation-section>.quotation-display-controls{margin:0 -13px;padding:8px 13px;border-bottom:1px solid #d7e0d5;background:#f5f8f3}
.quotation-editor.quotation-editor .quotation-section .quotation-price-carrier{margin:0 -13px;padding:11px 13px;border:0;border-bottom:1px solid #d7e0d5;border-radius:0;background:transparent}
.quotation-editor .quotation-section.quotation-needs-confirmation{border-color:#c79522;border-left-color:#ac7517;background:#fff4c9}
.quotation-editor.quotation-editor .quotation-section.quotation-needs-confirmation>.quotation-section-head,.quotation-editor.quotation-editor .quotation-section.quotation-needs-confirmation>.quotation-display-controls,.quotation-editor.quotation-editor .quotation-section.quotation-needs-confirmation [data-section-extras]>.quotation-scope-extras,.quotation-editor.quotation-editor .quotation-section.quotation-needs-confirmation .quotation-price-carrier{background:#fff4c9;border-color:#e2bd5c}
.quotation-editor .quotation-carrier-images{grid-column:1/4;margin:1px 0;padding:0;border:0;background:transparent}
.quotation-editor .quotation-carrier-images>summary{display:list-item;width:100%;padding:8px 12px;border-left:4px solid #315a40;background:#e3efe4;color:#173f2d;font-size:14px;font-weight:800;cursor:pointer;box-sizing:border-box}
.quotation-editor .quotation-carrier-images>summary::before{content:'▸';display:inline-block;margin-right:8px}
.quotation-editor .quotation-carrier-images[open]>summary::before{content:'▾'}
.quotation-editor .quotation-image-picker small{display:block;margin-top:8px;font-size:14px;font-weight:650;line-height:1.45}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-separate-price-hint{grid-column:3;grid-row:2;align-self:end}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-separate-price-hint,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-included-parent-hint{max-width:100%;padding:0;border:0;background:transparent}
.quotation-pricing-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;cursor:pointer;border:0;border-radius:0;font-size:15px;font-weight:800}
.quotation-pricing-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quotation-pricing-summary>span::before{content:'▾';display:inline-block;width:19px}
.quotation-pricing-summary[aria-expanded="false"]>span::before{content:'▸'}
.quotation-pricing-summary>strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.quotation-editor .quotation-group-summary{padding:12px 15px;background:#dcebd9;color:#173f2d;border-top:3px solid #315a40}
.quotation-editor .quotation-subcategory-summary{padding:10px 12px;margin:0 -13px;width:calc(100% + 26px);background:#e4efe4;color:#173f2d}
.quotation-editor .quotation-pricing-summary[hidden]{display:none!important}
.quotation-editor .quotation-group-collapsed>:not([data-toggle-pricing-group]):not(input[type="hidden"]){display:none!important}
.quotation-editor .quotation-section-collapsed>:not([data-toggle-pricing-subcategory]):not(input[type="hidden"]){display:none!important}
.quotation-editor .quotation-section.quotation-subcategory-removed{border-color:#c79522;background:#fff9e8}
.quotation-editor .quotation-subcategory-removed [data-section-title-label] input,.quotation-editor .quotation-subcategory-removed [data-item-summary],.quotation-detail-section.quotation-subcategory-removed h4,.quotation-detail-section.quotation-subcategory-removed .quotation-line>span:first-child{text-decoration:line-through;color:#666}
.quotation-detail-section.quotation-subcategory-removed .quotation-line>span:last-child{color:#666}
.quotation-editor .quotation-subcategory-removed .quotation-section-head,.quotation-editor .quotation-subcategory-removed .quotation-subcategory-summary{background:#fff1d2}
.quotation-editor .quotation-item-actions>[data-collapse-item]{margin-left:auto}
.work-header .danger-link{background:#fff3ec;border:1px solid #9e3111;color:#9e3111}
@media(max-width:900px){.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier)>.quotation-separate-price-hint{grid-column:1/-1;grid-row:auto}.quotation-editor.quotation-editor .quotation-edit-group .quotation-section-head>label{min-width:0;flex-basis:100%}}

/* Compact hierarchy and action forms. */
.quotation-editor .quotation-section.quotation-section-collapsed{height:44px!important;min-height:0!important;max-height:44px!important;padding:0!important;overflow:hidden;box-sizing:border-box;background:#e4efe4!important}
.quotation-editor .quotation-section-collapsed>.quotation-subcategory-summary{height:40px;margin:0;width:100%;padding:7px 10px}
.quotation-editor .quotation-group-collapsed{height:49px;min-height:0;max-height:49px;overflow:hidden;background:#dcebd9}
.quotation-editor .quotation-group-collapsed>.quotation-group-summary{height:46px}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier){border:1px solid #315a40!important;background:#f7fbf6!important;box-shadow:0 1px 3px #173f2d14}
.quotation-editor.quotation-editor .quotation-item-row.quotation-needs-confirmation:not(.quotation-price-carrier){border-color:#c79522!important;border-left-color:#a97111!important;background:#fff4c9!important}
.quotation-editor .quotation-item-row:not(.quotation-item-collapsed)>[data-item-compact]{display:flex;grid-column:1/-1;margin:-11px -11px 2px;padding:6px 10px;border-bottom:1px solid #b8ceba;background:#e3efe4}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>[data-item-compact]{grid-row:1}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>label:first-of-type{grid-row:2/span 2}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-calculation,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>label:has(select[name$="_price_mode"]){grid-row:2}
.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>label:has(select[name$="_presentation"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-included-reference,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-included-parent-hint,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-separate-price-hint{grid-row:3}
.quotation-editor .quotation-item-row:not(.quotation-item-collapsed)>[data-item-compact]>:not([data-toggle-item]){display:none!important}
.quotation-editor .quotation-item-row.quotation-item-collapsed>[data-item-compact]{display:flex}
.quotation-editor .quotation-item-compact .quotation-item-summary-toggle{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto;width:100%!important;padding:3px 0!important;min-height:25px!important;background:transparent!important;border:0!important;color:#173f2d!important;text-align:left;cursor:pointer}
.quotation-editor .quotation-item-summary-toggle::before{content:'▸';flex:none;font-size:12px}
.quotation-editor .quotation-item-row:not(.quotation-item-collapsed) .quotation-item-summary-toggle::before{content:'▾'}
.quotation-editor .quotation-item-summary-toggle strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.quotation-editor .quotation-item-summary-toggle span{flex:none;font-size:12px;color:#315a40}
.quotation-editor .quotation-item-row[data-dirty="1"] .quotation-item-saved{color:#9e3111}
.quotation-editor .quotation-item-row.quotation-item-collapsed{padding:5px 8px!important}
.quotation-editor .quotation-item-row.quotation-item-collapsed>[data-item-compact]>:not([data-toggle-item]){display:none!important}
.quotation-editor .quotation-item-row.quotation-item-collapsed .quotation-item-summary-toggle{width:100%!important;min-height:32px!important}
.quotation-editor .quotation-image-picker{gap:2px}
.quotation-editor .quotation-image-picker input[type="file"]{min-height:0!important;height:28px!important;width:auto!important;max-width:100%;padding:0!important;align-self:flex-start}
.quotation-editor .quotation-image-picker small{margin-top:0;font-size:14px;line-height:1.3}
.quotation-editor .quotation-image-picker small{font-weight:400}
.quotation-editor .quotation-payment-stage>.quotation-stage-help{color:#9e3111}
.quotation-admin-correction{display:grid;grid-template-columns:minmax(220px,320px) minmax(290px,1fr) auto;align-items:end;gap:10px 16px}
.quotation-admin-correction>label:has(>input[type="checkbox"]){display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;margin:0 0 8px;font-size:13px;font-weight:600}
.quotation-admin-correction>label:has(>input[type="checkbox"]) input{width:auto;min-height:0;height:auto;flex:none}
.quotation-admin-correction>button{white-space:nowrap}
.quotation-admin-action>p{margin:10px 0 4px}
.panel form[action^="/quotations/"][action$="/cancel"]{display:flex;align-items:end;flex-wrap:wrap;gap:8px 12px;margin-top:16px}
.panel form[action^="/quotations/"][action$="/cancel"] label{display:grid;gap:5px;min-width:240px;max-width:320px}
@media(max-width:900px){.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>label:first-of-type,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-calculation,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>label:has(select[name$="_price_mode"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>label:has(select[name$="_presentation"]),.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-included-reference,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-included-parent-hint,.quotation-editor.quotation-editor .quotation-item-row:not(.quotation-price-carrier):not(.quotation-item-collapsed)>.quotation-separate-price-hint{grid-row:auto}}
@media(max-width:850px){.quotation-admin-correction{grid-template-columns:1fr}.quotation-admin-correction>button{justify-self:start}.panel form[action^="/quotations/"][action$="/cancel"]{align-items:flex-start}}
.quotation-detail-section>.quotation-virtual-section.quotation-virtual-leaf{display:block;width:100%;box-sizing:border-box}
.quotation-detail-section>.quotation-virtual-section.quotation-virtual-leaf>.quotation-section-heading{display:flex;width:100%;box-sizing:border-box}
.quotation-virtual-section>.quotation-detail-item.quotation-third-level{margin-left:0;padding-left:13px}
.quotation-editor .quotation-item-row.quotation-third-level[data-outline-level="4"]{margin-left:20px;border-left:3px solid var(--line)}
@media(max-width:700px){.quotation-editor .quotation-payment-stage>.quotation-stage-help,.quotation-editor .quotation-payment-stage>label:first-child,.quotation-editor .quotation-payment-stage>label:nth-of-type(2),.quotation-editor .quotation-payment-stage>label:nth-of-type(3),.quotation-editor .quotation-payment-stage>button{grid-column:auto;grid-row:auto}.quotation-editor .quotation-payment-stage>label:first-child,.quotation-editor .quotation-payment-stage>.quotation-stage-help{grid-column:1/-1}}
@media(max-width:650px){.quotation-item-compact{flex-wrap:wrap}.quotation-item-compact strong{flex-basis:100%}}
.cost-category-field{position:relative}
.cost-category-field .cost-cascader-native{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
.cost-cascader{min-width:0}
/* Keep removed content uniformly muted and summary notes inside the page. */
.quotation-item-removed .quotation-line > span,
.quotation-item-removed .quotation-line > span *,
.quotation-item-removed > .quotation-section-heading h4,
.quotation-item-removed > .quotation-section-heading h4 span,
.quotation-subcategory-removed > .quotation-section-heading h4,
.quotation-subcategory-removed > .quotation-section-heading h4 span,
.quotation-group-removed .quotation-part-heading h4,
.quotation-group-removed .quotation-part-heading strong { color: var(--muted) !important; }
.quotation-item-removed > .quotation-section-heading h4 > span:first-child { text-decoration: line-through; }
.quotation-detail-section .quotation-summary-note { display: block; min-width: 0; max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; white-space: normal; }
.quotation-line-note > span { min-width: 0; overflow-wrap: anywhere; }
[data-budget-note] { grid-column: 1 / -1; min-width: 0; }
[data-budget-note] textarea { width: 100%; box-sizing: border-box; }
.cost-cascader-trigger{display:block;width:100%;min-height:36px;text-align:left;padding:7px 30px 7px 9px;border:1px solid #b9beb9;border-radius:3px;background:#fff;color:var(--ink);font:inherit;line-height:1.4;position:relative}
.cost-cascader-trigger:after{content:'▾';position:absolute;right:10px;top:8px}
.cost-cascader-trigger:focus-visible,.cost-cascader-option:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.cost-cascader-trigger:disabled{background:#f1f3ed;color:var(--muted);cursor:not-allowed}
.cost-cascader-status{display:block;margin-top:5px;color:#93451f;font-weight:600}
.cost-cascader-panel{position:fixed;z-index:10000;background:#fff;border:1px solid #a5b3a6;border-radius:4px;box-shadow:0 5px 20px #0003;overflow:hidden;font-size:13px}
.cost-cascader-panel[hidden],.cost-cascader-status[hidden]{display:none}
.cost-cascader-columns{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(180px,1.25fr)}
.cost-cascader-columns>section{display:flex;flex-direction:column;min-height:0;min-width:0}
.cost-cascader-columns>section+section{border-left:1px solid #dce2dc}
.cost-cascader-columns h4{margin:0;padding:10px 12px;font-size:12px;font-weight:800;background:#eef3e9;color:#325840}
.cost-cascader-options{overflow-y:auto;flex:1;padding:4px;overscroll-behavior:contain}
.cost-cascader-option{display:block;width:100%;margin:0;padding:10px 9px;background:#fff;color:#172b20;border:0;border-radius:2px;text-align:left;font:inherit;line-height:1.35;white-space:normal}
.cost-cascader-option:hover{background:#f2f6ef}.cost-cascader-option.selected{background:#e4eee2;color:#245538;font-weight:750}
@media(max-width:480px){.cost-cascader-columns{grid-template-columns:42% 58%}.cost-cascader-option{padding:10px 6px;font-size:13px}.cost-cascader-trigger{min-height:44px}}
/* Keep the base/PS warning above one aligned pricing row. */
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(240px,1.5fr);gap:14px;padding:14px}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-level-amount-label{grid-column:1/-1;display:block;font-size:14px;line-height:1.5;margin:0}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-base-ps-warning{padding:12px 14px;background:#fff3cf;border:1px solid #d5aa44;border-left:4px solid #b67b14;border-radius:4px;color:#62420c}
.quotation-base-ps-warning strong{display:block;font-size:15px}
.quotation-base-ps-warning [data-base-amount-explanation]{display:block;margin-top:4px;font-size:13px;font-weight:400}
.quotation-base-ps-warning [data-base-amount-explanation][hidden]{display:none}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-calculation{grid-column:1/3;grid-template-columns:1fr 1fr;align-items:end;gap:14px;min-width:0}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-calculation>[data-quantity-fields]{grid-template-columns:1fr 1fr}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>label,.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier .quotation-calculation label{min-width:0}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-carrier-images,.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>[data-provisional-total-control],.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>[data-budget-note]{grid-column:1/-1}
.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-item-save{grid-column:3;justify-self:end}
@media(max-width:900px){.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{grid-template-columns:1fr 1fr}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>label{grid-column:1/-1}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-item-save{grid-column:2}}
@media(max-width:600px){.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier{grid-template-columns:minmax(0,1fr)}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-calculation{grid-column:1;grid-template-columns:minmax(0,1fr)}.quotation-editor.quotation-editor .quotation-edit-group .quotation-price-carrier>.quotation-item-save{grid-column:1}}
.quotation-editor .quotation-excludes-ps [data-direct-fields]{position:relative}
.quotation-editor .quotation-excludes-ps [data-direct-fields]::after{content:"Excluding Provisional Sums";position:absolute;right:25px;bottom:12px;color:#a5aaa6;font:11px Arial,sans-serif;pointer-events:none;white-space:nowrap}
.quotation-editor .quotation-excludes-ps [data-direct-fields] input{padding-right:170px}
