/* MCN Mechanical & Electrical — shared screen design tokens.
   Loaded last. Customer documents retain their approved print styling. */
:root {
  --mcn-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mcn-ink: #24272c;
  --mcn-secondary: #626872;
  --mcn-canvas: #f6f7f9;
  --mcn-surface: #ffffff;
  --mcn-nav: #f0f1f3;
  --mcn-border: #e3e5e9;
  --mcn-hover: #f3f4f6;
  --mcn-accent: #ffd600;
  --mcn-accent-hover: #edc600;
  --mcn-selected: #fff5bd;
  --mcn-focus: #525b68;
  --mcn-overlay: #18202c38;
  --mcn-radius-sm: 8px;
  --mcn-radius: 12px;
  --mcn-space-1: 4px;
  --mcn-space-2: 8px;
  --mcn-space-3: 12px;
  --mcn-space-4: 16px;
  --mcn-space-5: 24px;
  --mcn-space-6: 32px;
  --mcn-space-7: 40px;
  --mcn-shadow: 0 2px 10px #16223605;
  --mcn-shadow-raised: 0 12px 40px #16223614;
  --mcn-fast: 160ms;
  --mcn-ease: cubic-bezier(.2,.7,.3,1);
  --mcn-body-size: 14px;
  --mcn-label-size: 12px;
  --mcn-title-size: 30px;
  --mcn-metric-size: 36px;
  --ui-font: var(--mcn-font);
  --ui-text: var(--mcn-ink);
  --ui-secondary: var(--mcn-secondary);
  --ui-line: var(--mcn-border);
  --ui-radius: var(--mcn-radius);
  --ui-space: var(--mcn-space-5);
  --ui-canvas: var(--mcn-canvas);
  --ui-navigation: var(--mcn-nav);
}
@media screen {
  body {font-family:var(--mcn-font);color:var(--mcn-ink);background:var(--mcn-canvas);-webkit-font-smoothing:antialiased;}
  body>header {background:var(--mcn-canvas);border-bottom:1px solid var(--mcn-border);}
  body>header .brand {background:var(--mcn-nav);}
  #business-nav {background:var(--mcn-nav);border-right:1px solid var(--mcn-border);}
  #business-nav button.active {background:var(--mcn-selected);color:var(--mcn-ink);box-shadow:none;}
  #business-nav :is(button,a) {border-radius:var(--mcn-radius-sm);}
  main.data-view[data-section]>aside {padding:var(--mcn-space-6);background:var(--mcn-canvas);}
  main.data-view[data-section] :is(.dashboard-heading h1,.workspace-title h1), main.data-view[data-section] #details>h2 {font-size:var(--mcn-title-size);font-weight:700;letter-spacing:-.035em;line-height:1.2;}
  main.data-view[data-section] :is(.dashboard-heading,.workspace-title) {margin-bottom:var(--mcn-space-5);}
  main.data-view[data-section] .dashboard-date {background:none;border:0;padding:0;box-shadow:none;color:var(--mcn-secondary);font-size:var(--mcn-label-size);}
  main.data-view[data-section] .dashboard-customise-bar {margin:0 0 var(--mcn-space-5);}
  main.data-view[data-section] :is(.dashboard-card,.register-shell,.profile-fields>.field-section,.metric,.insight-strip,.estimate-client-group,.hr-card,.hs-card,.settings-card) {border-radius:var(--mcn-radius);border:1px solid var(--mcn-border);box-shadow:var(--mcn-shadow);}
  main.data-view[data-section] .dashboard-card {padding:var(--mcn-space-5);}
  main.data-view[data-section] .dashboard-metrics {border:1px solid var(--mcn-border);border-radius:var(--mcn-radius);background:var(--mcn-surface);box-shadow:var(--mcn-shadow);overflow:hidden;}
  main.data-view[data-section] .dashboard-metric {border:0;border-right:1px solid var(--mcn-border);border-radius:0;box-shadow:none;background:var(--mcn-surface);padding:var(--mcn-space-5);text-align:left;}
  main.data-view[data-section] .dashboard-metric:last-child {border-right:0;}
  main.data-view[data-section] .dashboard-metric:hover {background:var(--mcn-hover);transform:none;}
  main.data-view[data-section] .dashboard-metric>strong {font-size:var(--mcn-metric-size);font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums;line-height:1.2;margin:var(--mcn-space-3) 0;}
  main.data-view[data-section] .dashboard-metric :is(small,p) {font-size:var(--mcn-label-size);color:var(--mcn-secondary);opacity:1;}
  main.data-view[data-section] .finance-total {background:var(--mcn-hover);border-radius:var(--mcn-radius-sm);border:0;}
  main.data-view[data-section] :is(.register-toolbar,.module-toolbar) {padding:var(--mcn-space-4);gap:var(--mcn-space-3);}
  main.data-view[data-section] .register-shell>.table-scroll {border-radius:0;border:0;box-shadow:none;}
  main.data-view[data-section] .workspace-table {border-radius:0;border:0;border-collapse:collapse;width:100%;}
  main.data-view[data-section] .workspace-table :is(th,td) {padding:var(--mcn-space-4) var(--mcn-space-5);border-bottom:1px solid var(--mcn-border);text-align:left;vertical-align:middle;}
  main.data-view[data-section] .workspace-table th {font-size:var(--mcn-label-size);font-weight:600;color:var(--mcn-secondary);background:var(--mcn-hover);}
  main.data-view[data-section] .workspace-table tbody tr:last-child td {border-bottom:0;}
  main.data-view[data-section] .workspace-table tbody tr:hover {background:var(--mcn-hover);}
  :is(main.data-view[data-section],body>header,#business-nav,dialog):not(.customer-document) :is(button,input,select,textarea) {font-family:var(--mcn-font);}
  :is(main.data-view[data-section],body>header,#business-nav,dialog) button:not(:where(.customer-document *,.hs-document *)) {transition:background-color var(--mcn-fast) var(--mcn-ease),border-color var(--mcn-fast) var(--mcn-ease),box-shadow var(--mcn-fast) var(--mcn-ease),transform var(--mcn-fast) var(--mcn-ease);}
  :is(main.data-view[data-section],body>header,dialog) button.primary {background:var(--mcn-accent);color:var(--mcn-ink);border-color:transparent;box-shadow:none;}
  :is(main.data-view[data-section],body>header,dialog) button.primary:hover:not(:disabled) {background:var(--mcn-accent-hover);}
  :is(main.data-view[data-section],body>header,dialog) button:active:not(:disabled) {transform:none;}
  :is(button,a,input,select,textarea,summary):focus-visible {outline:2px solid var(--mcn-focus);outline-offset:3px;}
  .work-grid-wrap {overflow-x:auto;}
  .work-grid {min-width:360px;}
  .work-grid .work-open {padding:0;border:0;background:none;box-shadow:none;text-align:left;white-space:normal;font-weight:600;}
  .work-grid .work-meta {display:block;color:var(--mcn-secondary);font-size:var(--mcn-label-size);margin-top:var(--mcn-space-1);}
  .work-grid time {white-space:nowrap;color:var(--mcn-secondary);font-size:var(--mcn-label-size);}
  dialog.mcn-drawer {position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-left:1px solid var(--mcn-border);border-radius:0;padding:var(--mcn-space-6);background:var(--mcn-surface);box-shadow:var(--mcn-shadow-raised);overflow-y:auto;}
  dialog.mcn-drawer[open] {animation:mcn-drawer-in var(--mcn-fast) var(--mcn-ease);}
  dialog.mcn-drawer::backdrop {background:var(--mcn-overlay);}
  .mcn-drawer-header {display:flex;gap:var(--mcn-space-5);justify-content:space-between;align-items:start;}
  .mcn-drawer-header h2 {margin:var(--mcn-space-2) 0 var(--mcn-space-5);font-size:24px;}
  .mcn-drawer dl {margin:var(--mcn-space-5) 0;}
  .mcn-drawer dl>div {padding:var(--mcn-space-4) 0;border-bottom:1px solid var(--mcn-border);}
  .mcn-drawer dt {color:var(--mcn-secondary);font-size:var(--mcn-label-size);margin-bottom:var(--mcn-space-1);}
  .mcn-drawer dd {margin:0;white-space:pre-wrap;overflow-wrap:anywhere;}
  .mcn-skeleton {display:block;background:var(--mcn-border);border-radius:var(--mcn-radius-sm);height:14px;animation:mcn-pulse 1.2s ease-in-out infinite alternate;}
  .mcn-skeleton.short {width:35%;}.mcn-skeleton.metric {height:36px;width:55%;margin:var(--mcn-space-4) 0;}
  .boot-loading {padding:var(--mcn-space-6);}.boot-loading-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:var(--mcn-space-5);margin-bottom:var(--mcn-space-5);}
  .boot-loading-card {padding:var(--mcn-space-5);background:var(--mcn-surface);border:1px solid var(--mcn-border);border-radius:var(--mcn-radius);}
  .boot-loading-row {display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--mcn-space-6);padding:var(--mcn-space-5) 0;border-bottom:1px solid var(--mcn-border);}
  @keyframes mcn-drawer-in {from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
  @keyframes mcn-pulse {to{opacity:.45}}
  @media(max-width:700px) {main.data-view[data-section]>aside{padding:var(--mcn-space-4)}.boot-loading-grid{grid-template-columns:repeat(2,1fr)}main.data-view[data-section] .workspace-table :is(th,td){padding:var(--mcn-space-3)}main.data-view[data-section] .dashboard-metric{padding:var(--mcn-space-4)}:root{--mcn-title-size:26px;--mcn-metric-size:30px}}
  @media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
  .reduce-motion *, .reduce-motion *::before,.reduce-motion *::after {animation:none!important;transition:none!important;}
}

@media screen {
 #loading:has(.boot-loading) {inset:0; padding:0; border-radius:0; background:var(--mcn-canvas); overflow:hidden;}
}
/* Context actions stay discoverable with keyboard focus and on touch screens. */
@media screen and (hover:hover) and (pointer:fine) {
  main.data-view[data-section] .workspace-table td:last-child>button:not(.record-link):not(.work-open) {opacity:0;transition:opacity var(--mcn-fast) var(--mcn-ease);}
  main.data-view[data-section] .workspace-table tr:is(:hover,:focus-within) td:last-child>button {opacity:1;}
}

/* Alignment audit: shared records, nested editors and dense tables. */
@media screen {
 main.data-view[data-section] :is(#details,.profile-fields,.field-section,.module-card,.dashboard-card,.hs-card,.hr-card,.settings-card,.metric-grid,.delivery-metrics,.record-actions)>* {min-width:0;}
 main.data-view[data-section] .module-toolbar {padding:0;margin:24px 0;align-items:center;}
 main.data-view[data-section] #module-actions>select {width:auto;min-width:180px;max-width:min(360px,100%);margin-right:auto;}
 main.data-view[data-section] #module-actions {align-items:center;margin:20px 0;}
 main.data-view[data-section] :is(.module-toolbar,.record-actions,.ops-toolbar,.performance-toolbar) {flex-wrap:wrap;gap:12px;}
 main.data-view[data-section] .module-toolbar>input {min-width:0;flex-basis:220px;}
 main.data-view[data-section] .module-toolbar label.check {flex-shrink:0;}
 main.data-view[data-section] .dashboard-row {width:100%;margin:0;padding:14px 0;border-radius:0;gap:16px;}
 main.data-view[data-section] .dashboard-row>span {min-width:0;overflow-wrap:anywhere;}
 main.data-view[data-section] .dashboard-row>time {flex-shrink:0;font-variant-numeric:tabular-nums;}
 main.data-view[data-section] .crm-summary>span {display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
 main.data-view[data-section] .crm-summary strong {margin:0;font-variant-numeric:tabular-nums;}
 main.data-view[data-section] :is(.module-card,.related-row) :is(strong,small) {min-width:0;white-space:normal;overflow-wrap:anywhere;}
 main.data-view[data-section] .module-list>.module-card {border-radius:0;box-shadow:none;}
 main.data-view[data-section] .module-list>.module-card:first-child {border-start-start-radius:var(--mcn-radius);border-start-end-radius:var(--mcn-radius);}
 main.data-view[data-section] .module-list>.module-card:last-child {border-end-start-radius:var(--mcn-radius);border-end-end-radius:var(--mcn-radius);}
 main.data-view[data-section] .profile-fields {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
 main.data-view[data-section] .profile-fields>.field-section {container-type:inline-size;}
 main.data-view[data-section] .profile-fields>.field-group-items,
 main.data-view[data-section] .profile-fields>.field-group-scope,
 main.data-view[data-section] .profile-fields>.field-group-document {grid-column:1/-1;}
 main.data-view[data-section] .profile-fields .kv {grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:16px;}
 main.data-view[data-section] .kv :is(span,strong,a,button) {min-width:0;overflow-wrap:anywhere;white-space:normal;}
 main.data-view[data-section] .profile-fields .kv-stacked {display:block;}
 main.data-view[data-section] .kv-stacked>span {display:block;margin-bottom:8px;}
 main.data-view[data-section] .kv-stacked>strong {display:block;white-space:pre-wrap;}
 main.data-view[data-section] .kv>details,.kv>div:only-child {grid-column:1/-1;min-width:0;max-width:100%;}
 main.data-view[data-section] :is(.document-copy,.record-body) {overflow-wrap:anywhere;}
 main.data-view[data-section] :is(.contacts-directory,.hr-directory) {overflow-x:auto;}
 main.data-view[data-section] .contacts-directory table {border-collapse:collapse;width:100%;min-width:720px;}
 main.data-view[data-section] .contacts-directory :is(th,td) {padding:16px 24px;text-align:left;vertical-align:top;overflow-wrap:anywhere;}
 main.data-view[data-section] .contacts-directory th {font-size:12px;font-weight:600;background:var(--mcn-hover);}
 main.data-view[data-section] .contacts-directory :is(.contact-name-link,td>button) {margin:0;text-align:left;}
 main.data-view[data-section] .contacts-directory .contact-name-link {padding:0;white-space:normal;}
 main.data-view[data-section] :is(.hr-metrics,.hs-metrics,.delivery-metrics) {border-radius:var(--mcn-radius);}
 main.data-view[data-section] .settings-actions {justify-content:flex-start;}
 main.data-view[data-section] #details>button {margin:0 8px 12px 0;}
 main.data-view[data-section] :is(.module-toolbar,.record-actions,.settings-actions) select {text-overflow:ellipsis;}
 #modal .form-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
 #modal :is(fieldset,label,.form-grid,.optional-fields) {min-width:0;}
 #modal .form-grid label {align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;}
 #modal .form-grid label> :is(input,select,textarea) {box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:auto;}
 #modal .form-grid label.check {flex-direction:row;align-items:center;justify-content:flex-start;}
 #modal .form-grid label.check input {width:auto;margin:0;flex:none;}
 #modal .field-section legend {max-width:100%;overflow-wrap:anywhere;}
 #modal .optional-fields>.form-grid {margin:0;padding:16px;}
 #modal .optional-fields>summary {padding:14px 16px;line-height:1.5;}
 @container(max-width:380px) {main.data-view[data-section] .profile-fields .kv {grid-template-columns:1fr;gap:5px;}}
 @media(max-width:900px) {main.data-view[data-section] .profile-fields {grid-template-columns:minmax(0,1fr);}}
 @media(max-width:650px) {#modal .form-grid {grid-template-columns:minmax(0,1fr);}main.data-view[data-section] #module-actions>select{width:100%;max-width:none;}main.data-view[data-section] .module-toolbar label.check{white-space:normal;}main.data-view[data-section] .module-list>.module-card{display:block;}main.data-view[data-section] .stage-summary{flex-wrap:wrap;}main.data-view[data-section] .contacts-directory :is(th,td){padding:12px 16px;}}
}
@media screen {
 #modal .form-grid>label:only-child {grid-column:1/-1;}
 #modal #quote-total:has(>span) {display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;padding:16px;background:var(--mcn-hover);border-radius:8px;}
 #modal #quote-total>span {display:flex;flex-direction:column;gap:6px;min-width:0;}
 #modal #quote-total small {font-size:12px;font-weight:400;color:var(--mcn-secondary);}
 #modal #quote-total strong {font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
}
@media screen {
 main.data-view[data-section] .insights-filter {grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:16px;border-radius:var(--mcn-radius);}
 main.data-view[data-section] .insights-filter>label {min-width:0;margin:0;}
 main.data-view[data-section] .insights-filter :is(input,select,button) {min-height:42px;margin:0;box-sizing:border-box;}
 main.data-view[data-section] .calendar-page>h2 {font-size:var(--mcn-title-size);font-weight:700;line-height:1.2;}
}

/* Controlled-document links stay secondary to record actions. */
.safety-resource-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin:16px 0; font-size:14px; }
.safety-resource-links a { color:inherit; text-underline-offset:4px; }
.safety-resource-links details { margin-left:auto; }
.safety-resource-links summary { cursor:pointer; color:var(--text-secondary, #626872); }
.safety-resource-links details button { margin-top:10px; }

/* Intrinsic alignment: icon slots, shared metric tracks and centred controls. */
@media screen {
 :root { --mcn-line-body:1.5; --mcn-line-heading:1.2; --mcn-icon-size:18px; }
 :is(body>header,#business-nav,main.data-view,dialog:not(.document-preview)) {line-height:var(--mcn-line-body);}
 :is(body>header,#business-nav,main.data-view,dialog:not(.document-preview)) [data-ui-icon] {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:var(--mcn-line-body);
 }
 #business-nav [data-ui-icon] {display:flex;justify-content:flex-start;gap:10px;}
 :is(body>header,#business-nav,main.data-view,dialog:not(.document-preview)) [data-ui-icon]::before {
  position:static;flex:0 0 var(--mcn-icon-size);width:var(--mcn-icon-size);height:var(--mcn-icon-size);margin:0;transform:none;
 }
 .ui-direction {display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--mcn-icon-size);width:var(--mcn-icon-size);height:var(--mcn-icon-size);line-height:1;}
 main.data-view[data-section] :is(.card-heading,.hr-directory-heading,.hs-card-top,.dashboard-count,.metric-heading) {display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;}
 main.data-view[data-section] .dashboard-count {justify-content:flex-end;flex-shrink:0;gap:8px;}
 main.data-view[data-section] .dashboard-count :is(strong,small) {margin:0;line-height:var(--mcn-line-body);}
 main.data-view[data-section] .card-heading :is(h2,h3) {margin:0;line-height:var(--mcn-line-heading);}
 main.data-view[data-section] .dashboard-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;}
 main.data-view[data-section] .dashboard-metric {
  display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:12px;align-items:center;min-width:0;
 }
 main.data-view[data-section] .dashboard-metric> :is(small,strong,p) {margin:0;min-width:0;overflow-wrap:anywhere;}
 main.data-view[data-section] .dashboard-metric>.metric-heading {width:100%;line-height:var(--mcn-line-body);}
 main.data-view[data-section] .dashboard-metric>.metric-heading>span:first-child {min-width:0;color:inherit;}
 main.data-view[data-section] .dashboard-metric>strong {line-height:var(--mcn-line-heading);}
 main.data-view[data-section] :is(.insight-strip,.hr-metrics,.hs-metrics,.delivery-metrics,.metric-grid,.fuel-metrics) {display:grid;align-items:stretch;}
 main.data-view[data-section] :is(.insight-strip,.hr-metrics,.hs-metrics,.delivery-metrics)>div {display:grid;grid-template-rows:subgrid;grid-row:span 2;align-items:center;min-width:0;}
 main.data-view[data-section] :is(.insight-strip,.hr-metrics,.hs-metrics,.delivery-metrics)>div> :is(strong,span) {margin:0;min-width:0;overflow-wrap:anywhere;}
 main.data-view[data-section] :is(.metric,.fuel-metrics>div)>strong {line-height:var(--mcn-line-heading);font-variant-numeric:tabular-nums;}
 main.data-view[data-section] .workspace-table th .column-filter-trigger {display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;padding:0;margin:0;min-height:24px;line-height:var(--mcn-line-body);}
 main.data-view[data-section] .workspace-table th .column-filter-trigger>span:first-child {min-width:0;white-space:normal;}
 :is(#business-nav .nav-group,.more-actions,.optional-fields,.safety-resource-links details)>summary {display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:var(--mcn-line-body);list-style:none;}
 :is(#business-nav .nav-group,.more-actions,.optional-fields,.safety-resource-links details)>summary::-webkit-details-marker {display:none;}
 :is(.optional-fields,.safety-resource-links details)>summary::after {content:'▾';flex:none;line-height:1;}
 :is(body>header,#business-nav,main.data-view,dialog:not(.document-preview)) button:enabled:active:not(:where(.gm-style *, .leaflet-container *, .business-marker,.widget-drag-handle)) {transform:none;}
 @supports not (grid-template-rows:subgrid) {
  main.data-view[data-section] .dashboard-metric {grid-template-rows:auto auto 1fr;grid-row:auto;}
  main.data-view[data-section] :is(.insight-strip,.hr-metrics,.hs-metrics,.delivery-metrics)>div {grid-template-rows:auto 1fr;grid-row:auto;}
 }
 @media(max-width:900px) {main.data-view[data-section] .dashboard-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}main.data-view[data-section] .dashboard-metric {border:0;}}
 @media(max-width:480px) {main.data-view[data-section] .dashboard-metrics {grid-template-columns:minmax(0,1fr);}}
}

/* Health & Safety completion cues match the company accident book. */
:root { --mcn-completion: #fff2a6; }
@media screen {
  #modal .safety-entry-form :is(input, select, textarea).needs-completion {
    background-color: var(--mcn-completion);
    color: var(--mcn-ink);
  }
  .safety-completion-hint { margin: 0; color: var(--mcn-secondary); font-size: 13px; line-height: 1.5; }
  .safety-completion-hint::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 3px; background: var(--mcn-completion); }
}

/* Account popover: one consistent icon column and left-aligned action list. */
#account-actions > .more-actions-panel {
  width: 240px;
  min-width: 0;
  max-width: calc(100vw - 32px);
  padding: 6px;
  gap: 2px;
  border: 1px solid var(--mcn-border);
  border-radius: var(--mcn-radius);
  background: var(--mcn-surface);
  box-shadow: var(--mcn-shadow-raised);
}
#account-actions .more-actions-panel > button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--mcn-radius-sm);
  background: transparent;
  color: var(--mcn-ink);
  font: 500 14px/1.5 var(--mcn-font);
  text-align: left;
  box-shadow: none;
}
#account-actions .more-actions-panel > button[hidden] { display: none; }
#account-actions .more-actions-panel > button::before {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: .75;
}
#account-actions .more-actions-panel > button:hover { background: var(--mcn-hover); }
#account-actions .more-actions-panel > button:focus-visible {
  outline: 2px solid var(--mcn-focus);
  outline-offset: -2px;
  background: var(--mcn-hover);
}
#account-actions .more-actions-panel > #sign-out {
  margin-top: 6px;
  border-top: 1px solid var(--mcn-border);
  border-radius: 0 0 var(--mcn-radius-sm) var(--mcn-radius-sm);
}

/* Shared boundary rules: content owns its height; borders never own text space. */
@media screen {
  :is(main.data-view > aside, #modal-content) :is(button, summary):not(:where(.gm-style *, .leaflet-container *, .customer-document *, .hs-document *, .map-tools *, .column-filter-trigger, #close-dialog)) {
    min-width: 0;
    max-width: 100%;
    height: auto;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.5;
  }
  :is(main.data-view > aside, #modal-content) :is(button, summary) > :is(span, strong, small) {
    min-width: 0;
  }
  main.data-view :is(.record-actions, .record-edit-toolbar, .settings-actions, .register-toolbar, .module-toolbar, .card-heading) {
    min-width: 0;
    row-gap: 12px;
  }
  main.data-view :is(.record-actions, .record-edit-toolbar, .settings-actions, .register-toolbar, .module-toolbar) > * {
    min-width: 0;
    max-width: 100%;
  }
  main.data-view .card-heading { flex-wrap: wrap; }
  main.data-view .kv { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; }
  main.data-view .kv > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  main.data-view .kv :is(button, a) { vertical-align: top; }
  main.data-view :is(.module-card, .related-row, .entry) { height: auto; }
  main.data-view :is(.module-card, .related-row, .entry) > :is(div, span) { min-width: 0; }
  main.data-view :is(.module-card, .related-row, .entry) :is(strong, small) { white-space: normal; overflow-wrap: anywhere; }

  /* Every action menu uses the same left-aligned rows as My account. */
  :is(main.data-view, #modal-content) .more-actions-panel > button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    text-align: left;
    min-height: 44px;
    margin: 0;
  }
  .more-actions-panel { max-width: min(320px, calc(100vw - 32px)); }
  .more-actions-panel > button[hidden] { display: none; }

  /* Keep legends inside their own row, clear of the outline and form controls. */
  #modal-content fieldset { min-inline-size: 0; }
  #modal-content fieldset > legend {
    float: left;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0 0 16px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #modal-content fieldset > legend + * { clear: both; }
  #modal-content :is(.field-section, .hs-risk-editor fieldset) { display: flow-root; }
  #modal-content .form-grid > label { line-height: 1.5; }
  #modal-content :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=range]) {
    max-width: 100%;
    min-width: 0;
    line-height: 1.5;
  }
  #modal-content select { padding-right: 32px; }
  #modal-content .optional-fields > summary { border-radius: inherit; }
  #modal-content .optional-fields[open] > summary {
    border-bottom: 1px solid var(--mcn-border);
    border-radius: var(--mcn-radius) var(--mcn-radius) 0 0;
  }
  @media (max-width: 650px) {
    main.data-view .kv { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    main.data-view :is(.module-tabs, .profile-tabs, .tabs) > button { flex-shrink: 0; white-space: nowrap; }
    main.data-view .module-tabs > label { min-width: 0; width: 100%; }
    main.data-view .insight-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    main.data-view .insight-strip > div { min-width: 0; overflow-wrap: anywhere; }
  }
}

/* Task completion stays separate from the record-opening control. */
.task-title-row, .task-list-row {display:flex;align-items:center;gap:12px;min-width:0;}
.task-list-row {padding:0 16px;border-bottom:1px solid var(--mcn-border);background:var(--mcn-surface);}
.task-list-row:last-child {border-bottom:0;}
main.data-view .task-list-row>.module-card {flex:1;min-width:0;border:0;border-radius:0;margin:0;box-shadow:none;}
.task-title-row>.work-open {min-width:0;}
main.data-view input.task-complete-checkbox {flex:0 0 20px;width:20px;height:20px;margin:0;cursor:pointer;accent-color:#927600;}
main.data-view input.task-complete-checkbox:disabled {cursor:wait;opacity:.6;}

/* One chevron for every single-choice dropdown, including future forms.
   Keep native select semantics/keyboard handling; listboxes keep native styling. */
:root {
  --mcn-select-arrow-size: 16px;
  --mcn-select-arrow-inset: 14px;
  --mcn-select-arrow-space: 42px;
  --mcn-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23626872' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
@media screen {
  :is(body #modal, body main, body > header, .auth-card) select:not([multiple]):not([size]:not([size="1"])):not(:where(.gm-style *, .customer-document *, .hs-document *)) {
    -webkit-appearance: none;
    appearance: none;
    background-image: var(--mcn-select-chevron);
    background-repeat: no-repeat;
    background-position: right var(--mcn-select-arrow-inset) center;
    background-size: var(--mcn-select-arrow-size) var(--mcn-select-arrow-size);
    padding-right: var(--mcn-select-arrow-space);
    text-overflow: ellipsis;
    line-height: 1.5;
  }
}
@media (forced-colors: active) {
  :is(body #modal, body main, body > header, .auth-card) select:not([multiple]):not([size]:not([size="1"])) {
    -webkit-appearance: auto;
    appearance: auto;
    background-image: none;
  }
}

/* Clickable dashboard rows need an inset; plain financial rows remain flush. */
main.data-view[data-section] :is(#dashboard-pipeline, #dashboard-shortcuts) {display:grid;gap:8px;}
main.data-view[data-section] button.dashboard-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:48px;
  padding:12px 16px;
  margin:0;
  border:1px solid var(--mcn-border);
  border-radius:var(--mcn-radius-sm);
  text-align:left;
  line-height:1.5;
  box-shadow:none;
}
main.data-view[data-section] button.dashboard-row>.dashboard-count {
  display:grid;
  grid-template-columns:minmax(3ch,auto) auto var(--mcn-icon-size);
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
main.data-view[data-section] button.dashboard-row .dashboard-count strong {text-align:right;font-variant-numeric:tabular-nums;}
main.data-view[data-section] button.dashboard-row .dashboard-count small {font-size:12px;color:var(--mcn-secondary);}
main.data-view[data-section] button.dashboard-row .ui-direction {justify-self:end;}
.ui-direction>svg {display:block;width:100%;height:100%;}
/* Direct writing on quote and agreement documents. */
.document-writing .writing-help{font-size:13px;line-height:1.5;max-width:850px;margin:12px auto 24px;color:#626570}.document-writing [contenteditable=true]{cursor:text;outline:1px solid transparent;outline-offset:6px;border-radius:4px;min-height:1.5em;white-space:pre-wrap;overflow-wrap:anywhere}.document-writing [contenteditable=true]:focus{outline-color:#d5bc43}.document-writing .writing-placeholder{background:#fff3b0;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:3px;padding:1px 2px;cursor:text}.document-writing #writing-actions{position:sticky;top:0;z-index:2;background:#f7f7f8;padding:12px;border-radius:10px}.document-writing #writing-error{position:sticky;top:70px;background:#fff;color:#a22929;z-index:2}.document-writing #writing-error:empty{display:none}@media print{.writing-help,#writing-actions,#writing-error{display:none!important}.writing-placeholder{background:none!important}[contenteditable]{outline:none!important}}

.job-form-choices{display:grid;gap:8px;max-height:280px;overflow:auto;padding:4px}.job-form-choices label.check{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;line-height:1.4}.job-form-choices label[hidden]{display:none}.job-form-choices input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:0}

.jobs-register{display:block!important}.jobs-table-filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}.jobs-table-filters select{min-width:170px}.jobs-table-scroll{overflow-x:auto;border:1px solid #e2e4e8;border-radius:12px;background:#fff}.jobs-data-table{width:100%;min-width:1050px;border-collapse:collapse;table-layout:fixed}.jobs-data-table th,.jobs-data-table td{padding:16px 14px;text-align:left;vertical-align:middle;border:0;border-bottom:1px solid #eceef1;line-height:1.5;overflow-wrap:anywhere}.jobs-data-table th{background:#f6f7f9;color:#646b75;font-size:12px;font-weight:600}.jobs-data-table th:nth-child(2),.jobs-data-table th:nth-child(5){width:18%}.jobs-data-table th:first-child{width:8%}.jobs-data-table th button,.jobs-data-table .job-table-link{display:block;min-height:0;width:auto;max-width:100%;padding:0;margin:0;background:none;border:0;box-shadow:none;text-align:left;font:inherit;line-height:1.5;border-radius:4px;white-space:normal}.jobs-data-table th button{color:inherit}.jobs-data-table .job-table-link{color:#303842;font-weight:500}.jobs-data-table .job-table-link:hover{text-decoration:underline}.jobs-data-table td .job-table-link+.job-table-link{font-size:12px;color:#747b85;margin-top:4px}.jobs-data-table tbody tr:hover{background:#fafbfc}.jobs-data-table tbody tr:last-child td{border-bottom:0}.jobs-table-pagination{display:flex;align-items:center;gap:12px;margin-top:16px;color:#747b85;font-size:13px}.jobs-table-pagination span{margin-right:auto}.job-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:#f0f1f4;color:#5b6470;font-size:12px;font-weight:600;line-height:1.4}.job-status-in-progress,.job-status-completed{background:#e5f4e9;color:#24613b}.job-status-scheduled{background:#e8f0fd;color:#315c96}.job-status-invoiced{background:#eee8f8;color:#654492}.job-status-cancelled{background:#fbe9e9;color:#963e3e}
