:root {
  color-scheme: light;
  --nc-color-ink: #17201c;
  --nc-color-muted: #64716b;
  --nc-color-canvas: #f3f5f2;
  --nc-color-surface: #ffffff;
  --nc-color-surface-subtle: #f7f9f7;
  --nc-color-line: #dce3de;
  --nc-color-line-strong: #c4cec7;
  --nc-color-brand: #28644f;
  --nc-color-brand-strong: #194a39;
  --nc-color-brand-soft: #e2f1e9;
  --nc-color-danger: #a23838;
  --nc-color-danger-soft: #faeaea;
  --nc-color-warning: #805a12;
  --nc-color-warning-soft: #fff3d8;
  --nc-color-success: #26613d;
  --nc-color-success-soft: #e5f3e9;
  --nc-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nc-font-size-sm: 0.8125rem;
  --nc-font-size-md: 0.9375rem;
  --nc-font-size-lg: 1.125rem;
  --nc-font-size-xl: clamp(1.45rem, 2.2vw, 1.8rem);
  --nc-space-1: 0.25rem;
  --nc-space-2: 0.5rem;
  --nc-space-3: 0.75rem;
  --nc-space-4: 1rem;
  --nc-space-5: 1.5rem;
  --nc-space-6: 2rem;
  --nc-space-7: 3rem;
  --nc-radius-sm: 0.45rem;
  --nc-radius-md: 0.55rem;
  --nc-radius-lg: 0.7rem;
  --nc-shadow-sm: none;
  --nc-focus: 0 0 0 3px rgb(40 100 79 / 24%);
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--nc-color-canvas); color: var(--nc-color-ink); font: var(--nc-font-size-md)/1.5 var(--nc-font-sans); }
.nc-page { width: 100%; max-width: 96rem; margin: 0 auto; padding: var(--nc-space-6); }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
:focus-visible { outline: none; box-shadow: var(--nc-focus); }
.nc-page-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--nc-space-5); margin-bottom: var(--nc-space-6); }
.nc-page-title { margin: 0; font-size: var(--nc-font-size-xl); line-height: 1.15; letter-spacing: -0.03em; }
.nc-page-description { max-width: 44rem; margin: var(--nc-space-2) 0 0; color: var(--nc-color-muted); }
.nc-page-actions { display: flex; flex-wrap: wrap; gap: var(--nc-space-2); }
.nc-card { padding: var(--nc-space-4); background: var(--nc-color-surface); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-lg); box-shadow: var(--nc-shadow-sm); }
.nc-card__title { margin: 0; font-size: var(--nc-font-size-lg); }
.nc-card__description { margin: var(--nc-space-1) 0 var(--nc-space-4); color: var(--nc-color-muted); }
.nc-button { min-height: 2.5rem; padding: 0.55rem 0.9rem; border: 1px solid transparent; border-radius: var(--nc-radius-md); font-weight: 650; }
.nc-button--primary { background: var(--nc-color-brand); color: white; }
.nc-button--primary:hover { background: var(--nc-color-brand-strong); }
.nc-button--secondary { background: var(--nc-color-surface); border-color: var(--nc-color-line-strong); color: var(--nc-color-ink); }
.nc-button--ghost { background: transparent; color: var(--nc-color-muted); }
.nc-button:disabled { cursor: not-allowed; opacity: 0.55; }
.nc-badge { display: inline-flex; align-items: center; width: fit-content; padding: 0.2rem 0.55rem; border-radius: 999px; background: var(--nc-color-surface-subtle); color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); font-weight: 700; }
.nc-badge--success { background: var(--nc-color-success-soft); color: var(--nc-color-success); }
.nc-badge--warning { background: var(--nc-color-warning-soft); color: var(--nc-color-warning); }
.nc-badge--danger { background: var(--nc-color-danger-soft); color: var(--nc-color-danger); }
.nc-fortnox-status { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 2.15rem; height: 2.15rem; border: 1px solid var(--nc-color-line-strong); border-radius: 50%; background: var(--nc-color-surface-subtle); color: var(--nc-color-muted); cursor: help; }
.nc-fortnox-status--ready { border-color: var(--nc-color-success); background: var(--nc-color-success-soft); color: var(--nc-color-success); }
.nc-fortnox-status__mark { font-size: var(--nc-font-size-sm); font-weight: 850; line-height: 1; }
.nc-fortnox-status__tooltip { position: absolute; z-index: 50; top: calc(100% + var(--nc-space-2)); right: 0; display: grid; gap: var(--nc-space-1); width: min(22rem, calc(100vw - 2rem)); padding: var(--nc-space-3); border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-md); background: var(--nc-color-ink); color: var(--nc-color-surface); box-shadow: 0 0.75rem 2rem rgb(16 35 27 / 18%); font-size: var(--nc-font-size-sm); line-height: 1.4; opacity: 0; visibility: hidden; transform: translateY(-0.25rem); transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease; pointer-events: none; }
.nc-fortnox-status__tooltip span { color: var(--nc-color-line); font-weight: 500; }
.nc-fortnox-status:hover .nc-fortnox-status__tooltip,
.nc-fortnox-status:focus-visible .nc-fortnox-status__tooltip { opacity: 1; visibility: visible; transform: translateY(0); }
.nc-decision-dialog { width: min(52rem, calc(100vw - 2rem)); max-height: min(44rem, calc(100vh - 2rem)); padding: var(--nc-space-5); border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-lg); background: var(--nc-color-surface); color: var(--nc-color-ink); box-shadow: 0 1.5rem 4rem rgb(16 35 27 / 24%); }
.nc-decision-dialog::backdrop { background: rgb(23 32 28 / 48%); }
.nc-decision-dialog h2 { margin: 0; }
.nc-decision-dialog > p { color: var(--nc-color-muted); }
.nc-decision-dialog .nc-erp-table-wrap { max-height: 24rem; margin: var(--nc-space-4) 0; overflow: auto; }
.nc-action-overdue { display: grid; gap: 0.1rem; color: var(--nc-color-danger); }
.nc-action-overdue small { color: var(--nc-color-muted); }
.nc-notice { display: grid; gap: var(--nc-space-1); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-md); background: var(--nc-color-surface-subtle); }
.nc-notice span { color: var(--nc-color-muted); }
.nc-notice--danger { background: var(--nc-color-danger-soft); border-color: #ebc3c3; color: var(--nc-color-danger); }
.nc-notice--warning { background: var(--nc-color-warning-soft); border-color: #ead29a; color: var(--nc-color-warning); }
.nc-field { display: grid; gap: var(--nc-space-2); padding: var(--nc-space-4) 0; border-bottom: 1px solid var(--nc-color-line); }
.nc-field:last-child { border-bottom: 0; }
.nc-field label { font-weight: 700; }
.nc-field input:not([type="checkbox"]), .nc-field select { width: min(100%, 30rem); min-height: 2.7rem; padding: 0.55rem 0.7rem; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface); color: var(--nc-color-ink); }
.nc-field--check { grid-template-columns: 1.25rem minmax(0, 1fr); align-items: start; }
.nc-field--check input { grid-column: 1; grid-row: 1; width: 1.1rem; height: 1.1rem; margin-top: 0.15rem; }
.nc-field--check label, .nc-field--check small { grid-column: 2; }
.nc-field__help { color: var(--nc-color-muted); }
.nc-table { width: 100%; border-collapse: collapse; }
.nc-table th, .nc-table td { padding: var(--nc-space-3); border-bottom: 1px solid var(--nc-color-line); text-align: left; vertical-align: top; }
.nc-table th { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); letter-spacing: 0.03em; text-transform: uppercase; }
.nc-density--compact .nc-card { padding: var(--nc-space-4); }
.nc-density--compact .nc-table th, .nc-density--compact .nc-table td { padding: var(--nc-space-2); }
.nc-eyebrow { margin: 0 0 var(--nc-space-1); color: var(--nc-color-brand-strong); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.025em; }
.nc-subnav { display: flex; flex-wrap: wrap; gap: var(--nc-space-2); margin: calc(-1 * var(--nc-space-3)) 0 var(--nc-space-5); padding-bottom: var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); }
.nc-inline-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nc-space-2); margin-top: var(--nc-space-3); }
.nc-form { display: grid; gap: var(--nc-space-3); margin-top: var(--nc-space-3); }
.nc-form label { display: grid; gap: var(--nc-space-1); color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); font-weight: 700; }
.nc-form input, .nc-form select, .nc-form textarea { width: 100%; min-height: 2.5rem; padding: 0.5rem 0.65rem; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface); color: var(--nc-color-ink); }
.nc-form textarea { min-height: 6rem; resize: vertical; }
.nc-operation-status { position: fixed; z-index: 40; top: var(--nc-space-3); right: var(--nc-space-3); max-width: min(28rem,calc(100vw - 2rem)); padding: var(--nc-space-3) var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-md); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); font-weight: 700; }
.nc-operation-status--success { color: var(--nc-color-success); background: var(--nc-color-success-soft); }
.nc-operation-status--warning { color: var(--nc-color-warning); background: var(--nc-color-warning-soft); }
.nc-operation-status--error { color: var(--nc-color-danger); background: var(--nc-color-danger-soft); }
.nc-master-detail { display: grid; grid-template-columns: minmax(18rem, 28rem) minmax(30rem, 1fr); gap: var(--nc-space-4); align-items: start; }
.nc-list-panel { overflow: hidden; background: var(--nc-color-surface); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-lg); }
.nc-list-panel__header { display: flex; justify-content: space-between; align-items: center; padding: var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); }
.nc-list-panel__header h2 { margin: 0; }
.nc-conversation-row { display: flex; justify-content: space-between; gap: var(--nc-space-3); width: 100%; padding: var(--nc-space-4); border: 0; border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface); color: var(--nc-color-ink); text-align: left; }
.nc-conversation-row:hover { background: var(--nc-color-surface-subtle); }
.nc-conversation-row > span { display: grid; gap: var(--nc-space-1); }
.nc-conversation-row > span:last-child { justify-items: end; }
.nc-conversation-row small { color: var(--nc-color-muted); }
.nc-unread { display: inline-block; width: 0.55rem; height: 0.55rem; margin-right: var(--nc-space-2); border-radius: 50%; background: var(--nc-color-brand); }
.nc-detail-panel { min-width: 0; }
.nc-conversation-panel { padding: var(--nc-space-5); background: var(--nc-color-surface); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-lg); }
.nc-work-header, .nc-section-head, .nc-card header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--nc-space-4); }
.nc-work-header h2, .nc-section-head h2, .nc-card h3 { margin: 0; }
.nc-message { margin: var(--nc-space-5) 0; padding: var(--nc-space-5); border-left: 4px solid var(--nc-color-brand); background: var(--nc-color-surface-subtle); }
.nc-message p { font-size: var(--nc-font-size-lg); }
.nc-message small { color: var(--nc-color-muted); }
.nc-work-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.85fr); gap: var(--nc-space-5); }
.nc-work-grid h3 { margin: var(--nc-space-5) 0 var(--nc-space-3); }
.nc-list-row { display: flex; justify-content: space-between; align-items: center; gap: var(--nc-space-3); padding: var(--nc-space-3) 0; border-bottom: 1px solid var(--nc-color-line); }
.nc-compact-card { padding: var(--nc-space-3); margin: var(--nc-space-3); }
details > summary { cursor: pointer; font-weight: 750; }
.nc-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: var(--nc-space-4); margin-bottom: var(--nc-space-5); }
.nc-stat-value { display: block; margin: var(--nc-space-2) 0; font-size: 2.25rem; line-height: 1; }
.nc-metric-card { color: var(--nc-color-ink); text-align: left; cursor: pointer; }
.nc-metric-card:hover { border-color: var(--nc-color-brand); background: var(--nc-color-surface-subtle); }
.nc-metric-card small { color: var(--nc-color-muted); }
.nc-kpi-catalog { margin-bottom: var(--nc-space-5); }
.nc-kpi-catalog[open] summary { margin-bottom: var(--nc-space-3); }
.nc-metric-missing { display: inline-block; margin-right: var(--nc-space-2); color: var(--nc-color-muted); font-size: var(--nc-font-size-xl); }
.nc-card-stack { display: grid; gap: var(--nc-space-4); }
.nc-work-row { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr) auto; align-items: center; gap: var(--nc-space-4); width: 100%; color: var(--nc-color-ink); text-align: left; cursor: pointer; }
.nc-work-row:hover { border-color: var(--nc-color-brand); background: var(--nc-color-surface-subtle); }
.nc-work-row > span { display: grid; gap: var(--nc-space-1); }
.nc-work-row small { color: var(--nc-color-muted); }
.nc-link-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--nc-space-1) var(--nc-space-3); width: 100%; padding: var(--nc-space-3) 0; border: 0; border-bottom: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-ink); text-align: left; }
button.nc-link-row { cursor: pointer; }
button.nc-link-row:hover { color: var(--nc-color-brand); }
.nc-link-row small { grid-column: 1 / -1; color: var(--nc-color-muted); }
.nc-activity-list { display: grid; }
.nc-case-card header > div:last-child, .nc-file-card header > div:last-child { display: flex; flex-wrap: wrap; gap: var(--nc-space-2); }
.nc-definition { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--nc-space-3); margin: var(--nc-space-4) 0; }
.nc-definition div { padding: var(--nc-space-3); border-radius: var(--nc-radius-md); background: var(--nc-color-surface-subtle); }
.nc-definition dt { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); font-weight: 700; }
.nc-definition dd { margin: var(--nc-space-1) 0 0; font-weight: 700; }
.nc-danger-zone { display: grid; grid-template-columns: 1fr auto; gap: var(--nc-space-2) var(--nc-space-4); align-items: center; margin-top: var(--nc-space-4); padding: var(--nc-space-4); border: 1px solid #ead29a; border-radius: var(--nc-radius-md); background: var(--nc-color-warning-soft); }
.nc-danger-zone span { color: var(--nc-color-warning); }
.nc-danger-zone .nc-button { grid-column: 2; grid-row: 1 / span 2; }
.nc-two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); gap: var(--nc-space-5); align-items: start; }
.nc-version { margin-top: var(--nc-space-4); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-md); background: var(--nc-color-surface-subtle); }
.nc-version > div:first-child { display: inline-block; margin-right: var(--nc-space-3); }
.nc-version > div:nth-child(2) { display: inline-block; }
.nc-files-provider-strip { display:flex; justify-content:space-between; gap:var(--nc-space-4); margin:var(--nc-space-3) 0; padding:var(--nc-space-3) var(--nc-space-4); color:var(--nc-color-muted); background:var(--nc-color-surface-subtle); border:1px solid var(--nc-color-line); border-radius:var(--nc-radius-md); font-size:var(--nc-font-size-sm); }
.nc-files-toolbar { display:grid; grid-template-columns:minmax(18rem,1fr) auto auto auto auto; gap:var(--nc-space-3); align-items:end; padding:var(--nc-space-3) 0; }
.nc-files-toolbar label { margin:0; }
.nc-files-toolbar .nc-search-field,
.nc-files-toolbar .nc-search-field input { width:100%; min-width:0; }
.nc-files-create { position:relative; }
.nc-files-create > summary { list-style:none; }
.nc-files-create > summary::-webkit-details-marker { display:none; }
.nc-files-create[open] > .nc-files-create-panel { position:absolute; z-index:12; top:calc(100% + var(--nc-space-2)); right:0; width:min(30rem,82vw); max-height:min(44rem,calc(100vh - 8rem)); overflow:auto; padding:var(--nc-space-4); border:1px solid var(--nc-color-line-strong); border-radius:var(--nc-radius-md); background:var(--nc-color-surface); box-shadow:0 .8rem 2rem rgb(0 0 0 / .14); }
.nc-files-create[open] > summary { box-shadow:var(--nc-focus); }
.nc-files-create-panel > h2 { margin-top:0; }
.nc-files-create-panel > .nc-compact-card { margin-top:var(--nc-space-4); }
.nc-files-table tbody tr { cursor:pointer; }
.nc-files-table tbody tr:hover, .nc-files-table tbody tr:focus { background:var(--nc-color-surface-subtle); outline:none; }
.nc-files-table td strong, .nc-files-table td small, .nc-file-version header strong, .nc-file-version header small, .nc-files-usage td small { display:block; }
.nc-files-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,18rem); gap:var(--nc-space-4); align-items:start; }
.nc-file-version { position:relative; overflow:hidden; margin-top:0; margin-bottom:var(--nc-space-4); background:var(--nc-color-surface); }
.nc-file-version > header { display:flex; justify-content:space-between; gap:var(--nc-space-4); position:relative; z-index:1; }
.nc-file-version > section, .nc-file-version > details, .nc-file-version > p, .nc-files-version-actions { position:relative; z-index:1; }
.nc-file-version.is-superseded { background:linear-gradient(135deg,var(--nc-color-surface) 0 48%,var(--nc-color-surface-subtle) 48% 52%,var(--nc-color-surface) 52%); }
.nc-version-watermark { position:absolute; inset:42% auto auto 50%; transform:translate(-50%,-50%) rotate(-24deg); z-index:0; font-size:clamp(2.5rem,8vw,7rem); font-weight:800; letter-spacing:.1em; color:rgba(135,45,45,.10); pointer-events:none; user-select:none; }
.nc-files-version-actions { display:flex; flex-wrap:wrap; gap:var(--nc-space-2); align-items:center; margin:var(--nc-space-4) 0; }
.nc-files-editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--nc-space-4); }
.nc-files-link-form { grid-template-columns:1fr 1fr auto; align-items:end; }
.nc-files-detail .nc-page-header .nc-button { margin-bottom:var(--nc-space-3); }
.nc-files-create { min-width:18rem; }
.nc-file-visual-editor { position:relative; z-index:1; margin:var(--nc-space-4) 0; border:1px solid var(--nc-color-line-strong); border-radius:var(--nc-radius-md); overflow:hidden; background:#e8ebe9; }
.nc-file-editor-toolbar { display:flex; justify-content:space-between; align-items:center; gap:var(--nc-space-3); padding:var(--nc-space-2) var(--nc-space-3); border-bottom:1px solid var(--nc-color-line); background:var(--nc-color-surface); }
.nc-file-editor-toolbar > div:first-child { display:grid; }
.nc-file-editor-toolbar small { color:var(--nc-color-muted); }
.nc-file-editor-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--nc-space-1); }
.nc-file-editor-controls .nc-button { min-height:2.2rem; padding:.35rem .62rem; }
.nc-file-editor-tools { display:flex; flex-wrap:wrap; gap:var(--nc-space-2); align-items:end; padding:var(--nc-space-2) var(--nc-space-3); border-bottom:1px solid var(--nc-color-line); background:var(--nc-color-surface-subtle); }
.nc-file-editor-tools label { flex:1 1 16rem; margin:0; }
.nc-file-editor-tools input { width:100%; min-height:2.35rem; padding:.42rem .58rem; border:1px solid var(--nc-color-line-strong); border-radius:var(--nc-radius-sm); background:var(--nc-color-surface); }
.nc-file-editor-tools [data-nc-file-editor-status] { flex:1 0 100%; min-height:1.4rem; }
.nc-file-editor-body { display:grid; grid-template-columns:7.5rem minmax(0,1fr); min-height:32rem; }
.nc-file-visual-editor.is-image .nc-file-editor-body { grid-template-columns:1fr; }
.nc-file-thumbnails { max-height:70vh; overflow:auto; padding:var(--nc-space-2); border-right:1px solid var(--nc-color-line); background:var(--nc-color-surface-subtle); }
.nc-file-visual-editor.is-image .nc-file-thumbnails { display:none; }
.nc-file-thumbnail-card { display:grid; margin:0 0 var(--nc-space-2); border-radius:var(--nc-radius-sm); background:var(--nc-color-surface); }
.nc-file-thumbnail-card > label { display:flex; align-items:center; justify-content:center; gap:.3rem; padding:.25rem; color:var(--nc-color-muted); font-size:var(--nc-font-size-xs); font-weight:700; cursor:pointer; }
.nc-file-thumbnail-card > label:has(input:checked) { color:var(--nc-color-brand-strong); background:var(--nc-color-brand-soft); }
.nc-file-thumbnail { display:grid; width:100%; margin:0; padding:.35rem; border:2px solid transparent; border-radius:var(--nc-radius-sm); background:var(--nc-color-surface); color:var(--nc-color-muted); cursor:pointer; }
.nc-file-thumbnail:hover { border-color:var(--nc-color-line-strong); }
.nc-file-thumbnail.is-active { border-color:var(--nc-color-brand); color:var(--nc-color-brand-strong); box-shadow:0 0 0 1px var(--nc-color-brand); }
.nc-file-thumbnail canvas { display:block; width:100%; height:auto; margin:auto; background:#fff; }
.nc-file-thumbnail span { padding-top:.3rem; font-size:var(--nc-font-size-xs); font-weight:700; text-align:center; }
.nc-file-thumbnail-limit { display:block; padding:.25rem; color:var(--nc-color-muted); font-size:var(--nc-font-size-xs); text-align:center; }
.nc-file-page-linker { display:grid; grid-template-columns:minmax(13rem,1fr) minmax(12rem,1fr) auto; gap:var(--nc-space-2); align-items:end; padding:var(--nc-space-3); border-bottom:1px solid var(--nc-color-line); background:var(--nc-color-brand-soft); }
.nc-file-page-linker > div { display:grid; gap:.2rem; }
.nc-file-page-linker > div span,.nc-file-page-linker > small { color:var(--nc-color-muted); }
.nc-file-page-linker > small { grid-column:1 / -1; }
.nc-file-page-linker label { margin:0; }
.nc-file-page-linker input { width:100%; min-height:2.35rem; padding:.42rem .58rem; border:1px solid var(--nc-color-line-strong); border-radius:var(--nc-radius-sm); background:var(--nc-color-surface); }
.nc-file-editor-stage { min-height:32rem; max-height:70vh; overflow:auto; padding:var(--nc-space-5); outline:none; }
.nc-file-editor-stage:focus-visible { box-shadow:inset var(--nc-focus); }
.nc-file-editor-page { position:relative; width:max-content; max-width:100%; margin:0 auto; background:#fff; box-shadow:0 .6rem 1.8rem rgb(0 0 0 / .18); transform-origin:center; }
.nc-file-editor-page canvas, .nc-file-editor-page img { display:block; max-width:none; }
.nc-file-annotation-layer { position:absolute; inset:0; cursor:default; }
.nc-file-visual-editor.is-placing .nc-file-annotation-layer { cursor:crosshair; }
.nc-file-annotation { position:absolute; box-sizing:border-box; overflow:visible; cursor:move; touch-action:none; }
.nc-file-annotation.is-selected { z-index:2; outline:3px solid var(--nc-color-brand); outline-offset:2px; }
.nc-file-annotation-resize { position:absolute; right:-.55rem; bottom:-.55rem; width:1rem; height:1rem; border:2px solid #fff; border-radius:50%; background:var(--nc-color-brand); box-shadow:0 .1rem .25rem rgb(0 0 0 / .35); cursor:nwse-resize; }
.nc-file-annotation--text { min-width:6rem; min-height:2.5rem; padding:.45rem .55rem; border:1px solid #c89e21; border-radius:.25rem; background:rgba(255,237,151,.94); color:#332a11; box-shadow:0 .2rem .55rem rgb(0 0 0 / .14); white-space:pre-wrap; }
.nc-file-annotation--highlight { border:2px solid rgba(222,171,0,.7); background:rgba(255,221,47,.34); }
.nc-file-editor-loading { display:grid; place-items:center; min-width:28rem; min-height:32rem; color:var(--nc-color-muted); }
@media (max-width:900px) { .nc-file-editor-toolbar { align-items:flex-start; flex-direction:column; } .nc-file-editor-controls { justify-content:flex-start; } .nc-file-editor-stage { padding:var(--nc-space-3); } }
@media (max-width:700px) { .nc-file-editor-body { grid-template-columns:1fr; } .nc-file-thumbnails { display:flex; max-height:none; gap:var(--nc-space-2); overflow-x:auto; border-right:0; border-bottom:1px solid var(--nc-color-line); } .nc-file-thumbnail-card { flex:0 0 5.5rem; margin:0; } .nc-file-page-linker { grid-template-columns:1fr; } .nc-file-page-linker > small { grid-column:1; } }

/* Dense application workspaces: flat, predictable and record-first. */
.nc-app-body { height: 100dvh; overflow: hidden; background: var(--nc-color-surface); }
.nc-app-shell { height: 100dvh; overflow: auto; background: var(--nc-color-surface); }
.nc-app-shell [hidden] { display: none !important; }
.nc-app-shell.is-settings-view .nc-app-tabs { display: none; }
.nc-app-tabs { position: sticky; z-index: 25; top: 0; display: flex; align-items: stretch; min-height: 3.45rem; padding: 0 var(--nc-space-5); overflow-x: auto; border-bottom: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-app-tab { min-width: max-content; padding: 0 var(--nc-space-4); border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--nc-color-muted); font-weight: 700; }
.nc-app-tab:hover { color: var(--nc-color-ink); background: var(--nc-color-surface-subtle); }
.nc-app-tab.is-active, .nc-app-tab[aria-current="page"] { border-bottom-color: var(--nc-color-brand); color: var(--nc-color-brand-strong); }
.nc-app-tabs__status { display: inline-flex; align-items: center; gap: var(--nc-space-2); min-width: max-content; margin-left: auto; padding-left: var(--nc-space-5); color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-app-tabs__status::before { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: #35a060; content: ""; }
.nc-workspace { padding: var(--nc-space-4) var(--nc-space-5) var(--nc-space-5); }
.nc-workspace-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-4); min-height: 3.25rem; margin-bottom: var(--nc-space-3); }
.nc-workspace-toolbar h2, .nc-workspace-toolbar p { margin: 0; }
.nc-workspace-toolbar p { color: var(--nc-color-muted); }
.nc-work-surface { min-width: 0; overflow: auto; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface); }
.nc-work-surface__header { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); min-height: 3rem; padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface-subtle); }
.nc-work-surface__header h3, .nc-work-surface__header p { margin: 0; }
.nc-work-surface__header p { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-dashboard { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: var(--nc-space-3); height: calc(100dvh - 3.45rem); overflow: hidden; }
.nc-kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface); }
.nc-kpi { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 0 var(--nc-space-3); align-items: center; min-width: 0; min-height: 4.6rem; padding: var(--nc-space-3) var(--nc-space-4); border: 0; border-right: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-ink); text-align: left; }
.nc-kpi:last-child { border-right: 0; }
.nc-kpi:hover { background: var(--nc-color-surface-subtle); }
.nc-kpi strong { grid-row: 1 / span 2; min-width: 2.4rem; font-size: 1.65rem; line-height: 1; }
.nc-kpi span { font-weight: 750; }
.nc-kpi small { overflow: hidden; color: var(--nc-color-muted); text-overflow: ellipsis; white-space: nowrap; }
.nc-dashboard-grid { display: grid; grid-template-columns: minmax(22rem, 1.3fr) minmax(18rem, 1fr) minmax(14rem, 0.72fr); gap: var(--nc-space-3); min-height: 0; }
.nc-erp-row { display: grid; grid-template-columns: 1.5rem minmax(0,1fr) minmax(0,0.9fr) auto; gap: var(--nc-space-3); align-items: center; width: 100%; min-height: 3.65rem; padding: var(--nc-space-2) var(--nc-space-4); border: 0; border-bottom: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-ink); text-align: left; }
.nc-erp-row:hover { background: var(--nc-color-brand-soft); }
.nc-erp-row__number { color: var(--nc-color-muted); font-variant-numeric: tabular-nums; }
.nc-erp-row span { display: grid; min-width: 0; }
.nc-erp-row small { overflow: hidden; color: var(--nc-color-muted); text-overflow: ellipsis; white-space: nowrap; }
.nc-compact-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.nc-compact-metric { min-height: 6.1rem; padding: var(--nc-space-3) var(--nc-space-4); border-right: 1px solid var(--nc-color-line); border-bottom: 1px solid var(--nc-color-line); }
.nc-compact-metric:nth-child(2n) { border-right: 0; }
.nc-compact-metric:nth-last-child(-n+2) { border-bottom: 0; }
.nc-compact-metric span, .nc-compact-metric small { display: block; }
.nc-compact-metric span { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); font-weight: 700; }
.nc-compact-metric strong { display: block; margin: var(--nc-space-1) 0; font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.nc-compact-metric small { color: var(--nc-color-warning); }
.nc-attention-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--nc-space-2); width: 100%; padding: var(--nc-space-3) var(--nc-space-4); border: 0; border-bottom: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-ink); text-align: left; }
.nc-attention-row:hover { background: var(--nc-color-brand-soft); }
.nc-attention-row:last-child { border-bottom: 0; }
.nc-attention-row span { color: var(--nc-color-muted); }
.nc-erp-table-wrap { overflow: auto; }
.nc-erp-table { width: 100%; border-collapse: collapse; }
.nc-erp-table th { position: sticky; z-index: 1; top: 0; padding: 0.65rem var(--nc-space-3); border-bottom: 1px solid var(--nc-color-line-strong); background: #eef2ef; color: var(--nc-color-muted); font-size: 0.72rem; letter-spacing: 0.04em; text-align: left; text-transform: uppercase; }
.nc-erp-table td { padding: 0.68rem var(--nc-space-3); border-bottom: 1px solid var(--nc-color-line); vertical-align: middle; }
.nc-erp-table tbody tr:hover { background: var(--nc-color-surface-subtle); }
.nc-erp-table .nc-link { padding: 0; border: 0; background: transparent; color: var(--nc-color-brand-strong); font-weight: 750; text-align: left; }
.nc-record { padding: var(--nc-space-4) var(--nc-space-5) var(--nc-space-6); }
.nc-record-commandbar { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); min-height: 2.75rem; margin-bottom: var(--nc-space-3); }
.nc-record-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nc-space-4); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); border-bottom: 0; background: var(--nc-color-surface-subtle); }
.nc-record-header h2, .nc-record-header p { margin: 0; }
.nc-record-header p { margin-top: var(--nc-space-1); color: var(--nc-color-muted); }
.nc-record-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 0 var(--nc-space-3); border: 1px solid var(--nc-color-line-strong); }
.nc-record-facts div { padding: var(--nc-space-3) var(--nc-space-4); border-right: 1px solid var(--nc-color-line); }
.nc-record-facts div:last-child { border-right: 0; }
.nc-record-facts dt { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-record-facts dd { margin: var(--nc-space-1) 0 0; font-weight: 750; }
.nc-record-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(19rem,0.65fr); gap: var(--nc-space-3); align-items: start; }
.nc-record-main, .nc-record-side { display: grid; gap: var(--nc-space-3); }
.nc-record-section { border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-record-section > h3 { margin: 0; padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface-subtle); font-size: var(--nc-font-size-md); }
.nc-record-section__body { padding: var(--nc-space-4); }
.nc-record-section__body > :first-child { margin-top: 0; }
.nc-record-section__body > :last-child { margin-bottom: 0; }
.nc-case-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--nc-space-2); padding: var(--nc-space-3) 0; }
.nc-case-actions details { position: relative; }
.nc-case-actions details[open] .nc-form { position: absolute; z-index: 5; top: calc(100% + var(--nc-space-2)); left: 0; width: min(25rem, 80vw); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-case-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr); gap: var(--nc-space-3); margin-bottom: var(--nc-space-3); }
.nc-current-action { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-4); padding: var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-brand-soft); }
.nc-current-action h3, .nc-current-action p { margin: 0; }
.nc-current-action small { color: var(--nc-color-brand-strong); font-weight: 800; letter-spacing: 0.04em; }
.nc-section-heading { display: flex; align-items: center; justify-content: space-between; padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface-subtle); }
.nc-section-heading h3 { margin: 0; font-size: var(--nc-font-size-md); }
.nc-todo-row { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); }
.nc-todo-row span, .nc-todo-row small { display: block; }
.nc-todo-row small { color: var(--nc-color-muted); }
.nc-case-progress { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border: 1px solid var(--nc-color-line-strong); }
.nc-case-progress > div { min-width: 0; padding: var(--nc-space-3) var(--nc-space-4); border-right: 1px solid var(--nc-color-line); }
.nc-case-progress > div:last-child { border-right: 0; }
.nc-case-progress strong, .nc-case-progress small { display: block; }
.nc-case-progress small { margin-top: var(--nc-space-1); color: var(--nc-color-muted); }
.nc-case-progress .is-done { background: var(--nc-color-success-soft); }
.nc-case-progress .is-done strong::before { margin-right: var(--nc-space-1); color: var(--nc-color-success); content: "✓"; }
.nc-case-progress .is-current { box-shadow: inset 0 -3px 0 var(--nc-color-brand); background: var(--nc-color-brand-soft); }
.nc-case-progress .is-current strong::after { margin-left: var(--nc-space-1); color: var(--nc-color-brand); content: "Current"; font-size: 0.68rem; text-transform: uppercase; }
.nc-case-progress .is-blocked { background: var(--nc-color-warning-soft); }

/* Saw Station: neutral running states; colour is reserved for attention and danger. */
.nc-saw-state { display: inline-flex; align-items: center; gap: var(--nc-space-2); color: var(--nc-color-muted); font-weight: 750; }
.nc-saw-state::before { width: 0.58rem; height: 0.58rem; border-radius: 50%; background: #69736e; content: ""; }
.nc-saw-state--warning { color: var(--nc-color-warning); }
.nc-saw-state--warning::before { background: #b57600; }
.nc-saw-state--danger { color: var(--nc-color-danger); }
.nc-saw-state--danger::before { background: #b23b38; }
.nc-contact-header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--nc-space-4); align-items: center; padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); border-bottom: 0; background: var(--nc-color-surface-subtle); }
.nc-contact-header h2, .nc-contact-header p { margin: 0; }
.nc-contact-header p { margin: var(--nc-space-1) 0 var(--nc-space-3); color: var(--nc-color-muted); }
.nc-profile-photo { display: grid; place-items: center; width: 5.5rem; height: 5.5rem; border: 1px solid var(--nc-color-line-strong); border-radius: 50%; background: var(--nc-color-brand-soft); color: var(--nc-color-brand-strong); font-size: 1.5rem; font-weight: 850; }
.nc-settings-workspace { min-height: 100dvh; }
.nc-stepper { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-bottom: var(--nc-space-3); border: 1px solid var(--nc-color-line-strong); }
.nc-step { position: relative; min-height: 4.4rem; padding: var(--nc-space-3); border-right: 1px solid var(--nc-color-line); background: var(--nc-color-surface); }
.nc-step:last-child { border-right: 0; }
.nc-step small, .nc-step strong { display: block; }
.nc-step small { color: var(--nc-color-muted); }
.nc-step.is-done { background: var(--nc-color-success-soft); }
.nc-step.is-current { box-shadow: inset 0 -3px 0 var(--nc-color-brand); background: var(--nc-color-brand-soft); }
.nc-step.is-blocked { background: var(--nc-color-warning-soft); }
.nc-plain-list { display: grid; }
.nc-plain-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--nc-space-3); width: 100%; padding: var(--nc-space-3) var(--nc-space-4); border: 0; border-bottom: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-ink); text-align: left; }
button.nc-plain-row:hover { background: var(--nc-color-brand-soft); }
.nc-plain-row:last-child { border-bottom: 0; }
.nc-plain-row span, .nc-plain-row small { display: block; color: var(--nc-color-muted); }
@media (max-width: 680px) { .nc-page-header { display: grid; } .nc-page-actions { width: 100%; } .nc-page-actions .nc-button { flex: 1; } .nc-card { padding: var(--nc-space-4); } .nc-work-row { grid-template-columns: 1fr; } }
@media (max-width: 1000px) { .nc-master-detail, .nc-work-grid, .nc-two-column, .nc-files-workspace { grid-template-columns: 1fr; } .nc-stat-grid { grid-template-columns: 1fr; } .nc-definition { grid-template-columns: 1fr; } .nc-files-toolbar { grid-template-columns:1fr 1fr; } .nc-files-editor-grid { grid-template-columns:1fr; } }
@media (max-width: 920px) { .nc-dashboard { height: auto; min-height: calc(100dvh - 3.45rem); overflow: visible; } .nc-dashboard-grid { grid-template-columns: 1fr 1fr; } .nc-dashboard-grid > :first-child { grid-column: 1 / -1; } .nc-record-layout, .nc-case-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .nc-app-tabs { padding: 0 var(--nc-space-2); } .nc-app-tabs__status { display: none; } .nc-workspace, .nc-record { padding: var(--nc-space-3); } .nc-kpi-strip, .nc-dashboard-grid, .nc-record-facts, .nc-stepper { grid-template-columns: 1fr; } .nc-kpi { border-right: 0; border-bottom: 1px solid var(--nc-color-line); } .nc-kpi:last-child { border-bottom: 0; } .nc-dashboard-grid > :first-child { grid-column: auto; } .nc-record-facts div, .nc-step { border-right: 0; border-bottom: 1px solid var(--nc-color-line); } }
@media (max-height: 760px) and (min-width: 1181px) { .nc-dashboard { overflow: auto; } }
.nc-deep-link-target {
  outline: 3px solid var(--nc-color-focus, #2f6fed);
  outline-offset: 3px;
}

/* Communications: familiar Outlook-style folders, list and reading pane. */
.nc-comms-provider { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); min-height: 2.9rem; padding: 0.35rem var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-comms-provider > div { display: flex; min-width: 0; align-items: center; gap: var(--nc-space-2); }
.nc-comms-provider strong, .nc-comms-provider span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-comms-provider span { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-comms-provider__actions { flex: 0 0 auto; }
.nc-outlook-workspace { display: grid; grid-template-columns: 14rem minmax(20rem, 24rem) minmax(26rem, 1fr); height: calc(100dvh - 6.35rem); min-height: 0; overflow: hidden; background: var(--nc-color-surface); }
.nc-mail-folders { overflow: auto; padding: var(--nc-space-3); border-right: 1px solid var(--nc-color-line-strong); background: #f5f7f6; }
.nc-mail-new { width: 100%; margin-bottom: var(--nc-space-4); }
.nc-mail-compose { position: relative; margin-bottom: var(--nc-space-4); }
.nc-mail-compose > summary { list-style: none; }
.nc-mail-compose > summary::-webkit-details-marker { display: none; }
.nc-mail-compose > .nc-form { position: absolute; z-index: 10; top: calc(100% + var(--nc-space-2)); left: 0; width: min(30rem, 75vw); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-folder-group { margin-bottom: var(--nc-space-4); }
.nc-folder-group h3 { margin: 0 0 var(--nc-space-2); padding: 0 var(--nc-space-2); color: var(--nc-color-muted); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }
.nc-mail-folder { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-2); width: 100%; min-height: 2.25rem; padding: 0.4rem var(--nc-space-2); border: 0; border-radius: var(--nc-radius-sm); background: transparent; color: var(--nc-color-ink); text-align: left; }
.nc-mail-folder:hover, .nc-mail-folder.is-active { background: #dce8e2; color: var(--nc-color-brand-strong); }
.nc-mail-folder strong { min-width: 1.5rem; color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); text-align: right; }
.nc-mail-folder span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-mail-record { padding: var(--nc-space-2); border-top: 1px solid var(--nc-color-line); }
.nc-mail-list { display: grid; grid-template-rows: auto minmax(0,1fr); min-width: 0; border-right: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-mail-list > header { min-height: 6.2rem; padding: var(--nc-space-3) var(--nc-space-4) 0; border-bottom: 1px solid var(--nc-color-line-strong); }
.nc-mail-list__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); }
.nc-mail-list__navigation { display: flex; gap: var(--nc-space-1); }
.nc-mail-list__navigation .nc-button { min-width: 2rem; padding: 0.28rem 0.48rem; }
.nc-mail-list > header h2, .nc-mail-list > header span { display: block; margin: 0; }
.nc-mail-list > header span, .nc-mail-list > header small { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-mail-list > header small { max-width: 11rem; text-align: right; }
.nc-mail-splits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: var(--nc-space-3); }
.nc-mail-split { min-width: 0; padding: 0.5rem 0.15rem 0.62rem; overflow: hidden; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--nc-color-muted); font: inherit; font-size: 0.72rem; text-overflow: ellipsis; white-space: nowrap; }
.nc-mail-split strong { display: inline; margin-left: 0.2rem; color: inherit; font-size: inherit; }
.nc-mail-split:hover, .nc-mail-split.is-active { border-bottom-color: var(--nc-color-brand); color: var(--nc-color-brand-strong); }
.nc-mail-list__rows { overflow: auto; }
.nc-outlook-message { display: grid; grid-template-columns: 0.55rem minmax(0,1fr) auto; gap: 0.15rem var(--nc-space-2); width: 100%; min-height: 5.65rem; padding: 0.72rem var(--nc-space-3); border: 0; border-bottom: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-ink); text-align: left; }
.nc-outlook-message:hover { background: var(--nc-color-surface-subtle); }
.nc-outlook-message.is-active { box-shadow: inset 3px 0 0 var(--nc-color-brand); background: var(--nc-color-brand-soft); }
.nc-outlook-message > i { grid-row: 1 / span 4; width: 0.48rem; height: 0.48rem; margin-top: 0.4rem; border-radius: 50%; background: transparent; }
.nc-outlook-message > i.is-unread { background: var(--nc-color-brand); }
.nc-outlook-message__sender { overflow: hidden; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.nc-outlook-message time { color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-outlook-message strong, .nc-outlook-message small, .nc-outlook-message__tags { grid-column: 2 / -1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-outlook-message small { color: var(--nc-color-muted); }
.nc-outlook-message__tags { display: flex; gap: var(--nc-space-1); margin-top: var(--nc-space-1); }
.nc-outlook-message__tags em { padding: 0.1rem 0.38rem; border-radius: 999px; background: var(--nc-color-surface-subtle); color: var(--nc-color-muted); font-size: 0.7rem; font-style: normal; }
.nc-reading-pane { min-width: 0; height: 100%; overflow: auto; background: var(--nc-color-surface); }
.nc-reading-pane-host { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; }
.nc-reading-pane-host.is-loading::after { position: absolute; z-index: 12; inset: 0; display: grid; place-items: start center; padding-top: 4.25rem; background: rgba(255,255,255,.62); color: var(--nc-color-brand-strong); content: "Loading selected email…"; font-size: var(--nc-font-size-sm); font-weight: 750; pointer-events: none; }
.nc-mail-toolbar { position: sticky; z-index: 4; top: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--nc-space-2); min-height: 3.4rem; padding: var(--nc-space-2) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-mail-toolbar details { position: relative; }
.nc-mail-toolbar summary, .nc-reading-tags summary { display: inline-flex; align-items: center; gap: 0.3rem; list-style: none; }
.nc-mail-toolbar summary::-webkit-details-marker, .nc-reading-tags summary::-webkit-details-marker { display: none; }
.nc-mail-toolbar details > summary::after { color: var(--nc-color-muted); content: "▾"; font-size: 0.7rem; }
.nc-mail-popover { position: absolute; z-index: 8; top: calc(100% + var(--nc-space-2)); left: 0; width: min(30rem, 70vw); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-mail-snippets { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nc-space-2); padding: var(--nc-space-2); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface-subtle); }
.nc-mail-snippets strong { flex-basis: 100%; color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-mail-snippets small { flex-basis: 100%; color: var(--nc-color-muted); }
.nc-reading-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nc-space-4); padding: var(--nc-space-5) var(--nc-space-5) var(--nc-space-3); }
.nc-reading-header h2, .nc-reading-header p { margin: 0; }
.nc-reading-header p { margin-top: var(--nc-space-2); color: var(--nc-color-muted); }
.nc-reading-tags { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--nc-space-2); padding: 0 var(--nc-space-5) var(--nc-space-3); }
.nc-reading-tags details { position: relative; }
.nc-tag-form { position: absolute; z-index: 6; top: calc(100% + var(--nc-space-1)); left: 0; width: 17rem; padding: var(--nc-space-3); border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-mail-tag { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.18rem 0.45rem; border-radius: 999px; background: #dce9f8; font-size: var(--nc-font-size-sm); }
.nc-mail-tag--green { background: #dceee2; } .nc-mail-tag--yellow { background: #fff0c7; } .nc-mail-tag--red { background: #f7dddd; } .nc-mail-tag--purple { background: #e9def5; } .nc-mail-tag--grey { background: #e8ebea; }
.nc-mail-tag button { padding: 0; border: 0; background: transparent; color: inherit; font-size: 1rem; line-height: 1; }
.nc-mail-body { min-height: 9rem; margin: 0 var(--nc-space-5) var(--nc-space-4); padding: var(--nc-space-5); border: 1px solid var(--nc-color-line); background: #fbfcfb; }
.nc-mail-body p { margin-top: 0; font-size: var(--nc-font-size-lg); }
.nc-mail-body small, .nc-muted { color: var(--nc-color-muted); }
.nc-reading-lower { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(18rem,0.7fr); gap: var(--nc-space-4); padding: 0 var(--nc-space-5) var(--nc-space-6); }
.nc-reading-lower section { margin-bottom: var(--nc-space-4); border-top: 1px solid var(--nc-color-line); }
.nc-reading-lower h3 { margin: 0; padding: var(--nc-space-3) 0; font-size: var(--nc-font-size-md); }
.nc-filing-card { display: grid; gap: var(--nc-space-2); padding: var(--nc-space-3); border: 1px solid #acd3bb; background: var(--nc-color-success-soft); }
.nc-filing-card.is-uncertain { border-color: #e3c36e; background: var(--nc-color-warning-soft); }
.nc-filing-card strong, .nc-filing-card span, .nc-filing-card small { display: block; }
.nc-filing-card small { margin-top: var(--nc-space-1); color: var(--nc-color-muted); }
.nc-filing-result { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); padding: var(--nc-space-3); border: 1px solid var(--nc-color-line); }
.nc-mail-action-row { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); padding: var(--nc-space-3) 0; border-bottom: 1px solid var(--nc-color-line); }
.nc-mail-action-row strong, .nc-mail-action-row small { display: block; }
.nc-mail-action-row small { margin-top: var(--nc-space-1); color: var(--nc-color-muted); }
.nc-comms-calendar { height: calc(100dvh - 3.45rem); overflow: auto; }
.nc-calendar-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: var(--nc-space-3); border: 1px solid var(--nc-color-line-strong); }
.nc-calendar-strip div { padding: var(--nc-space-3) var(--nc-space-4); border-right: 1px solid var(--nc-color-line); }
.nc-calendar-strip div:last-child { border-right: 0; }
.nc-calendar-strip strong, .nc-calendar-strip span { display: block; }
.nc-calendar-strip span { margin-top: var(--nc-space-1); color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
@media (max-width: 1100px) { .nc-outlook-workspace { grid-template-columns: 13rem minmax(19rem,21rem) minmax(23rem,1fr); } .nc-reading-lower { grid-template-columns: 1fr; } .nc-mail-list > header small { display: none; } }
@media (max-width: 820px) { .nc-outlook-workspace { grid-template-columns: 9rem minmax(18rem,1fr); height: auto; min-height: calc(100dvh - 3.45rem); overflow: visible; } .nc-reading-pane { grid-column: 1 / -1; height: auto; border-top: 1px solid var(--nc-color-line-strong); } .nc-calendar-strip { grid-template-columns: 1fr 1fr; } }
.nc-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.nc-guide-steps{margin:12px 0;padding-left:24px}.nc-guide-steps li{padding:10px 0;border-bottom:1px solid var(--nc-border,#d8dde3)}.nc-guide-steps p{margin:4px 0}.nc-visual-viewer{border:1px solid var(--nc-border,#d8dde3);background:#f6f7f8;padding:14px}.nc-visual-viewer>div{height:150px;margin:10px 0;display:grid;place-items:center;background:linear-gradient(135deg,#e4e8ec,#fafafa);border:1px dashed #9aa4ad}.nc-visual-viewer>div span{font-size:2rem;font-weight:700;color:#66717c}.nc-visual-viewer p{font-size:.82rem;line-height:1.4;color:#5d6872}.nc-plain-row>span:last-child{display:grid;justify-items:end;gap:4px}@media(max-width:900px){.nc-guide-layout{grid-template-columns:1fr}}
.nc-job-tabs{position:sticky;top:0;z-index:5;display:flex;gap:0;overflow:auto;border-block:1px solid var(--nc-border,#d7dce1);background:#fff}.nc-job-tabs button{border:0;border-right:1px solid var(--nc-border,#d7dce1);background:#fff;padding:10px 14px;white-space:nowrap;font:inherit;color:#45515b}.nc-job-tabs button.is-active{box-shadow:inset 0 -3px #16834a;color:#0b6136;font-weight:700}.nc-job-workarea{padding:14px;background:#eef1f3;min-height:440px}.nc-job-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:14px;align-items:start}.nc-next-action{display:grid;gap:4px;padding:14px;border-left:4px solid #16834a;background:#f5faf7}.nc-next-action>span{font-size:.7rem;letter-spacing:.08em;color:#577065}.nc-next-action>strong{font-size:1.1rem}.nc-check-list{display:grid;gap:7px}.nc-check-list>div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px;border:1px solid #d8dde2;background:#fff}.nc-check-list>div strong{font-size:.73rem;text-transform:uppercase}.nc-check-list .is-ready strong{color:#167646}.nc-check-list .is-missing{border-color:#e1b45b;background:#fffaf0}.nc-check-list .is-missing strong{color:#9a5d00}.nc-erp-editor{border-bottom:1px solid #d8dde2;padding:8px 0}.nc-erp-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.nc-erp-editor>summary>span{display:grid}.nc-erp-editor>.nc-form{margin-top:10px}.nc-progress{display:grid;gap:8px}.nc-progress progress{width:100%;height:18px}@media(max-width:980px){.nc-job-columns{grid-template-columns:1fr}.nc-job-tabs{position:static}}

/* Jobs follows the approved CRM record rhythm while retaining Jobs-owned workflows. */
.nc-jobs-register .nc-erp-table td:nth-child(2) small { display: block; margin-top: .2rem; color: var(--nc-color-muted); }
.nc-jobs-register .nc-erp-table td:nth-child(6) small { display: block; margin-top: .2rem; color: var(--nc-color-muted); line-height: 1.35; }
.nc-job-sticky .nc-record-commandbar { min-height: 3rem; }
.nc-record-commandbar__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--nc-space-2); }
.nc-job-tab-list, .nc-record-tab-list { position: sticky; z-index: 4; top: 0; display: flex; align-items: stretch; gap: 0; overflow-x: auto; border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-job-tab-list button, .nc-record-tab-list button { display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; min-height: 3rem; padding: 0 .7rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--nc-color-muted); font: inherit; font-size: var(--nc-font-size-sm); font-weight: 750; cursor: pointer; white-space: nowrap; }
.nc-job-tab-list button:hover, .nc-record-tab-list button:hover { background: var(--nc-color-surface-subtle); color: var(--nc-color-text); }
.nc-job-tab-list button.is-active, .nc-record-tab-list button.is-active { border-bottom-color: var(--nc-color-brand); color: var(--nc-color-brand-strong); }
.nc-job-workarea { min-height: 34rem; padding: var(--nc-space-3) 0 0; background: transparent; }
.nc-job-workarea > [data-nc-sub-panel] { min-width: 0; }
.nc-job-information__summary { min-width: 0; }
.nc-job-progress > div { min-height: 6.2rem; }
.nc-job-record .nc-current-action span { display: block; margin-bottom: var(--nc-space-1); color: var(--nc-color-brand-strong); font-size: var(--nc-font-size-xs); font-weight: 800; letter-spacing: .06em; }
.nc-job-record .nc-case-overview-grid--lower { align-items: start; }

/* Compact Jobs context: preserve every owner workflow while prioritising the work surface. */
.nc-job-sticky { position: sticky; z-index: 6; top: 0; background: var(--nc-color-surface); box-shadow: 0 1px 0 var(--nc-color-line); }
.nc-job-contextbar { display: flex; min-height: 4rem; align-items: center; justify-content: space-between; gap: var(--nc-space-4); padding: 0 var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface); }
.nc-job-contextbar__identity { display: flex; min-width: 0; align-items: center; gap: var(--nc-space-2); white-space: nowrap; }
.nc-job-contextbar__identity h1 { max-width: 32rem; margin: 0 var(--nc-space-2) 0 0; overflow: hidden; color: var(--nc-color-ink); font-size: clamp(1rem,1.5vw,1.35rem); text-overflow: ellipsis; }
.nc-job-contextbar__identity > small { color: var(--nc-color-muted); font-weight: 750; }
.nc-job-contextbar__back { padding: 0; font-weight: 750; }
.nc-job-contextbar__meta { max-width: 22rem; overflow: hidden; color: var(--nc-color-muted); text-overflow: ellipsis; }
.nc-job-contextbar__actions { display: flex; flex: 0 0 auto; align-items: center; gap: var(--nc-space-2); }
.nc-job-action-menu { position: relative; }
.nc-job-action-menu > summary { list-style: none; cursor: pointer; }
.nc-job-action-menu > summary::-webkit-details-marker { display: none; }
.nc-job-action-menu > div { position: absolute; z-index: 12; top: calc(100% + var(--nc-space-2)); right: 0; display: grid; min-width: 14rem; overflow: hidden; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-job-action-menu > div button { min-height: 2.75rem; padding: 0 var(--nc-space-4); border: 0; border-bottom: 1px solid var(--nc-color-line); background: transparent; color: var(--nc-color-text); font: inherit; text-align: left; cursor: pointer; }
.nc-job-action-menu > div button:last-child { border-bottom: 0; }
.nc-job-action-menu > div button:hover { background: var(--nc-color-brand-soft); color: var(--nc-color-brand-strong); }
.nc-job-action-menu--more > summary { min-width: 2.75rem; padding-inline: var(--nc-space-2); font-size: 1.2rem; }
.nc-job-sticky .nc-job-tab-list { position: static; min-height: 2.5rem; border: 0; border-bottom: 1px solid var(--nc-color-line-strong); }
.nc-job-sticky .nc-job-tab-list button { flex: 0 0 auto; min-height: 2.5rem; padding-inline: var(--nc-space-4); font-weight: 650; }
.nc-job-overview-v2 { display: grid; gap: var(--nc-space-3); }
.nc-job-summary-strip { display: grid; grid-template-columns: 1.15fr 1fr 1.15fr 1fr; overflow: hidden; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-md); background: var(--nc-color-surface); }
.nc-job-summary-strip > div { display: flex; min-width: 0; align-items: center; gap: var(--nc-space-3); min-height: 5.6rem; padding: var(--nc-space-3) var(--nc-space-4); border-right: 1px solid var(--nc-color-line); }
.nc-job-summary-strip > div:last-child { border-right: 0; }
.nc-job-summary-strip span span { min-width: 0; }
.nc-job-summary-strip small,.nc-job-summary-strip strong,.nc-job-summary-strip em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-job-summary-strip small { color: var(--nc-color-muted); }
.nc-job-summary-strip strong { margin-top: .12rem; color: var(--nc-color-ink); font-size: var(--nc-font-size-md); }
.nc-job-summary-strip em { margin-top: .15rem; color: var(--nc-color-muted); font-size: var(--nc-font-size-xs); font-style: normal; }
.nc-job-summary-strip__icon { display: grid; flex: 0 0 auto; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--nc-color-line-strong); border-radius: 50%; color: var(--nc-color-brand-strong); font-size: 1.1rem; }
.nc-job-progress-ring { --nc-job-progress:0%; position: relative; display: grid; flex: 0 0 auto; place-items: center; width: 3.15rem; height: 3.15rem; border-radius: 50%; background: conic-gradient(var(--nc-color-brand) var(--nc-job-progress),var(--nc-color-line) 0); color: var(--nc-color-ink); font-size: var(--nc-font-size-sm); font-weight: 800; }
.nc-job-progress-ring::before { content: ""; position: absolute; inset: .3rem; border-radius: 50%; background: var(--nc-color-surface); }
.nc-job-progress-ring { isolation: isolate; }
.nc-job-progress-ring::before { z-index: -1; }
.nc-job-overview-grid { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(19rem,.95fr); gap: var(--nc-space-3); align-items: start; }
.nc-job-overview-grid .nc-record-section { margin: 0; }
.nc-job-products-card > .nc-section-heading,.nc-job-next-work > .nc-section-heading,.nc-job-activity > .nc-section-heading { min-height: 4rem; padding: var(--nc-space-3) var(--nc-space-4); }
.nc-job-products-card > .nc-section-heading > div:first-child,.nc-job-next-work > .nc-section-heading > div:first-child { min-width: 0; }
.nc-job-products-card > .nc-section-heading h2,.nc-job-next-work > .nc-section-heading h2,.nc-job-activity > .nc-section-heading h2,.nc-job-progress-compact > h2 { margin: 0; color: var(--nc-color-ink); font-size: var(--nc-font-size-lg); }
.nc-job-products-card > .nc-section-heading p,.nc-job-next-work > .nc-section-heading p { margin: .15rem 0 0; color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-job-tree-head { display: grid; grid-template-columns: minmax(0,1fr) 9rem minmax(10rem,.55fr); gap: var(--nc-space-3); padding: .65rem var(--nc-space-4); border-block: 1px solid var(--nc-color-line); background: var(--nc-color-surface-subtle); color: var(--nc-color-muted); font-size: var(--nc-font-size-xs); font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.nc-job-tree-head span:nth-child(2) { grid-column: 2; }
.nc-job-tree-group > header { display: flex; align-items: center; gap: var(--nc-space-2); min-height: 3rem; padding: 0 var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); background: #f7f9f7; }
.nc-job-tree-group > header small { margin-left: auto; color: var(--nc-color-muted); }
.nc-job-tree-row { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) 9rem minmax(10rem,.55fr); gap: var(--nc-space-3); align-items: center; min-height: 3.45rem; padding: .55rem var(--nc-space-4); border: 0; border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface); color: var(--nc-color-text); font: inherit; text-align: left; cursor: pointer; }
.nc-job-tree-row:hover { background: var(--nc-color-brand-soft); }
.nc-job-tree-row__name { display: flex; min-width: 0; align-items: center; gap: var(--nc-space-3); }
.nc-job-tree-row__name > span:last-child { min-width: 0; }
.nc-job-tree-row__name strong,.nc-job-tree-row__name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-job-tree-row__name small { margin-top: .12rem; color: var(--nc-color-muted); font-size: var(--nc-font-size-xs); }
.nc-job-tree-row__glyph { display: inline-grid; flex: 0 0 auto; place-items: center; width: 1.5rem; height: 1.5rem; color: var(--nc-color-brand-strong); }
.nc-job-tree-row--part { padding-left: calc(var(--nc-space-4) + 2.25rem); color: var(--nc-color-muted); }
.nc-job-tree-row--part strong { color: var(--nc-color-text); font-weight: 650; }
.nc-job-tree-more,.nc-job-tree-add { display: inline-flex; margin: var(--nc-space-2) var(--nc-space-4); padding: var(--nc-space-1) 0; }
.nc-job-overview-side { display: grid; gap: var(--nc-space-3); }
.nc-job-next-work ol { margin: 0; padding: 0; list-style: none; }
.nc-job-next-work li { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: var(--nc-space-3); align-items: center; min-height: 4.1rem; padding: var(--nc-space-2) var(--nc-space-4); border-top: 1px solid var(--nc-color-line); }
.nc-job-next-work li span:nth-child(2) { min-width: 0; }
.nc-job-next-work li strong,.nc-job-next-work li small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-job-next-work li small { margin-top: .15rem; color: var(--nc-color-muted); }
.nc-job-step-index { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid var(--nc-color-line-strong); border-radius: 50%; color: var(--nc-color-muted); font-weight: 800; }
.nc-job-next-work li.is-current .nc-job-step-index { border-color: var(--nc-color-brand); background: var(--nc-color-brand); color: white; }
.nc-job-blockers { padding: var(--nc-space-3) var(--nc-space-4); border-top: 1px solid var(--nc-color-line); background: var(--nc-color-warning-soft); }
.nc-job-blockers h3 { margin: 0 0 var(--nc-space-2); font-size: var(--nc-font-size-sm); }
.nc-job-blocker { display: grid; gap: var(--nc-space-2); padding: var(--nc-space-2) 0; }
.nc-job-blocker span strong,.nc-job-blocker span small { display: block; }
.nc-job-blocker form { display: flex; gap: var(--nc-space-2); }
.nc-job-blocker input { min-width: 0; flex: 1; }
.nc-job-quick-add { margin: var(--nc-space-3) var(--nc-space-4); }
.nc-job-quick-add > summary { list-style: none; cursor: pointer; }
.nc-job-quick-add > summary::-webkit-details-marker { display: none; }
.nc-job-quick-add__forms { display: grid; grid-template-columns: 1fr 1fr; gap: var(--nc-space-3); margin-top: var(--nc-space-3); }
.nc-job-quick-add__forms .nc-form { grid-template-columns: 1fr; padding: var(--nc-space-3); border: 1px solid var(--nc-color-line); background: var(--nc-color-surface-subtle); }
.nc-job-quick-add__forms h3 { margin: 0; font-size: var(--nc-font-size-md); }
.nc-job-activity .nc-section-heading { border-bottom: 1px solid var(--nc-color-line); }
.nc-job-activity-row { display: grid; grid-template-columns: 1.75rem minmax(0,1fr); gap: var(--nc-space-2); align-items: start; padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); }
.nc-job-activity-row:last-child { border-bottom: 0; }
.nc-job-activity-row strong,.nc-job-activity-row small { display: block; }
.nc-job-activity-row small { margin-top: .15rem; color: var(--nc-color-muted); }
.nc-job-activity-row__icon { color: var(--nc-color-brand-strong); }
.nc-job-progress-compact { padding: var(--nc-space-3) var(--nc-space-4) var(--nc-space-4); }
.nc-job-progress-compact > h2 { margin-bottom: var(--nc-space-3); }
.nc-job-progress-compact .nc-job-progress > div { min-height: 4.5rem; }
@media (max-width: 1180px) {
  .nc-job-contextbar__meta { display: none; }
  .nc-job-summary-strip { grid-template-columns: 1fr 1fr; }
  .nc-job-summary-strip > div:nth-child(2) { border-right: 0; }
  .nc-job-summary-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--nc-color-line); }
}
@media (max-width: 920px) {
  .nc-job-sticky { position: static; }
  .nc-job-contextbar { align-items: flex-start; padding-block: var(--nc-space-3); }
  .nc-job-contextbar__identity { flex-wrap: wrap; }
  .nc-job-contextbar__identity h1 { order: 4; flex-basis: 100%; }
  .nc-job-contextbar__actions { flex-wrap: wrap; justify-content: flex-end; }
  .nc-job-overview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .nc-job-contextbar { display: grid; }
  .nc-job-contextbar__actions { justify-content: flex-start; }
  .nc-job-summary-strip { grid-template-columns: 1fr; }
  .nc-job-summary-strip > div { border-right: 0; border-bottom: 1px solid var(--nc-color-line); }
  .nc-job-summary-strip > div:last-child { border-bottom: 0; }
  .nc-job-products-card > .nc-section-heading { align-items: flex-start; }
  .nc-job-tree-head { display: none; }
  .nc-job-tree-row { grid-template-columns: minmax(0,1fr) auto; }
  .nc-job-tree-row > :last-child { grid-column: 2; }
  .nc-job-tree-row--part { padding-left: var(--nc-space-4); }
  .nc-job-quick-add__forms { grid-template-columns: 1fr; }
}

/* Jobs incoming parts: one human decision at a time, with machine evidence on demand. */
.nc-part-imports { max-width: 88rem; margin: 0 auto; }
.nc-part-imports__guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: var(--nc-space-3); overflow: hidden; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-md); background: var(--nc-color-surface); }
.nc-part-imports__guide > div { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: 0 var(--nc-space-3); padding: var(--nc-space-4); border-right: 1px solid var(--nc-color-line); }
.nc-part-imports__guide > div:last-child { border-right: 0; }
.nc-part-imports__guide span { grid-row: 1 / span 2; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--nc-color-brand-soft); color: var(--nc-color-brand-strong); font-weight: 850; }
.nc-part-imports__guide strong,.nc-part-imports__guide small { display: block; }
.nc-part-imports__guide small { color: var(--nc-color-muted); }
.nc-part-imports__safety { margin-bottom: var(--nc-space-4); padding: var(--nc-space-3) var(--nc-space-4); border-left: 4px solid var(--nc-color-brand); background: var(--nc-color-brand-soft); }
.nc-part-import { margin-bottom: var(--nc-space-4); overflow: hidden; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-md); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-sm); }
.nc-part-import > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nc-space-4); padding: var(--nc-space-4) var(--nc-space-5); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface-subtle); }
.nc-part-import > header h3,.nc-part-import > header p { margin: 0; }
.nc-part-import > header h3 { font-size: var(--nc-font-size-lg); }
.nc-part-import > header p { margin-top: var(--nc-space-1); color: var(--nc-color-muted); }
.nc-part-import__body { display: grid; gap: var(--nc-space-4); padding: var(--nc-space-5); }
.nc-part-import__steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-md); list-style: none; }
.nc-part-import__steps li { display: grid; grid-template-columns: 1.75rem minmax(0,1fr); gap: var(--nc-space-2); padding: var(--nc-space-3); border-right: 1px solid var(--nc-color-line); color: var(--nc-color-muted); }
.nc-part-import__steps li:last-child { border-right: 0; }
.nc-part-import__steps li > span { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid var(--nc-color-line-strong); border-radius: 50%; font-weight: 800; }
.nc-part-import__steps strong,.nc-part-import__steps small { display: block; }
.nc-part-import__steps .is-current { background: var(--nc-color-brand-soft); color: var(--nc-color-brand-strong); box-shadow: inset 0 -3px 0 var(--nc-color-brand); }
.nc-part-import__steps .is-current > span { border-color: var(--nc-color-brand); background: var(--nc-color-brand); color: white; }
.nc-part-import__steps .is-done { color: var(--nc-color-success); background: var(--nc-color-success-soft); }
.nc-part-import__steps .is-done > span { border-color: var(--nc-color-success); background: var(--nc-color-success); color: transparent; }
.nc-part-import__steps .is-done > span::after { color: white; content: "✓"; }
.nc-part-import__preview { border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-md); }
.nc-part-import__preview > summary { padding: var(--nc-space-3) var(--nc-space-4); background: var(--nc-color-surface-subtle); }
.nc-part-import__preview[open] > summary { border-bottom: 1px solid var(--nc-color-line); }
.nc-part-import__action,.nc-part-import__complete { display: grid; grid-template-columns: minmax(15rem,1fr) minmax(22rem,1.25fr); gap: var(--nc-space-4); align-items: end; padding: var(--nc-space-4); border: 1px solid var(--nc-color-line); border-radius: var(--nc-radius-md); background: var(--nc-color-brand-soft); }
.nc-part-import__action h4,.nc-part-import__action p { margin: 0; }
.nc-part-import__action p { color: var(--nc-color-muted); }
.nc-part-import__assign { display: grid; grid-template-columns: minmax(14rem,1fr) auto; gap: var(--nc-space-2); align-items: end; }
.nc-part-import__assign label { display: grid; gap: var(--nc-space-1); color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); font-weight: 750; }
.nc-part-import__assign select { width: 100%; min-height: 2.6rem; padding: .5rem .65rem; border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: white; }
.nc-part-import__complete { grid-template-columns: minmax(0,1fr) auto; align-items: center; background: var(--nc-color-success-soft); }
.nc-part-import__complete strong,.nc-part-import__complete span { display: block; }
.nc-part-import__complete span { color: var(--nc-color-muted); }
.nc-part-import__technical { padding-top: var(--nc-space-2); border-top: 1px solid var(--nc-color-line); color: var(--nc-color-muted); }
.nc-part-import__technical .nc-definition { margin-bottom: 0; }
.nc-job-import-panel { max-width: 88rem; margin: 0 auto; }
.nc-job-import-group { margin-top: var(--nc-space-4); }
.nc-job-import-group > .nc-record-section__body { padding: var(--nc-space-4); }
.nc-job-import-history { margin-top: var(--nc-space-4); }
.nc-job-import-history > summary { padding: var(--nc-space-3) var(--nc-space-4); background: var(--nc-color-surface-subtle); }
.nc-job-import-history[open] > summary { border-bottom: 1px solid var(--nc-color-line); }
@media(max-width:850px){.nc-part-imports__guide,.nc-part-import__steps,.nc-part-import__action,.nc-part-import__complete,.nc-part-import__assign{grid-template-columns:1fr}.nc-part-imports__guide>div,.nc-part-import__steps li{border-right:0;border-bottom:1px solid var(--nc-color-line)}.nc-part-imports__guide>div:last-child,.nc-part-import__steps li:last-child{border-bottom:0}}
@media (max-width: 980px) {
  .nc-job-tab-list, .nc-record-tab-list { position: static; }
  .nc-job-tab-list button, .nc-record-tab-list button { flex: 0 0 auto; }
  .nc-job-progress { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nc-job-progress > div { border-bottom: 1px solid var(--nc-color-line); }
}

/* Target Calendar: visual day/week/month planning with an optional ERP list. */
.nc-calendar-workspace { min-height: calc(100dvh - 3.45rem); }
.nc-calendar-toolbar { display: grid; grid-template-columns: auto minmax(16rem, 1fr) auto; gap: var(--nc-space-3); align-items: center; margin-bottom: var(--nc-space-3); }
.nc-calendar-navigation { display: flex; align-items: center; justify-content: center; gap: var(--nc-space-2); }
.nc-calendar-navigation [data-nc-calendar-window] { min-width: 13rem; text-align: center; }
.nc-calendar-visual { position: relative; min-width: 0; overflow: auto; border: 1px solid var(--nc-color-line-strong); background: #f4f6f5; }
.nc-calendar-grid { display: grid; align-items: stretch; min-width: max-content; background: var(--nc-color-line); gap: 1px; }
.nc-calendar-grid--day { grid-template-columns: minmax(38rem, 1fr); min-width: 100%; }
.nc-calendar-grid--week { grid-template-columns: repeat(7, minmax(0, 1fr)); min-width: 60rem; }
.nc-calendar-grid--month { grid-template-columns: repeat(7, minmax(7.5rem, 1fr)); min-width: 58rem; }
.nc-calendar-day { min-height: 9rem; padding: var(--nc-space-2); background: var(--nc-color-surface); }
.nc-calendar-grid--day .nc-calendar-day { min-height: 34rem; }
.nc-calendar-grid--week .nc-calendar-day { min-height: 31rem; }
.nc-calendar-day.is-outside { background: #f1f3f2; color: var(--nc-color-muted); }
.nc-calendar-day.is-today { box-shadow: inset 0 3px 0 var(--nc-color-brand); background: #f7fbf9; }
.nc-calendar-day > header { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-2); min-height: 2rem; margin-bottom: var(--nc-space-1); color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); }
.nc-calendar-day > header strong { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; color: var(--nc-color-ink); }
.nc-calendar-day.is-today > header strong { background: var(--nc-color-brand); color: white; }
.nc-calendar-event { display: grid; gap: 0.12rem; width: 100%; margin: 0 0 var(--nc-space-1); padding: 0.38rem 0.48rem; overflow: hidden; border: 0; border-left: 3px solid #477668; border-radius: 2px; background: #e3ece8; color: var(--nc-color-ink); text-align: left; }
button.nc-calendar-event { cursor: pointer; }
button.nc-calendar-event:hover { box-shadow: inset 0 0 0 1px var(--nc-color-brand); background: #d8e8e0; }
.nc-calendar-event time { color: var(--nc-color-muted); font-size: 0.68rem; font-weight: 750; }
.nc-calendar-event strong { overflow: hidden; font-size: 0.77rem; line-height: 1.25; text-overflow: ellipsis; }
.nc-calendar-event small { overflow: hidden; color: var(--nc-color-muted); font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.nc-calendar-event--success { border-left-color: #24814f; background: var(--nc-color-success-soft); }
.nc-calendar-event--warning { border-left-color: #bd7a00; background: var(--nc-color-warning-soft); }
.nc-calendar-event--danger { border-left-color: #b93a37; background: #f9e2e1; }
.nc-calendar-more { display: block; padding: 0.2rem 0.4rem; color: var(--nc-color-muted); font-size: var(--nc-font-size-sm); font-weight: 700; }
.nc-calendar-months { display: grid; gap: var(--nc-space-3); min-width: 0; padding: var(--nc-space-3); overflow: auto; }
.nc-calendar-months--1 { grid-template-columns: minmax(58rem, 1fr); }
.nc-calendar-months--2 { grid-template-columns: repeat(2, minmax(48rem, 1fr)); }
.nc-calendar-months--3 { grid-template-columns: repeat(3, minmax(44rem, 1fr)); }
.nc-calendar-month { min-width: 0; border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-calendar-month > h3 { margin: 0; padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line-strong); background: #eef2ef; font-size: var(--nc-font-size-md); text-transform: capitalize; }
.nc-calendar-empty { position: absolute; z-index: 2; top: 4rem; left: 50%; padding: var(--nc-space-3) var(--nc-space-4); border: 1px solid var(--nc-color-line); background: rgba(255,255,255,.94); color: var(--nc-color-muted); transform: translateX(-50%); }
.nc-calendar-privacy { margin-top: var(--nc-space-3); }
@media (max-width: 920px) { .nc-calendar-toolbar { grid-template-columns: 1fr; } .nc-calendar-navigation { justify-content: flex-start; } .nc-calendar-modes { justify-self: start; } }

/* Restored CRM Case workspace styles; kept separate from Communications styling. */
.nc-case-sticky { position: sticky; z-index: 6; top: 0; background: var(--nc-color-surface); box-shadow: 0 1px 0 var(--nc-color-line); }
.nc-case-sticky .nc-record-commandbar { margin-bottom: 0; padding: var(--nc-space-2) 0; }
.nc-case-information { border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface-subtle); }
.nc-case-information > summary { display: grid; grid-template-columns: minmax(16rem,1.15fr) minmax(12rem,.9fr) auto auto; gap: var(--nc-space-4); align-items: center; min-height: 3.25rem; padding: var(--nc-space-2) var(--nc-space-4); cursor: pointer; list-style: none; }
.nc-case-information > summary::-webkit-details-marker { display: none; }
.nc-case-information > summary::before { content: "›"; position: absolute; margin-left: calc(var(--nc-space-3) * -1); color: var(--nc-color-brand); font-weight: 900; transform: rotate(0); transition: transform .12s ease; }
.nc-case-information[open] > summary::before { transform: rotate(90deg); }
.nc-case-information > summary:hover { background: var(--nc-color-brand-soft); }
.nc-case-information__identity,.nc-case-information__next,.nc-case-information__deadline { min-width: 0; }
.nc-case-information__identity { display: flex; align-items: baseline; gap: var(--nc-space-2); }
.nc-case-information__identity small,.nc-case-information__next small,.nc-case-information__deadline small { color: var(--nc-color-muted); font-size: var(--nc-font-size-xs); font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.nc-case-information__identity strong,.nc-case-information__identity span,.nc-case-information__next strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-case-information__identity span { color: var(--nc-color-muted); }
.nc-case-information__next { display: flex; align-items: baseline; gap: var(--nc-space-2); }
.nc-case-information__deadline { display: flex; align-items: baseline; gap: var(--nc-space-2); white-space: nowrap; }
.nc-case-information__status { display: flex; align-items: center; justify-content: flex-end; gap: var(--nc-space-2); white-space: nowrap; }
.nc-case-information__expanded { border-top: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-case-information__controls { padding: var(--nc-space-4); border-top: 1px solid var(--nc-color-line); }
.nc-case-information__controls h3 { margin: 0 0 var(--nc-space-3); font-size: var(--nc-font-size-md); }
.nc-form--case-information { grid-template-columns: minmax(0,1fr) auto; column-gap: var(--nc-space-4); row-gap: var(--nc-space-3); align-items: center; }
.nc-case-information__form-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(12rem,1fr)); column-gap: var(--nc-space-4); row-gap: var(--nc-space-3); align-items: start; }
.nc-case-information__form-grid > label,
.nc-case-information__form-grid > .nc-case-contact-field { min-width: 0; margin: 0; }
.nc-case-information__form-grid input,
.nc-case-information__form-grid select { height: 2.5rem; min-height: 2.5rem; }
.nc-form--case-information select[multiple] { height: 2.5rem; min-height: 2.5rem; overflow-y: auto; padding-block: .35rem; }
.nc-case-contact-field { position: relative; min-width: 0; }
.nc-inline-create { position: absolute; z-index: 9; top: -.1rem; right: 0; margin: 0; border: 0; background: transparent; }
.nc-inline-create > summary { padding: 0; color: var(--nc-color-brand-strong); font-size: var(--nc-font-size-xs); font-weight: 750; cursor: pointer; list-style: none; }
.nc-inline-create > summary::-webkit-details-marker { display: none; }
.nc-inline-create[open] { top: -.55rem; right: auto; left: 0; width: min(34rem,72vw); padding: var(--nc-space-3); border: 1px solid var(--nc-color-line-strong); border-radius: var(--nc-radius-sm); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-inline-create[open] > summary { margin-bottom: var(--nc-space-3); }
.nc-inline-create__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--nc-space-2); padding: 0; }
.nc-inline-create p { margin: var(--nc-space-2) 0 0; padding: 0; color: var(--nc-color-muted); font-size: var(--nc-font-size-xs); }
.nc-form .nc-checkbox { display: inline-flex; align-items: center; gap: var(--nc-space-2); width: auto; }
.nc-form .nc-checkbox input { width: auto; min-height: 0; margin: 0; }
.nc-form--case-information .nc-form-actions { display: flex; justify-content: flex-end; align-items: center; }
.nc-form--case-information .nc-form-actions .nc-button { min-width: 12rem; }
.nc-case-information__meta { display: flex; flex-wrap: wrap; gap: var(--nc-space-5); margin-top: var(--nc-space-3); padding-top: var(--nc-space-3); border-top: 1px solid var(--nc-color-line); color: var(--nc-color-muted); }
.nc-case-information__meta span { display: inline-flex; gap: var(--nc-space-2); align-items: baseline; }
.nc-case-information__meta small { text-transform: uppercase; letter-spacing: .04em; }
.nc-case-information__meta strong { color: var(--nc-color-ink); }
.nc-case-progress-panel { margin-bottom: var(--nc-space-3); }
@media (max-width: 920px) {
  .nc-case-information > summary { grid-template-columns: minmax(0,1fr) auto auto; }
  .nc-case-information__next { display: none; }
  .nc-case-information__form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .nc-case-information > summary { grid-template-columns: minmax(0,1fr) auto; gap: var(--nc-space-2); }
  .nc-case-information__identity small,.nc-case-information__identity span,.nc-case-information__deadline { display: none; }
  .nc-case-information__status .nc-badge:last-child { display: none; }
  .nc-case-information__form-grid { grid-template-columns: 1fr; }
  .nc-inline-create__grid { grid-template-columns: 1fr; }
  .nc-form--case-information { grid-template-columns: 1fr; }
  .nc-form--case-information .nc-form-actions { justify-content: stretch; }
  .nc-form--case-information .nc-form-actions .nc-button { width: 100%; }
  .nc-case-sticky .nc-record-commandbar { align-items: flex-start; }
  .nc-record-commandbar__actions { justify-content: flex-start; }
}
.nc-case-history { position: relative; }
.nc-case-history__panel { position: absolute; z-index: 8; top: calc(100% + var(--nc-space-2)); right: 0; width: min(34rem, 82vw); max-height: 65vh; overflow: auto; border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: var(--nc-shadow-md); }
.nc-case-history__panel .nc-section-heading { padding: var(--nc-space-3) var(--nc-space-4); }
.nc-case-tab-input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.nc-case-tab-list { position: sticky; z-index: 4; top: 0; display: flex; align-items: stretch; gap: 0; overflow-x: auto; border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-case-tab-list label { display: inline-flex; align-items: center; gap: var(--nc-space-2); min-height: 3rem; padding: 0 var(--nc-space-4); border-bottom: 3px solid transparent; color: var(--nc-color-muted); font-weight: 750; cursor: pointer; white-space: nowrap; }
.nc-case-tab-list label:hover { background: var(--nc-color-surface-subtle); color: var(--nc-color-text); }
.nc-case-tab-list label span { min-width: 1.45rem; padding: .05rem .4rem; border-radius: 999px; background: var(--nc-color-surface-subtle); text-align: center; font-size: var(--nc-font-size-xs); }
.nc-case-tab-input:nth-of-type(1):checked ~ .nc-case-tab-list label:nth-child(1),
.nc-case-tab-input:nth-of-type(2):checked ~ .nc-case-tab-list label:nth-child(2),
.nc-case-tab-input:nth-of-type(3):checked ~ .nc-case-tab-list label:nth-child(3),
.nc-case-tab-input:nth-of-type(4):checked ~ .nc-case-tab-list label:nth-child(4),
.nc-case-tab-input:nth-of-type(5):checked ~ .nc-case-tab-list label:nth-child(5),
.nc-case-tab-input:nth-of-type(6):checked ~ .nc-case-tab-list label:nth-child(6) { border-bottom-color: var(--nc-color-brand); color: var(--nc-color-brand-strong); }
.nc-case-tab-panel { display: none; padding-top: var(--nc-space-3); }
.nc-case-tab-input:nth-of-type(1):checked ~ .nc-case-tab-panels > [data-case-section="overview"],
.nc-case-tab-input:nth-of-type(2):checked ~ .nc-case-tab-panels > [data-case-section="products"],
.nc-case-tab-input:nth-of-type(3):checked ~ .nc-case-tab-panels > [data-case-section="communication"],
.nc-case-tab-input:nth-of-type(4):checked ~ .nc-case-tab-panels > [data-case-section="files"],
.nc-case-tab-input:nth-of-type(5):checked ~ .nc-case-tab-panels > [data-case-section="quotes"],
.nc-case-tab-input:nth-of-type(6):checked ~ .nc-case-tab-panels > [data-case-section="activity"] { display: block; }
.nc-case-overview-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .75fr); gap: var(--nc-space-3); margin-bottom: var(--nc-space-3); }
.nc-case-overview-grid--lower { grid-template-columns: minmax(0, 1fr) minmax(20rem, .8fr); }
.nc-case-now .nc-current-action { border-top: 1px solid var(--nc-color-line); }
.nc-case-checklist > div { display: flex; align-items: center; justify-content: space-between; gap: var(--nc-space-3); min-height: 3.15rem; padding: var(--nc-space-2) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); }
.nc-case-checklist strong, .nc-case-checklist span { display: block; }
.nc-case-checklist span { color: var(--nc-color-muted); text-align: right; }
.nc-case-checklist .is-ready { box-shadow: inset 3px 0 0 var(--nc-color-success); }
.nc-case-checklist .is-warning { box-shadow: inset 3px 0 0 var(--nc-color-warning); background: var(--nc-color-warning-soft); }
.nc-case-checklist .is-blocked { box-shadow: inset 3px 0 0 var(--nc-color-danger); background: var(--nc-color-danger-soft); }
.nc-scope-workspace { display: grid; grid-template-columns: minmax(15rem, .36fr) minmax(0, 1fr); min-height: 28rem; border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); }
.nc-scope-tree { border-right: 1px solid var(--nc-color-line-strong); }
.nc-scope-tree .nc-section-heading { padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line); }
.nc-scope-tree button[data-nc-sub-show] { display: grid; gap: var(--nc-space-1); width: 100%; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.nc-scope-tree > button { padding: var(--nc-space-3) var(--nc-space-4); border-bottom: 1px solid var(--nc-color-line) !important; }
.nc-scope-tree button[data-nc-sub-show].is-active { box-shadow: inset 3px 0 0 var(--nc-color-brand); background: var(--nc-color-brand-soft); }
.nc-scope-tree button small, .nc-scope-tree__branch small { color: var(--nc-color-muted); }
.nc-scope-tree__branch { display: grid; gap: var(--nc-space-1); padding: var(--nc-space-3) var(--nc-space-4) var(--nc-space-3) calc(var(--nc-space-4) + var(--nc-space-4)); border-bottom: 1px solid var(--nc-color-line); }
.nc-scope-detail { padding: var(--nc-space-5); }
.nc-scope-detail > small { color: var(--nc-color-muted); font-weight: 800; letter-spacing: .06em; }
.nc-scope-detail h3 { margin: var(--nc-space-2) 0; }
.nc-scope-detail p { max-width: 56rem; color: var(--nc-color-muted); }
.nc-scope-tree__group { border-bottom: 1px solid var(--nc-color-line); }
.nc-scope-tree__group > button, .nc-scope-tree__label { display: flex !important; align-items: center; justify-content: space-between; gap: var(--nc-space-2); padding: var(--nc-space-3) var(--nc-space-4); background: var(--nc-color-surface-soft) !important; }
.nc-scope-tree__group > button small, .nc-scope-tree__label small, .nc-scope-empty { color: var(--nc-color-muted); }
.nc-scope-product { display: grid; gap: var(--nc-space-1); padding: var(--nc-space-3) var(--nc-space-4) var(--nc-space-3) calc(var(--nc-space-4) + var(--nc-space-3)); border-top: 1px solid var(--nc-color-line) !important; }
.nc-scope-product > span { display: flex; align-items: baseline; justify-content: space-between; gap: var(--nc-space-2); }
.nc-scope-product small { color: var(--nc-color-muted); }
.nc-scope-part { padding: var(--nc-space-2) var(--nc-space-4) var(--nc-space-2) calc(var(--nc-space-4) + var(--nc-space-5)); border-top: 1px solid var(--nc-color-line) !important; font-size: .92em; }
.nc-scope-part > span { display: flex; align-items: baseline; justify-content: space-between; gap: var(--nc-space-2); }
.nc-scope-part small { color: var(--nc-color-muted); }
.nc-scope-empty { display: block; padding: 0 var(--nc-space-4) var(--nc-space-3); }
.nc-scope-detail__heading { align-items: flex-start; margin: calc(var(--nc-space-5) * -1) calc(var(--nc-space-5) * -1) var(--nc-space-4); padding: var(--nc-space-4) var(--nc-space-5); }
.nc-scope-detail__heading h3 { margin: var(--nc-space-1) 0; }
.nc-scope-detail__heading p { margin: 0; }
.nc-scope-actions { display: flex; align-items: flex-start; gap: var(--nc-space-2); }
.nc-scope-actions details { position: relative; }
.nc-scope-actions details[open] > .nc-form { position: absolute; z-index: 8; top: calc(100% + var(--nc-space-2)); right: 0; width: min(30rem, 80vw); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: 0 .8rem 2rem rgb(0 0 0 / .14); }
.nc-scope-panels { min-width: 0; }
.nc-scope-detail[hidden] { display: none; }
.nc-scope-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nc-space-4); margin: calc(var(--nc-space-5) * -1) calc(var(--nc-space-5) * -1) var(--nc-space-4); padding: var(--nc-space-4) var(--nc-space-5); border-bottom: 1px solid var(--nc-color-line); background: var(--nc-color-surface-soft); }
.nc-scope-editor-heading small { color: var(--nc-color-muted); font-weight: 800; letter-spacing: .06em; }
.nc-scope-editor-heading h3, .nc-scope-editor-heading p { margin: var(--nc-space-1) 0 0; }
.nc-scope-editor { max-width: 72rem; }
.nc-scope-editor__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--nc-space-3); }
.nc-scope-editor__grid .is-wide { grid-column: 1 / -1; }
.nc-scope-editor__edges { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--nc-space-3); }
.nc-scope-parts-heading { margin-top: var(--nc-space-5); padding-top: var(--nc-space-4); border-top: 1px solid var(--nc-color-line); }
.nc-scope-parts-heading details[open] > .nc-form { position: absolute; z-index: 9; right: var(--nc-space-5); width: min(52rem,80vw); padding: var(--nc-space-4); border: 1px solid var(--nc-color-line-strong); background: var(--nc-color-surface); box-shadow: 0 .8rem 2rem rgb(0 0 0 / .14); }

/* Quotes contextual workbench. Application markup is inert; layout lives here. */
.nc-quotes-main {
  --quote-ink: #20312b;
  --quote-muted: #65736d;
  --quote-line: #d7ded9;
  --quote-paper: #fffefa;
  --quote-ground: #f1f3ef;
  --quote-green: #174b3a;
  --quote-mint: #dff1e7;
  --quote-amber: #fff1c7;
  box-sizing: border-box;
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
  padding: .75rem 1.125rem 2rem;
  color: var(--quote-ink);
  background: var(--quote-ground);
}
.nc-quotes-main *, .nc-quotes-main *::before, .nc-quotes-main *::after { box-sizing: border-box; }
.nc-quotes-main [hidden] { display: none !important; }
.nc-quotes-main .quote-context,
.nc-quotes-main .panel,
.nc-quotes-main .working-column,
.nc-quotes-main .decision-column {
  border: 1px solid var(--quote-line);
  border-radius: .75rem;
  background: var(--quote-paper);
}
.nc-quotes-main .context-actions,
.nc-quotes-main .case-strip,
.nc-quotes-main .product-tabs {
  display: flex;
  align-items: center;
  gap: .875rem;
  padding: .625rem 1.125rem;
}
.nc-quotes-main .context-actions { color: var(--quote-muted); font-size: .82rem; }
.nc-quotes-main .saved-status { margin-left: auto; color: var(--quote-green); font-weight: 800; }
.nc-quotes-main .case-strip { border-top: 1px solid var(--quote-line); }
.nc-quotes-main .case-strip strong { padding-bottom: .5rem; border-bottom: 3px solid var(--quote-green); color: var(--quote-green); }
.nc-quotes-main .quote-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: .8rem 1.125rem; }
.nc-quotes-main .quote-title-actions { display: flex; align-items: center; gap: .5rem; }
.nc-quotes-main .quote-title h1 { margin: .125rem 0; }
.nc-quotes-main .quote-title p { margin: 0; color: var(--quote-muted); }
.nc-quotes-main .eyebrow { margin: 0; color: var(--quote-muted); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nc-quotes-main .rename { position: relative; }
.nc-quotes-main .rename > form { position: absolute; z-index: 4; top: calc(100% + .5rem); right: 0; display: grid; gap: .75rem; width: 20rem; padding: .875rem; border: 1px solid var(--quote-line); border-radius: .5rem; background: #fff; box-shadow: 0 .75rem 1.75rem rgb(18 62 49 / .15); }
.nc-quotes-main .rename form label,
.nc-quotes-main .offer-edit label { display: grid; gap: .3125rem; }
.nc-quotes-main .product-tabs { flex-wrap: wrap; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .older-quotes { margin: 0 1.125rem .75rem; color: var(--quote-muted); }
.nc-quotes-main .hierarchy { max-width: 94rem; margin: .75rem auto 0; padding: .625rem 1.125rem; border: 1px solid var(--quote-line); background: #f7faf7; font-weight: 800; }
.nc-quotes-main .workbench { display: grid; grid-template-columns: minmax(0, 1fr) minmax(32rem, .92fr); gap: .875rem; max-width: 94rem; margin: .75rem auto; align-items: start; }
.nc-quotes-main .working-column,
.nc-quotes-main .decision-column,
.nc-quotes-main .panel { min-width: 0; padding: 1rem; }
.nc-quotes-main .product-row { display: grid; grid-template-columns: minmax(17rem, 43%) minmax(0, 1fr); gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--quote-line); }
.nc-quotes-main .quote-visual { min-width: 0; margin: 0; }
.nc-quotes-main .quote-visual svg { display: block; width: 100%; height: 15rem; border-radius: .5625rem; }
.nc-quotes-main .quote-visual figcaption { margin-top: .3125rem; color: var(--quote-muted); font-size: .72rem; }
.nc-quotes-main .product-row h2 { margin: .55rem 0; font-size: 1.55rem; }
.nc-quotes-main .product-price { display: block; margin: 1rem 0; font-size: 1.15rem; }
.nc-quotes-main .quote-document-owner { display: block; margin-top: .375rem; color: var(--quote-muted); }
.nc-quotes-main .configuration { margin-top: .875rem; }
.nc-quotes-main .section-heading,
.nc-quotes-main .decision-heading,
.nc-quotes-main .offers-heading,
.nc-quotes-main .offer-title { display: flex; align-items: center; justify-content: space-between; gap: .625rem; }
.nc-quotes-main .configuration-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.nc-quotes-main .configuration-form label { display: grid; gap: .3125rem; min-width: 0; font-size: .78rem; font-weight: 750; }
.nc-quotes-main .configuration-form input,
.nc-quotes-main .configuration-form select,
.nc-quotes-main .configuration-form textarea,
.nc-quotes-main .offer-edit input { width: 100%; min-width: 0; }
.nc-quotes-main .configuration-form .wide { grid-column: 1 / -1; }
.nc-quotes-main .configuration-form .check { display: flex; align-items: center; gap: .5rem; padding-top: 1.45rem; }
.nc-quotes-main .configuration-form .check input { width: auto; }
.nc-quotes-main .form-actions { display: flex !important; align-items: center; justify-content: space-between; gap: .75rem; }
.nc-quotes-main .breakdown { margin-top: 1rem; }
.nc-quotes-main .table-wrap { overflow: auto; border: 1px solid var(--quote-line); border-radius: .5rem; }
.nc-quotes-main .breakdown table { width: 100%; border-collapse: collapse; }
.nc-quotes-main .breakdown th,
.nc-quotes-main .breakdown td { padding: .5rem .625rem; border-top: 1px solid var(--quote-line); text-align: left; font-size: .76rem; }
.nc-quotes-main .breakdown thead th { border-top: 0; color: var(--quote-muted); background: #eef4ef; font-size: .66rem; text-transform: uppercase; }
.nc-quotes-main .breakdown tbody th { width: 14%; }
.nc-quotes-main .breakdown td:last-child { text-align: right; }
.nc-quotes-main .breakdown small { display: block; color: var(--quote-muted); }
.nc-quotes-main .selected-total { background: #f4f8f4; font-weight: 800; }
.nc-quotes-main .decision-column { position: sticky; top: .75rem; align-self: start; }
.nc-quotes-main .internal-boundary { margin: -1rem -1rem .875rem; padding: .5rem 1rem; border-radius: .75rem .75rem 0 0; background: var(--quote-amber); font-size: .76rem; font-weight: 800; }
.nc-quotes-main .decision-heading h2 { margin: .2rem 0; }
.nc-quotes-main .time-summary { display: grid; border: 1px solid var(--quote-line); border-radius: .5rem; overflow: hidden; }
.nc-quotes-main .time-summary div { padding: .5rem; background: #f7faf7; }
.nc-quotes-main .time-summary span { display: block; color: var(--quote-muted); font-size: .72rem; }
.nc-quotes-main .recommendation { padding: .625rem; border-radius: .5rem; background: var(--quote-mint); }
.nc-quotes-main .recommendation span { color: var(--quote-muted); }
.nc-quotes-main .offers-heading { margin-top: .875rem; }
.nc-quotes-main .offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; }
.nc-quotes-main .offer-card { min-width: 0; padding: .625rem; border: 1px solid var(--quote-line); border-radius: .5rem; }
.nc-quotes-main .offer-card.selected { border: 2px solid #36745b; }
.nc-quotes-main .offer-title { align-items: flex-start; }
.nc-quotes-main .offer-title span { color: var(--quote-muted); font-size: .67rem; text-transform: uppercase; }
.nc-quotes-main .offer-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: .375rem; }
.nc-quotes-main .offer-card dt { color: var(--quote-muted); font-size: .67rem; }
.nc-quotes-main .offer-card dd { margin: 0; font-weight: 800; }
.nc-quotes-main .offer-time { display: grid; gap: .125rem; padding: .4375rem; background: #f5f7f5; }
.nc-quotes-main .offer-time span,
.nc-quotes-main .per-hour,
.nc-quotes-main .human-choice { color: var(--quote-muted); font-size: .72rem; }
.nc-quotes-main .offer-edit { margin-top: .5625rem; padding-top: .5rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .offer-edit summary { cursor: pointer; font-weight: 750; }
.nc-quotes-main .offer-edit form { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .5rem; }
.nc-quotes-main .offer-edit button { grid-column: 1 / -1; }
.nc-quotes-main .forecast-panel,
.nc-quotes-main .readiness { margin-top: .75rem; padding-top: .625rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .forecast-gate { padding: .625rem; border-left: 4px solid #9f522d; background: var(--quote-amber); }
.nc-quotes-main .acknowledged { padding: .5rem; background: var(--quote-mint); font-weight: 750; }
.nc-quotes-main .readiness p { display: flex; justify-content: space-between; gap: 1rem; margin: .25rem 0; font-size: .78rem; }
.nc-quotes-main .freeze-action { width: 100%; }
.nc-quotes-main .history { max-width: 94rem; margin: .875rem auto; }
.nc-quotes-main .history details { padding: .625rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .customer-safe { padding: .75rem; border-radius: .5rem; background: #f7faf7; }
.nc-quotes-main .customer-safe ul { display: grid; gap: .3125rem; padding: 0; list-style: none; }
.nc-quotes-main .customer-safe li { display: flex; justify-content: space-between; gap: 1rem; }
.nc-quotes-main .safe-state { max-width: 45rem; margin: 9vh auto; padding: 2.5rem; border: 1px solid var(--quote-line); border-radius: .875rem; background: #fff; text-align: center; }

/* Quotes v2: table-first daily work with the complete evidence model behind disclosure. */
.nc-quotes-main .quote-lines { max-width: 94rem; margin: .75rem auto; padding: 0; overflow: hidden; }
.nc-quotes-main .quote-lines .section-heading { padding: .9375rem 1.125rem; }
.nc-quotes-main .quote-lines .section-heading h2 { margin: .15rem 0; }
.nc-quotes-main .quote-lines .section-heading p:last-child { margin: .2rem 0 0; color: var(--quote-muted); }
.nc-quotes-main .quote-total { white-space: nowrap; font-size: 1.55rem; }
.nc-quotes-main .quote-lines .table-wrap { border: 0; border-top: 1px solid var(--quote-line); border-radius: 0; }
.nc-quotes-main .quote-lines table { width: 100%; border-collapse: collapse; }
.nc-quotes-main .quote-lines th,
.nc-quotes-main .quote-lines td { padding: .625rem .75rem; border-top: 1px solid var(--quote-line); text-align: left; font-size: .8rem; }
.nc-quotes-main .quote-lines th:not(:first-child),
.nc-quotes-main .quote-lines td:not(:first-child) { white-space: nowrap; }
.nc-quotes-main .quote-lines th + th,
.nc-quotes-main .quote-lines td + td { border-left: 1px solid #edf1ee; }
.nc-quotes-main .quote-lines th:first-child { width: 28%; }
.nc-quotes-main .quote-lines thead th { border-top: 0; background: #eef4ef; color: var(--quote-muted); font-size: .68rem; text-transform: uppercase; }
.nc-quotes-main .quote-lines .room-row th { background: #f8faf7; color: var(--quote-green); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.nc-quotes-main .quote-line-link { display: grid; gap: .1875rem; padding: 0; border: 0; background: transparent; color: var(--quote-ink); text-align: left; cursor: pointer; }
.nc-quotes-main .quote-line-link strong { font-size: .88rem; }
.nc-quotes-main .quote-line-link small,
.nc-quotes-main .number-cell small { display: block; color: var(--quote-muted); font-weight: 500; }
.nc-quotes-main .number-cell { text-align: right !important; font-variant-numeric: tabular-nums; }
.nc-quotes-main .workbench { grid-template-columns: minmax(0, .78fr) minmax(35rem, 1.22fr); align-items: stretch; }
.nc-quotes-main .product-summary { display: grid; grid-template-columns: minmax(11rem, 42%) minmax(0, 1fr); gap: 1rem; }
.nc-quotes-main .product-summary .quote-visual svg { height: 11.25rem; }
.nc-quotes-main .product-summary h2,
.nc-quotes-main .quick-pricing h2 { margin: .35rem 0; }
.nc-quotes-main .pricing-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: .75rem 0; overflow: hidden; border: 1px solid var(--quote-line); border-radius: .5rem; background: var(--quote-line); }
.nc-quotes-main .pricing-metrics div { padding: .625rem; background: #f7faf7; }
.nc-quotes-main .pricing-metrics span { display: block; color: var(--quote-muted); font-size: .68rem; }
.nc-quotes-main .pricing-metrics strong { font-size: .92rem; }
.nc-quotes-main .offer-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5625rem; }
.nc-quotes-main .offer-form label { display: grid; gap: .25rem; min-width: 0; font-size: .72rem; font-weight: 750; }
.nc-quotes-main .offer-form input { width: 100%; min-width: 0; }
.nc-quotes-main .offer-form button { align-self: end; }
.nc-quotes-main .pricing-help { margin: .7rem 0 0; color: var(--quote-muted); font-size: .72rem; }
.nc-quotes-main .pricing-empty { padding: .875rem; border-radius: .5rem; background: var(--quote-amber); }
.nc-quotes-main .cost-builder { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .cost-builder-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.nc-quotes-main .cost-builder-heading h3 { margin: 0; }
.nc-quotes-main .cost-builder-heading p { margin: .25rem 0 0; color: var(--quote-muted); font-size: .78rem; }
.nc-quotes-main .cost-add-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .875rem 0; }
.nc-quotes-main .cost-add { min-width: 0; }
.nc-quotes-main .cost-add > summary { list-style: none; cursor: pointer; }
.nc-quotes-main .cost-add > summary::-webkit-details-marker { display: none; }
.nc-quotes-main .cost-add[open] { flex: 1 1 100%; padding: .75rem; border: 1px solid var(--quote-line); border-radius: .5rem; background: #f8faf7; }
.nc-quotes-main .cost-add[open] > summary { display: inline-flex; margin-bottom: .75rem; }
.nc-quotes-main .cost-add form,
.nc-quotes-main .cost-item-editor form { display: grid; grid-template-columns: minmax(12rem, 2fr) repeat(4, minmax(7rem, 1fr)) auto; gap: .5rem; align-items: end; }
.nc-quotes-main .cost-add form label,
.nc-quotes-main .cost-item-editor form label { display: grid; gap: .25rem; min-width: 0; font-size: .72rem; font-weight: 750; }
.nc-quotes-main .cost-add form input,
.nc-quotes-main .cost-add form select,
.nc-quotes-main .cost-item-editor form input,
.nc-quotes-main .cost-item-editor form select { width: 100%; min-width: 0; }
.nc-quotes-main .cost-empty { display: grid; gap: .25rem; padding: 1rem; border: 1px dashed var(--quote-line); border-radius: .5rem; background: #fbfcfa; }
.nc-quotes-main .cost-empty span { color: var(--quote-muted); }
.nc-quotes-main .cost-item-list { display: grid; border: 1px solid var(--quote-line); border-radius: .5rem; overflow: hidden; }
.nc-quotes-main .cost-item-row + .cost-item-row { border-top: 1px solid var(--quote-line); }
.nc-quotes-main .cost-item-summary { display: grid; grid-template-columns: auto minmax(10rem, 2fr) minmax(8rem, 1fr) minmax(7rem, .8fr) minmax(6rem, .7fr) minmax(6rem, .7fr) auto; gap: .625rem; align-items: center; padding: .625rem; }
.nc-quotes-main .cost-item-summary > span { min-width: 0; font-size: .75rem; }
.nc-quotes-main .cost-item-summary > span small { display: block; color: var(--quote-muted); }
.nc-quotes-main .cost-item-summary details { position: relative; }
.nc-quotes-main .cost-item-summary details[open] { grid-column: 1 / -1; }
.nc-quotes-main .cost-item-summary details > summary { list-style: none; cursor: pointer; }
.nc-quotes-main .cost-item-summary details > summary::-webkit-details-marker { display: none; }
.nc-quotes-main .cost-item-editor { grid-column: 1 / -1; margin-top: .625rem; padding: .75rem; border-top: 1px solid var(--quote-line); background: #f8faf7; }
.nc-quotes-main .cost-item-editor > form + form { display: flex; justify-content: flex-end; margin-top: .5rem; }
.nc-quotes-main .cost-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: .75rem; overflow: hidden; border: 1px solid var(--quote-line); border-radius: .5rem; }
.nc-quotes-main .cost-summary div { padding: .625rem; background: #f7faf7; }
.nc-quotes-main .cost-summary div + div { border-left: 1px solid var(--quote-line); }
.nc-quotes-main .cost-summary span { display: block; color: var(--quote-muted); font-size: .68rem; }
.nc-quotes-main .manual-pricing,
.nc-quotes-main .capacity-fields { margin-top: .875rem; padding-top: .875rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .manual-pricing > summary { cursor: pointer; color: var(--quote-green); font-weight: 750; }
.nc-quotes-main .manual-pricing > .offer-form { margin-top: .75rem; }
.nc-quotes-main .capacity-fields h3 { margin: 0 0 .75rem; }
.nc-quotes-main .advanced-section { max-width: 94rem; margin: .625rem auto; overflow: hidden; border: 1px solid var(--quote-line); border-radius: .625rem; background: var(--quote-paper); }
.nc-quotes-main .advanced-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 1.125rem; padding: .875rem 1.125rem; cursor: pointer; list-style: none; }
.nc-quotes-main .advanced-section > summary::-webkit-details-marker { display: none; }
.nc-quotes-main .advanced-section > summary span:first-child { display: grid; gap: .1875rem; }
.nc-quotes-main .advanced-section > summary small { color: var(--quote-muted); font-weight: 500; }
.nc-quotes-main .advanced-section[open] > summary { border-bottom: 1px solid var(--quote-line); background: #f8faf7; }
.nc-quotes-main .advanced-section > .configuration,
.nc-quotes-main .advanced-section > .decision-column { margin-top: 0; border: 0; border-radius: 0; }
.nc-quotes-main .advanced-section .offer-grid { grid-template-columns: repeat(auto-fit, minmax(16.875rem, 1fr)); }
.nc-quotes-main .decision-column { position: static; }
.nc-quotes-main .history { margin-top: .625rem; }
@media (max-width: 70rem) {
  .nc-quotes-main .workbench { grid-template-columns: 1fr; }
  .nc-quotes-main .decision-column { position: static; }
  .nc-quotes-main .offer-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-quotes-main .cost-add form,
  .nc-quotes-main .cost-item-editor form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-quotes-main .cost-item-summary { grid-template-columns: auto minmax(10rem, 2fr) repeat(2, minmax(7rem, 1fr)) auto; }
  .nc-quotes-main .cost-item-summary > span:nth-of-type(4),
  .nc-quotes-main .cost-item-summary > span:nth-of-type(5) { display: none; }
  .nc-quotes-main .product-summary { grid-template-columns: minmax(11rem, 34%) minmax(0, 1fr); }
  .nc-quotes-main .quote-lines { overflow-x: auto; }
  .nc-quotes-main .quote-lines table { min-width: 53.75rem; }
}
@media (max-width: 42.5rem) {
  .nc-quotes-main { padding: .5rem; }
  .nc-quotes-main .context-actions,
  .nc-quotes-main .case-strip,
  .nc-quotes-main .product-tabs { flex-wrap: wrap; padding-inline: .625rem; }
  .nc-quotes-main .saved-status { margin-left: 0; }
  .nc-quotes-main .quote-title,
  .nc-quotes-main .product-row { display: grid; grid-template-columns: 1fr; gap: .75rem; }
  .nc-quotes-main .quote-title-actions { align-items: flex-start; flex-wrap: wrap; }
  .nc-quotes-main .configuration-form,
  .nc-quotes-main .offer-grid,
  .nc-quotes-main .offer-edit form { grid-template-columns: 1fr; }
  .nc-quotes-main .configuration-form .wide,
  .nc-quotes-main .offer-edit button { grid-column: auto; }
  .nc-quotes-main .form-actions { align-items: flex-start; flex-direction: column; }
  .nc-quotes-main .customer-safe li { display: grid; }
  .nc-quotes-main .breakdown td:last-child { text-align: left; }
  .nc-quotes-main .product-summary,
  .nc-quotes-main .offer-form,
  .nc-quotes-main .pricing-metrics,
  .nc-quotes-main .cost-add form,
  .nc-quotes-main .cost-item-editor form,
  .nc-quotes-main .cost-item-summary,
  .nc-quotes-main .cost-summary { grid-template-columns: 1fr; }
  .nc-quotes-main .cost-summary div + div { border-left: 0; border-top: 1px solid var(--quote-line); }
  .nc-quotes-main .cost-item-summary > span:nth-of-type(4),
  .nc-quotes-main .cost-item-summary > span:nth-of-type(5) { display: block; }
  .nc-quotes-main .product-summary .quote-visual svg { height: 9.375rem; }
  .nc-quotes-main .advanced-section > summary { align-items: flex-start; }
  .nc-quotes-main .quote-total { font-size: 1.1rem; }
}

/* Top-level application views already have their identity in the Frame and their
   active area in the tab bar. Keep descriptions, counts and actions, but do not
   repeat the same title a third time. Record/detail headers are intentionally
   outside these selectors. */
.nc-page-header:has(+ .nc-app-tabs) .nc-page-title,
.nc-page-header:has(+ .nc-app-tabs) .nc-eyebrow,
.nc-app-tabs ~ [data-nc-panel] > .nc-workspace > .nc-workspace-toolbar > div:first-child > h2,
.nc-app-tabs ~ [data-nc-panel] > .nc-workspace-toolbar > div:first-child > h2,
.nc-app-tabs ~ [data-nc-panel] > h2:first-child {
  display: none;
}

.nc-page-header:has(+ .nc-app-tabs) {
  min-height: 0;
  padding-block: .5rem;
}

.nc-app-tabs ~ [data-nc-panel] > .nc-workspace > .nc-workspace-toolbar,
.nc-app-tabs ~ [data-nc-panel] > .nc-workspace-toolbar {
  min-height: 2.75rem;
  padding-block: .45rem;
}

/* Single-register applications: the Frame already names the application. */
.nc-machines-shell > [data-nc-panel="machines"] > .nc-page-header .nc-page-title,
.nc-machines-shell > [data-nc-panel="machines"] > .nc-page-header .nc-eyebrow,
.nc-page > [data-nc-panel="files"] > .nc-page-header .nc-page-title,
.nc-page > [data-nc-panel="files"] > .nc-page-header .nc-eyebrow,
.knowledge-shell > [data-nc-panel="list"] > .knowledge-toolbar h1,
.knowledge-shell > [data-nc-panel="list"] > .knowledge-toolbar .nc-eyebrow {
  display: none;
}

/* Stand-alone registers and contextual drawers also receive their application
   name from the Frame. Their direct child header may keep help text and actions,
   while nested record headers remain untouched. */
.nc-page > .nc-page-header .nc-page-title,
.nc-page > .nc-page-header .nc-eyebrow {
  display: none;
}

.nc-page > .nc-page-header {
  min-height: 0;
  padding-block: .5rem;
}

/* Quotes v3: the Quote workbench is the primary work surface. */
.nc-quotes-main { max-width: 116rem; padding: .75rem 1rem 2rem; }
.nc-quotes-main .quote-context--workbench { max-width: 112rem; margin: 0 auto; }
.nc-quotes-main .quote-context--workbench .quote-title { padding-block: .875rem 1rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .quote-context--workbench .quote-title h1 { font-size: 1.65rem; }
.nc-quotes-main .quote-builder-shell { display: grid; grid-template-columns: minmax(13.75rem, 17rem) minmax(38rem, 1fr) minmax(15rem, 18rem); gap: .75rem; max-width: 112rem; margin: .75rem auto; align-items: start; }
.nc-quotes-main .quote-structure,
.nc-quotes-main .quote-summary { position: sticky; top: .75rem; padding: 0; overflow: hidden; }
.nc-quotes-main .quote-side-heading { padding: .875rem 1rem; border-bottom: 1px solid var(--quote-line); }
.nc-quotes-main .quote-side-heading h2 { margin: .2rem 0; font-size: 1rem; }
.nc-quotes-main .quote-side-heading p:last-child { margin: .2rem 0 0; color: var(--quote-muted); font-size: .75rem; }
.nc-quotes-main .quote-tree { padding: .625rem; }
.nc-quotes-main .quote-tree-all { margin-bottom: .75rem; border-color: var(--quote-line); }
.nc-quotes-main .quote-tree-room + .quote-tree-room { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .quote-tree-room h3 { margin: 0 0 .375rem; padding: 0 .375rem; color: var(--quote-muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.nc-quotes-main .quote-tree-product { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .5rem; padding: .625rem; border: 1px solid transparent; border-radius: .5rem; background: transparent; color: var(--quote-ink); text-align: left; cursor: pointer; }
.nc-quotes-main .quote-tree-product:hover { background: #f4f8f4; }
.nc-quotes-main .quote-tree-product.is-active { border-color: #75a18e; background: #e8f3ed; box-shadow: inset .1875rem 0 0 var(--quote-green); }
.nc-quotes-main .quote-tree-product > span:first-child { display: grid; gap: .125rem; min-width: 0; }
.nc-quotes-main .quote-tree-product strong { overflow: hidden; text-overflow: ellipsis; font-size: .78rem; white-space: nowrap; }
.nc-quotes-main .quote-tree-product small,
.nc-quotes-main .quote-tree-empty { color: var(--quote-muted); font-size: .66rem; }
.nc-quotes-main .quote-tree-room ul { display: grid; gap: .25rem; margin: .25rem 0 .5rem 1rem; padding: 0 0 0 .75rem; border-left: 1px solid var(--quote-line); list-style: none; }
.nc-quotes-main .quote-tree-room li { display: grid; gap: .0625rem; font-size: .7rem; }
.nc-quotes-main .quote-tree-room li small { color: var(--quote-muted); }
.nc-quotes-main .quote-tree-empty { margin: .2rem 0 .45rem 1.75rem; }
.nc-quotes-main .quote-work-area { min-width: 0; }
.nc-quotes-main .product-panel > * + * { margin-top: .625rem; }
.nc-quotes-main .product-focus { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) auto; gap: .875rem; align-items: center; padding: .75rem; }
.nc-quotes-main .product-focus .quote-visual { grid-row: 1; }
.nc-quotes-main .product-focus .quote-visual svg { height: 5.25rem; }
.nc-quotes-main .product-focus .quote-visual figcaption { display: none; }
.nc-quotes-main .product-focus h2 { margin: .2rem 0; font-size: 1.2rem; }
.nc-quotes-main .product-focus p:not(.eyebrow) { margin: .15rem 0; color: var(--quote-muted); font-size: .78rem; }
.nc-quotes-main .product-focus small { color: var(--quote-muted); }
.nc-quotes-main .product-document-action { display: grid; gap: .25rem; justify-items: end; max-width: 12rem; text-align: right; }
.nc-quotes-main .quick-pricing { padding: 1rem; }
.nc-quotes-main .quick-pricing .section-heading p:last-child { margin: .2rem 0 0; color: var(--quote-muted); font-size: .78rem; }
.nc-quotes-main .part-pricing { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--quote-line); }
.nc-quotes-main .part-price-list { display: grid; margin-top: .75rem; overflow: hidden; border: 1px solid var(--quote-line); border-radius: .5rem; }
.nc-quotes-main .part-price-row { display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(8rem, auto); gap: .75rem; align-items: center; padding: .625rem .75rem; }
.nc-quotes-main .part-price-row + .part-price-row { border-top: 1px solid var(--quote-line); }
.nc-quotes-main .part-price-row > div:first-child { display: grid; gap: .125rem; }
.nc-quotes-main .part-price-row small { color: var(--quote-muted); font-size: .68rem; }
.nc-quotes-main .part-level { width: max-content; padding: .1rem .35rem; border-radius: 999px; background: #eef4ef; color: var(--quote-green); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.nc-quotes-main .part-price-state { display: grid; justify-items: end; gap: .125rem; text-align: right; }
.nc-quotes-main .part-price-state .cost-add[open] { min-width: 35rem; text-align: left; }
.nc-quotes-main .cost-part-link { display: block; margin-bottom: .125rem; color: var(--quote-green) !important; font-size: .62rem !important; text-transform: uppercase; }
.nc-quotes-main .capacity-fields > summary { cursor: pointer; color: var(--quote-green); font-weight: 750; list-style-position: inside; }
.nc-quotes-main .capacity-fields > .offer-form { margin-top: .75rem; }
.nc-quotes-main .advanced-section { max-width: none; margin: .625rem 0 0; }
.nc-quotes-main .all-pricing { padding: 0; overflow: hidden; }
.nc-quotes-main .all-pricing > .section-heading { padding: 1rem; }
.nc-quotes-main .all-pricing > .section-heading h2 { margin: .2rem 0; }
.nc-quotes-main .all-pricing > .section-heading p:last-child { max-width: 52rem; margin: .2rem 0 0; color: var(--quote-muted); font-size: .78rem; }
.nc-quotes-main .all-pricing-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border-block: 1px solid var(--quote-line); background: var(--quote-line); }
.nc-quotes-main .all-pricing-metrics > div { padding: .65rem .75rem; background: #f7faf7; }
.nc-quotes-main .all-pricing-metrics span { display: block; color: var(--quote-muted); font-size: .66rem; text-transform: uppercase; }
.nc-quotes-main .all-pricing-metrics strong { display: block; margin-top: .1rem; font-size: .9rem; font-variant-numeric: tabular-nums; }
.nc-quotes-main .price-sheet-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--quote-line); border-radius: .5rem; background: #fff; }
.nc-quotes-main .all-pricing .price-sheet-wrap { border: 0; border-radius: 0; }
.nc-quotes-main .price-sheet { width: 100%; min-width: 64rem; border-collapse: collapse; table-layout: auto; }
.nc-quotes-main .price-sheet th,
.nc-quotes-main .price-sheet td { height: 2rem; padding: .38rem .5rem; border-right: 1px solid #e5eae6; border-bottom: 1px solid #dfe5e1; text-align: left; font-size: .72rem; vertical-align: middle; }
.nc-quotes-main .price-sheet th:last-child,
.nc-quotes-main .price-sheet td:last-child { border-right: 0; }
.nc-quotes-main .price-sheet thead th { position: sticky; z-index: 2; top: 0; background: #eaf0eb; color: var(--quote-muted); font-size: .62rem; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.nc-quotes-main .price-sheet td small { display: block; margin-top: .05rem; color: var(--quote-muted); font-size: .62rem; }
.nc-quotes-main .price-sheet .nc-badge { white-space: nowrap; }
.nc-quotes-main .price-line-row:hover td { background: #f7faf7; }
.nc-quotes-main .price-line-row--unpriced td { background: #fffaf0; }
.nc-quotes-main .price-line-row--empty td { padding: .75rem; color: var(--quote-muted); text-align: center; }
.nc-quotes-main .price-line-action { position: relative; width: 1%; white-space: nowrap; }
.nc-quotes-main .price-line-edit > summary { list-style: none; cursor: pointer; }
.nc-quotes-main .price-line-edit > summary::-webkit-details-marker { display: none; }
.nc-quotes-main .price-line-edit[open] .cost-item-editor { position: absolute; z-index: 5; top: calc(100% + .25rem); right: .25rem; width: min(58rem, 82vw); padding: .75rem; border: 1px solid var(--quote-line); border-radius: .5rem; background: #fff; box-shadow: 0 .75rem 1.75rem rgb(18 62 49 / .18); }
.nc-quotes-main .all-product-row th { padding: 0; border-top: .5rem solid var(--quote-ground); background: #eef4ef; }
.nc-quotes-main .all-product-link { display: grid; grid-template-columns: minmax(15rem, 1fr) auto auto; gap: 1.25rem; width: 100%; align-items: center; padding: .6rem .75rem; border: 0; background: transparent; color: var(--quote-ink); text-align: left; cursor: pointer; }
.nc-quotes-main .all-product-link:hover { background: #e3efe8; }
.nc-quotes-main .all-product-link > span { display: grid; gap: .08rem; }
.nc-quotes-main .all-product-link > span:nth-child(2) { text-align: right; }
.nc-quotes-main .all-product-link small { color: var(--quote-muted); font-size: .64rem; font-weight: 500; }
.nc-quotes-main .all-product-total td { background: #f5f8f5; font-weight: 700; }
.nc-quotes-main .all-product-total td:first-child { display: flex; justify-content: space-between; gap: 1rem; }
.nc-quotes-main .all-product-total span { color: var(--quote-muted); font-size: .65rem; font-weight: 500; }
.nc-quotes-main .quote-summary-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; background: var(--quote-line); }
.nc-quotes-main .quote-summary-metrics div { padding: .625rem .75rem; background: #f7faf7; }
.nc-quotes-main .quote-summary-metrics div:first-child { grid-column: 1 / -1; }
.nc-quotes-main .quote-summary-metrics dt { color: var(--quote-muted); font-size: .67rem; }
.nc-quotes-main .quote-summary-metrics dd { margin: .125rem 0 0; font-weight: 800; }
.nc-quotes-main .quote-summary-lines { display: grid; padding: .5rem; }
.nc-quotes-main .quote-summary-lines button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; padding: .625rem; border: 0; border-radius: .375rem; background: transparent; color: var(--quote-ink); text-align: left; cursor: pointer; }
.nc-quotes-main .quote-summary-lines button:hover,
.nc-quotes-main .quote-summary-lines button.is-active { background: #e8f3ed; }
.nc-quotes-main .quote-summary-lines button > span { display: grid; gap: .1rem; min-width: 0; }
.nc-quotes-main .quote-summary-lines button > span:last-child { text-align: right; }
.nc-quotes-main .quote-summary-lines small { color: var(--quote-muted); font-size: .65rem; }
.nc-quotes-main .quote-boundary { margin: 0; padding: .75rem 1rem; border-top: 1px solid var(--quote-line); color: var(--quote-muted); font-size: .67rem; }
.nc-quotes-main .history { max-width: 112rem; }
@media (max-width: 83rem) {
  .nc-quotes-main .quote-builder-shell { grid-template-columns: 14rem minmax(34rem, 1fr); }
  .nc-quotes-main .quote-summary { position: static; grid-column: 1 / -1; display: grid; grid-template-columns: 15rem 1fr; }
  .nc-quotes-main .quote-summary-lines { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-quotes-main .quote-boundary { grid-column: 1 / -1; }
}
@media (max-width: 61rem) {
  .nc-quotes-main .quote-builder-shell { grid-template-columns: 1fr; }
  .nc-quotes-main .quote-structure,
  .nc-quotes-main .quote-summary { position: static; }
  .nc-quotes-main .quote-tree { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .5rem; }
  .nc-quotes-main .quote-tree-room + .quote-tree-room { margin-top: 0; padding-top: 0; border-top: 0; }
  .nc-quotes-main .quote-summary { grid-column: auto; }
  .nc-quotes-main .all-pricing-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 42.5rem) {
  .nc-quotes-main .product-focus,
  .nc-quotes-main .part-price-row,
  .nc-quotes-main .quote-summary { grid-template-columns: 1fr; }
  .nc-quotes-main .product-focus .quote-visual { display: none; }
  .nc-quotes-main .product-focus .nc-button { justify-self: start; }
  .nc-quotes-main .part-price-state { justify-items: start; text-align: left; }
  .nc-quotes-main .part-price-state .cost-add[open] { min-width: 0; width: 100%; }
  .nc-quotes-main .quote-summary-lines { grid-template-columns: 1fr; }
  .nc-quotes-main .all-pricing-metrics { grid-template-columns: 1fr 1fr; }
  .nc-quotes-main .all-product-link { grid-template-columns: 1fr auto; }
  .nc-quotes-main .all-product-link > span:nth-child(2) { grid-column: 1 / -1; text-align: left; }
}

/* CRM delivery map: layout is shared because the map is rendered inside the Frame. */
.nc-map-centre {
  display: flex;
  gap: .75rem;
  align-items: baseline;
  padding: .65rem .85rem;
  border: 1px solid var(--nc-border, #dce4df);
  border-bottom: 0;
  border-radius: .65rem .65rem 0 0;
  background: var(--nc-surface, #fff);
  color: var(--nc-muted, #65736d);
  font-size: .78rem;
}
.nc-map-centre strong { color: var(--nc-ink, #183028); }
.nc-delivery-map {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 30rem;
  overflow: hidden;
  border: 1px solid var(--nc-border, #dce4df);
  background: #dfe9e3;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .45);
}
.nc-map-tiles { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.nc-map-tile {
  position: absolute;
  width: 256px;
  height: 256px;
  max-width: none;
  border: 0;
  user-select: none;
}
.nc-map-pin,
.nc-map-home {
  position: absolute;
  z-index: 2;
  display: grid;
  min-width: 7.25rem;
  gap: .12rem;
  justify-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nc-ink, #183028);
  font: inherit;
  text-align: center;
  transform: translate(-50%, calc(-100% - .35rem));
}
.nc-map-pin { cursor: pointer; }
.nc-map-pin::after,
.nc-map-home::after {
  width: .62rem;
  height: .62rem;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--nc-accent, #1d6a52);
  box-shadow: 0 1px 4px rgb(24 48 40 / .3);
  content: "";
}
.nc-map-pin__logo,
.nc-map-home > span {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 3px solid #fff;
  border-radius: .6rem;
  background: var(--nc-accent, #1d6a52);
  box-shadow: 0 .3rem .8rem rgb(24 48 40 / .22);
  color: #fff;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .02em;
}
.nc-map-pin__brand,
.nc-map-home small {
  max-width: 9.5rem;
  overflow: hidden;
  padding: .16rem .4rem;
  border-radius: .25rem;
  background: rgb(255 255 255 / .94);
  box-shadow: 0 1px 4px rgb(24 48 40 / .14);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nc-map-pin > small { color: var(--nc-muted, #65736d); font-size: .6rem; }
.nc-map-home { z-index: 1; min-width: 4.5rem; pointer-events: none; }
.nc-map-home > span { border-radius: 999px; background: #263d35; }
.nc-map-home::after { background: #263d35; }
.nc-map-controls {
  position: absolute;
  z-index: 4;
  top: .75rem;
  right: .75rem;
  display: flex;
  overflow: hidden;
  border: 1px solid rgb(24 48 40 / .18);
  border-radius: .45rem;
  background: rgb(255 255 255 / .96);
  box-shadow: 0 .25rem .75rem rgb(24 48 40 / .16);
}
.nc-map-controls button {
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: .45rem .65rem;
  border: 0;
  border-right: 1px solid rgb(24 48 40 / .12);
  background: transparent;
  color: var(--nc-ink, #183028);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.nc-map-controls button:last-child { border-right: 0; }
.nc-map-controls button:hover,
.nc-map-controls button:focus-visible { background: #edf5f0; }
.nc-map-attribution {
  position: absolute;
  z-index: 4;
  right: .3rem;
  bottom: .25rem;
  padding: .12rem .25rem;
  border-radius: .2rem;
  background: rgb(255 255 255 / .86);
  color: #43544e;
  font-size: .58rem;
  text-decoration: none;
}
.nc-map-empty {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: min(26rem, calc(100% - 3rem));
  gap: .25rem;
  padding: 1rem 1.25rem;
  border: 1px solid rgb(24 48 40 / .16);
  border-radius: .65rem;
  background: rgb(255 255 255 / .94);
  box-shadow: 0 .5rem 1.5rem rgb(24 48 40 / .14);
  color: var(--nc-muted, #65736d);
  text-align: center;
  transform: translate(-50%, -50%);
}
.nc-map-empty strong { color: var(--nc-ink, #183028); }
@media (max-width: 42.5rem) {
  .nc-map-centre { display: grid; gap: .15rem; }
  .nc-delivery-map { min-height: 23rem; }
  .nc-map-controls { top: .5rem; right: .5rem; }
  .nc-map-pin { min-width: 5.5rem; }
  .nc-map-pin__brand { max-width: 6.5rem; }
}
