:root {
  --ink: #172126;
  --steel: #334b57;
  --blue: #1d596c;
  --orange: #d8582d;
  --cream: #f5f0e5;
  --paper: #fffdf7;
  --line: #c9c5b9;
  --white: #fff;
  --mustard: #e9ad2f;
  --member-workspace: 1240px;
  --member-gutter: 1.5rem;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; line-height: 1.5; }
a { color: inherit; }
.skip-link { position: fixed; z-index: 10; top: 0; left: 1rem; padding: .7rem 1rem; color: white; background: var(--ink); transform: translateY(-120%); }
.skip-link:focus { transform: none; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 4px solid var(--mustard); outline-offset: 3px; }
.member-header { color: var(--white); background: var(--ink); border-bottom: 5px solid var(--orange); }
.report-problem-link { opacity: .7; font-size: .85em; }
.report-problem-link:hover, .report-problem-link:focus-visible, .report-problem-link[aria-current="page"] { opacity: 1; }
.member-header-inner { width: min(var(--member-workspace), calc(100% - (2 * var(--member-gutter)))); min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-inline: auto; padding-block: .8rem; }
.member-brand { display: flex; align-items: center; gap: .75rem; color: var(--white); font-size: 1.05rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.member-brand strong { color: #ff8b63; }
.member-brand small { display: block; color: #bfc8cc; font-size: .65rem; letter-spacing: .13em; }
.brand-mark { display: grid; width: 43px; height: 43px; place-items: center; color: var(--ink); background: var(--cream); border: 3px solid var(--orange); font-size: .78rem; }
nav { display: flex; align-items: center; gap: 1.2rem; }
nav a, nav button { color: var(--white); background: none; border: 0; font: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
nav a[aria-current="page"] { color: #ff8b63; text-decoration: underline; text-underline-offset: .35rem; text-decoration-thickness: 2px; }
nav form { margin: 0; }
.member-nav-group-label { display: none; }
.member-nav-toggle { display: none; align-items: center; gap: .5rem; padding: .55rem .7rem; color: var(--white); background: none; border: 2px solid rgba(255,255,255,.4); font: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.member-nav-toggle-icon, .member-nav-toggle-icon::before, .member-nav-toggle-icon::after { display: block; width: 20px; height: 2px; background: var(--white); content: ""; }
.member-nav-toggle-icon { position: relative; }
.member-nav-toggle-icon::before { position: absolute; top: -6px; }
.member-nav-toggle-icon::after { position: absolute; top: 6px; }

/* Collapsible member navigation. Scoped to html.has-member-nav-js so that
   without JavaScript the pre-existing wrapping horizontal nav (see the
   780px rules below) remains the fallback, rather than a hamburger button
   with no script to open it. */
@media (max-width: 1360px) {
  html.has-member-nav-js .member-header-inner { flex-direction: row; flex-wrap: wrap; align-items: center; }
  html.has-member-nav-js .member-nav-toggle { display: inline-flex; }
  html.has-member-nav-js #member-nav { display: none; order: 3; width: 100%; flex-direction: column; align-items: stretch; gap: 0; margin-top: .6rem; }
  html.has-member-nav-js #member-nav.is-open { display: flex; }
  html.has-member-nav-js #member-nav a, html.has-member-nav-js #member-nav button { width: 100%; padding: .9rem .3rem; border-top: 1px solid rgba(255,255,255,.15); text-align: left; min-height: 44px; }
  html.has-member-nav-js #member-nav form { width: 100%; }
  html.has-member-nav-js #member-nav form button { width: 100%; }
  html.has-member-nav-js #member-nav a[aria-current="page"] { text-decoration: none; border-left: 3px solid var(--orange); padding-left: calc(.3rem + 3px); background: rgba(216,88,45,.12); }
  html.has-member-nav-js #member-nav .member-nav-group-label { display: block; margin: .9rem 0 .1rem; padding: 0 .3rem; color: #bfc8cc; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  html.has-member-nav-js #member-nav .member-nav-group-label:first-of-type { margin-top: .2rem; }
}

@media (prefers-reduced-motion: no-preference) {
  html.has-member-nav-js #member-nav.is-open { animation: member-nav-reveal .15s ease-out; }
}
@keyframes member-nav-reveal { from { opacity: 0; } to { opacity: 1; } }

.member-main { width: 100%; padding: clamp(2.4rem, 5vw, 4.5rem) 0; }
.member-workspace { width: min(var(--member-workspace), calc(100% - (2 * var(--member-gutter)))); margin-inline: auto; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: .8rem; font-size: clamp(2.5rem, 5vw, 4.5rem); letter-spacing: -.045em; line-height: 1; }
h2 { font-size: 1.35rem; }
.eyebrow { margin-bottom: .7rem; color: var(--orange); font-size: .74rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.login-card, .content-card { padding: clamp(1.4rem, 4vw, 2.4rem); background: var(--paper); border: 2px solid var(--ink); box-shadow: 8px 8px 0 rgba(23,33,38,.15); }
.login-card { width: min(520px, 100%); margin: 3vh auto; }
.login-card > p:not(.eyebrow, .form-error) { color: var(--steel); }
.form-field { margin: 1.25rem 0; }
.form-field label { display: block; margin-bottom: .4rem; font-weight: 800; }
.form-field input { width: 100%; min-height: 50px; padding: .65rem .75rem; border: 2px solid var(--steel); background: white; font: inherit; font-size: 1rem; }
.form-field select { width:100%; min-height:50px; padding:.65rem .75rem; border:2px solid var(--steel); background:white; font:inherit; }
.form-field small { display:block; margin-top:.35rem; color:var(--steel); }
.check-field { display:flex; align-items:center; gap:.6rem; margin:1rem 0; font-weight:800; }
.check-field input { width:22px; height:22px; }
.primary-button { min-height: 50px; padding: .75rem 1.35rem; color: white; background: var(--orange); border: 2px solid var(--ink); font: inherit; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.primary-button:hover { background: #b9421e; }
.form-error { padding: .8rem 1rem; color: #7b1a13; background: #fff0eb; border-left: 5px solid #a62e22; font-weight: 700; }
.notice { padding:.8rem 1rem; background:#e5efe8; border-left:5px solid #326746; font-weight:800; }
.notice-error { color:#7b1a13; background:#fff0eb; border-color:#a62e22; }
.login-note { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .88rem; }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.page-heading h1 { margin-bottom: 0; }
.text-link, .back-link { font-weight: 800; text-decoration-thickness: 2px; }
.back-link { display: inline-block; margin-bottom: 1.5rem; }
.summary-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: .8rem; margin-bottom: 2rem; }
.summary-grid article, .summary-grid a.summary-tile { min-height: 130px; padding: 1.2rem; color: white; background: var(--blue); border: 2px solid var(--ink); }
.summary-grid a.summary-tile { display: block; text-decoration: none; }
.summary-grid a.summary-tile:hover, .summary-grid a.summary-tile:focus-visible { filter: brightness(1.12); }
.summary-grid span { display: block; min-height: 2.8em; font-size: .76rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.summary-grid strong { display: block; font-size: 2.5rem; line-height: 1; }
.member-portal-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; align-items:center; margin-bottom:2rem; }
.member-portal-copy > p:not(.eyebrow,.copy-feedback) { color:var(--steel); }
.member-portal-url { margin:1rem 0; padding:.7rem .9rem; overflow-wrap:anywhere; background:var(--cream); border:1px solid var(--line); }
.portal-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.portal-action { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:.6rem .9rem; color:var(--ink); background:var(--paper); border:2px solid var(--ink); font:inherit; font-size:.76rem; font-weight:900; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.portal-action-primary { color:white; background:var(--orange); }
.copy-feedback { min-height:1.5em; margin:.6rem 0 0; color:var(--blue); font-weight:800; }
.member-portal-qr img { display:block; width:180px; max-width:100%; height:auto; border:2px solid var(--ink); image-rendering:pixelated; }
.branding-controls { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.branding-controls form { display:flex; flex-wrap:wrap; align-items:end; gap:.7rem; margin-top:.8rem; }
.branding-controls label { width:100%; font-weight:800; }
.branding-controls input[type=file] { max-width:100%; }
.branding-controls small { width:100%; color:var(--steel); }
.logo-preview { display:block; width:auto; max-width:260px; max-height:120px; object-fit:contain; margin:.7rem 0; }
.colour-controls { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.colour-field { display:grid; grid-template-columns:minmax(150px,1fr) 52px minmax(170px,1fr); gap:.6rem; align-items:center; width:100%; }
.colour-field label { width:auto; }
.colour-field input[type=color] { width:52px; height:46px; padding:2px; border:2px solid var(--ink); background:white; }
.colour-field input[type=text],.colour-field input[data-colour-hex] { min-height:46px; padding:.55rem; border:2px solid var(--steel); font:inherit; font-family:ui-monospace,monospace; text-transform:uppercase; }
.card-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 2px solid var(--ink); }
.recent-request-table { --recent-request-columns: minmax(190px, 1.15fr) minmax(180px, 1fr) minmax(280px, 1.65fr) minmax(165px, .85fr); }
.recent-request-head, .recent-request-row { display: grid; grid-template-columns: var(--recent-request-columns); gap: 1rem; align-items: center; }
.recent-request-head { padding: .9rem .65rem .7rem; border-bottom: 3px solid var(--ink); color: var(--steel); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.recent-request-row { min-height: 72px; padding: .8rem .65rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.recent-request-row:hover { background: var(--cream); }
.recent-location small { display: block; color: var(--steel); }
.request-workspace { overflow-x: auto; }
.request-table { min-width: 1220px; }
.request-table-head, .request-table-row { display: grid; grid-template-columns: 1.1fr 1.1fr 1.3fr 1.45fr .7fr .9fr .85fr .9fr; gap: 1rem; align-items: center; }
.request-table-head { padding: 0 .65rem .75rem; border-bottom: 3px solid var(--ink); color: var(--steel); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.request-table-row { min-height: 72px; padding: .8rem .65rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.request-table-row:hover { background: var(--cream); }
.request-table-row time small { display: block; color: var(--steel); }
.reference { color: var(--blue); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; font-weight: 800; }
.status { display: inline-flex; width: fit-content; padding: .3rem .55rem; background: #d9e2e5; border: 1px solid var(--steel); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.status-new { color: white; background: var(--orange); }
.status-complete { color: white; background: #326746; }
.visit-outcome { display: inline-flex; width: fit-content; padding: .3rem .55rem; border: 1px solid var(--steel); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.visit-outcome-green { color: white; background: #326746; }
.visit-outcome-amber { color: #1a1a1a; background: #e3a008; }
.visit-outcome-red { color: white; background: #a3261b; }
.visit-outcome-link { display: inline-block; text-decoration: none; border-radius: 2px; }
.visit-outcome-link:hover .visit-outcome, .visit-outcome-link:focus-visible .visit-outcome { box-shadow: 0 0 0 3px var(--mustard); }
.job-reference-link { color: var(--blue); font-weight: 800; text-decoration: underline; text-decoration-color: var(--line); }
.job-reference-link:hover, .job-reference-link:focus-visible { text-decoration-color: var(--blue); }
.timesheet-helper-note { margin: -.4rem 0 1.4rem; color: var(--steel); font-size: .85rem; font-style: italic; }
.timesheet-week-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem; }
.timesheet-week-range { color: var(--steel); font-size: .85rem; }
.timesheet-day { padding: 1rem 1.25rem; margin-bottom: .75rem; background: var(--paper); border: 2px solid var(--ink); }
.timesheet-day-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .6rem; padding-bottom: .5rem; margin-bottom: .75rem; border-bottom: 2px solid var(--ink); }
.timesheet-day-header h3 { margin: 0; font-size: 1rem; }
.timesheet-day-totals { display: flex; flex-wrap: wrap; gap: .9rem; font-size: .76rem; color: var(--steel); }
.timesheet-day-totals strong { color: var(--ink); }
.timesheet-subsection { margin-bottom: .85rem; }
.timesheet-subsection:last-child { margin-bottom: 0; }
.timesheet-subsection-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .35rem; }
.timesheet-subsection-header h4 { margin: 0; font-size: .74rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--steel); }
.timesheet-empty { margin: 0; color: var(--steel); font-size: .82rem; }
.timesheet-entry-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.timesheet-entry-row:last-child { border-bottom: none; }
.timesheet-entry-main { display: flex; flex-wrap: wrap; gap: .8rem; align-items: baseline; font-size: .83rem; min-width: 0; }
.timesheet-entry-main .time-range { font-weight: 800; }
.timesheet-entry-main .duration { font-weight: 900; color: var(--blue); text-align: right; }
.timesheet-entry-actions { display: flex; gap: .35rem; flex-shrink: 0; }
.btn-tiny { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: .3rem .6rem; font: inherit; font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; cursor: pointer; background: var(--paper); }
.btn-tiny.btn-edit { color: var(--ink); border: 2px solid var(--steel); }
.btn-tiny.btn-remove { color: #8b241b; border: 2px solid #8b241b; }
.btn-add-compact { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: .5rem .85rem; color: white; background: var(--steel); border: 2px solid var(--ink); font: inherit; font-size: .72rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.timesheet-week-totals { display: grid; gap: .45rem; }
.timesheet-week-totals .net-total { font-size: 1.05rem; }
.urgency { font-size: .74rem; font-weight: 900; text-transform: uppercase; }
.urgency-important { color: #8a4d00; }
.urgency-urgent { color: #a3261b; }
.operational-grid { display: grid; grid-template-columns: minmax(0, 2.25fr) minmax(300px, .75fr); gap: 1rem; align-items: start; }
.request-information { display: grid; grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr); gap: 1rem; }
.workflow-panel { position: sticky; top: 1.5rem; }
.workflow-panel label { display: block; margin-bottom: .4rem; font-weight: 800; }
.workflow-panel select { width: 100%; min-height: 50px; margin-bottom: 1rem; padding: .65rem; border: 2px solid var(--steel); background: white; font: inherit; }
.workflow-panel .primary-button { width: 100%; }
.workflow-note { margin: 1.2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--steel); font-size: .86rem; }
.danger-link { display:block; margin-top:1.25rem; padding-top:1rem; color:#8b241b; border-top:1px solid var(--line); font-weight:900; text-transform:uppercase; }
.danger-button { min-height:48px; padding:.7rem 1rem; color:white; background:#8b241b; border:2px solid var(--ink); font:inherit; font-weight:900; text-transform:uppercase; cursor:pointer; }
.confirmation-card form { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
.trash-list article { display:grid; grid-template-columns:minmax(240px,1fr) auto minmax(190px,auto) auto; gap:1rem; align-items:center; padding:1rem .4rem; border-bottom:1px solid var(--line); }
.trash-list article > div { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1rem; align-items:center; }
.sms-notice { display:flex; gap:.8rem; margin-bottom:1rem; padding:1rem; background:#fff3d1; border:2px solid var(--ink); border-left:8px solid var(--mustard); }
.sms-notice strong { text-transform:uppercase; }
.recipient-head,.recipient-row { display:grid; grid-template-columns:1fr 1.2fr 1fr .75fr .9fr .6fr 1.35fr; gap:.8rem; align-items:center; }
.recipient-head { padding:0 .5rem .7rem; border-bottom:3px solid var(--ink); color:var(--steel); font-size:.68rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.recipient-row { min-height:68px; padding:.8rem .5rem; border-bottom:1px solid var(--line); }
.recipient-row small { display:block; color:var(--steel); }
.recipient-actions { display:flex; gap:.4rem; }
.recipient-actions form { margin:0; }
.danger-link.compact { display:inline-flex; margin:0; padding:.55rem .7rem; align-items:center; border:1px solid #8b241b; font-size:.72rem; text-decoration:none; }
.channel-options { margin:1rem 0; padding:1rem; border:2px solid var(--steel); }
.channel-options legend { font-weight:900; }
.channel-options small { color:var(--steel); }
dl { margin: 0; }
dl div { padding: .7rem 0; border-bottom: 1px solid var(--line); }
dt { color: var(--steel); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
dd { margin: .15rem 0 0; }
.fault-text { white-space: pre-wrap; }
.photos { margin-top: 1rem; }
.engineering-history { margin-top:1rem; }
.engineering-history-list article { display:grid; grid-template-columns:1fr auto minmax(120px,1fr); gap:1rem; align-items:center; padding:.9rem 0; border-bottom:1px solid var(--line); }
.engineering-history-list article div > * { display:block; }
.engineering-history-list article small { color:var(--steel); }
.engineering-history-summary { grid-column:1 / -1; display:grid; gap:.35rem; min-width:0; padding-top:.15rem; }
.engineering-history-list article .engineering-history-summary p { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.4rem; margin:0; font-size:.9rem; }
.engineering-history-summary p > strong { color:var(--steel); }
.engineering-history-summary span { display:-webkit-box; overflow:hidden; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.associated-equipment .card-heading > div { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.associated-equipment-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.associated-equipment-list article { display:grid; gap:.7rem; padding:1rem; border:2px solid var(--line); background:var(--paper); }
.associated-equipment-list article > div:first-child > * { display:block; }
.associated-equipment-list dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:0; }
.associated-equipment-list p { margin:0; }
.archived-equipment-list { margin-top:.8rem; }
.jobs-filters { display:flex; flex-wrap:wrap; gap:.75rem; align-items:end; margin-bottom:1rem; }
.jobs-view-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.jobs-view-tabs a { padding:.5rem .85rem; border:2px solid var(--ink); text-decoration:none; font-weight:800; font-size:.85rem; }
.jobs-view-tabs a.active { color:white; background:var(--ink); }
.jobs-list { display:grid; gap:1rem; margin-top:1rem; }
.job-card { display:grid; gap:.5rem; padding:1rem 1.1rem; border:2px solid var(--line); background:var(--paper); }
.job-card-head { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; justify-content:space-between; }
.job-card-head h3 { margin:0; font-size:1.05rem; }
.job-card-location { color:var(--steel); font-size:.9rem; }
.job-card-location strong { color:var(--ink); }
.job-card-description { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.job-card-meta { display:flex; flex-wrap:wrap; gap:.4rem 1rem; color:var(--steel); font-size:.8rem; }
.job-card-meta strong { color:var(--ink); }
.job-card-source-ref { font-size:.8rem; color:var(--steel); }
.job-card-head h3 a { color:inherit; }
.job-activity-list { display:grid; gap:.75rem; margin-top:.75rem; }
.job-activity-entry { display:grid; gap:.3rem; padding:.75rem 0; border-bottom:1px solid var(--line); }
.job-activity-entry time { color:var(--steel); font-size:.8rem; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.photo-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 2px solid var(--ink); }
.narrow { width: min(650px, 100%); margin-inline: auto; }
.organisation-options { display: grid; gap: .7rem; margin: 1.5rem 0; }
.organisation-options label { display: flex; align-items: center; gap: .8rem; min-height: 56px; padding: .7rem 1rem; border: 2px solid var(--steel); cursor: pointer; }
.organisation-options input { width: 22px; height: 22px; }
.settings-form { max-width: 54rem; }
.settings-form > label, .settings-form legend { display:block; margin-top:1rem; font-weight:800; }
.settings-form input:not([type="radio"]), .settings-form select, .settings-form textarea { width:100%; box-sizing:border-box; padding:.7rem; border:2px solid var(--ink); background:#fff; font:inherit; }
.settings-form fieldset { margin:1rem 0; border:2px solid var(--ink); }
.inline-choice { display:inline-flex; gap:.4rem; margin-right:1.2rem; align-items:center; }
.field-error { min-height:1.2em; margin:.2rem 0; color:#8f241f; font-weight:700; }
.asset-tag-list { display:grid; }
.asset-tag-row { display:grid; grid-template-columns:.75fr 1.25fr 1.5fr 1.3fr .8fr 1fr; gap:1rem; align-items:center; padding:.9rem .7rem; border-bottom:1px solid var(--line); }
.asset-tag-head { font-size:.75rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; background:#e9e2d2; }
.row-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.row-actions form { margin:0; }
.text-button { padding:0; border:0; background:transparent; color:#315b65; text-decoration:underline; font:inherit; cursor:pointer; }
.text-button.danger { color:#8f241f; }
.scanner-entry { max-width:54rem; margin-inline:auto; }
.scanner-start { width:100%; min-height:64px; padding:1rem 1.4rem; border:3px solid var(--ink); background:var(--red); color:#fff; font:inherit; font-size:1.05rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.scanner-panel { margin-top:1rem; padding:1rem; border:3px solid var(--ink); background:#172326; color:#fff; }
.scanner-guidance { margin-top:0; text-align:center; font-weight:800; }
.scanner-frame { width:min(100%,34rem); aspect-ratio:4/3; margin-inline:auto; overflow:hidden; border:4px solid var(--mustard); background:#000; }
.scanner-frame video { display:block; width:100%; height:100%; object-fit:cover; }
.scanner-status { min-height:1.5em; text-align:center; font-weight:700; }
.secondary-button,.scanner-retry { min-height:48px; padding:.7rem 1rem; border:2px solid var(--ink); background:#fff; color:var(--ink); font:inherit; font-size:.9rem; font-weight:800; cursor:pointer; }
.assignment-divider { display:flex; align-items:center; gap:1rem; margin:1.5rem 0; font-weight:900; }
.assignment-divider::before,.assignment-divider::after { height:2px; flex:1; background:var(--line); content:""; }
.manual-tag-form { padding:0; border:0; box-shadow:none; }
.manual-tag-form input { width:100%; box-sizing:border-box; min-height:52px; padding:.75rem; border:2px solid var(--ink); font:inherit; text-transform:none; }
.manual-tag-form .primary-action { margin-top:.5rem; }
.tag-ready { max-width:54rem; margin:0 auto 1rem; border-left:10px solid #3e7555; }
.tag-ready h2,.assignment-success h2 { margin:.2rem 0; }
.tag-ready-reference { margin:.2rem 0; color:var(--blue); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:clamp(1.55rem,6vw,2.2rem); font-weight:900; letter-spacing:.03em; overflow-wrap:anywhere; }
.tag-ready-guidance { margin:.4rem 0 .65rem; }
.tag-ready-state { color:#2f6547; text-transform:uppercase; }
.assignment-success { margin-bottom:1rem; border-left:10px solid #3e7555; }
.contact-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.contact-actions a { text-decoration:none; }
.operational-links { margin:2rem 0; }
.operation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.operation-grid a { display:block; padding:1.2rem; background:var(--paper); border:2px solid var(--ink); text-decoration:none; box-shadow:5px 5px 0 rgba(23,33,38,.12); }
.operation-grid strong,.operation-grid span,.operation-grid small { display:block; }
.operation-grid strong { color:var(--orange); font-size:2rem; line-height:1; }
.operation-grid span { margin-top:.4rem; font-weight:900; }
.operation-grid small { color:var(--steel); }
.search-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) repeat(4,minmax(120px,auto)) auto; gap:.75rem; align-items:end; margin-bottom:1rem; }
.filter-field { display:flex; min-width:120px; flex-direction:column; }
.filter-search { min-width:220px; }
.filter-field label { font-size:.75rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.filter-field input,.filter-field select { min-height:48px; padding:.65rem; border:2px solid var(--ink); background:white; font:inherit; }
.record-list { margin-top:.5rem; }
.record-row { display:grid; grid-template-columns:1.35fr 1.1fr .75fr .45fr .45fr .7fr; gap:1rem; align-items:center; min-height:68px; padding:.75rem .5rem; border-bottom:1px solid var(--line); text-decoration:none; }
.record-row:not(.record-head):hover { background:var(--cream); }
.record-row small { display:block; color:var(--steel); }
.record-head { min-height:auto; color:var(--steel); background:#e9e2d2; font-size:.69rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.asset-records .record-row { grid-template-columns:1.1fr 1.2fr 1.45fr .85fr .7fr .85fr; }
.sortable-column a { display:flex; align-items:center; justify-content:space-between; gap:.35rem; color:inherit; text-decoration:none; }
.sortable-column a:hover,.sortable-column a:focus-visible { color:var(--orange); }
.sort-indicator { font-size:.8rem; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.asset-mobile-sort { display:none; }
.pagination { display:flex; justify-content:center; gap:1rem; margin-top:1.25rem; }
.pagination a,.pagination span { color:var(--ink); font-weight:800; }
.record-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; }
.record-summary .summary-wide { grid-column:1 / -1; }
.asset-identity-summary dl > div,.asset-identity-summary dd { min-width:0; }
.asset-identity-summary dd { overflow-wrap:anywhere; }
.asset-identity-summary .asset-detail-location dd { white-space:normal; overflow:visible; text-overflow:clip; }
.engineering-action-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.8rem; }
.engineering-action { display:flex; min-height:100px; flex-direction:column; justify-content:center; gap:.35rem; padding:1rem; border:2px solid var(--line); background:#fff; color:var(--ink); text-decoration:none; text-align:left; }
button.engineering-action { width:100%; font:inherit; cursor:pointer; }
.engineering-action strong { font-size:1.05rem; }
.engineering-action span { color:var(--steel); }
.engineering-action.unavailable { background:#f4f5f5; color:var(--steel); }
.engineering-form { display:grid; gap:1.2rem; }
.engineering-form > section { padding-top:.4rem; border-top:1px solid var(--line); }
.engineering-form .field { min-width:0; }
.engineering-form .field > label { display:block; margin-bottom:.35rem; font-weight:800; }
.engineering-form input[type="date"],.engineering-form input[type="number"],.engineering-form textarea { display:block; width:100%; max-width:100%; padding:.7rem; border:2px solid var(--ink); background:#fff; font:inherit; }
.engineering-form [aria-invalid="true"],.engineering-choice[data-invalid="true"] { border-color:#a62e22; }
.engineering-form textarea { min-height:8rem; resize:vertical; }
.engineering-choice { min-width:0; margin:.6rem 0; padding:.8rem; border:1px solid var(--line); }
.inline-choice { display:flex; flex-wrap:wrap; gap:.55rem 1rem; margin-top:.5rem; }
.inline-choice label { display:flex; align-items:center; gap:.35rem; min-height:44px; }
.check-grid,.measurement-grid,.combustion-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.combustion-pair output { display:block; min-height:44px; padding:.5rem .6rem; border:1px solid var(--line); background:#f6f7f7; }
.engineering-context dd,.engineering-complete-sections p { overflow-wrap:anywhere; }
.engineering-photo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; }
.engineering-photo-grid figure { margin:0; }
.engineering-photo-grid img { display:block; width:100%; max-height:360px; object-fit:contain; background:#eef1f1; }
.engineering-photo-grid figcaption { padding:.5rem 0; color:var(--steel); white-space:pre-wrap; overflow-wrap:anywhere; }
.engineering-final-actions { margin-top:1rem; }
.engineering-evidence,.evidence-upload { display:grid; gap:.8rem; min-width:0; }
.evidence-upload input[type="file"] { display:block; max-width:100%; }
.signature-pad canvas { display:block; width:100%; max-width:480px; height:160px; border:2px solid var(--ink); background:#fff; touch-action:none; cursor:crosshair; }
.signature-pad .signature-pad-actions { display:flex; gap:.6rem; margin-top:.5rem; }
.signature-pad[data-signed="true"] canvas { border-color:#1a7a3c; }
.preserve-lines { white-space:pre-wrap; }
.simple-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:1rem; }
.simple-card-grid a { display:flex; min-height:125px; flex-direction:column; padding:1rem; border:2px solid var(--line); text-decoration:none; }
.simple-card-grid a:hover { border-color:var(--orange); }
.simple-card-grid span,.simple-card-grid small { color:var(--steel); }
.simple-card-grid small { margin-top:auto; padding-top:.7rem; }
.asset-summary-list > div { display:grid; grid-template-columns:1.1fr 1fr 1.3fr auto; gap:1rem; align-items:center; padding:.85rem .4rem; border-bottom:1px solid var(--line); }
.asset-summary-list small { color:var(--steel); }
.record-form { display:block; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.15rem 1.25rem; align-items:start; }
.form-control { display:flex; min-width:0; flex-direction:column; }
.form-control-wide { grid-column:1 / -1; }
.form-control label { min-height:1.7rem; margin-top:1rem; }
.form-control input,.form-control select { min-height:50px; }
.form-control textarea { resize:vertical; }
.generated-reference { display:flex; flex-direction:column; margin-bottom:.5rem; padding:1rem; background:var(--cream); border-left:6px solid var(--orange); }
.generated-reference span { color:var(--blue); font-family:ui-monospace,monospace; font-weight:900; }
.generated-reference small { color:var(--steel); }
.check-row { display:flex !important; align-items:center; gap:.6rem; }
.check-row input { width:22px !important; height:22px; }
.site-picker { margin-top:1.4rem !important; padding:1rem; background:var(--cream); }
.form-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin-top:1.25rem; }
.job-status-form { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.job-status-controls { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.job-status-controls select { min-height:48px; padding:.5rem; font:inherit; }
.engineering-create-actions { margin-bottom:1rem; }
.engineering-create-actions h3,.engineering-records-section h3 { font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; color:var(--steel); margin:0 0 .5rem; }
.primary-action,.button-link,.secondary-action { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:.7rem 1rem; border:2px solid var(--ink); font:inherit; font-weight:900; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.primary-action,.button-link { color:white; background:var(--orange); }
.secondary-action { color:var(--ink); background:white; }
.contact-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:1rem; }
.contact-card { display:grid; gap:.6rem; padding:1rem; border:2px solid var(--line); overflow-wrap:anywhere; }
.contact-card strong,.contact-card small,.contact-card a { display:block; }
.contact-card small { color:var(--steel); }
.contact-card form { margin:0; }
.asset-identity { display:block; color:var(--ink); overflow-wrap:anywhere; text-decoration-thickness:2px; }
.asset-detail-grid { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:1rem; }
.asset-photo-panel img { display:block; width:100%; max-height:560px; object-fit:contain; background:#eee8da; border:2px solid var(--ink); }
.no-photo-state,.empty-operational-state { display:flex; min-height:180px; flex-direction:column; align-items:center; justify-content:center; padding:1.5rem; color:var(--steel); background:#eee8da; border:2px dashed var(--line); text-align:center; }
.hierarchy-path { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:.8rem; align-items:center; }
.hierarchy-path a,.hierarchy-path div { display:flex; min-height:110px; flex-direction:column; padding:1rem; border:2px solid var(--line); overflow-wrap:anywhere; text-decoration:none; }
.hierarchy-path span,.hierarchy-path small { color:var(--steel); }
.wrap-identity { overflow-wrap:anywhere; }
.request-search { display:flex; gap:.75rem; align-items:end; margin-bottom:1rem; }
.request-search .filter-search { flex:1; }
.dashboard-search { width:min(100%,520px); }
.dashboard-search label { margin-top:0; }
.dashboard-search > div,.search-anything-form > div { display:flex; gap:.6rem; align-items:stretch; }
.dashboard-search input,.search-anything-form input { min-width:0; flex:1; }
.search-result-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.search-result-list { display:grid; gap:.65rem; }
.search-result-list a { display:flex; min-width:0; flex-direction:column; gap:.2rem; padding:.85rem; color:var(--ink); border:2px solid var(--line); text-decoration:none; overflow-wrap:anywhere; }
.search-result-list a:hover,.search-result-list a:focus-visible { border-color:var(--orange); }
.result-kind { color:var(--orange); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.view-all-results { display:inline-flex; margin-top:1rem; font-weight:900; text-decoration-thickness:2px; }
.search-results-expanded { width:min(780px,100%); }
.site-filter-empty { padding:.7rem; background:var(--cream); color:var(--steel); }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.settings-card { display:block; color:var(--ink); text-decoration:none; }
.settings-card:hover,.settings-card:focus-visible { border-color:var(--orange); transform:translateY(-1px); }
.settings-form { display:grid; gap:1rem; }
.settings-form fieldset { display:grid; gap:.75rem; padding:1rem; border:2px solid var(--line); }
.settings-form legend { padding:0 .4rem; font-weight:900; }
.check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.check-grid label { display:flex; gap:.5rem; align-items:center; }
.history-section summary { cursor:pointer; font-weight:900; }
.history-section[open] summary { margin-bottom:1rem; }
.platform-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin:.75rem 0; }
.platform-tab { min-height:44px; padding:.5rem .85rem; border:2px solid var(--ink); background:#fff; font-weight:800; font-size:.85rem; cursor:pointer; }
.platform-tab.active { color:#fff; background:var(--ink); }
.platform-help ol { margin:0 0 .6rem; padding-left:1.3rem; }
.platform-help p { margin:.4rem 0; color:var(--steel); }
.permission-fieldset { gap:.45rem !important; }
.fieldset-help { margin:0 0 .5rem; color:var(--steel); }
.permission-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.permission-group { min-width:0; }
.permission-group:last-child { grid-column:1 / -1; }
.permission-group h2 { margin:0 0 .45rem; color:var(--steel); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.checkbox-row { display:flex !important; min-height:48px; align-items:center; gap:.7rem; margin:0 !important; padding:.65rem .75rem; border:2px solid var(--line); background:#fff; font-weight:800; cursor:pointer; }
.checkbox-row:hover { border-color:var(--orange); background:var(--cream); }
.checkbox-row input { width:22px !important; min-width:22px; height:22px; margin:0; padding:0 !important; accent-color:var(--orange); }
.engineer-profile-choice { margin-top:.25rem !important; border-color:var(--steel); }
.invitation-acceptance form { display:grid; gap:.3rem; }
.invitation-acceptance .field { margin:.55rem 0; }
.invitation-acceptance .field > label { display:block; margin-bottom:.35rem; font-weight:800; }
.password-guidance { display:grid; gap:.2rem; margin:.6rem 0 .2rem; padding:.8rem 1rem; background:var(--cream); border-left:5px solid var(--blue); }
.password-guidance span { color:var(--steel); }
.password-input-row { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.password-input-row input { min-width:0; min-height:50px; }
.password-toggle { min-width:76px; min-height:50px; padding:.55rem .8rem; border:2px solid var(--ink); border-left:0; background:var(--cream); color:var(--ink); font:inherit; font-weight:900; cursor:pointer; }
.password-strength { margin-top:.45rem; }
.password-strength-track { height:9px; overflow:hidden; background:#ddd5c6; border:1px solid var(--steel); }
.password-strength-track span { display:block; width:0; height:100%; background:#9a2d24; transition:width .18s ease,background-color .18s ease; }
.password-strength p,.password-match { min-height:1.5em; margin:.3rem 0 0; color:var(--steel); font-size:.88rem; }
.password-strength[data-strength="weak"] .password-strength-track span { width:25%; }
.password-strength[data-strength="fair"] .password-strength-track span { width:50%; background:#c06b19; }
.password-strength[data-strength="good"] .password-strength-track span { width:75%; background:#9a7a13; }
.password-strength[data-strength="strong"] .password-strength-track span { width:100%; background:#327047; }
.password-strength[data-strength="strong"] strong,.password-match[data-match="yes"] { color:#28603c; }
.password-match[data-match="no"] { color:#8f241f; font-weight:800; }
.asset-form-heading { margin-bottom:1rem; }
.asset-form { gap:.7rem; max-width:64rem; }
.asset-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1rem; }
.asset-form-field { display:flex; min-width:0; flex-direction:column; }
.asset-form-field-wide { grid-column:1 / -1; }
.asset-form-field label { margin:0 0 .25rem; font-weight:800; }
.asset-form-field input,.asset-form-field select { min-height:48px; }
.asset-form-field textarea { resize:vertical; }
.asset-form-field .help { margin:.2rem 0 0; color:var(--steel); font-size:.88rem; line-height:1.35; }
.asset-form-field .field-error { min-height:0; margin:.25rem 0 0; }
.settings-list { display:grid; gap:.75rem; }
.settings-list article { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line); }
.settings-list article > div:first-child { display:grid; gap:.2rem; }
.inline-actions { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.inline-actions form { margin:0; }
.field-error { color:#8f241f; font-weight:800; }
.number-preview { padding:.8rem; background:var(--cream); font-size:1.6rem; font-weight:900; letter-spacing:.05em; }
.signature-preview { display:block; max-width:100%; max-height:180px; padding:.75rem; border:2px solid var(--line); background:#fff; }

@media (max-width: 1100px) {
  .record-head { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .record-row,.asset-records .record-row { grid-template-columns:1fr; gap:.3rem; margin-bottom:.75rem; border:2px solid var(--line); }
  .record-row [data-label]::before { display:inline-block; min-width:9rem; color:var(--steel); font-size:.65rem; font-weight:900; content:attr(data-label); text-transform:uppercase; vertical-align:top; }
  .asset-mobile-sort { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .desktop-sort-value { display:none; }
  .asset-search-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .asset-search-toolbar .filter-search,.asset-search-toolbar .asset-mobile-sort { grid-column:1 / -1; }
  .asset-tag-head { display:none; }
  .asset-tag-row { grid-template-columns:1fr; gap:.25rem; border:2px solid var(--line); margin-bottom:.75rem; }
  .asset-tag-row [data-label]::before { content:attr(data-label) ": "; font-weight:800; }
  .trash-list article, .trash-list article > div { grid-template-columns:1fr; gap:.35rem; }
  .recipient-head { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .recipient-row { grid-template-columns:1fr; gap:.35rem; }
  .recipient-row [data-label]::before { display:inline-block; min-width:9rem; color:var(--steel); font-size:.65rem; font-weight:900; content:attr(data-label); text-transform:uppercase; vertical-align:top; }
  .operational-grid { grid-template-columns: 1fr; }
  .workflow-panel { position: static; }
  .request-workspace { padding: 1rem; overflow: visible; }
  .request-table { min-width: 0; }
  .request-table-head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .request-table-row { grid-template-columns: 1fr; gap: .35rem; padding: 1rem .4rem; }
  .recent-request-head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .recent-request-row { grid-template-columns: 1fr; gap: .35rem; padding: 1rem .4rem; }
  .request-table-row [data-label]::before, .recent-request-row [data-label]::before { display: inline-block; min-width: 9rem; color: var(--steel); font-size: .65rem; font-weight: 900; letter-spacing: .06em; content: attr(data-label); text-transform: uppercase; vertical-align: top; }
}

@media (max-width: 780px) {
  .member-header-inner { align-items: flex-start; flex-direction: column; gap: .8rem; }
  nav { width: 100%; justify-content: space-between; }
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .member-portal-panel { grid-template-columns:1fr; }
  .member-portal-qr { order:-1; }
  .member-portal-qr img { width:150px; }
  .colour-field { grid-template-columns:48px 1fr; }
  .colour-field label { grid-column:1 / -1; }
  .member-workspace, .member-header-inner { width: calc(100% - 1.5rem); }
  .operational-grid, .request-information { grid-template-columns: 1fr; }
  .workflow-panel { position: static; }
  .photo-grid { grid-template-columns: 1fr; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .contact-actions { display:grid; grid-template-columns:1fr; }
  nav { flex-wrap:wrap; justify-content:flex-start; gap:.75rem 1rem; }
  .operation-grid,.simple-card-grid,.record-summary dl,.form-grid,.contact-list,.asset-detail-grid,.search-result-groups { grid-template-columns:1fr; }
  .search-toolbar { grid-template-columns:1fr; }
  .asset-search-toolbar .filter-search,.asset-search-toolbar .asset-mobile-sort { grid-column:auto; }
  .asset-summary-list > div { grid-template-columns:1fr; gap:.25rem; }
  .form-control-wide { grid-column:auto; }
  .form-control label { min-height:0; }
  .form-actions,.request-search,.job-status-form,.job-status-controls { align-items:stretch; flex-direction:column; }
  .primary-action,.button-link,.secondary-action { width:100%; }
  .hierarchy-path { grid-template-columns:1fr; }
  .hierarchy-path > span { text-align:center; transform:rotate(90deg); }
  .dashboard-search,.dashboard-search > div,.search-anything-form > div { width:100%; }
  .dashboard-search > div,.search-anything-form > div { flex-direction:column; }
  .settings-grid,.check-grid,.measurement-grid,.combustion-pair,.permission-groups,.asset-form-grid { grid-template-columns:1fr; }
  .permission-group:last-child,.asset-form-field-wide { grid-column:auto; }
  .asset-mobile-sort { grid-template-columns:1fr; }
  .checkbox-row { min-height:52px; }
  .settings-list article { align-items:flex-start; flex-direction:column; }
  .engineering-history-list article { grid-template-columns:1fr; gap:.35rem; }
  .engineering-history-summary { margin-top:.35rem; }
  .engineering-history-list article .engineering-history-summary p { grid-template-columns:1fr; gap:0; }
  .engineering-form,.engineering-form > section,.engineering-form .field { min-width:0; }
  .engineering-form input[type="date"],.engineering-form input[type="number"],.engineering-form input[type="file"],.engineering-form textarea { min-width:0; width:100%; }
  .engineering-form section,.engineering-choice { max-width:100%; overflow-wrap:anywhere; }
  .engineering-choice legend { max-width:100%; }
  .engineering-form .inline-choice { width:100%; gap:.4rem .75rem; }
  .associated-equipment-list,.associated-equipment-list dl { grid-template-columns:1fr; }
  .jobs-filters { align-items:stretch; flex-direction:column; }
  .job-card-head { flex-direction:column; align-items:flex-start; }
  .timesheet-day-header, .timesheet-week-heading { flex-direction:column; align-items:flex-start; }
  .timesheet-entry-row { flex-direction:column; align-items:flex-start; }
  .timesheet-entry-actions { width:100%; }
  .timesheet-entry-main .duration { text-align:left; }
}
