/* ==========================================================================
   EngineersCalc — Engineering Projects
   Production Projects interface · final-design release 2
   Built from existing canonical stylesheet: 2026-11-10

   Replaces:
   - ec-projects.css
   - ec-projects-experience.css
   - ec-projects-module-redesign.css

   Cascade order is intentionally preserved:
   1. Core Projects UI
   2. Workspace Experience / P11 presentation layer
   3. Professional Module System / current module redesign

   ec-project-input-bridge.css is intentionally NOT included here.
   The project bridge is rendered on calculator pages and remains a separate,
   narrowly scoped cross-surface stylesheet.
   ========================================================================== */


/* ========================================================================
   CORE PROJECTS UI
   ======================================================================== */

.ec-projects-app { box-sizing: border-box; max-width: 1280px; width: 100%; margin: 0 auto; padding: 36px 22px 80px; color: var(--ec-black-mid, #17232e); }
.ec-projects-app *, .ec-projects-app *::before, .ec-projects-app *::after { box-sizing: border-box; }
.ec-projects-app [hidden] { display: none !important; }
.ec-projects-app h1, .ec-projects-app h2, .ec-projects-app h3, .ec-projects-app h4 { color: inherit; line-height: 1.25; }
.ec-projects-app h1 { margin: 8px 0 8px; font-size: clamp(1.7rem,3vw,2.3rem); }
.ec-projects-app h2 { font-size: 1.35rem; margin: 0 0 7px; }
.ec-projects-app h3 { font-size: 1.05rem; margin: 0 0 10px; }
.ec-projects-app h4 { font-size: 1rem; margin: 0 0 8px; }
.ec-projects-app p { margin: 0 0 12px; }
.ec-projects-app a { color: var(--ec-info-color,#08689b); }
.ec-projects-app button, .ec-projects-app input, .ec-projects-app select, .ec-projects-app textarea { font: inherit; }
.ec-projects-app button { cursor: pointer; padding: 9px 14px; border: 1px solid var(--ec-border-strong,#bdc9d2); border-radius: 9px; background: var(--ec-bg,#fff); color: var(--ec-black-mid,#17232e); font-weight: 600; font-size: .91rem; line-height: 1.4; }
.ec-projects-app button:hover { background: var(--ec-bg-off,#eef3f7); }
.ec-projects-app button:disabled { opacity: .5; cursor: not-allowed; }
.ec-projects-app button.ec-projects-primary, .ec-projects-app .ec-projects-primary-link { display: inline-flex; align-items: center; justify-content: center; border-color: var(--ec-black-mid,#17232e); background: var(--ec-black-mid,#17232e); color: #fff; text-decoration: none; }
.ec-projects-app button.ec-projects-primary:hover { background: var(--ec-dark,#293f4f); }
.ec-projects-app button.ec-projects-danger { border-color: var(--ec-red,#b32626); color: var(--ec-red,#b32626); }
.ec-projects-app button.ec-projects-danger:hover { background: var(--ec-red-soft,#ffeded); }
.ec-projects-app :is(button,input,select,textarea,a,summary):focus-visible { outline: 3px solid var(--ec-info-color,#238fd0); outline-offset: 3px; }
.ec-projects-app input, .ec-projects-app select, .ec-projects-app textarea { width: 100%; min-width: 0; background: var(--ec-bg,#fff); color: inherit; border: 1px solid var(--ec-border-strong,#b7c4ce); border-radius: 8px; padding: 10px 11px; }
.ec-projects-app textarea { resize: vertical; }
.ec-projects-app label { display: grid; gap: 5px; color: var(--ec-black-mid,#17232e); font-size: .9rem; font-weight: 600; }
.ec-projects-app form { display: grid; gap: 13px; margin: 0 0 12px; }
.ec-projects-message { margin: 0 0 12px; min-height: 1.3em; color: var(--ec-success,#276e43); font-size: .9rem; }
.ec-projects-message.is-error, .ec-projects-warning { color: var(--ec-red,#b32626); }
.ec-projects-page-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 30px; }
.ec-projects-page-header p, .ec-projects-view-heading p, .ec-projects-detail-meta { color: var(--ec-soft,#667684); }
.ec-projects-breadcrumb { font-size: .82rem; }
.ec-projects-create, .ec-projects-settings { border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 14px; padding: 22px; margin-bottom: 24px; background: var(--ec-bg-panel,#f8fafb); }
.ec-projects-create form, .ec-projects-settings form { max-width: 650px; }
.ec-projects-form-actions, .ec-projects-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ec-projects-index-tools { display: grid; grid-template-columns: minmax(220px,2fr) minmax(160px,1fr) auto; align-items: end; gap: 16px; margin: 0 0 22px; }
.ec-projects-list-count { font-size: .85rem; color: var(--ec-soft,#667684); padding-bottom: 12px; white-space: nowrap; }
.ec-projects-index-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,320px), 1fr)); gap: 16px; margin-bottom: 18px; }
.ec-projects-list-entry { border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 14px; padding: 20px; box-shadow: var(--ec-shadow-sm,0 1px 4px #0f213010); background: var(--ec-bg,#fff); min-width: 0; }
.ec-projects-list-entry h3 { margin: 0 0 6px; overflow-wrap: anywhere; }
.ec-projects-list-entry p { font-size: .85rem; color: var(--ec-soft,#667684); overflow-wrap: anywhere; min-height: 32px; }
.ec-projects-list-entry button { margin-top: 6px; }
.ec-projects-empty { grid-column: 1/-1; border: 1px dashed var(--ec-border-strong,#bec9d2); padding: 28px; border-radius: 12px; }
.ec-projects-back { display: inline-block; font-size: .85rem; text-decoration: none; margin-bottom: 14px; }
.ec-projects-detail-header { margin-bottom: 24px; }
.ec-projects-detail-header-main { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ec-projects-detail-header h1 { margin: 0 0 5px; overflow-wrap: anywhere; }
.ec-projects-detail-meta { font-size: .85rem; margin-bottom: 0; }
.ec-projects-header-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ec-projects-tabs { display: flex; flex-wrap: nowrap; gap: 4px; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); overflow-x: auto; margin-bottom: 26px; scrollbar-width: thin; }
.ec-projects-app .ec-projects-tabs button { background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0; font-weight: 600; white-space: nowrap; padding: 12px 13px; color: var(--ec-soft,#667684); }
.ec-projects-app .ec-projects-tabs button:hover { background: var(--ec-bg-panel,#f4f7f9); }
.ec-projects-app .ec-projects-tabs button.is-active { color: var(--ec-black-mid,#17232e); border-bottom-color: var(--ec-info-color,#23719a); }
.ec-projects-view { min-width: 0; }
.ec-projects-view-heading { margin: 0 0 24px; }
.ec-projects-view-heading p { font-size: .9rem; }
.ec-projects-summary { padding: 10px 14px; margin-bottom: 18px; background: var(--ec-bg-panel,#f4f7f9); border-radius: 10px; font-size: .84rem; }
.ec-projects-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0 0 24px; }
.ec-projects-metric { display: grid; gap: 5px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; padding: 16px; }
.ec-projects-metric strong { font-size: 1.65rem; font-variant-numeric: tabular-nums; line-height: 1.15; }
.ec-projects-metric span { color: var(--ec-soft,#667684); font-size: .82rem; }
.ec-projects-overview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 18px; }
.ec-projects-overview-grid > div { border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; padding: 20px; min-width: 0; }
.ec-projects-overview-entry { display: grid; gap: 3px; padding: 11px 0; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); overflow-wrap: anywhere; }
.ec-projects-overview-entry span, .ec-projects-overview-activity { font-size: .82rem; color: var(--ec-soft,#667684); }
.ec-projects-overview-grid button { margin-top: 14px; }
.ec-projects-workspace-section { min-width: 0; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 13px; padding: 22px; margin: 0 0 18px; }
.ec-projects-workspace-section > p { color: var(--ec-soft,#667684); font-size: .88rem; }
.ec-projects-workspace-section > form { max-width: 680px; }
.ec-projects-workspace-card { border-top: 1px solid var(--ec-border-light,#dbe1e7); padding: 15px 0; margin: 8px 0; min-width: 0; overflow-wrap: anywhere; }
.ec-projects-workspace-card > strong { display: block; margin-bottom: 5px; }
.ec-projects-workspace-card > p { color: var(--ec-soft,#667684); font-size: .86rem; overflow-wrap: anywhere; }
.ec-projects-workspace-card summary, .ec-projects-advanced summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.ec-projects-workspace-card details form { padding: 16px; margin-top: 10px; background: var(--ec-bg-panel,#f7f9fb); border-radius: 10px; }
.ec-projects-workspace-card button { margin: 4px 8px 4px 0; }
.ec-projects-launch { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; padding: 16px; margin-bottom: 24px; background: var(--ec-bg-panel,#f7f9fb); }
.ec-projects-launch label { flex: 1 1 300px; }
.ec-projects-calculation { border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; padding: 17px; margin: 0 0 14px; }
.ec-projects-calculation > summary { font-weight: 700; cursor: pointer; font-size: 1rem; padding: 2px 0 10px; overflow-wrap: anywhere; }
.ec-projects-item { padding: 13px; margin: 10px 0; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 9px; display: grid; gap: 7px; overflow-wrap: anywhere; }
.ec-projects-item--current { border-left: 4px solid var(--ec-success,#27874e); }
.ec-projects-item > span { font-size: .83rem; color: var(--ec-soft,#667684); }
.ec-projects-item-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; align-items: center; }
.ec-projects-item-actions select { width: auto; max-width: 100%; }
.ec-projects-item-form { display: flex !important; align-items: end; gap: 8px; flex-wrap: wrap; }
.ec-projects-item-form input[type="text"] { width: min(100%,220px); }
.ec-projects-item-form input[type="number"] { width: 95px; }
.ec-projects-advanced { margin-top: 24px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; padding: 14px 18px; }
.ec-projects-advanced form { max-width: 720px; margin-top: 12px; }
.ec-projects-advanced-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ec-projects-preview { margin: 22px 0; padding: 22px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; overflow-wrap: anywhere; min-width: 0; }
.ec-projects-preview-section { padding: 15px; margin: 14px 0; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 10px; overflow-wrap: anywhere; }
.ec-projects-preview-step { border-left: 3px solid var(--ec-info-color,#23719a); }
.ec-projects-preview-section > .ec-projects-preview-section { border: 0; padding: 0; }
.ec-projects-status { display: inline-block; padding: 4px 10px; border-radius: 99px; font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.ec-projects-status--pass { background: var(--ec-success-bg,#e3f6e9); color: var(--ec-success,#176138); }
.ec-projects-status--warning { background: var(--ec-warning-bg,#fff3d2); color: var(--ec-warning,#835700); }
.ec-projects-status--fail { background: var(--ec-red-soft,#fdeaea); color: var(--ec-red,#b32626); }
.ec-projects-status--unknown { background: var(--ec-bg-panel,#eef2f4); color: var(--ec-slate,#5e6b76); }
.ec-projects-measurements,.ec-projects-comparison-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .89rem; font-variant-numeric: tabular-nums; }
.ec-projects-measurements th,.ec-projects-measurements td,.ec-projects-comparison-table th,.ec-projects-comparison-table td { text-align: left; vertical-align: top; padding: 9px; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); overflow-wrap: anywhere; }
.ec-projects-measurements th:nth-child(1) { width: 48%; }
.ec-projects-measurements th:nth-child(2) { width: 28%; }
.ec-projects-measurements th:nth-child(3) { width: 24%; }
.ec-projects-comparison-changed { background: var(--ec-warning-bg,#fff3d2); }
.ec-projects-comparison-unmatched { background: var(--ec-bg-panel,#eef2f4); }
.ec-projects-comparison-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ec-projects-note { margin: 10px 0; padding: 10px 12px; border-left: 3px solid var(--ec-warning,#aa7c1c); background: var(--ec-bg-panel,#f8fafb); border-radius: 8px; }
.ec-projects-note-meta { display: flex; gap: 7px; flex-wrap: wrap; font-size: .8rem; color: var(--ec-soft,#667684); }
.ec-projects-note-meta span { padding: 3px 6px; background: var(--ec-bg,#fff); border-radius: 6px; }
.ec-projects-activity { padding-left: 22px; }
.ec-projects-activity li { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); overflow-wrap: anywhere; }
.ec-projects-report { min-width: 0; }
.ec-projects-report [data-project-report] { margin-top: 20px; }
.ec-projects-guest { padding: 56px 20px; }
@media (max-width: 900px) {
  .ec-projects-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ec-projects-overview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .ec-projects-app { padding: 22px 14px 56px; }
  .ec-projects-page-header, .ec-projects-detail-header-main { align-items: stretch; flex-direction: column; }
  .ec-projects-index-tools { grid-template-columns: 1fr; gap: 9px; }
  .ec-projects-list-count { padding-bottom: 0; }
  .ec-projects-tabs { margin-left: -14px; margin-right: -14px; padding: 0 14px; }
  .ec-projects-metrics { gap: 8px; }
  .ec-projects-metric { padding: 12px; }
  .ec-projects-workspace-section,.ec-projects-preview { padding: 14px; }
  .ec-projects-comparison-meta,.ec-projects-advanced-fields { grid-template-columns: 1fr; }
  .ec-projects-comparison-table thead,.ec-projects-measurements thead { display:none; }
  .ec-projects-comparison-table tr,.ec-projects-measurements tr { display: grid; padding: 9px 0; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); }
  .ec-projects-comparison-table td,.ec-projects-measurements td { display: grid; grid-template-columns: 95px minmax(0,1fr); gap: 7px; border: 0; padding: 3px 0; }
  .ec-projects-measurements td::before { content: attr(data-label); font-weight: 700; color: var(--ec-soft,#667684); }
  .ec-projects-comparison-table td:nth-child(2)::before { content: 'Earlier'; font-weight: 700; }
  .ec-projects-comparison-table td:nth-child(3)::before { content: 'Later'; font-weight: 700; }
  .ec-projects-item-actions button { flex: 1 1 120px; }
}
.ec-projects-item-more { margin-top: 6px; border-top: 1px solid var(--ec-border-light,#dbe1e7); }
.ec-projects-item-more summary { cursor: pointer; font-size: .85rem; font-weight: 600; padding-top: 8px; }
.ec-projects-item-more button { margin: 10px 8px 8px 0; }

/* Project Baselines — immutable engineering reference snapshots. */
.ec-projects-baselines-intro { border-left: 3px solid var(--ec-info-color,#23719a); padding: 12px 18px; background: var(--ec-bg-panel,#f4f7f9); border-radius: 8px; margin-bottom: 22px; }
.ec-projects-baselines-intro p { margin: 4px 0 0; font-size: .88rem; color: var(--ec-soft,#667684); }
.ec-projects-baseline-create { border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; padding: 14px 18px; margin: 0 0 12px; }
.ec-projects-baseline-create > summary { cursor: pointer; font-weight: 700; }
.ec-projects-baseline-create form { display: grid; gap: 14px; max-width: 750px; margin-top: 16px; }
.ec-projects-baseline-caption { font-size: .82rem; color: var(--ec-soft,#667684); }
.ec-projects-baseline-compare { margin: 26px 0; padding: 18px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; }
.ec-projects-baseline-compare h3 { margin: 0 0 14px; }
.ec-projects-baseline-selector { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.ec-projects-baseline-selector label { flex: 1 1 220px; min-width: 0; }
.ec-projects-baseline-selector select { width: 100%; }
.ec-projects-baseline-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; margin: 0 0 12px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; }
.ec-projects-baseline-card h3 { font-size: 1.05rem; margin: 0 0 6px; }
.ec-projects-baseline-card p { font-size: .85rem; color: var(--ec-soft,#667684); margin: 4px 0; overflow-wrap: anywhere; }
.ec-projects-baseline-card-actions { flex-shrink: 0; }
.ec-projects-baseline-detail,.ec-projects-baseline-diff { margin-top: 24px; padding: 22px; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; overflow-wrap: anywhere; }
.ec-projects-baseline-detail-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.ec-projects-baseline-detail-header h3 { margin: 0; }
.ec-projects-baseline-field { display: grid; grid-template-columns: minmax(160px, 1fr) 3fr; gap: 12px; padding: 6px 0; font-size: .87rem; overflow-wrap: anywhere; }
.ec-projects-baseline-field strong { color: var(--ec-soft,#667684); }
.ec-projects-baseline-panel { margin: 18px 0; padding-top: 14px; border-top: 1px solid var(--ec-border-light,#dbe1e7); }
.ec-projects-baseline-panel h3 { margin-bottom: 10px; font-size: 1rem; }
.ec-projects-baseline-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-variant-numeric: tabular-nums; font-size: .86rem; }
.ec-projects-baseline-table th,.ec-projects-baseline-table td { padding: 10px; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.ec-projects-baseline-table th { color: var(--ec-soft,#667684); }
.ec-projects-baseline-table .is-changed { background: var(--ec-warning-bg,#fff3d2); }
.ec-projects-baseline-ok { color: var(--ec-success,#27874e); }
.ec-projects-report-baseline-label { display: block; max-width: 460px; margin: 0 0 16px; font-weight: 600; }
.ec-projects-report-baseline-label select { display: block; width: 100%; margin-top: 6px; }
.ec-projects-app [data-baseline-detail][hidden],.ec-projects-app [data-baseline-diff][hidden],.ec-projects-app [data-baseline-compare-controls][hidden] { display:none !important; }
@media (max-width: 650px) {
  .ec-projects-baseline-card { align-items: stretch; flex-direction: column; gap: 10px; }
  .ec-projects-baseline-selector { flex-direction: column; align-items: stretch; }
  .ec-projects-baseline-field { grid-template-columns: 1fr; gap: 2px; }
  .ec-projects-baseline-detail,.ec-projects-baseline-diff { padding: 14px; }
  .ec-projects-baseline-table thead { display: none; }
  .ec-projects-baseline-table tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--ec-border-light,#dbe1e7); }
  .ec-projects-baseline-table td { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 8px; border: 0; padding: 5px 0; }
  .ec-projects-baseline-table td::before { content: attr(data-label); font-weight: 600; color: var(--ec-soft,#667684); }
}
@media print { body.ec-projects-printing [data-project-view="baselines"] { display: none !important; } }

.ec-projects-overview-baselines { padding: 16px 20px; margin: 18px 0; border: 1px solid var(--ec-border-light,#dbe1e7); border-radius: 12px; }
.ec-projects-overview-baselines p { font-size: .86rem; color: var(--ec-soft,#667684); margin: 5px 0 12px; }

/* Engineering Change Assurance — verified saved-input evidence and review lifecycle. */
.ec-projects-assurance-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0 24px; }
.ec-projects-assurance-metric { padding:14px 16px; background:var(--ec-bg-panel,#f4f7f9); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.ec-projects-assurance-metric strong { font-size:1.35rem; font-variant-numeric:tabular-nums; }
.ec-projects-assurance-metric span { font-size:.82rem; color:var(--ec-soft,#667684); }
.ec-projects-assurance-card { border:1px solid var(--ec-border-light,#dbe1e7); padding:16px 18px; border-radius:12px; margin:10px 0; overflow-wrap:anywhere; }
.ec-projects-assurance-card > strong { display:block; margin-bottom:8px; }
.ec-projects-assurance-card p { font-size:.86rem; margin:7px 0; }
.ec-projects-assurance-card .ec-projects-assurance-meta { font-weight:600; }
.ec-projects-assurance-open { border-left:3px solid var(--ec-warning,#bc8200); }
.ec-projects-assurance-edges { margin:10px 0; }
.ec-projects-assurance-edges summary { cursor:pointer; font-weight:600; }
.ec-projects-assurance-edges li { font-size:.83rem; line-height:1.55; margin:6px 0; }
.ec-projects-assurance-evidence { margin-top:12px; }
.ec-projects-assurance-form { margin-top:12px; display:grid; gap:12px; max-width:750px; }
.ec-projects-assurance-form textarea { width:100%; min-height:100px; }
.ec-projects-assurance-archive { padding-top:10px; margin-top:20px; border-top:1px solid var(--ec-border-light,#dbe1e7); }
.ec-projects-assurance-archive summary { cursor:pointer; font-weight:700; }
@media(max-width:650px) { .ec-projects-assurance-summary {grid-template-columns:1fr;} }

/* Package 05 — documentation audit, review register and print-safe report. */
.ec-projects-review-controls { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-bottom:20px; }
.ec-projects-review-controls span, [data-project-report-status] { font-size:.85rem; color:var(--ec-soft,#667684); }
.ec-projects-review-controls .ec-projects-warning, [data-project-report-status].ec-projects-warning { color:var(--ec-red,#b32626); }
.ec-projects-audit-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:4px 0 18px; font-size:.85rem; }
.ec-projects-audit-head span { color:var(--ec-soft,#667684); }
.ec-projects-audit-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-bottom:21px; }
.ec-projects-audit-metric { border:1px solid var(--ec-border-light,#dbe1e7); border-radius:10px; padding:12px; min-width:0; display:grid; gap:5px; background:var(--ec-bg,#fff); }
.ec-projects-audit-metric strong { font-size:1.35rem; font-variant-numeric:tabular-nums; line-height:1.2; }
.ec-projects-audit-metric span { font-size:.78rem; color:var(--ec-soft,#667684); }
.ec-projects-audit-issue { padding:12px 14px; margin:10px 0; background:var(--ec-bg-panel,#f7f9fb); border-left:3px solid var(--ec-border-strong,#bdc9d2); border-radius:7px; overflow-wrap:anywhere; }
.ec-projects-audit-attention { border-left-color:var(--ec-warning,#a67418); }
.ec-projects-audit-information { border-left-color:var(--ec-info-color,#23719a); }
.ec-projects-audit-issue strong { display:block; font-size:.88rem; }
.ec-projects-audit-issue p { margin:5px 0 0; font-size:.86rem; }
.ec-projects-audit-review, .ec-projects-audit-calculation { padding:15px 0; border-bottom:1px solid var(--ec-border-light,#dbe1e7); overflow-wrap:anywhere; }
.ec-projects-audit-review:last-child,.ec-projects-audit-calculation:last-child { border-bottom:0; }
.ec-projects-audit-review > strong { display:block; margin-bottom:11px; }
.ec-projects-audit-review p,.ec-projects-audit-calculation p { margin:5px 0; font-size:.85rem; }
.ec-projects-audit-review button { margin:10px 0 0; }
.ec-projects-audit-disclaimer,.ec-projects-report-caution { font-size:.87rem; color:var(--ec-soft,#667684); line-height:1.5; }
.ec-projects-report-caution { border-left:3px solid var(--ec-info-color,#23719a); padding:9px 13px; background:var(--ec-bg-panel,#f7f9fb); border-radius:6px; }
.ec-projects-report-header { border-bottom:2px solid var(--ec-black-mid,#17232e); margin:0 0 24px; padding-bottom:14px; }
.ec-projects-report-header p { font-size:.82rem; margin:4px 0; }
.ec-projects-report-header p:last-child { font-weight:700; }
[data-project-report] { overflow-wrap:anywhere; }
[data-project-report] .ec-projects-preview-section > h5 { margin:0 0 10px; }
[data-project-report] .ec-projects-preview-section { break-inside:auto; }
[data-project-report] .ec-projects-audit-review,[data-project-report] .ec-projects-audit-issue { break-inside:avoid; }
@media(max-width:980px) { .ec-projects-audit-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .ec-projects-audit-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media print {
  @page { size:auto; margin:14mm; }
  body.ec-projects-printing [data-project-report] { position:absolute; left:0; top:0; width:100%; max-width:none; font-size:10pt; }
  body.ec-projects-printing [data-project-report] .ec-projects-audit-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
  body.ec-projects-printing [data-project-report] .ec-projects-preview-section { padding:9px 0; margin:10px 0; border:0; border-top:1px solid #bbb; }
  body.ec-projects-printing [data-project-report] .ec-projects-audit-review { break-inside:avoid; }
  body.ec-projects-printing [data-project-report] h2, body.ec-projects-printing [data-project-report] h3, body.ec-projects-printing [data-project-report] h4, body.ec-projects-printing [data-project-report] h5 { break-after:avoid; }
}

/* Workspace 2.0 / Package 01 — project cockpit and calculation organization. */
.ec-projects-cockpit,
.ec-projects-cockpit-folders {
  border: 1px solid var(--ec-border-light,#dbe1e7);
  border-radius: 12px;
  background: var(--ec-bg,#fff);
  margin: 16px 0 20px;
  padding: 20px;
}
.ec-projects-cockpit-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.ec-projects-cockpit-heading h3 { margin:0; }
.ec-projects-cockpit-heading span { font-size:.82rem; color:var(--ec-soft,#64748b); }
.ec-projects-next-actions { display:grid; gap:10px; }
.ec-projects-next-action { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:13px 15px; background:var(--ec-bg-panel,#f6f8fa); border:1px solid var(--ec-border-light,#dbe1e7); border-radius:10px; }
.ec-projects-next-action strong { font-size:.93rem; }
.ec-projects-next-action p { margin:4px 0 0; font-size:.83rem; line-height:1.55; color:var(--ec-soft,#64748b); }
.ec-projects-next-action button { white-space:nowrap; flex:0 0 auto; }
.ec-projects-folder-glance { display:flex; gap:8px; flex-wrap:wrap; }
.ec-projects-folder-glance p { color:var(--ec-soft,#64748b); font-size:.86rem; }
.ec-projects-app .ec-projects-glance-link { padding:8px 12px; background:var(--ec-bg-panel,#f6f8fa); border-radius:8px; font-size:.85rem; }

.ec-projects-calc-workbench { display:grid; grid-template-columns: minmax(190px, .85fr) minmax(400px, 2.3fr) minmax(220px, 1fr); gap:16px; align-items:start; }
.ec-projects-calc-workbench > * { min-width:0; }
.ec-projects-calc-sidebar, .ec-projects-calc-inspector { border:1px solid var(--ec-border-light,#dbe1e7); border-radius:12px; background:var(--ec-bg,#fff); padding:16px; }
.ec-projects-calc-sidebar { position:sticky; top:20px; }
.ec-projects-calc-inspector { position:sticky; top:20px; overflow-wrap:anywhere; }
.ec-projects-calc-inspector h3, .ec-projects-calc-sidebar h3 { margin:0 0 12px; font-size:.97rem; }
.ec-projects-calc-inspector h4 { margin:5px 0 10px; }
.ec-projects-calc-inspector p { font-size:.82rem; color:var(--ec-soft,#64748b); margin:8px 0; line-height:1.55; }
.ec-projects-calc-inspector label { margin-top:14px; }
.ec-projects-inspector-actions { display:grid; gap:8px; margin-top:12px; }
.ec-projects-inspector-actions button { text-align:left; }
.ec-projects-inspector-link { margin-top:16px; font-size:.78rem; }
.ec-projects-inspector-link a { overflow-wrap:anywhere; }
.ec-projects-panel-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.ec-projects-panel-head h3 { margin:0; }
.ec-projects-app .ec-projects-panel-head button { padding:6px 9px; font-size:.8rem; }
.ec-projects-folder-form { padding:12px; border:1px solid var(--ec-border-light,#dbe1e7); border-radius:9px; background:var(--ec-bg-panel,#f5f8fb); }
.ec-projects-folder-form input,.ec-projects-folder-form select { padding:8px; }
.ec-projects-folder-tree { display:grid; gap:4px; }
.ec-projects-folder-row { display:flex; align-items:center; gap:4px; min-width:0; padding-left:calc(var(--folder-depth, 0) * 10px); }
.ec-projects-app button.ec-projects-folder-link { flex:1 1 auto; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px; text-align:left; font-size:.83rem; font-weight:500; background:transparent; border:1px solid transparent; border-radius:7px; overflow-wrap:anywhere; }
.ec-projects-app button.ec-projects-folder-link:hover { background:var(--ec-bg-panel,#f1f5f9); }
.ec-projects-app button.ec-projects-folder-link.is-active { color:var(--ec-info-color,#096b9d); background:var(--ec-bg-panel,#edf5fa); border-color:var(--ec-border-light,#dbe1e7); font-weight:700; }
.ec-projects-folder-count { margin-left:8px; color:var(--ec-soft,#64748b); font-variant-numeric:tabular-nums; font-size:.76rem; white-space:nowrap; }
.ec-projects-folder-menu { position:relative; flex:0 0 auto; }
.ec-projects-folder-menu > summary { list-style:none; cursor:pointer; padding:6px; border-radius:7px; border:1px solid transparent; }
.ec-projects-folder-menu > summary::-webkit-details-marker { display:none; }
.ec-projects-folder-menu[open] { z-index:3; }
.ec-projects-folder-menu[open] > summary { border-color:var(--ec-border-light,#dbe1e7); background:var(--ec-bg-panel,#f5f8fb); }
.ec-projects-folder-menu > button { display:block; width:100%; text-align:left; padding:8px 10px; font-size:.81rem; margin-top:4px; }
.ec-projects-library-toolbar { display:grid; grid-template-columns:minmax(170px,1.4fr) minmax(120px,1fr) minmax(120px,1fr); gap:10px; align-items:end; }
.ec-projects-library-toolbar label { font-size:.81rem; }
.ec-projects-library-toolbar :is(input,select) { padding:9px; font-size:.85rem; }
.ec-projects-library-context { margin:15px 0 11px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; }
.ec-projects-library-context strong { font-size:.97rem; }
.ec-projects-library-context span { font-size:.8rem; color:var(--ec-soft,#64748b); }
.ec-projects-calc-main .ec-projects-calculation { padding:13px 15px; }
.ec-projects-calc-main .ec-projects-calculation > summary { font-size:.9rem; line-height:1.45; }
.ec-projects-calc-main .ec-projects-calculation.is-selected { border-color:var(--ec-info-color,#23719a); box-shadow:0 0 0 1px var(--ec-info-color,#23719a); }
.ec-projects-calc-main .ec-projects-item { background:var(--ec-bg-panel,#f6f8fa); }
.ec-projects-app button.ec-projects-inspect-button { background:var(--ec-bg-panel,#f5f8fb); }
.ec-projects-calc-main .ec-projects-item-actions { gap:6px; }
.ec-projects-calc-main .ec-projects-item-actions button { padding:7px 10px; font-size:.8rem; }
.ec-projects-calc-main .ec-projects-item-actions select { padding:7px 6px; font-size:.8rem; }
.ec-projects-calc-main .ec-projects-empty { border:1px dashed var(--ec-border-strong,#b7c4ce); padding:20px; border-radius:10px; font-size:.9rem; color:var(--ec-soft,#64748b); }
@media (max-width:1150px) {
  .ec-projects-calc-workbench { grid-template-columns:minmax(175px, .9fr) minmax(350px, 2fr); }
  .ec-projects-calc-inspector { position:static; grid-column:2; }
}
@media (max-width:800px) {
  .ec-projects-calc-workbench { grid-template-columns:1fr; }
  .ec-projects-calc-sidebar,.ec-projects-calc-inspector { position:static; grid-column:1; }
  .ec-projects-folder-tree { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .ec-projects-library-toolbar { grid-template-columns:1fr; }
  .ec-projects-folder-tree { grid-template-columns:1fr; }
  .ec-projects-next-action { flex-direction:column; align-items:stretch; }
  .ec-projects-next-action button { align-self:flex-start; }
  .ec-projects-cockpit,.ec-projects-cockpit-folders { padding:14px; }
  .ec-projects-calc-sidebar,.ec-projects-calc-inspector { padding:13px; }
}
.ec-projects-folder-move-form { margin:7px 0; padding:8px; background:var(--ec-bg-panel,#f5f8fb); border-radius:6px; }
.ec-projects-folder-move-form label { font-size:.78rem; }
.ec-projects-folder-move-form select { padding:7px; }

/* Workspace 2.0: explicit saved-input contract inspection. */
.ec-project-contract-inspection { padding: 14px; margin-top: 12px; border: 1px solid var(--ec-border-light); border-radius: var(--ec-radius-lg); background: var(--ec-bg-panel); overflow-wrap: anywhere; }
.ec-project-contract-inspection table { border-collapse: collapse; width: 100%; font-size: var(--ec-font-sm); table-layout: fixed; }
.ec-project-contract-inspection th, .ec-project-contract-inspection td { padding: 7px; text-align: left; border-bottom: 1px solid var(--ec-border-light); overflow-wrap: anywhere; }
.ec-project-contract-overridden { background: var(--ec-warning-bg, #fff6e6); }
@media (max-width: 640px) { .ec-project-contract-inspection { overflow-x: auto; } .ec-project-contract-inspection table { min-width: 350px; } }

/* Workspace 2.0 / Connected Engineering Data — compact, context-first connection editor. */
.ec-projects-connections { margin: 20px 0; padding: 16px; border: 1px solid var(--ec-border-light, #dce2e8); border-radius: 10px; background: var(--ec-bg-panel, #f7f9fb); }
.ec-projects-connections h4 { margin: 0 0 7px; }
.ec-projects-connections p { font-size: .84rem; line-height: 1.5; overflow-wrap: anywhere; }
.ec-project-connection-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--ec-border-light, #dce2e8); }
.ec-project-connection-row > div { min-width: 0; }
.ec-project-connection-row p { margin: 4px 0 0; }
.ec-projects-connections details { margin-top: 12px; padding: 12px; border-radius: 8px; border: 1px solid var(--ec-border-light, #dce2e8); background: var(--ec-bg, #fff); }
.ec-projects-connections details summary { cursor: pointer; font-weight: 700; }
.ec-projects-connections details form { display: grid; gap: 12px; padding-top: 14px; max-width: 700px; }
.ec-projects-connections details label { display: grid; gap: 5px; min-width: 0; }
.ec-projects-connections details select { width: 100%; min-width: 0; }
.ec-project-connections-impact ol { padding-left: 20px; }
.ec-project-connections-impact li { padding: 4px 0; font-size: .84rem; overflow-wrap: anywhere; }
@media(max-width: 640px) { .ec-project-connection-row { align-items: flex-start; flex-direction: column; gap: 8px; } .ec-projects-connections { padding: 10px; } }

/* Workspace 2.0 / Change Workbench: guided engineering review, never implied approval. */
.ec-projects-change-workbench { min-width:0; display:grid; gap:15px; margin:16px 0 24px; }
.ec-cw-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ec-cw-metric { border:1px solid var(--ec-border-light,#dce2e8); border-radius:9px; padding:14px; background:var(--ec-bg-panel,#f6f8fa); display:grid; gap:3px; }
.ec-cw-metric strong { font-size:1.5rem; font-variant-numeric:tabular-nums; }
.ec-cw-metric span { font-size:.8rem; color:var(--ec-soft,#64748b); }
.ec-cw-case { border:1px solid var(--ec-border-light,#dce2e8); border-radius:12px; padding:18px; background:var(--ec-bg,#fff); min-width:0; }
.ec-cw-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ec-cw-heading h3 { margin:0; font-size:1.05rem; }
.ec-cw-heading p { margin:5px 0; color:var(--ec-black-mid,#27333c); }
.ec-cw-coverage { display:inline-flex; padding:5px 9px; border:1px solid var(--ec-border-strong,#bdc6d0); border-radius:7px; font-size:.7rem; font-weight:700; color:var(--ec-slate,#475569); }
.ec-cw-coverage.is-partial { background:var(--ec-warning-bg,#fff8e8); }
.ec-cw-stages { display:grid; gap:0; margin:15px 0; }
.ec-cw-stage { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--ec-border-light,#e2e8ef); }
.ec-cw-stage:last-child { border-bottom:0; }
.ec-cw-stage-marker { border-radius:50%; width:25px; height:25px; display:grid; place-items:center; color:var(--ec-soft,#64748b); background:var(--ec-bg-panel,#f3f5f7); font-size:.75rem; font-weight:700; }
.ec-cw-stage.is-done .ec-cw-stage-marker { background:var(--ec-success-bg,#e6f5eb); color:var(--ec-success,#19764b); }
.ec-cw-stage.needs-attention .ec-cw-stage-marker { background:var(--ec-warning-bg,#fff3df); color:var(--ec-warning,#a05b00); }
.ec-cw-stage strong { font-size:.86rem; }
.ec-cw-stage p { margin:4px 0 0; color:var(--ec-soft,#64748b); font-size:.81rem; line-height:1.5; }
.ec-cw-impact,.ec-cw-investigation,.ec-projects-change-advanced { padding:12px; margin:12px 0; border:1px solid var(--ec-border-light,#dce2e8); border-radius:9px; background:var(--ec-bg-panel,#f8fafb); overflow-wrap:anywhere; }
.ec-cw-impact summary,.ec-cw-investigation summary,.ec-projects-change-advanced summary { cursor:pointer; font-weight:650; font-size:.86rem; }
.ec-cw-impact p,.ec-cw-investigation p { font-size:.83rem; line-height:1.5; }
.ec-cw-impact ul { padding-left:20px; font-size:.82rem; }
.ec-cw-impact li { padding:4px 0; }
.ec-cw-review { background:var(--ec-bg-panel,#f7f9fa); border-left:3px solid var(--ec-info-color,#246d9e); border-radius:5px; padding:13px; margin:13px 0; }
.ec-cw-review > strong { font-size:.85rem; }
.ec-cw-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0; }
.ec-cw-actions button { width:auto; text-align:left; }
.ec-cw-evidence { padding:7px 0; }
.ec-cw-evidence form,.ec-cw-investigation form { display:grid; gap:10px; max-width:750px; }
.ec-cw-evidence textarea,.ec-cw-investigation textarea { min-height:90px; }
.ec-cw-acknowledge { display:flex !important; flex-direction:row; align-items:flex-start; gap:8px; font-size:.82rem; font-weight:500 !important; }
.ec-cw-acknowledge input { flex:0 0 auto; width:auto !important; margin:3px 0 0; }
.ec-projects-baseline-live { border:1px solid var(--ec-border-light,#dce2e8); border-radius:10px; padding:15px; margin:15px 0; background:var(--ec-bg-panel,#f8fafb); }
.ec-projects-baseline-live h3 { margin:0 0 6px; }
.ec-projects-baseline-live p { font-size:.82rem; margin:6px 0 10px; }
.ec-cw-diff-controls { display:flex; gap:12px; flex-wrap:wrap; padding:12px 0; margin-bottom:10px; border-bottom:1px solid var(--ec-border-light,#dce2e8); }
.ec-cw-diff-controls label { display:grid; gap:5px; font-size:.82rem; flex:1 1 170px; }
.ec-cw-diff-controls select { width:100%; min-width:0; }
@media (max-width:640px) { .ec-cw-metrics { grid-template-columns:1fr; } .ec-cw-case { padding:12px; } .ec-cw-heading { flex-direction:column; } .ec-cw-actions button { flex:1 1 175px; } }

/* Workspace 2.0 Package 05 — Engineering Report Studio */
.ec-report-studio { border:1px solid var(--ec-border-light,#dce3e9); border-radius:12px; padding:18px; background:var(--ec-bg,#fff); }
.ec-report-studio h3 { margin:4px 0 9px; font-size:1.03rem; }
.ec-report-studio p { font-size:.85rem; color:var(--ec-soft,#667684); }
.ec-report-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.ec-report-presets button { display:block; min-width:0; border:1px solid var(--ec-border-light,#cdd7df); background:var(--ec-bg-panel,#f7f9fb); color:var(--ec-black-mid,#17232e); text-align:left; padding:12px; border-radius:9px; font-weight:700; cursor:pointer; }
.ec-report-presets button.is-active { border:2px solid var(--ec-info-color,#23719a); padding:11px; background:var(--ec-info-bg,#eaf4f9); }
.ec-report-presets small { display:block; margin-top:5px; font-size:.76rem; font-weight:400; color:var(--ec-soft,#667684); }
.ec-report-studio-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.ec-report-studio-fields label { display:grid; gap:5px; font-size:.85rem; font-weight:600; }
.ec-report-studio-fields input { width:100%; min-width:0; box-sizing:border-box; padding:8px 10px; border:1px solid var(--ec-border-strong,#bcc8d1); border-radius:7px; font:inherit; }
.ec-report-studio-columns { display:grid; grid-template-columns:1.1fr .9fr; gap:22px; margin:10px 0 18px; }
.ec-report-studio-columns > section { min-width:0; }
.ec-report-studio-sections, .ec-report-studio-calculations { display:grid; gap:6px; }
.ec-report-studio-section { display:flex; align-items:center; gap:8px; border:1px solid var(--ec-border-light,#dce3e9); background:var(--ec-bg-panel,#f7f9fb); border-radius:7px; padding:8px 10px; }
.ec-report-studio-section label { display:flex; align-items:start; gap:7px; flex:1; min-width:0; font-size:.86rem; }
.ec-report-studio-section label input { flex:none; margin-top:3px; }
.ec-report-studio-section .ec-report-section-copy { display:grid; gap:2px; min-width:0; }
.ec-report-studio-section small { color:var(--ec-soft,#667684); font-size:.75rem; }
.ec-report-section-order { display:flex; flex:none; gap:3px; }
.ec-report-section-order button { padding:4px 7px; font-size:.8rem; border:1px solid var(--ec-border-light,#cdd7df); border-radius:4px; background:var(--ec-bg,#fff); color:var(--ec-black-mid,#17232e); }
.ec-report-section-order button:disabled { opacity:.35; }
.ec-report-studio-calculations { max-height:320px; overflow:auto; border:1px solid var(--ec-border-light,#dce3e9); border-radius:7px; padding:10px; }
.ec-report-studio-calculations label, .ec-report-studio-selectall { display:flex; align-items:start; gap:8px; padding:4px 2px; font-size:.86rem; }
.ec-report-studio-calculations input, .ec-report-studio-selectall input { flex:none; margin-top:3px; }
.ec-report-studio-calculations small { display:block; color:var(--ec-soft,#667684); }
[data-report-studio-status] { margin:10px 0; font-size:.84rem; color:var(--ec-soft,#667684); }
[data-report-studio-status].ec-projects-warning { color:var(--ec-red,#b32626); }
.ec-report-studio button:focus-visible, .ec-report-studio input:focus-visible, .ec-report-studio select:focus-visible { outline:2px solid var(--ec-info-color,#23719a); outline-offset:2px; }
.ec-report-cover { margin:0 0 18px; padding:15px 0 18px; border-bottom:2px solid var(--ec-black-mid,#17232e); }
.ec-report-cover h2 { margin:0 0 8px; }
.ec-report-cover .ec-report-subtitle { font-size:1.03rem; color:var(--ec-soft,#667684); }
.ec-report-contents ol { columns:2; padding-left:21px; }
@media(max-width:800px) { .ec-report-studio-columns { grid-template-columns:1fr; } }
@media(max-width:600px) { .ec-report-presets,.ec-report-studio-fields { grid-template-columns:1fr; } .ec-report-studio { padding:12px; } .ec-report-contents ol { columns:1; } }

.ec-report-calculation-choice { align-items:center!important; gap:9px; }
.ec-report-calculation-choice > span:nth-child(2) { flex:1; min-width:0; }
.ec-report-calculation-choice .ec-report-section-order { flex:none; }
/* Bound report-layout controls so long engineering labels never widen mobile viewports. */
.ec-report-studio, .ec-report-studio-columns, .ec-report-studio-columns > section,
.ec-report-studio-sections, .ec-report-studio-calculations { max-width:100%; min-width:0; box-sizing:border-box; }
.ec-report-studio-section { min-width:0; max-width:100%; box-sizing:border-box; overflow:hidden; }
.ec-report-studio-section label { min-width:0; overflow-wrap:anywhere; }
.ec-report-studio-calculations .ec-report-calculation-choice { min-width:0; overflow-wrap:anywhere; }

/* Workspace 2.0 / P05 Print Studio Hotfix 01: prevent global full-width form control
   rule from expanding checkboxes inside section and calculation pickers. */
.ec-projects-app .ec-report-studio input[type="checkbox"] {
  display: inline-block;
  width: 16px;
  min-width: 16px;
  max-width: 16px;
  height: 16px;
  margin: 2px 0 0;
  padding: 0;
  flex: 0 0 16px;
  vertical-align: middle;
  accent-color: var(--ec-info-color,#23719a);
}
.ec-projects-app .ec-report-studio-columns {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
}
.ec-projects-app .ec-report-studio-sections,
.ec-projects-app .ec-report-studio-calculations {
  grid-template-columns: minmax(0,1fr);
}
.ec-projects-app .ec-report-studio-section label,
.ec-projects-app .ec-report-calculation-choice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}
.ec-projects-app .ec-report-studio-section .ec-report-section-copy,
.ec-projects-app .ec-report-calculation-choice > span:nth-child(2) {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.ec-projects-app .ec-report-studio-section .ec-report-section-order,
.ec-projects-app .ec-report-calculation-choice .ec-report-section-order {
  display: flex;
  flex: 0 0 auto;
  align-self: center;
}
@media (max-width:800px) {
  .ec-projects-app .ec-report-studio-columns { grid-template-columns: minmax(0,1fr); }
}

/* Workspace 2.0 Package 06 — Project Templates & Guided Engineering */
.ec-template-picker { margin:0 0 20px; padding:0; border:0; min-width:0; }
.ec-template-picker legend { font-size:1.02rem; font-weight:750; margin-bottom:6px; }
.ec-template-picker-note { color:var(--ec-soft,#667684); font-size:.84rem; margin:0 0 12px; }
.ec-template-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ec-projects-app .ec-template-option { display:flex; align-items:flex-start; gap:11px; min-width:0; min-height:104px; padding:13px; border:1px solid var(--ec-border-light,#dbe2e8); border-radius:12px; background:var(--ec-bg-panel,#f8fafb); cursor:pointer; box-sizing:border-box; }
.ec-template-option:has(input:checked) { border:2px solid var(--ec-info-color,#23719a); padding:12px; background:var(--ec-info-bg,#edf6fb); }
.ec-projects-app .ec-template-option input[type="radio"], .ec-projects-app .ec-template-ack input[type="checkbox"] { display:inline-block; flex:0 0 17px; width:17px; min-width:17px; max-width:17px; height:17px; margin:2px 0 0; padding:0; accent-color:var(--ec-info-color,#23719a); }
.ec-template-option > span { display:grid; min-width:0; gap:5px; overflow-wrap:break-word; word-break:normal; }
.ec-template-option strong { font-size:.88rem; line-height:1.32; }
.ec-template-option small { display:block; font-size:.77rem; font-weight:400; line-height:1.45; color:var(--ec-soft,#667684); }
.ec-template-preview { min-width:0; max-width:100%; padding:13px 15px; border:1px solid var(--ec-border-light,#dce2e8); border-radius:10px; margin:12px 0 0; background:var(--ec-bg,#fff); box-sizing:border-box; }
.ec-template-preview strong { display:block; margin-bottom:5px; }
.ec-template-preview p { font-size:.83rem; margin:4px 0 8px; color:var(--ec-soft,#667684); }
.ec-template-preview ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; row-gap:5px; padding-left:19px; font-size:.81rem; margin:8px 0 0; }
.ec-template-preview li { overflow-wrap:break-word; }
.ec-template-guide { margin:20px 0 18px; min-width:0; border:1px solid var(--ec-border-light,#dbe2e8); border-radius:13px; padding:18px; background:var(--ec-bg,#fff); box-sizing:border-box; }
.ec-template-guide-heading { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.ec-template-guide-heading h3 { margin:0 0 4px; }
.ec-template-guide-heading p { margin:0 0 8px; font-size:.81rem; color:var(--ec-soft,#667684); }
.ec-template-guide-heading > strong { flex:0 0 auto; font-size:.81rem; white-space:nowrap; color:var(--ec-black-mid,#17232e); }
.ec-template-guide-progress { height:8px; background:var(--ec-border-light,#e1e8ef); border-radius:20px; overflow:hidden; }
.ec-template-guide-progress > div { width:0; height:100%; background:var(--ec-info-color,#23719a); border-radius:20px; transition:width .2s ease; }
.ec-template-guide-disclaimer { font-size:.79rem; color:var(--ec-soft,#667684); margin:11px 0 15px; }
.ec-template-guide-steps { display:grid; gap:10px; min-width:0; }
.ec-template-step { border:1px solid var(--ec-border-light,#dbe2e8); border-radius:10px; padding:12px 14px; min-width:0; background:var(--ec-bg-panel,#f8fafb); }
.ec-template-step.is-acknowledged { border-left:3px solid var(--ec-info-color,#23719a); }
.ec-template-step-top { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.ec-template-step-top > div { min-width:0; flex:1; }
.ec-template-step-top strong { display:block; font-size:.89rem; overflow-wrap:break-word; }
.ec-template-step-top p { margin:5px 0 0; font-size:.79rem; line-height:1.48; color:var(--ec-soft,#667684); }
.ec-template-step-badge { font-size:.72rem; font-weight:650; flex:0 0 auto; max-width:150px; text-align:right; color:var(--ec-soft,#667684); }
.ec-template-step.is-acknowledged .ec-template-step-badge { color:var(--ec-info-color,#23719a); }
.ec-template-step-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px 15px; margin-top:11px; }
.ec-template-step-actions > button { min-width:96px; font-size:.79rem; padding:7px 11px; border:1px solid var(--ec-border-light,#cbd7df); border-radius:7px; background:var(--ec-bg,#fff); color:var(--ec-black-mid,#17232e); }
.ec-template-evidence { min-width:0; flex:1 1 175px; color:var(--ec-soft,#667684); font-size:.75rem; }
.ec-template-evidence.has-records { color:var(--ec-info-color,#23719a); font-weight:650; }
.ec-projects-app .ec-template-ack { display:inline-flex; align-items:flex-start; flex:0 0 auto; gap:7px; cursor:pointer; font-size:.78rem; font-weight:650; }
.ec-template-ack span { max-width:140px; }
[data-template-guide-status] { font-size:.8rem; margin:10px 0 0; color:var(--ec-soft,#667684); }
.ec-template-picker :is(input,button):focus-visible, .ec-template-guide :is(input,button):focus-visible { outline:2px solid var(--ec-info-color,#23719a); outline-offset:3px; }
@media(max-width:900px) { .ec-template-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .ec-template-catalog,.ec-template-preview ul { grid-template-columns:minmax(0,1fr); } .ec-template-guide { padding:12px; } .ec-template-step-top { flex-direction:column; gap:5px; } .ec-template-step-badge { text-align:left; max-width:none; } .ec-template-guide-heading { flex-direction:column; gap:4px; } .ec-template-ack { flex:1 1 150px !important; } }

/* Package 09: pinned source-output connection inspector. */
.ec-projects-result-connections { margin-top: 16px; }
.ec-project-result-actions { display: flex; gap: 8px; flex-wrap: wrap; flex-shrink: 0; }
.ec-projects-result-connections .ec-project-connection-row { align-items: start; }
.ec-projects-result-connections .ec-project-connection-row p { overflow-wrap: anywhere; }
.ec-projects-result-connections form textarea { width: 100%; min-height: 72px; max-width: 100%; }
@media(max-width: 700px) { .ec-project-result-actions { width: 100%; } }

/* Package 10: readable portability controls; scoped to Projects only. */
[data-ec-projects] .ec-p10-portability,
[data-ec-projects] .ec-p10-import { margin: 20px 0; padding: 16px; border: 1px solid var(--theme-border-color, #d9e0e8); border-radius: 9px; background: var(--theme-palette-color-8, #f8fafc); min-width: 0; }
[data-ec-projects] .ec-p10-portability h3,
[data-ec-projects] .ec-p10-import h2 { margin: 0 0 8px; }
[data-ec-projects] .ec-p10-portability p,
[data-ec-projects] .ec-p10-import p { max-width: 78ch; overflow-wrap: break-word; }
[data-ec-projects] .ec-p10-import input[type="file"] { display: block; max-width: 100%; width: auto; margin-top: 8px; }
[data-ec-projects] .ec-p10-import button:disabled { opacity: .5; cursor: not-allowed; }
[data-ec-projects] .ec-p10-portability .ec-projects-form-actions,
[data-ec-projects] .ec-p10-import .ec-projects-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width:600px) { [data-ec-projects] .ec-p10-portability, [data-ec-projects] .ec-p10-import { padding: 12px; } }

/* ========================================================================
   WORKSPACE EXPERIENCE / P11
   ======================================================================== */

/* -- Composition, rhythm, type -- */
.ec-projects-app.ec-container { --p11-ink:var(--ec-black-mid,#111827); --p11-text:var(--ec-slate,#334155); --p11-muted:var(--ec-soft,#64748b); --p11-hairline:var(--ec-border-light,#e2e8f0); --p11-paper:#fff; --p11-wash:var(--ec-bg-off,#f9fafb); --p11-brand:var(--ec-red,#cf2e2e); --p11-softbrand:var(--ec-red-soft,#fff1f2); --p11-radius:var(--ec-radius-md,8px); --p11-shadow:none;
    position:relative; left:0; transform:translateX(var(--ec-p11-center-offset,0px));
    width:min(1480px,calc(100vw - 40px)); max-width:none; margin:0 auto; padding:0 0 72px;
    color:var(--ec-black,#0f172a); background:transparent; font-family:inherit; font-size:14px; line-height:1.5; }
.ec-projects-app *, .ec-projects-app *::before, .ec-projects-app *::after { box-sizing: border-box; }
.ec-projects-app [hidden] { display: none !important; }
.ec-projects-app h1, .ec-projects-app h2, .ec-projects-app h3, .ec-projects-app h4,
.ec-projects-app p, .ec-projects-app label { letter-spacing: normal; }
.ec-projects-app h1, .ec-projects-app h2, .ec-projects-app h3 { font-weight: 750; }
.ec-projects-app h1 { letter-spacing: -.042em; }
.ec-projects-app a { color: var(--p11-ink); text-decoration-color: #bdc3cb; text-underline-offset: 3px; }
.ec-projects-app a:hover { color: var(--p11-brand); }
.ec-projects-app .ec-projects-primary,
.ec-projects-app .ec-projects-primary-link,
.ec-projects-app button.ec-projects-primary {
    background: var(--p11-ink);
    color: #fff;
    border-color: var(--p11-ink);
    border-radius: 7px;
    padding: 10px 16px;
    min-height: 40px;
    gap: 7px;
    font-weight: 720;
    box-shadow: none;
}
.ec-projects-app .ec-projects-primary:hover,
.ec-projects-app button.ec-projects-primary:hover { background: var(--ec-dark, #1e293b); color: #fff; }
.ec-projects-app button:not(.ec-projects-primary):not(.ec-p11-primary-nav):not(.ec-p11-mobile-nav-toggle):not([data-project-tab]) {
    border-radius: 9px;
}
.ec-projects-app button { transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease; }
.ec-projects-app button:disabled { opacity: .55; }
.ec-projects-app :is(button, input, textarea, select, summary, a):focus-visible {
    outline: 2px solid var(--p11-brand);
    outline-offset: 3px;
}
.ec-projects-app input:not([type=checkbox]):not([type=radio]),
.ec-projects-app textarea, .ec-projects-app select {
    border: 1px solid var(--p11-hairline);
    background: #fff;
    border-radius: 9px;
    min-height: 41px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .025);
}
.ec-projects-app :is(input, textarea, select):focus { border-color: var(--p11-brand); }
.ec-projects-app label { color: var(--p11-text); font-weight: 650; font-size: .88rem; }
.ec-projects-app input[type=checkbox], .ec-projects-app input[type=radio] { accent-color: var(--p11-brand); }
.ec-projects-app .ec-projects-message {
    position: relative;
    color: var(--ec-success, #15803d);
    font-size: .85rem;
    margin: 0;
    padding: 9px 16px;
    min-height: 0;
}
.ec-projects-app .ec-projects-message:empty { display: none; }
.ec-projects-app .ec-projects-message.is-error { color: var(--ec-danger, #b91c1c); background: var(--ec-danger-bg, #fef2f2); }

/* -- Projects library: product surface, not a promotional landing page. -- */
.ec-projects-app .ec-projects-index { padding-bottom: 24px; }
.ec-projects-app .ec-projects-page-header.ec-p11-index-hero {
    display: block;
    padding: 0 2px;
    margin: 4px 0 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.ec-projects-app .ec-projects-breadcrumb {
    display: flex; align-items: center; gap: 10px;
    margin: 0 0 24px; font-size: 12px; font-weight: 600;
    color: var(--ec-soft, #64748b);
}
.ec-projects-app .ec-projects-breadcrumb span { padding: 0; color: var(--ec-soft, #64748b); }
.ec-projects-app .ec-projects-breadcrumb a { color: var(--ec-muted, #475569); text-decoration: none; }
.ec-projects-app .ec-projects-breadcrumb a:hover { color: var(--ec-red, #cf2e2e); }
.ec-projects-index-heading-main { display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.ec-projects-app .ec-projects-index-heading h1 {
    margin: 0 0 5px; font-size: clamp(28px, 3.1vw, 36px); font-weight: 760;
    line-height: 1.16; letter-spacing: -.035em; color: var(--ec-black, #0f172a);
}
.ec-projects-app .ec-projects-index-heading-main p { margin: 0; max-width: 680px; font-size: 14px; color: var(--ec-muted, #475569); }
.ec-projects-app .ec-projects-index-heading-main > button { flex: 0 0 auto; min-height: 42px; }
/* The app's shared small labels are retained for detail areas, without marketing hero decoration. */
.ec-p11-eyebrow, .ec-p11-detail-kicker, .ec-p11-section-kicker, .ec-p11-context-kicker {
    display: inline-flex; align-items: center; gap: 8px; color: var(--ec-soft, #64748b);
    font-size: 10px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase;
}
.ec-p11-eyebrow-dot, .ec-p11-footer-dot { display: inline-block; flex: 0 0 6px; width: 6px; height: 6px; background: var(--ec-red, #cf2e2e); border-radius: 50%; }
.ec-projects-app .ec-projects-library {
    min-width: 0; background: #fff; border: 1px solid var(--ec-border-light, #e2e8f0);
    border-radius: 12px; overflow: hidden;
}
.ec-p11-index-title-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 0; padding: 22px 24px 18px; }
.ec-p11-index-title-row h2 { margin: 0 0 4px; font-size: 19px; font-weight: 750; letter-spacing: -.025em; }
.ec-p11-index-title-row p { margin: 0; font-size: 12.5px; color: var(--ec-soft, #64748b); }
.ec-p11-index-count { white-space: nowrap; color: var(--ec-soft, #64748b); font-size: 12px; font-variant-numeric: tabular-nums; }
.ec-projects-app .ec-projects-index-tools {
    display: grid; grid-template-columns: minmax(230px, 1.55fr) minmax(130px, .68fr) minmax(148px, .75fr) auto;
    align-items: end; gap: 10px; padding: 0 24px 18px; margin: 0;
}
.ec-projects-app .ec-projects-index-tools label { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: var(--ec-muted, #475569); font-size: 11px; font-weight: 700; }
.ec-projects-app .ec-projects-index-tools :is(input, select) { min-height: 39px; height: 39px; padding: 8px 12px; border: 1px solid #d6dde6; border-radius: 7px; font-size: 13px; font-weight: 500; color: var(--ec-black, #0f172a); }
.ec-projects-view-switch { display: flex; gap: 2px; align-items: center; height: 39px; padding: 3px; background: #f4f6f8; border: 1px solid #e0e6ed; border-radius: 8px; }
.ec-projects-app .ec-projects-view-switch button { min-height: 31px; border: 0; border-radius: 5px !important; background: transparent; color: var(--ec-muted, #475569); font-size: 12px; font-weight: 700; padding: 5px 12px; box-shadow: none; }
.ec-projects-app .ec-projects-view-switch button[aria-pressed="true"] { background: #fff; color: var(--ec-black, #0f172a); box-shadow: 0 1px 4px rgba(15,23,42,.10); }
.ec-projects-app .ec-projects-view-switch button:hover:not([aria-pressed="true"]) { background: #e9eef3; }
.ec-projects-list-meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-top: 1px solid #edf0f3; padding: 12px 24px; color: var(--ec-soft, #64748b); font-size: 11.5px; }
.ec-projects-app .ec-projects-list-count { color: var(--ec-muted, #475569); padding: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.ec-projects-app .ec-projects-index-list { display: block; margin: 0; padding: 0; gap: 0; }
.ec-projects-index-list[data-layout="list"] { border-top: 1px solid #e8ecf0; }
.ec-projects-list-columns,
.ec-projects-index-list[data-layout="list"] .ec-projects-list-entry {
    display: grid; grid-template-columns: minmax(220px, 2.1fr) minmax(110px, .9fr) minmax(95px, .8fr) minmax(110px, .85fr) minmax(105px, .65fr);
    gap: 12px; align-items: center;
}
.ec-projects-list-columns { min-height: 41px; padding: 10px 24px; background: #f8fafc; border-bottom: 1px solid #e8ecf0; }
.ec-projects-list-columns span { color: var(--ec-soft, #64748b); text-transform: uppercase; letter-spacing: .065em; font-size: 10px; font-weight: 750; }
.ec-projects-app .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry {
    margin: 0; min-height: 70px; padding: 13px 24px; background: #fff; border: 0; border-bottom: 1px solid #edf0f3;
    border-radius: 0; box-shadow: none; transform: none; transition: background-color .15s ease;
}
.ec-projects-index-list[data-layout="list"] .ec-projects-list-entry:last-child { border-bottom: 0; }
.ec-projects-app .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry:hover { background: #fafbfc; box-shadow: none; }
.ec-projects-app .ec-project-row-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.ec-project-row-mark { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border: 1px solid #d9dfe7; background: #f5f7f9; color: var(--ec-black-mid, #111827); font-size: 10px; font-weight: 850; border-radius: 7px; letter-spacing: -.055em; }
.ec-projects-app .ec-project-row-identity h3 { margin: 0; min-width: 0; font-size: 13.5px; font-weight: 750; line-height: 1.42; color: var(--ec-black, #0f172a); overflow-wrap: anywhere; }
.ec-project-row-number, .ec-project-row-updated { display: block; min-width: 0; font-size: 12.5px; color: var(--ec-muted, #475569); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ec-p11-project-status, .ec-p11-lifecycle { display: inline-flex; align-items: center; padding: 4px 9px; background: #f2f4f7; color: #475569; font-size: 11px; font-weight: 730; border-radius: 6px; line-height: 1.4; text-transform: capitalize; white-space: nowrap; }
.ec-p11-project-status--active, .ec-p11-lifecycle[data-status="active"] { color: #17603a; background: #eaf7ee; }
.ec-p11-project-status--completed, .ec-p11-lifecycle[data-status="completed"] { color: #175c83; background: #eaf4fb; }
.ec-p11-project-status--archived, .ec-p11-lifecycle[data-status="archived"] { color: #536476; background: #eef1f5; }
.ec-project-row-action { display: flex; justify-content: flex-end; }
.ec-projects-app button.ec-projects-list-open { white-space: nowrap; padding: 7px 11px; background: #fff; border: 1px solid #d7dee7; border-radius: 7px; color: var(--ec-black, #0f172a); font-size: 11.5px; font-weight: 740; box-shadow: none; }
.ec-projects-app button.ec-projects-list-open:hover { background: #fff1f2; color: var(--ec-red-dark, #a82424); border-color: #e5abb0; }
.ec-projects-index-list[data-layout="cards"] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 285px), 1fr)); gap: 12px; padding: 18px 24px 24px; border-top: 1px solid #edf0f3; }
.ec-projects-app .ec-projects-index-list[data-layout="cards"] .ec-projects-list-entry { display: grid; grid-template-columns: 1fr auto; gap: 12px 8px; min-width: 0; min-height: 183px; padding: 18px; background: #fff; border: 1px solid #dee4eb; border-radius: 9px; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease; }
.ec-projects-app .ec-projects-index-list[data-layout="cards"] .ec-projects-list-entry:hover { transform: none; border-color: #c5cdd8; box-shadow: 0 5px 16px rgba(15,23,42,.055); }
.ec-projects-index-list[data-layout="cards"] .ec-project-row-identity { grid-column: 1/-1; align-items: flex-start; }
.ec-projects-index-list[data-layout="cards"] .ec-project-row-number { grid-column: 1; }
.ec-projects-index-list[data-layout="cards"] .ec-project-row-status { grid-column: 2; grid-row: 2; justify-self: end; }
.ec-projects-index-list[data-layout="cards"] .ec-project-row-updated { align-self: end; border-top: 1px solid #edf0f3; padding-top: 12px; }
.ec-projects-index-list[data-layout="cards"] .ec-project-row-action { border-top: 1px solid #edf0f3; padding-top: 10px; }
.ec-projects-app .ec-projects-empty { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 155px; text-align: center; padding: 26px; grid-column: 1/-1; }
.ec-projects-empty strong { font-size: 14px; }
.ec-projects-empty p { font-size: 12.5px; color: var(--ec-muted, #475569); margin: 5px 0 0; }
.ec-projects-app [data-project-load-more] { display: block; margin: 16px auto 24px; min-width: 180px; }
.ec-projects-app .ec-projects-create, .ec-projects-app .ec-projects-settings { background: #fff; border: 1px solid #dfe5ec; box-shadow: none; border-radius: 11px; padding: clamp(18px, 2.5vw, 28px); margin: 0 0 22px; }
.ec-projects-app .ec-projects-create h2 { font-size: 18px; margin-bottom: 18px; }
.ec-projects-app .ec-projects-create form { max-width: none; }
.ec-projects-app .ec-template-picker { padding-bottom: 12px; border-bottom: 1px solid #e4e9ef; margin-bottom: 18px; }
.ec-projects-app .ec-template-option:has(input:checked) { background: #fff1f2; border-color: var(--ec-red, #cf2e2e); }
.ec-projects-app .ec-template-option input { accent-color: var(--ec-red, #cf2e2e); }
.ec-projects-app .ec-template-option { background: white; }
.ec-projects-app .ec-template-preview { background: var(--ec-bg-off, #f9fafb); }
.ec-projects-app .ec-projects-create form > label { max-width: 740px; }
.ec-p11-index-utilities { margin: 18px 0 0; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; }
.ec-p11-index-utilities > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; padding: 15px 19px; font-weight: 700; font-size: 13px; list-style: none; }
.ec-p11-index-utilities > summary::-webkit-details-marker { display: none; }
.ec-p11-index-utilities > summary small { color: var(--ec-soft, #64748b); font-weight: 500; }
.ec-p11-index-utilities[open] > summary { border-bottom: 1px solid #e2e8f0; }
.ec-projects-app .ec-p11-index-utilities .ec-p10-import { margin: 0; padding: 20px; border: none; border-radius: 0 0 10px 10px; background: #fff; }

/* -- Project identity and shell -- */
.ec-projects-app .ec-projects-detail-header { background:#fff; border:1px solid #e1e7ee; border-radius:11px;
    padding:19px clamp(18px,2.2vw,28px); margin:0 0 14px; box-shadow:none; }
.ec-p11-detail-overline { display:flex; align-items:center; gap:10px; color:#778395; font-size:12px; font-weight:600; margin:0 0 13px; }
.ec-projects-app a.ec-projects-back { text-decoration: none; margin: 0; color: var(--p11-muted); }
.ec-projects-app a.ec-projects-back:hover { color: var(--p11-brand); }
.ec-p11-detail-kicker { margin-bottom: 9px; }
.ec-p11-lifecycle { margin-left: 10px; font-size: .69rem; }
.ec-projects-app .ec-projects-detail-header-main { align-items: center; gap: 20px; }
.ec-projects-app .ec-projects-detail-header h1 { font-size:clamp(24px,2.55vw,31px); margin:0 0 5px; line-height:1.17; letter-spacing:-.035em; }
.ec-projects-app .ec-projects-detail-meta { font-size: .82rem; color: var(--p11-muted); }
.ec-projects-app .ec-projects-header-actions { align-items:center; justify-content:flex-end; gap:8px; }
.ec-projects-app .ec-projects-header-actions > button:not(.ec-projects-primary) { background: white; border-color: var(--p11-hairline); font-size: .84rem; }
.ec-projects-app .ec-projects-header-actions > button:not(.ec-projects-primary):hover { background: var(--p11-wash); }
.ec-projects-app .ec-projects-settings { margin: -2px 0 22px; }
.ec-projects-app .ec-projects-settings h2 { margin-bottom: 15px; }
.ec-p11-shell { display:grid; grid-template-columns:218px minmax(0,1fr); align-items:start; gap:14px; min-width:0; }
.ec-p11-sidebar { position:sticky; top:calc(var(--ec-header-offset-desktop,100px) + 12px);
    background:#fff; border:1px solid #e1e7ee; border-radius:11px; min-width:0; padding:14px 8px 10px; box-shadow:none; }
.ec-p11-sidebar-brand { display:flex; align-items:center; gap:10px; padding:0 9px 15px; margin:0 0 10px; border-bottom:1px solid #e8ecf0; }
.ec-p11-brand-mark { display:grid; place-items:center; width:35px; height:35px; background:#111827; border-radius:7px; color:#fff; font-weight:850; letter-spacing:-.07em; font-size:14px; }
.ec-p11-brand-mark span { color: #fb7373; }
.ec-p11-sidebar-brand > span:last-child { font-size: .65rem; font-weight: 850; line-height: 1.5; letter-spacing: .1em; color: var(--p11-muted); }
.ec-p11-sidebar-label { padding:7px 12px 8px; color:#778395; font-size:10px; font-weight:750; letter-spacing:.09em; }
.ec-projects-app nav.ec-projects-tabs {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    flex-wrap: initial;
}
.ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav,
.ec-projects-app .ec-projects-tabs button[data-project-tab] {
    border: 0;
    border-radius: 9px;
    margin: 0;
    box-shadow: none;
}
.ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav { width:100%; display:flex; align-items:center; text-align:left; gap:10px;
    padding:10px 12px; min-height:41px; font-size:13px; font-weight:680; color:var(--ec-slate,#334155); background:transparent; white-space:normal; }
.ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav:hover { color: var(--p11-ink); background: var(--p11-wash); }
.ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav.is-active { background:#fff1f2; color:#a82424; border:0; box-shadow:inset 3px 0 0 var(--ec-red,#cf2e2e); }
.ec-projects-app .ec-p11-primary-nav svg { width: 18px; height: 18px; flex: 0 0 18px; stroke: currentColor; }
.ec-p11-primary-nav > span:nth-child(2) { flex: 1; min-width: 0; }
.ec-p11-nav-chevron { font-size: 1.15rem; font-weight: 500; line-height: 1; color: var(--p11-muted); transition: transform .15s ease; }
.ec-p11-primary-nav[aria-expanded=true] .ec-p11-nav-chevron { transform: rotate(180deg); }
.ec-p11-subnav { display: grid; border-left: 1px solid var(--p11-hairline); margin: 4px 10px 9px 22px; padding: 0 0 0 10px; gap: 2px; }
.ec-projects-app .ec-projects-tabs .ec-p11-subnav button[data-project-tab] { padding:8px 9px; min-height:33px; text-align:left; background:transparent;
    color:var(--ec-muted,#475569); white-space:normal; border:0; font-size:12px; font-weight:550; }
.ec-projects-app .ec-projects-tabs .ec-p11-subnav button[data-project-tab]:hover { color: var(--p11-ink); background: var(--p11-wash); }
.ec-projects-app .ec-projects-tabs .ec-p11-subnav button[data-project-tab].is-active { background: var(--p11-wash); color: var(--p11-brand); font-weight: 750; border: 0; }
.ec-p11-sidebar-footer { display: flex; gap: 11px; align-items: start; border-top: 1px solid var(--p11-hairline); margin: 17px 4px 0; padding: 17px 8px 4px; }
.ec-p11-sidebar-footer .ec-p11-footer-dot { margin-top: 5px; flex: 0 0 6px; width: 6px; height: 6px; background: var(--ec-success, #15803d); }
.ec-p11-sidebar-footer strong { display: block; font-size: .72rem; font-weight: 800; color: var(--p11-text); }
.ec-p11-sidebar-footer small { display: block; font-size: .68rem; color: var(--p11-muted); margin-top: 2px; line-height: 1.45; }
.ec-p11-mobile-nav-toggle { display: none; }
.ec-p11-main { min-width:0; border:1px solid #e1e7ee; border-radius:11px; background:#fff; padding:24px clamp(18px,2.25vw,30px) 30px; box-shadow:none; }
.ec-p11-contextbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 0 20px; border-bottom:1px solid #e8edf2; margin-bottom:23px; }
.ec-p11-contextbar h2 { font-size:clamp(19px,2vw,24px); margin:4px 0 0; letter-spacing:-.025em; }
.ec-p11-context-description { text-align:right; color:var(--ec-soft,#64748b); max-width:250px; line-height:1.45; font-size:12px; }
.ec-projects-app .ec-projects-view-heading { display: none; }
.ec-projects-app .ec-projects-workspace, .ec-projects-app .ec-projects-view { min-width: 0; }

/* -- Clarity within existing engineering modules -- */
.ec-projects-app .ec-projects-summary { background:transparent; border:0; color:var(--ec-soft,#64748b); font-size:11.5px; padding:2px 0 0; border-radius:0; margin:0 0 16px; }
.ec-projects-app .ec-projects-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:0 0 13px; }
.ec-projects-app .ec-projects-metric { padding:13px 14px; background:#fff; border:1px solid #e2e8f0; border-radius:8px; }
.ec-projects-app .ec-projects-metric strong { font-size:clamp(20px,2vw,26px); font-weight:750; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.ec-projects-app .ec-projects-metric span { font-size:11.5px; color:var(--ec-soft,#64748b); }
.ec-projects-app .ec-projects-cockpit { margin:0 0 22px; border:1px solid #e2e8f0; border-radius:10px; background:#fff; padding:0; overflow:hidden; }
.ec-projects-app .ec-projects-cockpit-heading h3 { margin:3px 0 0; font-size:17px; letter-spacing:-.02em; }
.ec-projects-app .ec-projects-cockpit-heading span { color:var(--ec-muted,#475569); font-size:11.5px; font-weight:600; }
.ec-projects-app .ec-projects-next-action { background:#fff; border:0; border-top:1px solid #edf0f3; border-radius:0; padding:15px 18px; }
.ec-projects-app .ec-projects-next-action strong { color:var(--ec-black,#0f172a); font-size:13px; }
.ec-projects-app .ec-projects-next-action p { color:var(--ec-muted,#475569); font-size:12px; margin-top:3px; }
.ec-projects-app .ec-projects-next-action button { background:#fff; color:var(--ec-black,#0f172a); border:1px solid #d5dde6; border-radius:7px; font-size:11.5px; min-height:34px; padding:6px 12px; }
.ec-projects-app .ec-projects-next-action button:hover { border-color: var(--p11-brand); color: var(--p11-brand); }
.ec-p11-overview-details, .ec-p11-guide-details, .ec-p11-report-customize {
    border: 1px solid var(--p11-hairline);
    border-radius: 12px;
    background: #fff;
    min-width: 0;
    margin: 13px 0;
}
.ec-p11-overview-details > summary, .ec-p11-guide-details > summary, .ec-p11-report-customize > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 17px 19px;
    cursor: pointer;
    font-size: .91rem;
    font-weight: 750;
    list-style: none;
}
.ec-p11-overview-details > summary::-webkit-details-marker,
.ec-p11-guide-details > summary::-webkit-details-marker,
.ec-p11-report-customize > summary::-webkit-details-marker { display: none; }
.ec-p11-overview-details > summary small, .ec-p11-guide-details > summary span:last-child, .ec-p11-report-customize > summary small { font-size: .76rem; font-weight: 500; color: var(--p11-muted); }
.ec-p11-overview-details[open] > summary, .ec-p11-guide-details[open] > summary, .ec-p11-report-customize[open] > summary { border-bottom: 1px solid var(--p11-hairline); }
.ec-p11-overview-details-body { padding: 19px; }
.ec-projects-app .ec-p11-overview-details .ec-projects-cockpit-folders { margin-top: 0; }
.ec-projects-app .ec-p11-overview-details .ec-projects-overview-grid > div { border-color: var(--p11-hairline); }
.ec-projects-app .ec-p11-overview-details .ec-projects-overview-baselines { border: 1px solid var(--p11-hairline); border-radius: 10px; padding: 17px; }
.ec-p11-guide-details .ec-template-guide { margin: 0; padding: 20px; border: 0; box-shadow: none; }
.ec-p11-guide-details .ec-template-guide-progress > div { background: var(--p11-brand); }
.ec-projects-app .ec-template-step.is-acknowledged { border-left-color: var(--ec-success, #15803d); }
.ec-projects-app .ec-projects-launch { background: var(--p11-wash); padding: 17px; margin: 0 0 20px; border: 1px solid var(--p11-hairline); }
.ec-projects-app .ec-projects-calc-workbench { grid-template-columns: minmax(150px,.8fr) minmax(0,2.2fr) minmax(190px,1fr); gap: 13px; }
.ec-projects-app .ec-projects-calc-sidebar, .ec-projects-app .ec-projects-calc-inspector { border-color: var(--p11-hairline); background: #fff; padding: 15px; }
.ec-projects-app .ec-projects-calc-sidebar, .ec-projects-app .ec-projects-calc-inspector { top: calc(var(--ec-header-offset-desktop, 100px) + 12px); }
.ec-projects-app .ec-projects-folder-link.is-active { border-color: var(--p11-brand) !important; background: var(--p11-softbrand) !important; color: var(--p11-brand) !important; }
.ec-projects-app .ec-projects-calc-main .ec-projects-calculation { border-color: var(--p11-hairline); }
.ec-projects-app .ec-projects-calc-main .ec-projects-calculation.is-selected { border-color: var(--p11-brand); box-shadow: 0 0 0 1px var(--p11-brand); }
.ec-projects-app .ec-projects-calc-main .ec-projects-item { background: var(--p11-wash); }
.ec-projects-app .ec-projects-library-toolbar { grid-template-columns: minmax(150px,1.4fr) repeat(2,minmax(110px,1fr)); }
.ec-projects-app .ec-projects-library-toolbar label { min-width: 0; }
.ec-projects-app .ec-projects-workspace-section, .ec-projects-app .ec-projects-baseline-detail, .ec-projects-app .ec-projects-preview {
    border-color: var(--p11-hairline); border-radius: 12px; background: #fff;
}
.ec-projects-app .ec-projects-workspace-section { padding: clamp(15px,2vw,24px); }
.ec-projects-app .ec-projects-workspace-card { border-top-color: var(--p11-hairline); }
.ec-projects-app .ec-projects-advanced { border-color: var(--p11-hairline); }
.ec-projects-app .ec-projects-baselines-intro { border-left-color: var(--p11-brand); }
.ec-projects-app .ec-projects-activity { border-left-color: var(--p11-hairline); }
.ec-projects-app .ec-projects-report-caution, .ec-projects-app .ec-projects-note { border-left-color: var(--p11-brand); background: var(--p11-wash); color: var(--p11-text); }
.ec-projects-app .ec-p10-portability { margin-top: 24px; background: var(--p11-wash); border-color: var(--p11-hairline); border-radius: 12px; }
.ec-projects-app .ec-report-studio { background: #fff; border-color: var(--p11-hairline); border-radius: 13px; }
.ec-projects-app .ec-report-presets button.is-active,
.ec-projects-app .ec-report-presets button[aria-pressed=true] { border-color: var(--p11-brand); background: var(--p11-softbrand); }
.ec-projects-app .ec-report-studio :is(input[type=checkbox],input[type=radio]) { accent-color: var(--p11-brand); }
.ec-p11-report-customize { margin: 18px 0; }
.ec-p11-report-customize .ec-report-studio-columns { padding: 16px 18px 7px; }
.ec-p11-report-customize .ec-projects-report-baseline-label { margin: 0 18px 18px; }
.ec-projects-app .ec-report-studio-columns > section { min-width: 0; }
.ec-projects-app .ec-report-studio-section { overflow-wrap: break-word; }
.ec-projects-app .ec-projects-preview, .ec-projects-app .ec-projects-workspace-section { overflow-wrap: break-word; }
.ec-projects-app table { max-width: 100%; }
.ec-projects-app .ec-projects-preview table,
.ec-projects-app .ec-projects-comparison-table,
.ec-projects-app .ec-projects-measurements { width: 100%; }
.ec-projects-app .ec-projects-status--pass { background: var(--ec-success-bg,#f0fdf4); }
.ec-projects-app .ec-projects-status--warning { background: var(--ec-warning-bg,#fffbeb); }
.ec-projects-app .ec-projects-status--fail { background: var(--ec-danger-bg,#fef2f2); }


/* Saved-record signal, never a claim of technical validation. */
.ec-projects-project-subline { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
.ec-projects-project-subline .ec-projects-detail-meta { margin:0; }
.ec-projects-health { display:inline-flex; align-items:center; gap:7px; border:1px solid #e1e7ee; padding:4px 9px; border-radius:6px; font-size:11px; font-weight:650; color:#536476; background:#f7f9fb; }
.ec-projects-health::before { content:''; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#94a3b8; }
.ec-projects-health[data-state="partial"] { color:#92400e; background:#fffbeb; border-color:#f2dfb4; }
.ec-projects-health[data-state="attention"] { color:#94400c; background:#fff8ec; border-color:#f0d6a7; }
.ec-projects-health[data-state="attention"]::before { background:#cc7a14; }
.ec-projects-health[data-state="clear"] { color:#266444; background:#f1faf4; border-color:#cbead7; }
.ec-projects-health[data-state="clear"]::before { background:#29975d; }
.ec-projects-record-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 18px; margin:0 0 11px; }
.ec-projects-record-heading h3 { margin:0; font-size:14px; font-weight:740; }
.ec-projects-record-heading span { color:var(--ec-soft,#64748b); font-size:11.5px; }
.ec-projects-queue-label { color:var(--ec-red-dark,#a82424); font-size:10px; font-weight:760; letter-spacing:.075em; }
.ec-projects-app .ec-projects-cockpit-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:9px; margin:0; padding:17px 18px 15px; }
.ec-projects-app .ec-projects-next-actions { display:block; }
.ec-projects-app .ec-projects-next-action { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.ec-projects-app .ec-projects-next-action > div { flex:1; min-width:0; }
.ec-projects-app .ec-projects-next-action button { flex-shrink:0; }
.ec-projects-app .ec-p11-overview-details,
.ec-projects-app .ec-p11-guide-details { border-radius:9px; box-shadow:none; }

/* -- Tablet: clear two-level navigation above content -- */
@media (max-width: 1120px) {
    .ec-p11-shell { grid-template-columns: 210px minmax(0,1fr); gap: 14px; }
    .ec-p11-main { padding: 23px 20px 28px; }
    .ec-projects-app .ec-projects-calc-workbench { grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); }
    .ec-projects-app .ec-projects-calc-inspector { position: static; grid-column: 1/-1; }
}
@media (max-width: 920px) {
    .ec-projects-app .ec-projects-page-header.ec-p11-index-hero { gap: 20px; padding: 30px; }
    .ec-p11-shell { grid-template-columns: minmax(0,1fr); }
    .ec-p11-sidebar { position: static; padding: 13px 14px; }
    .ec-p11-sidebar-brand, .ec-p11-sidebar-label, .ec-p11-sidebar-footer { display: none; }
    .ec-projects-app nav.ec-projects-tabs { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; }
    .ec-p11-nav-group { position: relative; min-width: 0; }
    .ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav { width: 100%; gap: 7px; flex-direction: column; justify-content: center; min-height: 64px; text-align: center; font-size: .71rem; padding: 8px 6px; }
    .ec-projects-app .ec-p11-primary-nav svg { width: 17px; height: 17px; flex: none; }
    .ec-p11-nav-chevron { display: none; }
    .ec-p11-subnav { display: flex; gap: 5px; grid-column: 1/-1; flex-wrap: wrap; margin: 4px 0 0; padding: 9px; border: 0; border-radius: 9px; background: var(--p11-wash); }
    .ec-projects-app nav.ec-projects-tabs:has(.ec-p11-subnav:not([hidden])) { padding-bottom: 52px; }
    .ec-p11-nav-group .ec-p11-subnav:not([hidden]) { position: absolute; top: 100%; left: auto; right: 0; min-width: min(72vw, 380px); z-index: 10; background: #fff; border: 1px solid var(--p11-hairline); box-shadow: var(--p11-shadow); }
    .ec-projects-app .ec-projects-tabs .ec-p11-subnav button[data-project-tab] { flex: 1 1 auto; }
    .ec-p11-contextbar { margin-bottom: 22px; }
}
@media (max-width: 700px) {
    .ec-projects-app.ec-container { width: min(1480px, calc(100vw - 20px)); }
    .ec-projects-app .ec-projects-page-header.ec-p11-index-hero { grid-template-columns: 1fr; padding: 26px 22px; margin-bottom: 26px; }
    .ec-projects-app .ec-projects-breadcrumb { margin-bottom: 25px; }
    .ec-projects-app .ec-p11-index-hero h1 { font-size: clamp(2.05rem, 8vw, 2.6rem); }
    .ec-p11-index-title-row { align-items: start; }
    .ec-projects-app .ec-projects-index-tools { grid-template-columns: minmax(0,1fr); gap: 9px; }
    .ec-projects-app .ec-projects-list-count { padding-bottom: 0; }
    .ec-projects-app .ec-projects-detail-header { padding: 21px 19px; }
    .ec-projects-app .ec-projects-detail-header-main { flex-direction: column; align-items: stretch; }
    .ec-projects-app .ec-projects-header-actions { justify-content: flex-start; }
    .ec-projects-app .ec-projects-header-actions button { flex: 0 1 auto; }
    .ec-p11-mobile-nav-toggle { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 13px 16px; background: #fff; color: var(--p11-ink); border: 1px solid var(--p11-hairline); border-radius: 10px; font-weight: 750; font-size: .88rem; cursor: pointer; }
    .ec-p11-mobile-nav-toggle > span:first-child { display: flex; gap: 11px; align-items: center; }
    .ec-p11-mobile-nav-toggle svg { width: 18px; height: 18px; }
    .ec-p11-shell .ec-p11-sidebar { display: none; }
    .ec-p11-shell.is-nav-open .ec-p11-sidebar { display: block; }
    .ec-projects-app nav.ec-projects-tabs { grid-template-columns: minmax(0,1fr); gap: 5px; }
    .ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav { flex-direction: row; justify-content: flex-start; font-size: .87rem; padding: 11px; min-height: 43px; }
    .ec-p11-nav-group .ec-p11-subnav:not([hidden]) { position: static; display: grid; min-width: 0; box-shadow: none; border: 0; background: var(--p11-wash); margin: 4px 0 6px 19px; padding: 6px; }
    .ec-projects-app nav.ec-projects-tabs:has(.ec-p11-subnav:not([hidden])) { padding-bottom: 0; }
    .ec-p11-main { padding: 19px 16px 25px; }
    .ec-p11-contextbar { display: block; padding-bottom: 18px; margin-bottom: 21px; }
    .ec-p11-context-description { display: block; text-align: left; margin-top: 5px; max-width: none; }
    .ec-projects-app .ec-projects-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .ec-projects-app .ec-projects-cockpit { padding: 15px; }
    .ec-p11-overview-details > summary, .ec-p11-guide-details > summary, .ec-p11-report-customize > summary { flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px; }
    .ec-p11-overview-details-body { padding: 13px; }
    .ec-projects-app .ec-projects-overview-grid { grid-template-columns: 1fr; }
    .ec-projects-app .ec-projects-calc-workbench { grid-template-columns: minmax(0,1fr); }
    .ec-projects-app .ec-projects-calc-sidebar, .ec-projects-app .ec-projects-calc-inspector { position: static; grid-column: 1; }
    .ec-projects-app .ec-projects-library-toolbar { grid-template-columns: minmax(0,1fr); }
    .ec-projects-app .ec-report-presets { grid-template-columns: 1fr; }
    .ec-p11-report-customize .ec-report-studio-columns { padding: 10px; }
    .ec-p11-index-utilities > summary { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 440px) {
    .ec-projects-app .ec-projects-detail-header h1 { font-size: 1.84rem; }
    .ec-projects-app .ec-projects-header-actions > button { padding: 8px 12px; font-size: .78rem; }
    .ec-projects-app .ec-projects-metric { padding: 13px; }
    .ec-projects-app .ec-projects-list-entry { min-height: 210px; }
    .ec-p11-project-footer { flex-wrap: wrap; }
    .ec-projects-app .ec-projects-next-action { flex-direction: column; align-items: stretch; }
    .ec-projects-app .ec-projects-next-action button { align-self: start; }
    .ec-projects-app .ec-report-studio { padding: 10px; }
    .ec-projects-app .ec-projects-form-actions { gap: 8px; }
}

/* Projects library adapts without hiding essential project identity. */
@media (max-width: 1100px) {
    .ec-projects-app .ec-projects-index-tools { grid-template-columns:minmax(180px,1.2fr) minmax(125px,.7fr) minmax(140px,.75fr) auto; gap:8px; }
    .ec-projects-list-columns,
    .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry { grid-template-columns:minmax(190px,1.8fr) minmax(90px,.8fr) minmax(85px,.7fr) minmax(100px,.8fr) minmax(95px,.7fr); gap:8px; }
}
@media (max-width: 850px) {
    .ec-projects-app .ec-projects-index-tools { grid-template-columns:minmax(0,1fr) minmax(120px,.65fr) minmax(135px,.7fr); }
    .ec-projects-view-switch { grid-column:1/-1; justify-self:start; }
    .ec-projects-app .ec-projects-list-meta { padding:11px 17px; }
    .ec-projects-list-columns { display:none; }
    .ec-projects-app .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry {
        grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding:14px 17px;
    }
    .ec-projects-index-list[data-layout="list"] .ec-project-row-identity { grid-column:1/-1; }
    .ec-projects-index-list[data-layout="list"] .ec-project-row-number { grid-column:1; }
    .ec-projects-index-list[data-layout="list"] .ec-project-row-status { grid-column:2; grid-row:2; justify-self:end; }
    .ec-projects-index-list[data-layout="list"] .ec-project-row-updated { grid-column:1; }
    .ec-projects-index-list[data-layout="list"] .ec-project-row-action { grid-column:2; grid-row:3; }
}
@media (max-width: 700px) {
    .ec-projects-app.ec-container { width:calc(100vw - 22px); }
    .ec-projects-app .ec-projects-page-header.ec-p11-index-hero { display:block; padding:0 2px; border:0; box-shadow:none; margin:0 0 18px; }
    .ec-projects-app .ec-projects-breadcrumb { margin:0 0 16px; }
    .ec-projects-index-heading-main { align-items:flex-start; flex-direction:column; gap:14px; }
    .ec-projects-app .ec-projects-index-heading h1 { font-size:27px; }
    .ec-p11-index-title-row { padding:17px; }
    .ec-projects-app .ec-projects-index-tools { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:0 17px 16px; }
    .ec-projects-app .ec-projects-index-tools .ec-projects-search-field { grid-column:1/-1; }
    .ec-projects-view-switch { grid-column:1/-1; }
    .ec-projects-list-meta > span:last-child { display:none; }
    .ec-projects-app .ec-projects-cockpit-heading { padding:15px 14px 12px; }
    .ec-projects-app .ec-projects-next-action { padding:13px 14px; }
    .ec-projects-record-heading span { max-width:270px; }
    .ec-p11-contextbar { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
    .ec-p11-context-description { text-align:left; max-width:none; }
}
@media (max-width: 480px) {
    .ec-projects-app .ec-projects-index-tools { grid-template-columns:minmax(0,1fr); }
    .ec-projects-app .ec-projects-index-tools .ec-projects-search-field { grid-column:auto; }
    .ec-projects-view-switch { grid-column:auto; }
    .ec-p11-index-title-row { align-items:flex-start; }
    .ec-p11-index-title-row p { max-width:220px; }
    .ec-projects-app .ec-projects-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ec-projects-app .ec-projects-next-action { align-items:flex-start; flex-direction:column; }
    .ec-projects-app .ec-projects-next-action button { align-self:flex-start; }
    .ec-projects-app .ec-projects-list-entry .ec-project-row-identity h3 { font-size:13px; }
}

@media (prefers-reduced-motion: reduce) {
    .ec-projects-app * { transition-duration: 0s !important; animation-duration: 0s !important; scroll-behavior: auto !important; }
}

/* Contextual status messages float above the canvas instead of taking a row
   in the page hierarchy. Success messages expire; errors remain actionable. */
.ec-projects-app .ec-projects-message:not(:empty) {
    position: fixed;
    right: clamp(16px, 3vw, 35px);
    bottom: 22px;
    z-index: var(--ec-z-sticky, 1000);
    max-width: min(410px, calc(100vw - 32px));
    padding: 13px 17px;
    border: 1px solid var(--ec-success-light, #bbf7d0);
    background: #fff;
    border-radius: 11px;
    box-shadow: 0 10px 35px rgba(15,23,42,.12);
    font-size: .88rem;
}
.ec-projects-app .ec-projects-message.is-error:not(:empty) {
    border-color: var(--ec-danger-light, #fca5a5);
    background: var(--ec-danger-bg, #fef2f2);
}

.ec-p11-skip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ec-p11-skip:focus-visible { position: static; display: inline-block; width: auto; height: auto; padding: 8px 12px; background: var(--p11-ink); color: #fff !important; border-radius: 8px; clip-path: none; margin: 0 0 12px; }

/* ========================================================================
   PROFESSIONAL MODULE SYSTEM / CURRENT REDESIGN
   ======================================================================== */

.ec-projects-app {
  --s2-surface: #fff;
  --s2-muted: #f6f8fa;
  --s2-line: #e4e9ef;
  --s2-line-strong: #d2dbe5;
  --s2-ink: var(--p11-ink,#111827);
  --s2-subtle: #617086;
  --s2-accent: var(--p11-brand,#cf2e2e);
  --s2-radius: 12px;
  --s2-shadow: 0 8px 30px rgba(17,24,39,.035);
}
.ec-projects-app .ec-p11-main { background: #fff; }
.ec-projects-app .ec-projects-view-heading { margin: 0 0 22px; }
.ec-projects-app .ec-projects-view-heading h2 { letter-spacing: -.032em; font-size: clamp(1.18rem,1.6vw,1.54rem); }
.ec-projects-app .ec-projects-view-heading p { max-width: 750px; font-size: .84rem; line-height: 1.55; color: var(--s2-subtle); }
.ec-projects-app .ec-projects-workspace-section { padding: 23px; border: 1px solid var(--s2-line); box-shadow: none; }
.ec-projects-app .ec-projects-workspace-section > h3 { font-size: 1.16rem; letter-spacing: -.025em; margin-bottom: 5px; }
.ec-projects-app .ec-projects-workspace-section > p { margin-bottom: 22px; max-width: 730px; color: var(--s2-subtle); }
.ec-s2-eyebrow { display:block; font-size: 10px; font-weight: 800; line-height: 1.5; letter-spacing: .11em; color: var(--s2-subtle); text-transform: uppercase; }
.ec-projects-app .ec-s2-empty-detail { padding: 30px 22px; border: 1px dashed var(--s2-line-strong); border-radius: 10px; color: var(--s2-subtle); line-height: 1.65; background: #fafbfd; }
.ec-projects-app :is(.ec-s2-register-detail,.ec-projects-calc-inspector,.ec-s2-case-detail) :is(h4,h5) { margin: 0; letter-spacing: -.02em; }
.ec-projects-app button.ec-s2-record-row,
.ec-projects-app button.ec-s2-calculation-row,
.ec-projects-app button.ec-s2-case-row { text-align: left; background: #fff; border: 0; border-radius: 0 !important; box-shadow: none; font-size: inherit; color: var(--s2-ink); }
.ec-projects-app button.ec-s2-record-row:hover,
.ec-projects-app button.ec-s2-calculation-row:hover,
.ec-projects-app button.ec-s2-case-row:hover { background: #f7f9fb; }
.ec-projects-app button:is(.ec-s2-record-row,.ec-s2-calculation-row,.ec-s2-case-row).is-selected {
  background: #fff7f7; box-shadow: inset 3px 0 0 var(--s2-accent); color: var(--s2-ink);
}
.ec-projects-app button:is(.ec-s2-record-row,.ec-s2-calculation-row,.ec-s2-case-row):focus-visible { outline: 2px solid var(--s2-accent); outline-offset: -2px; position: relative; z-index: 1; }

/* ENGINEERING DATA — a reusable data register / context editor */
.ec-projects-app .ec-s2-register { display: grid; grid-template-columns: minmax(235px,.94fr) minmax(0,1.25fr); border: 1px solid var(--s2-line); border-radius: var(--s2-radius); overflow: hidden; background: #fff; min-width: 0; margin: 17px 0 20px; }
.ec-projects-app .ec-s2-register-list { border-right: 1px solid var(--s2-line); min-width: 0; background: #fff; }
.ec-projects-app .ec-s2-register-detail { min-width: 0; padding: clamp(18px,2.2vw,30px); }
.ec-projects-app .ec-s2-register-detail h4 { font-size: clamp(1.06rem,1.7vw,1.3rem); margin: 7px 0 17px; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-register-header { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(95px,.7fr); gap: 10px; align-items: center; border-bottom: 1px solid var(--s2-line); background: #f6f8fb; padding: 12px 17px; font-size: 10px; font-weight: 800; color: var(--s2-subtle); letter-spacing: .085em; }
.ec-projects-app .ec-s2-register-header span:last-child { text-align: right; }
.ec-projects-app .ec-s2-record-row { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(95px,.7fr); width: 100%; gap: 11px; align-items: center; min-height: 67px; padding: 15px 17px; border-bottom: 1px solid var(--s2-line) !important; }
.ec-projects-app .ec-s2-record-row:last-child { border-bottom: 0 !important; }
.ec-projects-app .ec-s2-record-row .ec-s2-record-label { display:grid; min-width: 0; gap: 4px; }
.ec-projects-app .ec-s2-record-row strong { font-size: .86rem; line-height: 1.25; font-weight: 750; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-record-row small { display:block; font-size: .69rem; font-weight: 450; color: var(--s2-subtle); overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-record-measure { font-size: .82rem; font-weight: 750; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-register:not(.ec-s2-parameter-register) .ec-s2-record-row { grid-template-columns:minmax(0,1fr); }
.ec-projects-app .ec-s2-parameter-value { display: flex; align-items: baseline; flex-wrap:wrap; gap: 8px; margin: 0 0 20px; padding: 14px 16px; border-radius: 10px; background: #f6f8fa; }
.ec-projects-app .ec-s2-parameter-value strong { font-size: clamp(1.55rem,2.7vw,2.1rem); font-weight: 800; line-height: 1.16; letter-spacing: -.035em; overflow-wrap:anywhere; font-variant-numeric: tabular-nums; }
.ec-projects-app .ec-s2-parameter-value span { font-size: .95rem; font-weight: 700; color: var(--s2-subtle); }
.ec-projects-app .ec-s2-definition { display:grid; grid-template-columns: minmax(105px, .44fr) minmax(0,1fr); gap: 10px 14px; margin: 0 0 22px; font-size: .8rem; line-height: 1.48; }
.ec-projects-app .ec-s2-definition dt { color: var(--s2-subtle); }
.ec-projects-app .ec-s2-definition dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.ec-projects-app .ec-s2-change-editor { padding: 18px; margin: 20px 0 12px; background: #fbfcfd; border: 1px solid var(--s2-line); border-radius: 10px; }
.ec-projects-app .ec-s2-change-editor h5 { font-size: .91rem; margin: 0 0 12px; }
.ec-projects-app .ec-s2-change-editor form { display: grid; gap: 12px; margin: 0; }
.ec-projects-app .ec-s2-change-editor button { justify-self: start; }
.ec-projects-app .ec-s2-editor { border-top: 1px solid var(--s2-line); margin-top: 14px; padding-top: 13px; }
.ec-projects-app .ec-s2-editor summary { color: var(--s2-subtle); font-size: .8rem; font-weight: 700; cursor: pointer; margin-bottom: 12px; }
.ec-projects-app .ec-s2-editor form { border: 1px solid var(--s2-line); border-radius: 10px; padding: 16px; }
.ec-projects-app .ec-s2-editor button.ec-projects-danger { margin-top: 10px; }
.ec-projects-app .ec-s2-connection-drawer { margin: 22px 0 0; border-top: 1px solid var(--s2-line); padding-top: 12px; }
.ec-projects-app .ec-s2-connection-drawer > summary { padding: 15px 16px; border-radius: 10px; cursor: pointer; background: #f7f8fa; font-weight: 750; font-size: .85rem; }
.ec-projects-app .ec-s2-connection-drawer[open] > summary { margin-bottom: 15px; }
.ec-projects-app .ec-s2-connection-drawer .ec-projects-connections { margin: 15px 0; }
.ec-projects-app #ec-workspace-parameters > details:not(.ec-s2-connection-drawer),
.ec-projects-app #ec-workspace-requirements > details { margin: 0 0 15px; }
.ec-projects-app #ec-workspace-parameters > details:not(.ec-s2-connection-drawer) > summary,
.ec-projects-app #ec-workspace-requirements > details > summary { display: inline-flex; align-items:center; min-height: 38px; padding: 9px 14px; border: 1px solid var(--s2-line-strong); border-radius: 8px; cursor: pointer; font-size: .83rem; font-weight: 700; }

/* CALCULATIONS — folder navigation / index / selected computation */
.ec-projects-app .ec-projects-launch { border: 1px solid var(--s2-line); background: var(--s2-muted); box-shadow: none; border-radius: 11px; padding: 15px; margin-bottom: 18px; }
.ec-projects-app .ec-projects-calc-workbench { display: grid; grid-template-columns: minmax(158px,.62fr) minmax(260px,1.5fr) minmax(290px,1.25fr); align-items: stretch; gap: 13px; }
.ec-projects-app .ec-projects-calc-sidebar,
.ec-projects-app .ec-projects-calc-main,
.ec-projects-app .ec-projects-calc-inspector { min-width: 0; position: static; background: #fff; border: 1px solid var(--s2-line); border-radius: 11px; box-shadow: none; overflow: hidden; }
.ec-projects-app .ec-projects-calc-sidebar { padding: 14px 12px; }
.ec-projects-app .ec-projects-panel-head { display: flex; align-items: center; gap: 5px; flex-wrap:wrap; justify-content:space-between; }
.ec-projects-app .ec-projects-panel-head h3 { margin: 0; font-size: .86rem; }
.ec-projects-app .ec-projects-calc-main { padding: 0; }
.ec-projects-app .ec-projects-library-toolbar { display:grid; grid-template-columns: minmax(140px,1.2fr) minmax(90px,.8fr) minmax(90px,.75fr); gap: 9px; margin: 0; padding: 15px 15px 12px; border-bottom: 1px solid var(--s2-line); }
.ec-projects-app .ec-projects-library-toolbar label { font-size: .74rem; }
.ec-projects-app .ec-projects-library-toolbar :is(input,select) { min-height: 35px; padding: 7px 9px; font-size: .78rem; }
.ec-projects-app .ec-projects-library-context { margin: 0; padding: 11px 15px; display:flex; align-items:center; gap:8px; justify-content:space-between; }
.ec-projects-app .ec-projects-library-context strong { font-size: .85rem; }
.ec-projects-app .ec-projects-library-context span { font-size: .73rem; color:var(--s2-subtle); }
.ec-projects-app .ec-s2-calculation-list { min-width: 0; border-top: 1px solid var(--s2-line); }
.ec-projects-app .ec-s2-list-header { display:grid; grid-template-columns:minmax(0,1fr) 54px minmax(76px,.55fr); align-items:center; padding: 12px 15px; gap: 10px; background:#f7f9fb; border-bottom: 1px solid var(--s2-line); font-weight: 800; font-size: 9px; letter-spacing: .08em; color: var(--s2-subtle); }
.ec-projects-app .ec-s2-calculation-row { width: 100%; display:grid; grid-template-columns:minmax(0,1fr) 54px minmax(76px,.55fr); align-items:center; gap: 10px; padding: 17px 15px; min-height: 77px; border-bottom:1px solid var(--s2-line)!important; }
.ec-projects-app .ec-s2-calculation-row:last-child { border-bottom:0!important; }
.ec-projects-app .ec-s2-calc-name { display:grid; min-width:0; gap:6px; }
.ec-projects-app .ec-s2-calc-name strong { font-size: .83rem; font-weight:750; line-height:1.3; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-calc-name small { color:var(--s2-subtle); font-size:.69rem; }
.ec-projects-app .ec-s2-calc-revision { font-size:.83rem; font-weight:800; }
.ec-projects-app .ec-s2-calc-state { color:#166534; font-size:.72rem; font-weight:750; text-transform:capitalize; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-calc-state.is-warning { color:var(--s2-accent); }
.ec-projects-app .ec-projects-calc-inspector { padding:0; }
.ec-projects-app .ec-s2-inspector-heading { padding: 17px 19px 16px; border-bottom: 1px solid var(--s2-line); background: #fbfcfd; }
.ec-projects-app .ec-s2-inspector-heading h3 { margin: 3px 0 0; font-size:1.02rem; }
.ec-projects-app [data-calc-inspector-content] { padding: 20px; min-width:0; }
.ec-projects-app .ec-s2-inspector-top { display: flex; justify-content:space-between; gap:8px; flex-wrap:wrap; align-items:center; }
.ec-projects-app [data-calc-inspector-content] h4 { margin: 10px 0 18px; font-size:clamp(1.04rem,1.5vw,1.24rem); line-height:1.32; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-inspector-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:19px; }
.ec-projects-app .ec-s2-inline-stat { display:grid; gap:5px; padding:12px; background:#f7f9fb; border-radius:9px; }
.ec-projects-app .ec-s2-inline-stat span { color:var(--s2-subtle); font-size:.66rem; }
.ec-projects-app .ec-s2-inline-stat strong { font-size:.79rem; font-weight:800; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-inspector-actions { display:flex; flex-wrap:wrap; gap:8px; margin: 0 0 20px; }
.ec-projects-app .ec-s2-inspector-actions button { font-size:.77rem; padding:8px 12px; }
.ec-projects-app .ec-s2-inspector-group { margin:17px 0 20px; }
.ec-projects-app .ec-s2-inspector-group h5,
.ec-projects-app .ec-s2-revision-history h5 { font-size:.84rem; margin:0 0 10px; }
.ec-projects-app .ec-s2-inspector-group label { font-size:.74rem; }
.ec-projects-app .ec-s2-revision-history { border-top:1px solid var(--s2-line); padding-top:17px; }
.ec-projects-app .ec-s2-revision-entry { margin: 0 0 9px; border: 1px solid var(--s2-line); border-radius:9px; overflow:hidden; }
.ec-projects-app .ec-s2-revision-entry > summary { cursor:pointer; display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px; align-items:center; background:#f9fafb; padding: 12px 14px; font-size:.79rem; }
.ec-projects-app .ec-s2-revision-entry > summary small { color:var(--s2-subtle); font-size:.68rem; }
.ec-projects-app .ec-s2-revision-entry > .ec-projects-item { border:0; background:#fff; padding:14px; margin:0; border-radius:0; overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-revision-entry > .ec-projects-item > strong { display:none; }
.ec-projects-app .ec-s2-revision-entry > .ec-projects-item > span { font-size:.7rem; color:var(--s2-subtle); }
.ec-projects-app .ec-s2-advanced-inspector { margin-top:14px; border-top:1px solid var(--s2-line); padding:12px 0; }
.ec-projects-app .ec-s2-advanced-inspector > summary { cursor:pointer; color:var(--s2-subtle); font-size:.76rem; font-weight:700; }
.ec-projects-app .ec-s2-advanced-inspector > :not(summary) { margin-top:9px; }
.ec-projects-app .ec-projects-calc-workbench + .ec-projects-preview { margin-top:20px; }

/* CHANGE ASSURANCE — one case, one focused decision sequence */
.ec-projects-app .ec-s2-workbench { min-width:0; }
.ec-projects-app .ec-s2-workbench .ec-cw-metrics { gap:10px; margin:0 0 12px; }
.ec-projects-app .ec-s2-workbench .ec-cw-metric { background:#f8fafc; border:1px solid var(--s2-line); box-shadow:none; padding:16px; }
.ec-projects-app .ec-s2-workbench .ec-cw-metric strong { font-size:1.45rem; }
.ec-projects-app .ec-s2-workbench .ec-projects-baseline-caption { margin: 6px 0 14px; font-size:.78rem; }
.ec-projects-app .ec-s2-case-workspace { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(0,1.6fr); border:1px solid var(--s2-line); border-radius:12px; overflow:hidden; background:#fff; min-height:300px; }
.ec-projects-app .ec-s2-case-list { min-width:0; border-right:1px solid var(--s2-line); }
.ec-projects-app .ec-s2-case-row { width:100%; display:grid; gap:6px; padding:17px 18px; border-bottom:1px solid var(--s2-line)!important; }
.ec-projects-app .ec-s2-case-row strong { font-size:.86rem; font-weight:800; }
.ec-projects-app .ec-s2-case-row span { font-size:.82rem; font-variant-numeric:tabular-nums; }
.ec-projects-app .ec-s2-case-row small { font-size:.7rem; color:var(--s2-subtle); text-transform:capitalize; }
.ec-projects-app .ec-s2-case-detail { padding:19px 22px; min-width:0; }
.ec-projects-app .ec-s2-case-detail .ec-cw-case { padding:0; border:0; box-shadow:none; background:transparent; margin:0; }
.ec-projects-app .ec-s2-case-detail .ec-cw-heading { border-bottom:1px solid var(--s2-line); padding:0 0 15px; margin-bottom:17px; }
.ec-projects-app .ec-s2-case-detail .ec-cw-stages { display:grid; gap:8px; }
.ec-projects-app .ec-s2-case-detail .ec-cw-stage { border-color:var(--s2-line); }
.ec-projects-app .ec-s2-case-detail .ec-cw-impact { margin-top:14px; }
.ec-projects-app .ec-s2-case-detail .ec-cw-review { background:#fbfcfd; border:1px solid var(--s2-line); border-radius:10px; padding:16px; margin-top:12px; }
.ec-projects-app .ec-s2-case-detail .ec-cw-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.ec-projects-app .ec-s2-case-detail .ec-cw-actions button { font-size:.77rem; }

/* REPORTS — creator and source document occupy independent regions */
.ec-projects-app .ec-s2-report-layout { display:grid; grid-template-columns:minmax(310px,.8fr) minmax(0,1.2fr); gap:18px; align-items:start; min-width:0; }
.ec-projects-app .ec-s2-report-builder { min-width:0; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio { padding: 20px; border:1px solid var(--s2-line); box-shadow:none; margin:0; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio > h3 { font-size:.85rem; margin:0 0 12px; }
.ec-projects-app .ec-s2-report-builder .ec-report-presets { display:grid; grid-template-columns:1fr; gap:7px; }
.ec-projects-app .ec-s2-report-builder .ec-report-presets button { text-align:left; min-height:62px; padding:12px 14px; border-radius:9px; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:13px; margin-top:19px; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio-fields label { font-size:.77rem; }
.ec-projects-app .ec-s2-report-builder .ec-p11-report-customize { border:1px solid var(--s2-line); border-radius:10px; overflow:hidden; margin:18px 0; }
.ec-projects-app .ec-s2-report-builder .ec-p11-report-customize > summary { margin:0; padding:14px; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio-columns { display:grid; grid-template-columns:minmax(0,1fr); padding:14px; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio-columns > section { width:100%; }
.ec-projects-app .ec-s2-report-builder .ec-report-studio-columns :is(.ec-report-studio-section,.ec-report-calculation-choice) { min-width:0; }
.ec-projects-app .ec-s2-report-builder .ec-projects-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ec-projects-app .ec-s2-report-builder .ec-projects-form-actions button { font-size:.77rem; padding:9px 12px; }
.ec-projects-app .ec-s2-document-panel { min-width:0; border:1px solid var(--s2-line); border-radius:12px; background:#f2f4f7; overflow:hidden; }
.ec-projects-app .ec-s2-document-header { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:16px 19px; background:#fff; border-bottom:1px solid var(--s2-line); }
.ec-projects-app .ec-s2-document-header h3 { margin:3px 0 0; font-size:1.05rem; }
.ec-s2-document-format { border:1px solid var(--s2-line); border-radius:6px; padding:6px 9px; font-size:10px; font-weight:800; white-space:nowrap; color:var(--s2-subtle); }
.ec-projects-app .ec-s2-document-canvas { min-height:490px; padding: clamp(12px,2vw,26px); }
.ec-projects-app .ec-s2-document-placeholder { display:grid; place-content:center; text-align:center; gap:10px; min-height:400px; border:1px dashed #cdd5df; background:rgba(255,255,255,.55); border-radius:10px; padding:25px; }
.ec-projects-app .ec-s2-document-placeholder .ec-s2-document-mark { font-size:3.5rem; font-weight:200; color:#c0c9d5; line-height:1; }
.ec-projects-app .ec-s2-document-placeholder strong { font-size:.94rem; }
.ec-projects-app .ec-s2-document-placeholder p { max-width:300px; margin:0 auto; font-size:.78rem; color:var(--s2-subtle); }
.ec-projects-app .ec-s2-document-canvas:has([data-project-report]:not([hidden])) .ec-s2-document-placeholder { display:none; }
.ec-projects-app .ec-s2-document-canvas [data-project-report]:not([hidden]) { box-sizing:border-box; margin:0 auto; background:#fff; max-width: 800px; box-shadow:0 5px 28px rgba(15,23,42,.10); border:1px solid #e0e4ea; border-radius:2px; padding:clamp(14px,2.3vw,34px); overflow-wrap:anywhere; }
.ec-projects-app .ec-s2-document-canvas [data-project-report] table { width:100%; }
.ec-projects-app .ec-s2-project-archive { grid-column:1/-1; padding:0; border:1px solid var(--s2-line); border-radius:11px; overflow:hidden; }
.ec-projects-app .ec-s2-project-archive > summary { padding:15px 18px; font-size:.84rem; font-weight:750; cursor:pointer; background:#fafbfd; }
.ec-projects-app .ec-s2-project-archive .ec-p10-portability { margin:0; background:#fff; border:0; border-top:1px solid var(--s2-line); border-radius:0; padding:20px; }

/* BASELINES / REVIEWS — consistent technical record representation */
.ec-projects-app [data-project-view="baselines"] :is(.ec-projects-baselines-intro,.ec-projects-baseline-live,.ec-projects-baseline-compare),
.ec-projects-app [data-project-view="review"] .ec-projects-review-controls { background:#fff; border:1px solid var(--s2-line); border-radius:10px; box-shadow:none; padding:17px 20px; margin:0 0 12px; }
.ec-projects-app .ec-projects-baseline-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr)); gap:10px; margin:16px 0; }
.ec-projects-app .ec-projects-baseline-list > * { min-width:0; }
.ec-projects-app .ec-projects-baseline-detail, .ec-projects-app .ec-projects-baseline-diff { padding:20px; }
.ec-projects-app [data-review-register] { min-width:0; }
.ec-projects-app [data-review-register] > section,
.ec-projects-app [data-project-view="history"] > [data-project-activity] { background:#fff; border:1px solid var(--s2-line); border-radius:11px; padding:18px; }
.ec-projects-app [data-project-view="history"] .ec-projects-activity { border-left-color:#d7dfe7; }
.ec-projects-app [data-project-view="requirements"] .ec-s2-register { margin-top:18px; }

/* Responsive breakpoints are based on available Workspace real estate, not physical screens. */
@media (max-width: 1440px) {
 .ec-projects-app .ec-projects-calc-workbench { grid-template-columns:minmax(155px,.55fr) minmax(235px,1.25fr) minmax(270px,1.12fr); gap:10px; }
 .ec-projects-app .ec-projects-library-toolbar { grid-template-columns: minmax(0,1fr) minmax(90px,.75fr); }
 .ec-projects-app .ec-projects-library-toolbar label:last-child { grid-column:1/-1; }
}
@media (max-width: 1140px) {
 .ec-projects-app .ec-projects-calc-workbench { grid-template-columns:minmax(155px,.55fr) minmax(0,1fr); }
 .ec-projects-app .ec-projects-calc-inspector { grid-column:2; }
 .ec-projects-app .ec-s2-register { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-s2-register-list { border-right:0; border-bottom:1px solid var(--s2-line); }
 .ec-projects-app .ec-s2-register-detail { padding:20px; }
 .ec-projects-app .ec-s2-case-workspace { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-s2-case-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-right:0; border-bottom:1px solid var(--s2-line); }
 .ec-projects-app .ec-s2-case-row { border-right:1px solid var(--s2-line)!important; }
 .ec-projects-app .ec-s2-report-layout { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-s2-report-builder .ec-report-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 700px) {
 .ec-projects-app .ec-projects-calc-workbench { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-projects-calc-inspector { grid-column:1; }
 .ec-projects-app .ec-projects-calc-sidebar { padding:13px; }
 .ec-projects-app .ec-projects-library-toolbar { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-projects-library-toolbar label:last-child { grid-column:auto; }
 .ec-projects-app .ec-s2-calculation-row, .ec-projects-app .ec-s2-list-header { grid-template-columns:minmax(0,1fr) 40px 65px; gap:5px; padding:12px 10px; }
 .ec-projects-app .ec-s2-calc-name strong { font-size:.79rem; }
 .ec-projects-app .ec-s2-calc-state { font-size:.66rem; }
 .ec-projects-app .ec-s2-register-header, .ec-projects-app .ec-s2-record-row { padding:13px 12px; }
 .ec-projects-app .ec-s2-record-row { grid-template-columns:minmax(0,1fr) minmax(60px,.55fr); }
 .ec-projects-app .ec-s2-register-detail { padding:17px; }
 .ec-projects-app .ec-s2-definition { grid-template-columns: minmax(0,1fr); gap:4px; }
 .ec-projects-app .ec-s2-definition dd { margin-bottom:10px; }
 .ec-projects-app .ec-s2-case-list { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-s2-case-detail { padding:15px; }
 .ec-projects-app .ec-s2-report-builder .ec-report-presets { grid-template-columns:minmax(0,1fr); }
 .ec-projects-app .ec-s2-report-builder .ec-report-studio { padding:14px; }
 .ec-projects-app .ec-s2-document-canvas { min-height:320px; }
 .ec-projects-app .ec-s2-document-placeholder { min-height:290px; }
 .ec-projects-app .ec-s2-inspector-stats { grid-template-columns:minmax(0,1fr); }
}
@media print {
 /* The authoritative report printer clones [data-project-report] into its
    own A4 frame. These interactive module styles are intentionally not
    injected into that document. Do not alter the existing PDF renderer. */
 .ec-s2-report-builder, .ec-s2-project-archive { display:none!important; }
}

/* BASELINE LIBRARY — selected historical reference versus live project */
.ec-projects-app .ec-s2-baselines-layout { display:grid; grid-template-columns:minmax(205px,.75fr) minmax(0,1.65fr); gap:16px; align-items:start; }
.ec-projects-app .ec-s2-baselines-library { border:1px solid var(--s2-line); border-radius:11px; overflow:hidden; background:#fff; min-width:0; }
.ec-projects-app .ec-s2-baselines-list-heading { padding:19px; border-bottom:1px solid var(--s2-line); background:#f9fafb; }
.ec-projects-app .ec-s2-baselines-list-heading h3 { margin:4px 0 0; font-size:1.02rem; }
.ec-projects-app .ec-s2-baselines-library .ec-projects-baseline-list { display:grid; grid-template-columns:minmax(0,1fr); padding:12px; gap:10px; margin:0; }
.ec-projects-app .ec-s2-baselines-library .ec-projects-baseline-list > * { margin:0; max-width:100%; }
.ec-projects-app .ec-s2-baselines-working-area { min-width:0; }
.ec-projects-app .ec-s2-baselines-working-area > :is(.ec-projects-baselines-intro,.ec-projects-baseline-create,.ec-projects-baseline-compare,.ec-projects-baseline-live) { margin:0 0 12px; }
.ec-projects-app .ec-s2-baselines-working-area .ec-projects-baseline-selector { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }
.ec-projects-app .ec-s2-baselines-working-area .ec-projects-baseline-selector label { flex:1 1 150px; }
.ec-projects-app .ec-s2-baselines-working-area .ec-projects-baseline-selector button { flex:0 1 auto; }
.ec-projects-app .ec-s2-review-group { border:1px solid var(--s2-line); border-radius:11px; padding:18px; margin:13px 0; background:#fff; }
.ec-projects-app .ec-s2-review-group > .ec-s2-eyebrow { margin:0 0 10px; }
.ec-projects-app .ec-s2-review-group > summary { cursor:pointer; font-size:.88rem; font-weight:800; padding:3px; }
.ec-projects-app .ec-s2-review-group[open] > summary { margin-bottom:14px; padding-bottom:13px; border-bottom:1px solid var(--s2-line); }
.ec-projects-app .ec-s2-review-group > section { border:0!important; padding:5px 0!important; background:transparent!important; }
.ec-projects-app [data-review-register] > .ec-projects-audit-head { margin-bottom:15px; }
@media(max-width:1140px) { .ec-projects-app .ec-s2-baselines-layout { grid-template-columns:minmax(0,1fr); } .ec-projects-app .ec-s2-baselines-library .ec-projects-baseline-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); } }
@media(max-width:700px) { .ec-projects-app .ec-s2-baselines-working-area .ec-projects-baseline-selector { display:grid; grid-template-columns:minmax(0,1fr); } }


/* ========================================================================
   FINAL PRODUCT INTERFACE / RELEASE 2
   Deliberate product shell: portfolio register, controlled workspace,
   dense technical records. This section is authoritative for application UI.
   ======================================================================== */
.ec-projects-app.ec-container {
  --ecp-navy:#0f172a; --ecp-navy-2:#182235; --ecp-surface:#ffffff; --ecp-canvas:#f5f7fa;
  --ecp-line:#dde4ec; --ecp-line-soft:#e9eef3; --ecp-text:#182231; --ecp-muted:#64748b;
  --ecp-red:var(--ec-red,#cf2e2e); --ecp-red-dark:var(--ec-red-dark,#a82424);
  width:min(1500px,calc(100vw - 36px)); max-width:none; padding:26px 0 76px; font-size:14px; color:var(--ecp-text);
}
.ec-projects-app button { min-height:38px; border-radius:7px; font-size:13px; }
.ec-projects-app .ec-projects-primary,.ec-projects-app button.ec-projects-primary { background:var(--ecp-navy); border-color:var(--ecp-navy); border-radius:7px; font-weight:750; }
.ec-projects-app .ec-projects-primary:hover,.ec-projects-app button.ec-projects-primary:hover { background:#253248; border-color:#253248; }
.ec-projects-app input:not([type=checkbox]):not([type=radio]),.ec-projects-app textarea,.ec-projects-app select { min-height:42px; border-radius:7px; border-color:#cfd8e3; box-shadow:none; font-size:13px; }

/* Portfolio / project register */
.ec-projects-app .ec-projects-index { max-width:1320px; margin:0 auto; padding:0 0 30px; }
.ec-projects-app .ec-projects-page-header.ec-p11-index-hero { margin:0 0 18px; padding:0; }
.ec-projects-app .ec-projects-breadcrumb { margin:0 0 13px; padding:0 2px; color:#718096; font-size:11.5px; }
.ec-projects-product-header { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:34px 38px 30px; color:#fff; background:linear-gradient(135deg,#0f172a 0%,#182235 72%,#1f2b40 100%); border-radius:14px 14px 0 0; overflow:hidden; }
.ec-projects-product-header::after { content:''; position:absolute; right:-80px; top:-120px; width:360px; height:360px; border:1px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 54px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); pointer-events:none; }
.ec-projects-product-copy { position:relative; z-index:1; max-width:760px; }
.ec-projects-product-kicker,.ec-projects-library-kicker { display:block; margin:0 0 8px; color:#f28b8b; font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.ec-projects-app .ec-projects-product-header h1 { margin:0 0 9px; color:#fff; font-size:clamp(30px,3vw,42px); line-height:1.05; letter-spacing:-.045em; }
.ec-projects-product-header p { margin:0; max-width:720px; color:#cbd5e1; font-size:14.5px; line-height:1.65; }
.ec-projects-app .ec-projects-new-project { position:relative; z-index:1; flex:0 0 auto; background:#fff!important; border-color:#fff!important; color:#111827!important; min-height:43px; padding:10px 17px; box-shadow:0 7px 20px rgba(0,0,0,.12); }
.ec-projects-app .ec-projects-new-project:hover { background:#fff1f2!important; border-color:#fff1f2!important; color:#a82424!important; }
.ec-projects-portfolio { display:grid; grid-template-columns:1.15fr repeat(4,1fr); min-height:76px; background:#fff; border:1px solid var(--ecp-line); border-top:0; border-radius:0 0 14px 14px; box-shadow:0 12px 36px rgba(15,23,42,.055); }
.ec-projects-portfolio-item { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; padding:17px 22px; border-left:1px solid var(--ecp-line-soft); }
.ec-projects-portfolio-item:first-child { border-left:0; }
.ec-projects-portfolio-item span { display:flex; align-items:center; gap:7px; color:#64748b; font-size:11.5px; font-weight:650; white-space:nowrap; }
.ec-projects-portfolio-item strong { color:#111827; font-size:20px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.ec-projects-portfolio-item.is-total strong { font-size:25px; }
.ec-projects-stat-dot { width:7px; height:7px; border-radius:50%; background:#94a3b8; }
.ec-projects-stat-dot.is-active { background:#16a34a; }.ec-projects-stat-dot.is-draft { background:#94a3b8; }.ec-projects-stat-dot.is-completed { background:#2563eb; }.ec-projects-stat-dot.is-archived { background:#64748b; }
.ec-projects-app .ec-projects-create { margin:18px 0; border-color:var(--ecp-line); border-radius:12px; box-shadow:0 8px 26px rgba(15,23,42,.045); }
.ec-projects-app .ec-projects-library { margin-top:22px; border:1px solid var(--ecp-line); border-radius:12px; box-shadow:0 8px 28px rgba(15,23,42,.045); }
.ec-p11-index-title-row { padding:23px 26px 17px; border-bottom:1px solid #edf1f5; }
.ec-projects-library-kicker { color:var(--ecp-red-dark); margin-bottom:5px; }
.ec-p11-index-title-row h2 { font-size:21px; letter-spacing:-.03em; }.ec-p11-index-title-row p { font-size:12.5px; }
.ec-p11-index-count { padding:5px 9px; border:1px solid var(--ecp-line); border-radius:999px; background:#f8fafc; font-size:11px; }
.ec-projects-app .ec-projects-index-tools { grid-template-columns:minmax(260px,1.7fr) minmax(140px,.7fr) minmax(155px,.75fr) auto; padding:16px 26px; gap:10px; background:#fbfcfd; border-bottom:1px solid #edf1f5; }
.ec-projects-app .ec-projects-index-tools label { font-size:11px; letter-spacing:.01em; }
.ec-projects-app .ec-projects-index-tools :is(input,select) { height:40px; min-height:40px; background:#fff; }
.ec-projects-list-meta { padding:10px 26px; border:0; border-bottom:1px solid #edf1f5; background:#fff; }
.ec-projects-list-meta > span:last-child { display:inline-flex; align-items:center; gap:7px; }.ec-projects-lock-dot { width:6px; height:6px; border-radius:50%; background:#16a34a; }
.ec-projects-list-columns,.ec-projects-index-list[data-layout="list"] .ec-projects-list-entry { grid-template-columns:minmax(320px,2.4fr) minmax(105px,.7fr) minmax(145px,.85fr) minmax(85px,.45fr); gap:18px; }
.ec-projects-list-columns { min-height:38px; padding:9px 26px; background:#f6f8fa; }
.ec-projects-list-columns span { font-size:9.5px; color:#738196; letter-spacing:.09em; }
.ec-projects-app .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry { min-height:88px; padding:16px 26px; transition:background .14s ease,box-shadow .14s ease; }
.ec-projects-app .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry:hover { background:#f9fbfd; box-shadow:inset 3px 0 0 var(--ecp-red); }
.ec-project-row-mark { position:relative; width:38px; height:42px; flex:0 0 38px; border:0; border-radius:8px; background:#f1f4f7; color:#5c6b7d; }
.ec-project-row-mark::before { content:''; position:absolute; left:11px; top:9px; width:14px; height:18px; border:1.6px solid currentColor; border-radius:2px; background:#fff; }
.ec-project-row-mark::after { content:''; position:absolute; left:14px; top:14px; width:9px; height:1.5px; background:currentColor; box-shadow:0 4px 0 currentColor,0 8px 0 currentColor; opacity:.72; }
.ec-project-row-copy { min-width:0; display:grid; gap:4px; }
.ec-projects-app button.ec-project-row-title { width:max-content; max-width:100%; min-height:0; padding:0; border:0; background:transparent; color:#111827; font-size:14.5px; font-weight:780; text-align:left; line-height:1.35; border-radius:2px!important; overflow-wrap:anywhere; }
.ec-projects-app button.ec-project-row-title:hover { color:var(--ecp-red-dark); background:transparent; }
.ec-project-row-meta { display:block; min-width:0; max-width:72ch; color:#748196; font-size:11.5px; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ec-p11-project-status { gap:6px; padding:5px 9px; border:1px solid transparent; border-radius:999px; font-size:11px; }
.ec-p11-project-status::before { content:''; width:6px; height:6px; border-radius:50%; background:#94a3b8; }
.ec-p11-project-status--active { color:#166534; background:#f0fdf4; border-color:#dcf3e4; }.ec-p11-project-status--active::before { background:#16a34a; }
.ec-p11-project-status--completed { color:#1e5f91; background:#eff6ff; border-color:#dbeafe; }.ec-p11-project-status--completed::before { background:#3b82f6; }
.ec-p11-project-status--archived { color:#596579; background:#f1f5f9; border-color:#e2e8f0; }.ec-p11-project-status--archived::before { background:#64748b; }
.ec-project-row-updated { display:grid; gap:2px; }.ec-project-row-updated strong { color:#334155; font-size:12px; font-weight:700; }.ec-project-row-updated time { color:#8490a0; font-size:10.5px; }
.ec-projects-app button.ec-projects-list-open { display:inline-flex; gap:7px; align-items:center; min-height:34px; padding:6px 9px; border:0; background:transparent; color:#46576a; font-size:11.5px; }
.ec-projects-app button.ec-projects-list-open span { font-size:15px; transition:transform .14s ease; }.ec-projects-app button.ec-projects-list-open:hover { background:transparent; color:var(--ecp-red-dark); }.ec-projects-app button.ec-projects-list-open:hover span { transform:translateX(2px); }
.ec-projects-index-list[data-layout="cards"] { gap:14px; padding:20px 26px 26px; background:#fbfcfd; }
.ec-projects-app .ec-projects-index-list[data-layout="cards"] .ec-projects-list-entry { min-height:205px; padding:19px; border-color:#dce4ec; border-radius:10px; box-shadow:0 4px 14px rgba(15,23,42,.025); }
.ec-projects-index-list[data-layout="cards"] .ec-project-row-identity { grid-column:1/-1; }.ec-projects-index-list[data-layout="cards"] .ec-project-row-updated { border-top:1px solid #edf1f5; padding-top:13px; }.ec-projects-index-list[data-layout="cards"] .ec-project-row-action { border-top:1px solid #edf1f5; padding-top:10px; }
.ec-p11-index-utilities { max-width:100%; margin:14px 0 0; border-color:var(--ecp-line); }

/* Project identity / application shell */
.ec-projects-app .ec-projects-detail { max-width:1420px; margin:0 auto; }
.ec-projects-app .ec-projects-detail-header { position:relative; overflow:hidden; margin:0 0 14px; padding:19px 27px 23px; color:#fff; background:linear-gradient(135deg,#0f172a,#182235); border:0; border-radius:13px; box-shadow:0 9px 28px rgba(15,23,42,.12); }
.ec-projects-app .ec-projects-detail-header::after { content:''; position:absolute; right:-70px; bottom:-145px; width:310px; height:310px; border:1px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025); pointer-events:none; }
.ec-p11-detail-overline { position:relative; z-index:1; margin:0 0 13px; color:#9eacbc; }.ec-projects-app a.ec-projects-back { color:#cbd5e1; }.ec-projects-app a.ec-projects-back:hover { color:#fff; }
.ec-projects-app .ec-projects-detail-header-main { position:relative; z-index:1; align-items:flex-end; }
.ec-projects-project-statusline { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:7px; }
.ec-p11-detail-kicker { margin:0; color:#cbd5e1; }.ec-p11-detail-kicker .ec-p11-eyebrow-dot { background:#ef6464; }
.ec-p11-lifecycle { margin:0; padding:4px 8px; color:#e2e8f0; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); }
.ec-projects-health { padding:4px 9px; color:#dce4ee; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.13); }.ec-projects-health[data-state="attention"] { color:#ffe1aa; background:rgba(180,83,9,.18); border-color:rgba(253,230,138,.28); }.ec-projects-health[data-state="clear"] { color:#bff2d0; background:rgba(21,128,61,.16); border-color:rgba(187,247,208,.22); }
.ec-projects-app .ec-projects-detail-header h1 { color:#fff; font-size:clamp(27px,2.7vw,36px); margin:0 0 7px; }.ec-projects-app .ec-projects-detail-meta { color:#aeb9c7; font-size:12px; margin:0; }
.ec-projects-app .ec-projects-header-actions { position:relative; z-index:1; }.ec-projects-app .ec-projects-header-actions > button:not(.ec-projects-primary) { color:#e2e8f0; background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.16); }.ec-projects-app .ec-projects-header-actions > button:not(.ec-projects-primary):hover { background:rgba(255,255,255,.11); color:#fff; }.ec-projects-app .ec-projects-header-actions > .ec-projects-primary { background:#fff; color:#111827; border-color:#fff; }.ec-projects-app .ec-projects-header-actions > .ec-projects-primary:hover { background:#fff1f2; color:#a82424; border-color:#fff1f2; }
.ec-p11-shell { grid-template-columns:238px minmax(0,1fr); gap:14px; }
.ec-p11-sidebar { padding:14px 9px 11px; border-color:var(--ecp-line); border-radius:12px; box-shadow:0 6px 22px rgba(15,23,42,.035); }
.ec-p11-sidebar-brand { padding:2px 10px 15px; }.ec-p11-brand-mark { width:38px; height:38px; border-radius:8px; background:#111827; }
.ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav { min-height:43px; padding:10px 12px; font-size:13px; }.ec-projects-app .ec-projects-tabs button.ec-p11-primary-nav.is-active { background:#fff4f4; color:#a82424; box-shadow:inset 3px 0 0 var(--ecp-red); }
.ec-projects-app .ec-p11-main { padding:25px 29px 34px; border-color:var(--ecp-line); border-radius:12px; box-shadow:0 7px 25px rgba(15,23,42,.035); }
.ec-p11-contextbar { margin-bottom:25px; padding-bottom:18px; }.ec-p11-contextbar h2 { font-size:24px; }.ec-p11-context-description { font-size:12.5px; }

/* Overview as operational state, not card collection */
.ec-projects-app .ec-projects-cockpit { margin:0 0 24px; border:1px solid #dce4ec; border-radius:10px; box-shadow:0 5px 18px rgba(15,23,42,.025); }
.ec-projects-app .ec-projects-cockpit[data-state="attention"] { border-color:#ecd7ad; box-shadow:inset 3px 0 0 #d68a25,0 5px 18px rgba(15,23,42,.025); }.ec-projects-app .ec-projects-cockpit[data-state="clear"] { box-shadow:inset 3px 0 0 #26a269,0 5px 18px rgba(15,23,42,.025); }
.ec-projects-app .ec-projects-cockpit-heading { padding:18px 20px 16px; background:#fbfcfd; }.ec-projects-app .ec-projects-cockpit-heading h3 { font-size:18px; }.ec-projects-queue-label { color:#a82424; }
.ec-projects-app .ec-projects-next-action { min-height:72px; padding:15px 20px; }.ec-projects-app .ec-projects-next-action strong { font-size:13.5px; }.ec-projects-app .ec-projects-next-action p { font-size:12.3px; max-width:78ch; }.ec-projects-app .ec-projects-next-action button { min-height:35px; }
.ec-projects-record-heading { margin:0 0 10px; }.ec-projects-record-heading h3 { font-size:14px; }.ec-projects-record-heading span { font-size:11.5px; }
.ec-projects-app .ec-projects-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:hidden; margin:0; border:1px solid var(--ecp-line); border-radius:10px; background:#fff; }.ec-projects-app .ec-projects-metric { min-height:84px; padding:16px 18px; border:0; border-left:1px solid var(--ecp-line-soft); border-radius:0; }.ec-projects-app .ec-projects-metric:first-child { border-left:0; }.ec-projects-app .ec-projects-metric strong { font-size:27px; }.ec-projects-app .ec-projects-metric span { font-size:11.5px; }
.ec-projects-app .ec-projects-summary { margin:7px 0 18px; font-size:11px; }
.ec-projects-app .ec-p11-overview-details,.ec-projects-app .ec-p11-guide-details { border-color:var(--ecp-line); border-radius:10px; }

/* Calculations: technical register + inspector */
.ec-projects-app .ec-projects-launch { padding:14px 16px; background:#f7f9fb; border-color:var(--ecp-line); }.ec-projects-app .ec-projects-launch label { max-width:720px; }
.ec-projects-app .ec-projects-calc-workbench { grid-template-columns:minmax(190px,.72fr) minmax(380px,1.65fr) minmax(310px,1.22fr); gap:12px; }
.ec-projects-app .ec-projects-calc-sidebar,.ec-projects-app .ec-projects-calc-main,.ec-projects-app .ec-projects-calc-inspector { border-color:var(--ecp-line); border-radius:10px; box-shadow:0 4px 16px rgba(15,23,42,.025); }
.ec-projects-app .ec-projects-calc-sidebar { padding:15px 13px; background:#fbfcfd; }.ec-projects-app .ec-projects-folder-link.is-active { border-color:#f0c6c6!important; background:#fff2f2!important; color:#a82424!important; }
.ec-projects-app .ec-projects-library-toolbar { padding:14px 15px 12px; background:#fbfcfd; }.ec-projects-app .ec-projects-library-toolbar label { font-size:11px; }.ec-projects-app .ec-projects-library-toolbar :is(input,select) { min-height:38px; font-size:12px; }
.ec-projects-app .ec-s2-list-header,.ec-projects-app .ec-s2-calculation-row { grid-template-columns:minmax(0,1.5fr) 58px minmax(82px,.65fr) minmax(78px,.58fr); }
.ec-projects-app .ec-s2-list-header { padding:10px 15px; font-size:9px; }.ec-projects-app .ec-s2-calculation-row { min-height:78px; padding:15px; }
.ec-projects-app .ec-s2-calc-name strong { font-size:13px; }.ec-projects-app .ec-s2-calc-name small { font-size:10.5px; }.ec-projects-app .ec-s2-calc-revision { font-size:12px; }.ec-projects-app .ec-s2-calc-state { font-size:10.5px; }.ec-projects-app .ec-s2-calc-updated { color:#788699; font-size:10.5px; white-space:nowrap; }
.ec-projects-app .ec-s2-calculation-row.needs-attention { box-shadow:inset 3px 0 0 #d68a25; }.ec-projects-app button.ec-s2-calculation-row.is-selected { background:#fff5f5; box-shadow:inset 3px 0 0 var(--ecp-red); }
.ec-projects-app .ec-s2-inspector-heading { padding:18px 20px 16px; background:#f8fafc; }.ec-projects-app [data-calc-inspector-content] { padding:20px; }.ec-projects-app [data-calc-inspector-content] h4 { font-size:19px; }

@media (max-width:1180px) {
 .ec-projects-portfolio { grid-template-columns:1fr repeat(4,.85fr); }
 .ec-projects-portfolio-item { padding:15px 16px; }
 .ec-p11-shell { grid-template-columns:220px minmax(0,1fr); }
 .ec-projects-app .ec-projects-calc-workbench { grid-template-columns:180px minmax(0,1fr); }
 .ec-projects-app .ec-projects-calc-inspector { grid-column:2; }
}
@media (max-width:900px) {
 .ec-projects-app.ec-container { width:min(100%,calc(100vw - 22px)); padding-top:18px; }
 .ec-projects-product-header { padding:28px 24px 24px; }.ec-projects-portfolio { grid-template-columns:repeat(2,1fr); }.ec-projects-portfolio-item { border-top:1px solid var(--ecp-line-soft); }.ec-projects-portfolio-item.is-total { grid-column:1/-1; border-top:0; }.ec-projects-portfolio-item:nth-child(2) { border-top:1px solid var(--ecp-line-soft); }
 .ec-projects-app .ec-projects-index-tools { grid-template-columns:minmax(0,1fr) minmax(120px,.6fr); }.ec-projects-app .ec-projects-index-tools label:nth-child(3) { grid-column:1; }.ec-projects-view-switch { grid-column:2; justify-self:end; align-self:end; }
 .ec-projects-list-columns { display:none; }.ec-projects-app .ec-projects-index-list[data-layout="list"] .ec-projects-list-entry { grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; padding:16px 18px; }.ec-projects-index-list[data-layout="list"] .ec-project-row-identity { grid-column:1/-1; }.ec-projects-index-list[data-layout="list"] .ec-project-row-status { grid-column:1; }.ec-projects-index-list[data-layout="list"] .ec-project-row-updated { grid-column:1; }.ec-projects-index-list[data-layout="list"] .ec-project-row-action { grid-column:2; grid-row:2/4; align-self:center; }
 .ec-p11-shell { grid-template-columns:1fr; }.ec-p11-sidebar { position:static; }.ec-projects-app .ec-projects-calc-workbench { grid-template-columns:1fr; }.ec-projects-app .ec-projects-calc-inspector { grid-column:1; }
}
@media (max-width:620px) {
 .ec-projects-product-header { align-items:flex-start; flex-direction:column; gap:20px; padding:24px 19px 22px; border-radius:11px 11px 0 0; }.ec-projects-app .ec-projects-product-header h1 { font-size:30px; }.ec-projects-product-header p { font-size:13px; }.ec-projects-app .ec-projects-new-project { width:100%; }
 .ec-projects-portfolio { grid-template-columns:repeat(2,1fr); border-radius:0 0 11px 11px; }.ec-projects-portfolio-item { min-height:62px; padding:12px 14px; border-top:1px solid var(--ecp-line-soft)!important; }.ec-projects-portfolio-item.is-total { grid-column:1/-1; border-top:0!important; }.ec-projects-portfolio-item span { font-size:10.5px; }.ec-projects-portfolio-item strong { font-size:18px; }.ec-projects-portfolio-item.is-total strong { font-size:21px; }
 .ec-p11-index-title-row { padding:18px 17px 14px; }.ec-projects-app .ec-projects-index-tools { grid-template-columns:1fr; padding:14px 17px; }.ec-projects-app .ec-projects-index-tools label:nth-child(3),.ec-projects-view-switch { grid-column:auto; }.ec-projects-view-switch { justify-self:start; }.ec-projects-list-meta { padding:10px 17px; }.ec-projects-list-meta > span:last-child { display:none; }
 .ec-project-row-mark { width:34px; height:38px; flex-basis:34px; }.ec-project-row-meta { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
 .ec-projects-app .ec-projects-detail-header { padding:17px 18px 20px; }.ec-projects-app .ec-projects-detail-header-main { align-items:flex-start; flex-direction:column; }.ec-projects-app .ec-projects-header-actions { width:100%; justify-content:flex-start; }.ec-projects-app .ec-projects-header-actions > button { flex:1 1 auto; }
 .ec-projects-app .ec-p11-main { padding:20px 15px 26px; }.ec-p11-contextbar { align-items:flex-start; }.ec-p11-context-description { display:none; }
 .ec-projects-app .ec-projects-metrics { grid-template-columns:repeat(2,1fr); }.ec-projects-app .ec-projects-metric:nth-child(odd) { border-left:0; }.ec-projects-app .ec-projects-metric:nth-child(n+3) { border-top:1px solid var(--ecp-line-soft); }
 .ec-projects-app .ec-projects-next-action { align-items:flex-start; flex-direction:column; }.ec-projects-app .ec-projects-next-action button { align-self:flex-start; }
 .ec-projects-app .ec-s2-list-header { display:none; }.ec-projects-app .ec-s2-calculation-row { grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; }.ec-projects-app .ec-s2-calc-name { grid-column:1/-1; }.ec-projects-app .ec-s2-calc-revision { grid-column:1; }.ec-projects-app .ec-s2-calc-state { grid-column:2; grid-row:2; }.ec-projects-app .ec-s2-calc-updated { grid-column:1/-1; }
}

/* BF-05 — semantic parameter picker and read-only dependency inspector. */
.ec-bf05-graph-panel {margin-top:20px;padding-top:16px;border-top:1px solid var(--ec-border-light,#dce2e8);min-width:0;}
.ec-bf05-summary{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 15px;}
.ec-bf05-state{display:inline-block;padding:4px 8px;font-size:.72rem;font-weight:750;letter-spacing:.01em;border-radius:7px;border:1px solid var(--ec-border-light,#dce2e8);white-space:nowrap;}
.ec-bf05-current{background:#eaf7f1;color:#155e42;border-color:#b5e4ce;}
.ec-bf05-stale{background:#fff4df;color:#805016;border-color:#f5d194;}
.ec-bf05-unknown{background:#edf3fc;color:#365779;border-color:#b9cfe8;}
.ec-bf05-blocked{background:#fcebed;color:#9e303c;border-color:#edbcc4;}
.ec-bf05-graph-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr);gap:10px;margin:14px 0;}
.ec-bf05-graph-controls input,.ec-bf05-graph-controls select{width:100%;min-width:0;padding:9px;border:1px solid var(--ec-border-light,#dce2e8);border-radius:7px;}
.ec-bf05-graph-edges{display:grid;gap:7px;max-height:380px;overflow:auto;}
.ec-bf05-edge{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;text-align:left;background:var(--ec-bg,#fff);color:inherit;border:1px solid var(--ec-border-light,#dce2e8);border-radius:8px;cursor:pointer;}
.ec-bf05-edge:hover,.ec-bf05-edge:focus-visible{outline:2px solid #327ca4;outline-offset:1px;}
.ec-bf05-edge strong{min-width:0;overflow-wrap:anywhere;font-weight:650;font-size:.83rem;}
.ec-bf05-inspector{margin:14px 0 0;padding:12px;background:var(--ec-bg,#fff);border-radius:8px;border:1px solid var(--ec-border-light,#dce2e8);font-size:.83rem;overflow-wrap:anywhere;}
.ec-bf05-inspector h5{margin:0 0 8px;font-size:.91rem;}
.ec-bf05-inspector p{margin:5px 0;}
.ec-bf05-preview{border-left:3px solid #327ca4;padding:10px 12px;background:var(--ec-bg-panel,#f4f7f9);border-radius:5px;font-size:.8rem;line-height:1.55;}
.ec-project-result-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
@media(max-width:640px){.ec-bf05-graph-controls{grid-template-columns:minmax(0,1fr)}.ec-bf05-edge{align-items:flex-start;flex-direction:column;}}

/* BF-07 — guided workspace discovery and evidence-aware task states.
   Extends the existing P11 shell/cockpit, without a second navigation or graph. */
.ec-projects-app .ec-bf07-finder { position:relative; margin:0 0 16px; max-width:660px; min-width:0; }
.ec-projects-app .ec-bf07-finder label { display:flex; flex-direction:row; justify-content:space-between; align-items:center; font-size:12px; font-weight:700; color:var(--ec-black-mid,#17232e); margin-bottom:6px; }
.ec-projects-app .ec-bf07-finder input { width:100%; min-height:42px; background:#fff; border:1px solid #cdd6e1; border-radius:9px; padding:9px 12px; font-size:13px; }
.ec-bf07-shortcut { font:600 10px/1.5 inherit; border:1px solid #d1d9e2; border-radius:5px; padding:2px 6px; color:#69788a; }
.ec-projects-app .ec-bf07-find-results { max-height:345px; overflow:auto; background:#fff; border:1px solid #d7e0ea; border-radius:10px; box-shadow:0 12px 34px rgba(15,23,42,.12); position:absolute; top:100%; left:0; right:0; margin-top:5px; z-index:15; }
.ec-projects-app .ec-bf07-search-meta,.ec-projects-app .ec-bf07-search-empty { margin:0; padding:10px 12px; font-size:11px; color:#55667b; background:#f6f8fb; }
.ec-projects-app button.ec-bf07-search-result { width:100%; display:flex; flex-direction:column; gap:3px; align-items:flex-start; text-align:left; border:0; border-bottom:1px solid #e8edf2; border-radius:0; padding:10px 13px; background:#fff; color:#17232e; }
.ec-projects-app button.ec-bf07-search-result:hover,.ec-projects-app button.ec-bf07-search-result:focus-visible { background:#f1f6fb; }
.ec-bf07-search-result small { text-transform:uppercase; color:#57728a; font-size:10px; letter-spacing:.045em; }
.ec-bf07-search-result strong { overflow-wrap:anywhere; font-size:12px; }
.ec-bf07-search-result span { font-size:11px; color:#64748b; }
.ec-projects-app .ec-bf07-load-issue { border:1px solid #e9b3ac; background:#fff4f0; padding:13px 15px; border-radius:9px; color:#8b3126; margin:0 0 17px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; }
.ec-projects-app .ec-bf07-load-issue button { background:#fff; color:#842e23; border-color:#daa99f; white-space:nowrap; }
.ec-projects-app .ec-bf07-readiness { margin:0; padding:12px 18px; border-top:1px solid #e7edf3; background:#f6f8fa; color:#405367; font-size:11.5px; line-height:1.55; }
.ec-projects-app .ec-bf07-readiness[data-coverage="incomplete"] { color:#874615; background:#fff5e6; }
.ec-projects-app .ec-bf07-queue-kind { display:block; color:#57728a; font-size:9px; letter-spacing:.055em; font-weight:750; margin-bottom:4px; }
.ec-projects-app .ec-projects-next-action[data-level="attention"] { box-shadow:inset 3px 0 0 #d68a25; }
.ec-projects-app .ec-projects-next-action[data-level="attention"] .ec-bf07-queue-kind { color:#8a5312; }
@media(min-width:901px){ .ec-projects-app .ec-bf07-finder { width:min(100%,550px); } }
@media(max-width:620px){ .ec-projects-app .ec-bf07-load-issue { align-items:flex-start; flex-direction:column; } .ec-projects-app .ec-bf07-finder { width:100%; } .ec-projects-app .ec-bf07-readiness { padding:12px 14px; } }

.ec-projects-app .ec-bf07-launch-guide { flex:1 1 100%; min-width:0; margin-top:12px; padding:14px 16px; border-top:1px solid #dbe4ec; border-radius:6px; background:#fbfcfe; }
.ec-projects-app .ec-bf07-launch-guide ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 10px; padding-left:20px; font-size:11px; line-height:1.55; }
.ec-projects-app .ec-bf07-launch-guide li { padding-right:7px; color:#526577; }
.ec-projects-app .ec-bf07-launch-guide li strong { color:#17232e; }
.ec-projects-app .ec-bf07-launch-guide p { margin:0; color:#486782; font-size:11.5px; }
@media(max-width:700px){.ec-projects-app .ec-bf07-launch-guide ol{grid-template-columns:minmax(0,1fr);gap:7px;}}

/* BF-08: scenario workspace extends the existing Projects design tokens. */
.ec-bf08-workspace { display:grid; gap:1.3rem; min-width:0; }
.ec-bf08-toolbar, .ec-bf08-actions, .ec-bf08-card-head { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; justify-content:space-between; }
.ec-bf08-form, .ec-bf08-compare, .ec-bf08-sweep { display:grid; gap:.75rem; border:1px solid var(--ec-line, #d6dee8); border-radius:12px; padding:1rem; background:var(--ec-surface, #fff); min-width:0; }
.ec-bf08-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ec-bf08-form h3, .ec-bf08-form p { grid-column:1/-1; margin:.1rem 0; }
.ec-bf08-form label { display:grid; min-width:0; gap:.35rem; font-size:.86rem; font-weight:600; }
.ec-bf08-form input, .ec-bf08-form select { width:100%; max-width:100%; min-width:0; border:1px solid #bdc8d6; border-radius:7px; padding:.55rem; background:#fff; color:#111d2d; }
.ec-bf08-form button { justify-self:start; align-self:end; }
.ec-bf08-variants { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:.85rem; }
.ec-bf08-card { display:grid; align-content:start; gap:.6rem; min-width:0; padding:1rem; border:1px solid #d3dce8; border-radius:12px; background:#fff; }
.ec-bf08-card p { margin:.15rem 0; overflow-wrap:anywhere; font-size:.82rem; }
.ec-bf08-metrics { display:grid; gap:.25rem; font-size:.9rem; }
.ec-bf08-card-head strong { min-width:0; overflow-wrap:anywhere; }
.ec-bf08-card-head span { padding:.15rem .5rem; border-radius:30px; background:#e8f3ed; color:#165c45; font-size:.72rem; font-weight:700; }
.ec-bf08-card-head .ec-bf08-state-blocked { background:#ffece9; color:#a32726; }
.ec-bf08-picked { border-left:3px solid #0e876e; padding-left:.5rem; }
.ec-bf08-compare-group { overflow-x:auto; max-width:100%; margin-block:1rem; }
.ec-bf08-table { border-collapse:collapse; width:100%; min-width:560px; font-size:.85rem; }
.ec-bf08-table th, .ec-bf08-table td { padding:.5rem .65rem; text-align:left; border-bottom:1px solid #dae1eb; }
.ec-bf08-table th { background:#eef2f7; font-weight:700; }
.ec-bf08-bar { height:.3rem; width:100%; max-width:180px; background:#e7edf3; border-radius:8px; overflow:hidden; margin-top:.28rem; }
.ec-bf08-bar span { display:block; height:100%; background:#267c8a; }
.ec-bf08-sweep [data-bf08-sweep-results] { min-width:0; overflow-x:auto; }
.ec-bf08-help { color:#536477; }
@media (max-width:700px) { .ec-bf08-form { grid-template-columns:minmax(0,1fr); } }
@media print {
    body.ec-bf08-printing * { visibility:hidden !important; }
    body.ec-bf08-printing [data-bf08-scenarios], body.ec-bf08-printing [data-bf08-scenarios] * { visibility:visible !important; }
    body.ec-bf08-printing [data-bf08-scenarios] { position:absolute; left:0; top:0; width:100%; background:#fff!important; color:#111!important; }
    body.ec-bf08-printing [data-bf08-create], body.ec-bf08-printing .ec-bf08-toolbar button,
    body.ec-bf08-printing .ec-bf08-actions, body.ec-bf08-printing .ec-bf08-sweep { display:none!important; }
    body.ec-bf08-printing .ec-bf08-card { break-inside:avoid; }
    body.ec-bf08-printing .ec-bf08-compare-group { overflow:visible; }
}

/* BF-09 — Requirements-to-Evidence Verification Matrix. Integrated in the existing light Projects UI. */
.ec-projects-app .ec-bf09-matrix { min-width:0; margin:16px 0 22px; padding:16px; border:1px solid #d5dfeb; border-radius:12px; background:#f8fafc; }
.ec-bf09-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:8px; }
.ec-bf09-toolbar strong { font-size:.95rem; }
.ec-bf09-toolbar > div { display:flex; flex-wrap:wrap; gap:7px; }
.ec-bf09-matrix [data-bf09-status] { font-size:.82rem; color:#44566c; margin:8px 0 12px; }
.ec-bf09-matrix [data-bf09-content] { max-width:100%; overflow-x:auto; }
.ec-bf09-table { width:100%; min-width:670px; border-collapse:collapse; background:#fff; font-size:.81rem; }
.ec-bf09-table th { background:#edf2f7; color:#253a51; text-align:left; font-weight:750; }
.ec-bf09-table th,.ec-bf09-table td { border:1px solid #dce4ee; padding:11px 10px; vertical-align:top; }
.ec-bf09-table td:first-child { min-width:175px; max-width:230px; }
.ec-bf09-table td:last-child { min-width:210px; }
.ec-bf09-table td > strong,.ec-bf09-table td > small,.ec-bf09-table td > span { display:block; overflow-wrap:anywhere; }
.ec-bf09-table td > small { color:#596b7d; font-size:.72rem; line-height:1.5; margin-top:5px; }
.ec-bf09-table details { max-width:300px; border:1px solid #d9e2ee; border-radius:7px; margin:4px 0 9px; padding:7px 9px; }
.ec-bf09-table summary { cursor:pointer; font-weight:700; }
.ec-bf09-table td:last-child > button { display:block; margin:6px 0; min-height:33px; }
.ec-bf09-form { display:grid; gap:10px; padding:10px 0; }
.ec-bf09-form label { display:grid; gap:4px; font-size:.76rem; font-weight:650; }
.ec-bf09-form input,.ec-bf09-form select { display:block; width:100%; min-width:0; padding:7px 8px; border:1px solid #becadd; border-radius:6px; background:#fff; color:#16273a; }
.ec-bf09-status { padding:3px 7px; border-radius:5px; width:max-content; font-size:.74rem; letter-spacing:.025em; }
.ec-bf09-status-pass { background:#e5f5ed; color:#145b3b; }
.ec-bf09-status-fail { background:#fde9ea; color:#922e3c; }
.ec-bf09-status-stale { background:#fff0d8; color:#86510c; }
.ec-bf09-status-unknown { background:#e9eff9; color:#3b597c; }
.ec-bf09-disclaimer { color:#53677c; font-size:.75rem; margin:10px 0 0; }
.ec-bf09-matrix :is(button,select,input,textarea,summary):focus-visible { outline:2px solid #28759a; outline-offset:2px; }
@media(max-width:650px) { .ec-projects-app .ec-bf09-matrix{padding:12px;} .ec-bf09-toolbar{align-items:flex-start;flex-direction:column;} }

/* BF-10 — read-only Conveyor Drive evidence matrix in existing Review and PDF reports. */
.ec-bf10-pilot-card { margin: 1rem 0; padding: 1rem; border: 1px solid var(--ec-border, #cbd5e1); border-radius: 10px; overflow-x: auto; }
.ec-bf10-stage-table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: .86rem; margin-top: 1rem; }
.ec-bf10-stage-table th, .ec-bf10-stage-table td { padding: .55rem; border-bottom: 1px solid #cbd5e1; text-align: left; vertical-align: top; }
.ec-bf10-stage-table th { font-weight: 700; }
@media print { .ec-bf10-pilot-card { overflow: visible; break-inside: auto; } .ec-bf10-stage-table { min-width: 0; font-size: 8pt; } .ec-bf10-stage-table tr { break-inside: avoid; } }

/* BF-11 Report Evidence: use existing Projects UI tokens instead of a white third-party panel. */
.ec-bf11-panel { margin-block: 1.1rem; padding: 1rem; border: 1px solid var(--ec-border, rgba(112,130,147,.35)); border-radius: 12px; background: rgba(42,63,76,.08); }
.ec-bf11-panel h3 { margin: 0 0 .5rem; font-size: 1.02rem; }
.ec-bf11-panel p { margin: .45rem 0 1rem; line-height: 1.55; }
.ec-bf11-panel label { display: block; margin: .7rem 0 .3rem; font-weight: 600; }
.ec-bf11-panel select { width: 100%; max-width: 100%; }
.ec-bf11-panel .ec-projects-form-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .7rem 0; }
.ec-bf11-panel [data-bf11-snapshot-status] { overflow-wrap: anywhere; font-size: .88rem; }
@media (max-width: 600px) { .ec-bf11-panel { padding: .8rem; } .ec-bf11-panel .ec-projects-form-actions > button { flex: 1 1 100%; } }
