  .semantic-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 2px 0 10px;
    align-items: center;
  }
  .semantic-export-title {
    font-size: 13px;
    font-weight: 700;
    color: #36584a;
    margin-right: 4px;
  }
  .semantic-export-button-row {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .semantic-export-btn {
    min-height: 34px;
    white-space: nowrap;
    min-width: 78px;
  }
  .esi-lifecycle-shell {
    display: flex;
    flex-direction: column;
    gap: 18px;
    border: 1px solid #d8e7dc;
    border-radius: 16px;
    padding: 22px 24px 20px;
    background: #fbfdfb;
    max-width: 1380px;
    margin: 0 auto;
  }
  .esi-actor-pair-panel {
    border: 1px solid #cfe0d4;
    border-radius: 18px;
    background: radial-gradient(circle at top, #fbfefc 0%, #eef7f1 68%, #e7f1ea 100%);
    padding: 18px 22px;
    width: min(100%, 980px);
    margin: 0 auto;
  }
  .esi-actor-panel-help {
    margin: 0 0 14px 0;
    text-align: center;
    font-size: 14px;
    line-height: 1.55;
    color: #3f5d4d;
    font-weight: 600;
  }
  .esi-actor-selector-layout {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(180px, 220px) minmax(240px, 1fr);
    gap: 18px;
    align-items: center;
  }
  .esi-actor-selector-column {
    display: grid;
    align-content: start;
    gap: 12px;
  }
  .esi-actor-selector-title {
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    color: #557264;
    text-align: center;
  }
  .esi-actor-selector-wrap {
    width: min(100%, 300px);
    justify-self: center;
  }
  .esi-actor-selector-input {
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 14px;
    border: 1px solid #c9ddd0;
    background: rgba(255, 255, 255, 0.92);
    color: #244835;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 6px 18px rgba(42, 94, 66, 0.08);
  }
  .esi-actor-selector-input:focus {
    outline: 2px solid rgba(76, 139, 96, 0.28);
    outline-offset: 2px;
    border-color: #78a88a;
  }
  .esi-actor-selector-input:disabled,
  .esi-actor-selector-input option:disabled {
    color: #7e8f85;
  }
  .esi-actor-selector-definition {
    margin: 0;
    max-width: 280px;
    min-height: 42px;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
    color: #3f5d4d;
    font-weight: 600;
  }
  .esi-actor-exchange-panel {
    display: grid;
    gap: 12px;
    justify-items: stretch;
  }
  .esi-actor-exchange-row {
    display: grid;
    justify-items: center;
    justify-content: center;
    gap: 8px;
    align-items: center;
    align-content: center;
    padding: 10px 12px;
    border: 1px solid #cfe0d4;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
  }
  .esi-actor-exchange-copy {
    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
    color: #244835;
    text-align: center;
    width: 100%;
    justify-self: center;
  }
  .esi-exchange-arrow-svg {
    width: 70px;
    height: 18px;
  }
  .esi-exchange-arrow-svg line {
    stroke: #2d6545;
    stroke-width: 2.5;
    stroke-linecap: round;
  }
  .esi-exchange-arrow-svg polygon {
    fill: #2d6545;
  }
  .esi-party {
    display: flex;
    justify-content: center;
  }
  .esi-party-box {
    border: 1px solid #cfe0d4;
    border-radius: 14px;
    background: #f3faf6;
    padding: 14px 18px;
    min-width: min(92%, 560px);
    max-width: 980px;
    text-align: center;
  }
  .esi-party-title {
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #557264;
    font-weight: 800;
    margin-bottom: 8px;
  }
  .esi-party-value {
    font-size: 19px;
    color: #1f3d2f;
    font-weight: 700;
    word-break: break-word;
    line-height: 1.35;
  }
  .esi-intermediary-strip {
    margin: -4px auto 0;
    border: 1px solid #d2e4d8;
    border-radius: 12px;
    background: #f2f8f4;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: min(95%, 880px);
    flex-wrap: wrap;
    justify-content: center;
  }
  .esi-intermediary-label {
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    color: #557264;
  }
  .esi-intermediary-value {
    font-size: 14px;
    font-weight: 700;
    color: #1f3d2f;
  }
  .esi-requester-options {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
  .esi-requester-btn {
    border: 1px solid #b9d4bf;
    border-radius: 999px;
    background: #ffffff;
    color: #1f3d2f;
    padding: 10px 18px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
    display: inline-flex;
    align-items: center;
  }
  .esi-requester-btn:hover {
    transform: translateY(-1px);
    border-color: #6ba17a;
    box-shadow: 0 4px 14px rgba(22, 58, 42, 0.12);
  }
  .esi-requester-btn.active {
    background: linear-gradient(180deg, #e8f6ec 0%, #d8efde 100%);
    border-color: #4c8b60;
    color: #163a2a;
    box-shadow: 0 0 0 3px rgba(24, 98, 63, 0.12);
  }
  .esi-chevron-row {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    padding: 8px 6px;
    justify-content: center;
  }
  .esi-phase {
    min-width: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .esi-phase-top,
  .esi-phase-bottom {
    min-height: 44px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #42554a;
    line-height: 1.3;
  }
  .esi-chevron {
    position: relative;
    width: 100%;
    min-height: 104px;
    border: none;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    padding: 14px 28px 14px 34px;
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 18px 50%);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
    text-align: center;
  }
  .esi-chevron.first {
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
    padding-left: 20px;
  }
  .esi-chevron:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
  }
  .esi-chevron.active {
    box-shadow: 0 0 0 3px rgba(24, 98, 63, 0.25);
    transform: translateY(-1px);
  }
  .esi-chevron.empty {
    opacity: 0.55;
  }
  .esi-chevron-title {
    display: block;
    line-height: 1.1;
    font-size: 20px;
    font-weight: 900;
  }
  .esi-chevron-count {
    position: absolute;
    top: 10px;
    right: 12px;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #1e3d2d;
    font-size: 14px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .esi-cards-panel {
    border-top: 1px solid #d8e7dc;
    padding-top: 16px;
  }
  .esi-cards-title {
    margin: 0 0 10px 0;
    color: #214c34;
    font-size: 20px;
    font-weight: 800;
  }
  .esi-phase-description {
    margin: 0 0 14px 0;
    color: #3f5d4d;
    font-size: 15px;
    line-height: 1.6;
    white-space: pre-wrap;
  }
  .esi-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 12px;
  }
  .esi-function-card {
    border: 1px solid #cfe1d3;
    border-radius: 12px;
    background: #fff;
    padding: 14px;
    cursor: pointer;
    text-align: left;
  }
  .esi-function-card:hover {
    border-color: #86b492;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  }
  .esi-function-name {
    margin: 0 0 10px 0;
    color: #163a2a;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
  }
  .esi-function-context {
    margin: 0;
    color: #486457;
    font-size: 14px;
    line-height: 1.5;
  }
  .esi-function-source {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
    color: #597264;
  }
  .esi-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .esi-badge {
    font-size: 13px;
    font-weight: 700;
    color: #325344;
    background: #eef6f0;
    border: 1px solid #cde2d2;
    border-radius: 999px;
    padding: 4px 10px;
  }
  .technical-lifecycle-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #d8e7dc;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fcf9 0%, #eef7f0 100%);
  }
  .technical-lifecycle-toolbar-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .technical-lifecycle-toolbar-title {
    font-size: 18px;
    font-weight: 900;
    color: #19452f;
    margin: 0;
  }
  .technical-lifecycle-toolbar-text {
    font-size: 14px;
    line-height: 1.55;
    color: #3f5d4d;
  }
  .lifecycle-schema-build-btn {
    margin-left: auto;
    white-space: nowrap;
  }
  .technical-lifecycle-toolbar-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .technical-standalone-landing {
    --cim-module-card-row-gap: 12px;
    --cim-module-grid-height: clamp(445px, calc(100vh - 230px), 485px);
    height: 100%;
    min-height: 0;
    overflow: hidden;
    position: relative;
    padding: 12px 14px;
    box-sizing: border-box;
    background: #f5f7fa;
    color: #153126;
  }

  .technical-standalone-home-layout {
    height: 100%;
    min-height: 0;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(560px, 57%) minmax(0, 43%);
    gap: 12px;
    align-items: stretch;
  }

  .technical-standalone-scope,
  .technical-standalone-workstreams {
    min-width: 0;
    min-height: 0;
  }

  .technical-standalone-scope {
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
  }

  .technical-standalone-section-head {
    flex: 0 0 54px;
    min-height: 54px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
  }

  .technical-standalone-workstreams {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    overflow: hidden;
  }

  .technical-standalone-workstreams .technical-standalone-section-head {
    max-width: 980px;
    text-align: center;
  }

  .technical-standalone-section-head h2 {
    margin: 0 0 4px;
    color: #142f26;
    font-size: 22px;
    line-height: 1.1;
    letter-spacing: 0;
  }

  .technical-standalone-landing .cim-home-panel {
    flex: 0 1 var(--cim-module-grid-height);
    height: var(--cim-module-grid-height);
    max-height: var(--cim-module-grid-height);
    min-height: 0;
    overflow: hidden;
    border: 1px solid #cbd8d1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(24, 52, 38, 0.08);
    padding: 9px;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .technical-standalone-landing .cim-home-panel-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    text-align: left;
  }

  .technical-standalone-landing .cim-home-ontology-controls {
    display: grid;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    align-items: center;
    justify-content: start;
    gap: 10px;
    width: 100%;
  }

  .technical-standalone-landing .cim-home-library-field select {
    width: max-content;
    max-width: 100%;
    min-height: 30px;
    border: 1px solid #bccdc4;
    border-radius: 7px;
    background: #ffffff;
    color: #173126;
    padding: 5px 8px;
    font-size: 11px;
  }

  .technical-standalone-landing .cim-home-confirm-ontology {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    justify-self: start;
    min-height: 30px;
    border: 1px solid #00662c;
    border-radius: 7px;
    background: #00662c;
    color: #ffffff;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 950;
    cursor: pointer;
    white-space: nowrap;
  }

  .technical-standalone-landing .cim-home-confirm-ontology:hover,
  .technical-standalone-landing .cim-home-confirm-ontology:focus-visible {
    background: #075729;
    outline: none;
  }

  .technical-standalone-landing .cim-home-confirm-ontology.confirmed {
    background: #eef8f1;
    color: #0b6630;
    border-color: #8fc5a0;
  }

  .technical-standalone-landing .cim-home-confirm-ontology:disabled {
    cursor: not-allowed;
    opacity: 0.55;
  }

  .technical-standalone-landing .cim-home-source-note {
    min-width: 0;
    color: #557064;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
  }

  .technical-standalone-landing .cim-home-package-panels {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding-right: 4px;
    padding-bottom: 6px;
  }

  .technical-standalone-landing .cim-home-package-domain-panel {
    min-width: 0;
    min-height: 0;
    overflow: visible;
    border: 1px solid #d9e5de;
    border-radius: 8px;
    background: #fbfdfb;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .technical-standalone-landing .cim-home-package-items {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: auto;
    padding-bottom: 4px;
  }

  .technical-standalone-landing .cim-home-check-row {
    display: grid;
    grid-template-columns: 13px minmax(0, 1fr);
    gap: 3px;
    align-items: center;
    min-height: 18px;
    color: #203b30;
    font-size: 10px;
  }

  .technical-standalone-landing .cim-home-check-row input {
    width: 12px;
    height: 12px;
    accent-color: #00662c;
  }

  .technical-standalone-landing .cim-home-check-row b,
  .technical-standalone-landing .cim-home-check-row small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .technical-standalone-landing .cim-home-check-row b {
    font-size: 10px;
  }

  .technical-standalone-landing .cim-home-check-row small,
  .technical-standalone-landing .cim-home-package-count {
    color: #66786f;
    font-size: 8px;
    font-weight: 800;
  }

  .technical-standalone-landing .cim-home-check-row.domain span em {
    display: block;
    margin-top: 2px;
    color: #587267;
    font-size: 9px;
    font-style: normal;
    font-weight: 850;
    line-height: 1.15;
    white-space: normal;
  }

  .technical-standalone-landing .cim-home-check-row.package-child {
    margin-left: 5px;
    padding-left: 5px;
    border-left: 2px solid #dce8e1;
  }

  .technical-standalone-landing .cim-home-check-row.package-row span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
  }

  .technical-standalone-landing .cim-home-package-name {
    flex: 1 1 auto;
  }

  .technical-standalone-landing .cim-home-package-count {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .technical-standalone-landing .cim-home-empty {
    display: block;
    color: #6d7c75;
    padding: 10px;
    font-size: 12px;
    font-weight: 800;
  }

  .technical-standalone-landing .cim-home-empty.compact {
    padding: 8px;
    font-size: 11px;
  }

  .technical-standalone-landing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: var(--cim-module-card-row-gap);
    width: min(660px, 100%);
    justify-content: center;
    align-items: stretch;
  }

  .technical-standalone-action {
    --module-color: #276749;
    --module-soft: #eef9f2;
    --module-border: #95caa8;
    min-height: 0;
    height: var(--cim-module-grid-height);
    max-height: var(--cim-module-grid-height);
    overflow: hidden;
    border: 1px solid var(--module-border);
    border-top: 5px solid var(--module-color);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, var(--module-soft) 100%);
    color: #153126;
    padding: 14px;
    text-align: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    justify-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(27, 49, 38, 0.08);
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  }

  .technical-standalone-action.module-coordination {
    --module-color: #276749;
    --module-soft: #eef9f2;
    --module-border: #95caa8;
  }

  .technical-standalone-action.module-message,
  .technical-standalone-action.cim-module-card.module-message {
    --module-color: #2563eb;
    --module-soft: #eef4ff;
    --module-border: #a7c3ff;
  }

  .technical-standalone-action.module-conversion,
  .technical-standalone-action.cim-module-card.module-dataset {
    --module-color: #b45309;
    --module-soft: #fff7ed;
    --module-border: #f0c38e;
  }

  .technical-standalone-action:hover,
  .technical-standalone-action:focus-visible {
    transform: translateY(-1px);
    border-color: var(--module-color);
    box-shadow: 0 12px 26px rgba(27, 49, 38, 0.14);
    outline: none;
  }

  .technical-standalone-action:focus-visible {
    outline: 3px solid rgba(0, 102, 44, 0.22);
    outline-offset: 3px;
  }

  .technical-standalone-action:disabled,
  .technical-standalone-action[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.52;
    filter: grayscale(0.16);
    box-shadow: none;
  }

  .technical-standalone-action:disabled:hover,
  .technical-standalone-action[aria-disabled="true"]:hover,
  .technical-standalone-action:disabled:focus-visible,
  .technical-standalone-action[aria-disabled="true"]:focus-visible {
    transform: none;
    border-color: var(--module-border);
    box-shadow: none;
  }

  .technical-standalone-action i {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: var(--module-color);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 1000;
    box-shadow: 0 10px 22px rgba(27, 49, 38, 0.14);
  }

  .technical-standalone-landing .cim-module-card-body,
  .technical-standalone-action-body {
    width: 100%;
    min-height: 0;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .technical-standalone-landing .cim-module-card-body b,
  .technical-standalone-action-body b {
    max-width: 190px;
    color: #142f26;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.18;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  .technical-standalone-landing .cim-module-card-body small,
  .technical-standalone-action-body small {
    min-width: 0;
    max-width: 190px;
    color: #52685e;
    font-size: 12px;
    line-height: 1.32;
    overflow-wrap: anywhere;
  }

  .technical-standalone-landing .cim-module-card-detail,
  .technical-standalone-action-detail {
    color: #3f5b50;
    font-size: 11.5px;
    line-height: 1.3;
  }

  .technical-standalone-landing .cim-module-workflows {
    display: block;
    width: 100%;
    max-width: 190px;
    margin-top: auto;
    align-self: center;
    border: 1px solid var(--module-border);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.72);
    color: #27453a;
    padding: 7px 9px;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .technical-standalone-landing .cim-module-workflows b {
    display: block;
    margin-bottom: 2px;
    color: var(--module-color);
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
    line-height: 1.15;
  }

  .technical-standalone-landing-status {
    position: absolute;
    bottom: 24px;
    color: #53685d;
    font-size: 13px;
    font-weight: 800;
  }

  .technical-field-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #557264;
  }
  .technical-text-input {
    border: 1px solid #b9d4bf;
    border-radius: 10px;
    background: #ffffff;
    color: #1f3d2f;
    padding: 10px 12px;
    font-size: 15px;
    font-weight: 600;
  }
  .technical-text-input:focus {
    outline: none;
    border-color: #4c8b60;
    box-shadow: 0 0 0 3px rgba(24, 98, 63, 0.12);
  }
