.home-template { max-width: none !important; margin: 0 !important; }
.shell > main { padding-top: 0 !important; }
.shell main { padding-top: 0 !important; }
#main-content { padding: 0 !important; }
.record-template, .detail-template, .create-template { margin-top: 0 !important; }
.entity-avatar { display: none !important; }
.record-top > div:first-child { gap: 0 !important; }
header, .shell { max-width: none !important; margin: auto; }
.welcome-hero {
  background: #244232 url("./assets/home-hero-background.png") center / cover no-repeat !important;
}

/* Keep editable signal values at the normal Redwood body weight; labels remain emphasized. */
.signal-settings select,
.signal-settings textarea { font-weight: 400; }

/* Override the browser's default `<b>` / `<strong>` weight (`bolder`). */
#app b,
#app strong { font-weight: 600; }

.relationship-progress { min-width: 170px; }
.relationship-progress-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; color: #625f5c; font-size: .82rem; }
.relationship-progress-duration { margin: 0 0 6px; color: #625f5c; font-size: .82rem; }
.relationship-progress-track { height: 8px; overflow: hidden; border-radius: 8px; background: #e6e1dc; }
.relationship-progress-track > span { display: block; height: 100%; min-width: 0; border-radius: inherit; background: #0b78a4; transition: width .25s ease; }
.relationship-progress.is-active .relationship-progress-track > span { background: #00688f; }
.relationship-resolution-page .record-top > div:first-child { display: block; }
.relationship-resolution-page .record-top > div:first-child small { display: block; margin-top: 6px; }
.relationship-summary b,
.relationship-summary small { display: block; }
.relationship-summary small { margin-top: 5px; color: #625f5c; }
.relationship-resolution-page th:nth-child(6),
.relationship-resolution-page td:nth-child(6) { width: 280px; }
.relationship-resolution-page th:last-child,
.relationship-resolution-page td.relationship-actions { width: 1%; white-space: nowrap; }
.relationship-action-buttons { display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-end; gap: 8px; min-width: max-content; }
.welcome-hero .hero-art { display: none !important; }

/* Collection-page workspace template. */
.record-template {
  max-width: none !important;
  background: #424d4d !important;
  box-shadow: none !important;
  padding: 0 0 44px !important;
}
.record-template .record-top {
  background: #424d4d !important;
  padding: 32px clamp(28px, 6vw, 116px) 18px !important;
}
.record-template .record-top h2,
.record-template .record-top small { color: #fff !important; }
.record-template .record-top small { opacity: .76; }
.record-template .record-top .actions { display: flex !important; }
.record-template .pattern-strip { margin: 0 clamp(28px, 2.6vw, 52px); }
.record-template .collection-tabs {
  background: #424d4d !important;
  border: 0 !important;
  padding: 14px clamp(28px, 6vw, 116px) 22px !important;
  gap: 10px !important;
}
.collection-tab-links { display: flex; align-items: center; min-width: 0; }
.record-template .collection-tabs > oj-button { margin-left: auto; }
.row-actions { width: 1%; white-space: nowrap; text-align: right; }
.row-actions > .row-icon-button + .row-icon-button { margin-left: 8px; }
.source-primary-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 38px; margin-left: auto; padding: 0 16px; border: 1px solid #312d2a; border-radius: 2px; background: #312d2a; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.source-primary-button:hover, .source-primary-button:focus-visible { background: #f4f3f2; border-color: #161513; }
.source-actions { display: inline-flex; align-items: center; gap: 12px; }
.source-actions .source-primary-button { margin-left: 0; }
.row-edit-button { display: inline-flex !important; align-items: center; min-height: 34px; padding: 0 10px; border: 1px solid #161513; border-radius: 2px; background: #fff; color: #161513; font: inherit; font-weight: 600; cursor: pointer; }
.row-edit-button:hover, .row-edit-button:focus-visible { border-color: #161513; background: #f4f3f2; color: #161513; }
.record-template .collection-tabs b,
.record-template .collection-tabs span {
  color: #fff !important;
  background: #5a6565;
  border: 0 !important;
  border-radius: 6px;
  margin: 0 !important;
  padding: 8px 13px !important;
}
.record-template .collection-tabs b { background: #697575; }
.record-template .collection {
  margin: 0 clamp(28px, 2.6vw, 52px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 24px rgba(17, 24, 24, .22) !important;
}
.record-template .toolbar {
  background: #fff !important;
  border-bottom: 1px solid #e4e1de !important;
  justify-content: space-between;
}
.record-template .toolbar:after {
  order: -1;
  margin-right: auto;
  background: #fff;
}
.record-template .toolbar:after { display: none !important; }
.welcome-hero {
  background-image: url("./assets/fusion-context-banner-v3.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

/* Full-screen Home navigation. */
.home-template {
  height: calc(100dvh - 56px) !important;
  min-height: calc(100dvh - 56px) !important;
  box-shadow: none !important;
}
.home-template .welcome-hero {
  display: grid !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: clamp(24px, 6vw, 112px) !important;
  place-items: center !important;
}
.home-hero-content { width: min(100%, 800px); }
.home-hero-heading { margin: 0 0 20px; color: #fff; }
.home-hero-heading p { margin: 0 0 8px; font-size: .9rem; font-weight: 600; letter-spacing: .08em; }
.home-hero-heading h1 { margin: 0; color: #fff; font-size: clamp(2rem, 3.3vw, 3.5rem) !important; }
.home-hero-panel { width: min(100%, calc(100vw - 48px)); margin-top: 34px; padding: 0; background: transparent; box-shadow: none; }
.home-quick-access-label { margin: 0 0 12px; color: #fff; font-size: .78rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.home-hero-actions {
  display: flex;
  align-items: stretch;
  gap: 12px;
  width: fit-content;
}
.home-hero-action {
  display: grid;
  gap: 6px;
  width: 94px;
  min-height: 94px;
  padding: 12px 10px;
  place-items: center;
  border: 0;
  border-radius: 14px;
  background: rgba(15, 55, 63, .75);
  color: #fff !important;
  font-weight: 600;
  font-size: .86rem;
  text-decoration: none;
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.home-hero-action:hover,
.home-hero-action:focus-visible {
  background: rgba(18, 72, 80, .95);
  outline: 2px solid #8de7e6;
  outline-offset: 2px;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
}
#app .home-hero-action [class^="oj-ux-ico-"] {
  font-size: 2rem !important;
  line-height: 1;
}
@media (max-width: 700px) {
  .home-template { height: calc(100dvh - 52px) !important; min-height: calc(100dvh - 52px) !important; }
  .home-template .welcome-hero { padding: 24px !important; }
  .home-hero-content { max-width: 420px; }
  .home-hero-panel { width: 100%; }
  .home-hero-actions { flex-wrap: wrap; }
  .home-hero-action { width: 88px; min-height: 88px; }
}

/* Restore the light collection color system; retain the expanded layout width. */
.record-template { background: #fff !important; }
.record-template .record-top { background: #faf9f8 !important; }
.record-template .record-top h2 { color: #161513 !important; }
.record-template .record-top small { color: #625f5c !important; opacity: 1 !important; }
.record-template .collection-tabs { background: #fff !important; border-bottom: 1px solid #ded9d4 !important; }
.record-template .collection-tabs b,
.record-template .collection-tabs span { color: #161513 !important; background: transparent !important; border-radius: 0 !important; }
.record-template .collection-tabs b { border-bottom: 2px solid #1e1b19 !important; }
.record-template .collection { box-shadow: none !important; border: 1px solid #d8d5d2 !important; }
.record-template .toolbar:after { content: none !important; display: none !important; }
.record-template .record-top { padding: 24px 36px 18px !important; }
.record-top { background: linear-gradient(115deg, #faf9f8 0%, #f3f1ee 100%) !important; }
.toolbar { display: none !important; }

/* Redwood collection refinement. */
.record-template { background: #f7f6f4 !important; }
.record-template .record-top {
  background: #fff !important;
  border-bottom: 1px solid #e1dedb;
  padding: 28px clamp(20px, 4vw, 72px) 20px !important;
}
.record-template .record-top h2 { margin: 0 !important; }
.record-template .record-top small { display: block; margin-top: 4px; }
.record-template .pattern-strip { height: 7px !important; }
.record-template .collection-tabs {
  padding: 0 clamp(20px, 4vw, 72px) !important;
  min-height: 54px;
  align-items: center;
  background: #fff !important;
}
.record-template .collection-tabs b,
.record-template .collection-tabs span { padding: 16px 0 !important; }
.record-template .collection-tabs span { margin-left: 28px !important; }
.record-template .collection {
  background: #fff !important;
  margin: 20px clamp(20px, 4vw, 72px) 32px !important;
  border: 1px solid #d9d6d2 !important;
  border-radius: 2px !important;
  overflow: hidden;
}
.record-template .collection > .toolbar { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; }
.record-template .table-wrap { border-top: 0 !important; }
.record-template th { background: #f5f4f2 !important; color: #3b3835 !important; font-weight: 600; }
.record-template td { color: #252321; }
.record-template tbody tr:hover td { background: #f2f8fa !important; }
.record-template footer { min-height: 54px; border-top: 1px solid #e4e1de; background: #fff !important; }
.record-template .table-wrap:after { display: none !important; }
@media(max-width:520px) {
  .record-template .record-top { padding: 22px 16px 16px !important; }
  .record-template .collection-tabs { padding: 0 16px !important; }
  .record-template .collection { margin: 12px 0 20px !important; border-left: 0 !important; border-right: 0 !important; }
}
.record-template .pattern-strip { margin: 0 !important; }
.record-template .collection { margin: 0 !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important; }
.detail-layout { padding: 0 !important; }
.detail-content { margin-top: 0 !important; }
.record-template table { background: #fff; }
.record-template th:first-child,
.record-template td:first-child { padding-left: 60px !important; }
.record-template th:last-child,
.record-template td:last-child { padding-right: 60px !important; }
.record-template footer { padding-left: 60px !important; padding-right: 60px !important; background: #fff; }
@media(max-width:900px) {
  .record-template .record-top { padding: 24px 20px 14px !important; }
  .record-template .collection-tabs { padding: 12px 20px 18px !important; }
  .record-template .pattern-strip,.record-template .collection { margin-left: 20px !important; margin-right: 20px !important; }
  .record-template th:first-child,
  .record-template td:first-child { padding-left: 20px !important; }
  .record-template th:last-child,
  .record-template td:last-child { padding-right: 20px !important; }
  .record-template footer { padding-left: 20px !important; padding-right: 20px !important; }
}
@media(max-width:520px) {
  .record-template .pattern-strip,.record-template .collection { margin-left: 0 !important; margin-right: 0 !important; }
  .record-template .collection-tabs { padding-left: 14px !important; }
}

/* Header brand supplied by the user. */
.mark {
  width: 44px !important;
  height: 28px !important;
  border-radius: 0 !important;
  background: transparent url("./assets/oracle_logo_3.png") center / contain no-repeat !important;
  color: transparent !important;
}

/* Shared type scale: every semantic heading uses the requested bold weight. */
#app h1,
#app h2,
#app h3,
#app h4,
#app h5,
#app h6 {
  font-weight: 600 !important;
}

#app h3 {
  font-size: 1.6rem !important;
}

/* Detail views share the same full content width as collection/list views. */
.detail-template {
  width: 100% !important;
  max-width: none !important;
  padding-bottom: 0 !important;
}

.detail-template::before {
  content: none !important;
  display: none !important;
}

.detail-rail {
  margin-top: 0 !important;
  background: #f7f6f4 !important;
  border-right: 1px solid #e3e0dc !important;
  align-self: stretch !important;
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.detail-rail::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("./assets/background-shell-database-start.png") center bottom / 100% auto no-repeat;
  content: '';
  opacity: .32;
}
.detail-rail > * { position: relative; z-index: 1; }

.detail-layout {
  align-items: stretch !important;
}

@media (min-width: 901px) {
  .detail-template {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 56px);
    overflow: hidden;
  }

  .detail-template > .pattern-strip {
    flex: 0 0 auto;
  }

  .detail-template > .detail-layout {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  .detail-rail {
    overflow: hidden;
  }

  .detail-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

/* Detail pages inspect governed resources; all mutations happen in focused modal forms. */
#app h1, #app h2, #app h3, #app h4, #app h5, #app h6 { font-weight: 600 !important; }
.section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.section-heading p { margin-top: 4px; color: #625f5c; }
.endpoint-catalog { margin: 34px 0; }
.job-live-progress { position: relative; margin: 24px 0 34px; padding: 18px 20px 18px 28px; overflow: hidden; border: 1px solid #d9d2c8; background: #f7fbfb; }
.job-live-progress > .pattern-strip { position: absolute; inset: 0 auto 0 0; width: 7px; height: auto; overflow: hidden; background: none; }
.job-live-progress > .pattern-strip::before { position: absolute; top: 0; left: 7px; width: max(600px, 100dvh); height: 7px; background: url("./assets/header-strip-plum.png") center / 100% 100% no-repeat; content: ''; transform: rotate(90deg); transform-origin: top left; }
.job-live-progress h3 { margin: 0 0 4px; }
.job-live-progress p { margin: 0; color: #625f5c; }
.loader { width:15px; flex:0 0 15px; aspect-ratio:1; border-radius:50%; background:#000; animation:l5 1s infinite linear alternate; }
@keyframes l5 { 0%{box-shadow:20px 0 #000,-20px 0 #0002;background:#000}33%{box-shadow:20px 0 #000,-20px 0 #0002;background:#0002}66%{box-shadow:20px 0 #0002,-20px 0 #000;background:#0002}100%{box-shadow:20px 0 #0002,-20px 0 #000;background:#000} }
.app-loading { display:inline-flex; align-items:center; gap:28px; min-height:20px; }
.job-progress-statusline { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 12px; font-size: 1rem; line-height: 1.25; }
.job-progress-sources, .job-progress-activity { font-size: inherit; }
.job-progress-activity { display: flex; align-items: center; gap: 10px; margin-top: 12px; color: #075c8d; font-weight: 600; }
/* The loader paints two dots outside its centre; reserve space with margin, not a larger dot. */
.job-progress-loader { width: 15px; flex: 0 0 15px; margin: 0 20px; }
@media (prefers-reduced-motion: reduce) { .loader { animation: none; } }
.job-progress-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.job-progress-metrics small, .job-progress-metrics b { display: block; }
.job-progress-metrics small { color: #625f5c; }
.job-progress-metrics b { font-size: 1.25rem; margin-top: 4px; }
.signal-detail-template .detail-content{min-width:0}.signal-detail-rail .connection-logo{background:#3f3b38;color:#fff}.signal-detail-rail h3{overflow-wrap:anywhere}.signal-definition-intro{color:#706b66;margin:18px 0 0;max-width:700px}.signal-workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,3fr);gap:0;min-height:100%;padding:0}.signal-workspace>article{padding-right:34px}.signal-ai-panel{position:sticky;top:0;display:flex;flex-direction:column;align-self:start;box-sizing:border-box;width:100%;height:calc(100dvh - 96px);min-height:520px;border-left:1px solid #dcd7d2;padding:26px 0 12px 26px}.signal-ai-panel h3{margin:0}.signal-ai-panel>div>p,.signal-ai-panel>small{color:#706b66}.signal-chat{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:12px;overflow:auto;margin:18px 0}.signal-chat>div{align-self:start;padding:10px 12px;border-radius:2px;line-height:1.4}.signal-chat .assistant{background:#f1eee9}.signal-chat .user{background:#e7f2f6;margin-left:16px}.signal-copilot-composer{flex:0 0 auto;margin-top:auto;padding:14px 0 2px;border-top:1px solid #ded9d4;background:#fff}.signal-ai-form{display:grid;gap:8px;width:100%}.signal-ai-form:first-child button{justify-self:end}.signal-ai-form+.signal-ai-form{margin-top:12px}.signal-ai-form textarea,.signal-grid textarea,.signal-grid input,.signal-grid select,.signal-rule textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #8c8985;border-radius:2px;padding:9px;background:#fff}.signal-ai-form textarea{min-height:84px}.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.signal-grid label{display:grid;gap:6px;font-weight: 600}.signal-rule-list{border-top:1px solid #ded9d4;margin:10px 0 22px}.signal-rule-list>div{padding:12px 0;border-bottom:1px solid #ded9d4;display:grid;gap:3px}.signal-rule-list span{color:#706b66}.signal-rule{background:#f7f5f2;padding:14px}.signal-rule textarea{min-height:92px;resize:vertical}.signal-approval{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px}.signal-status{color:#625f5c}.resolution-live-progress{margin-top:18px}@media(max-width:900px){.signal-workspace{grid-template-columns:1fr;padding:0}.signal-workspace>article{padding-right:0}.signal-ai-panel{position:static;height:auto;min-height:0;border-left:0;border-top:1px solid #dcd7d2;padding:24px 0 0;margin-top:24px}.signal-chat{flex:none;max-height:220px}.signal-grid{grid-template-columns:1fr}}
.signal-detail-template:before{display:none!important}.signal-detail-layout{display:block!important;background:#fff!important;padding:0!important}.signal-detail-template .signal-detail-content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.signal-detail-template .detail-content{min-width:0}.signal-definition-intro{color:#706b66;margin:18px 0 0;max-width:700px}.signal-workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,3fr);gap:0;min-height:100%;padding:0 34px}.signal-workspace-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 20px;border-bottom:1px solid #ded9d4}.signal-workspace-header h2{margin:0;font-size:1.65rem}.signal-workspace-header span{display:block;margin-top:4px;color:#706b66}.signal-workspace-header-actions{display:flex;align-items:center;gap:18px}.signal-workspace-header-actions>a{white-space:nowrap}.signal-settings{position:relative}.signal-settings summary{cursor:pointer;color:#00688f;font-weight: 600}.signal-settings>div{position:absolute;z-index:3;right:0;top:calc(100% + 10px);display:grid;gap:12px;width:min(340px,calc(100vw - 48px));padding:18px;border:1px solid #d8d3cd;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.14)}.signal-settings label{display:grid;gap:6px;font-weight: 600}.signal-settings select,.signal-settings textarea{box-sizing:border-box;width:100%;padding:8px;border:1px solid #8c8985;background:#fff;font:inherit}.signal-settings textarea{min-height:84px;resize:vertical}.signal-workspace>article{padding:26px 34px 26px 0}.signal-ai-panel{position:sticky;top:0;display:flex;flex-direction:column;align-self:start;box-sizing:border-box;width:100%;height:calc(100dvh - 144px);min-height:520px;border-left:1px solid #dcd7d2;padding:26px 0 12px 26px}.signal-ai-panel h3{margin:0}.signal-ai-panel>div>p,.signal-ai-panel>small{color:#706b66}.signal-chat{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:12px;overflow:auto;margin:18px 0}.signal-chat>div{align-self:start;padding:10px 12px;border-radius:2px;line-height:1.4}.signal-chat .assistant{background:#f1eee9}.signal-chat .user{background:#e7f2f6;margin-left:16px}.signal-copilot-composer{flex:0 0 auto;margin-top:auto;padding:14px 0 2px;border-top:1px solid #ded9d4;background:#fff}.signal-ai-form{display:grid;gap:8px;width:100%}.signal-ai-form:first-child button{justify-self:end}.signal-ai-form+.signal-ai-form{margin-top:12px}.signal-ai-form textarea,.signal-grid textarea,.signal-grid input,.signal-grid select,.signal-rule textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #8c8985;border-radius:2px;padding:9px;background:#fff}.signal-ai-form textarea{min-height:84px}.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.signal-grid label{display:grid;gap:6px;font-weight: 600}.signal-rule-list{border-top:1px solid #ded9d4;margin:10px 0 22px}.signal-rule-list>div{padding:12px 0;border-bottom:1px solid #ded9d4;display:grid;gap:3px}.signal-rule-list span{color:#706b66}.signal-rule{background:#f7f5f2;padding:14px}.signal-rule textarea{min-height:92px;resize:vertical}.signal-approval{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px}.signal-status{color:#625f5c}.resolution-live-progress{margin-top:18px}@media(max-width:900px){.signal-workspace{grid-template-columns:1fr;padding:0 22px}.signal-workspace-header{align-items:flex-start;flex-direction:column}.signal-workspace>article{padding-right:0}.signal-ai-panel{position:static;height:auto;min-height:0;border-left:0;border-top:1px solid #dcd7d2;padding:24px 0 0;margin-top:24px}.signal-chat{flex:none;max-height:220px}.signal-grid{grid-template-columns:1fr}}
.signal-dataset-picker{display:grid;gap:8px;margin:0;padding:0;border:0}.signal-dataset-picker legend{margin-bottom:8px;font-weight: 600}.signal-dataset-option{display:grid!important;grid-template-columns:auto 1fr;gap:2px 9px!important;align-items:center;padding:10px 12px;border:1px solid #ded9d4;background:#fff}.signal-dataset-option input{grid-row:span 2}.signal-dataset-option small{grid-column:2;color:#706b66}
/* Signal creation follows the Redwood compact-dialog pattern: grouped choices,
   restrained surfaces, and one clear progression from scope to definition. */
#signal-create-dialog{width:min(860px,calc(100vw - 48px))}
#signal-create-dialog header{min-height:132px;padding:24px 32px}
#signal-create-dialog .modal-form{display:block;padding:0;background:#f7f6f4}
#signal-create-dialog .modal-capability-notice:empty{display:none}
#signal-create-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#signal-create-dialog .signal-create-body{display:grid;gap:0}
#signal-create-dialog .signal-create-section{padding:24px 32px 28px;background:#f7f6f4}
#signal-create-dialog .signal-create-section+.signal-create-section{border-top:1px solid #ddd8d2}
#signal-create-dialog .signal-create-section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}
#signal-create-dialog .signal-create-section-heading h4,#signal-create-dialog .signal-create-section-heading p{margin:0}
#signal-create-dialog .signal-create-section-heading h4{font-size:1.05rem}
#signal-create-dialog .signal-create-section-heading p{margin-top:4px;color:#625f5c}
#signal-create-dialog .signal-dataset-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#signal-create-dialog .signal-dataset-option{position:relative;min-height:74px;box-sizing:border-box;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:14px;border-color:#d4cfca;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
#signal-create-dialog .signal-dataset-option:hover{border-color:#16709c;background:#fbfdfe}
#signal-create-dialog .signal-dataset-option:has(input:checked){border-color:#16709c;background:#edf7fb;box-shadow:inset 3px 0 0 #16709c}
#signal-create-dialog .signal-dataset-option input{width:20px;height:20px;margin:0;accent-color:#1473a6}
#signal-create-dialog .signal-dataset-copy{display:grid;min-width:0;gap:4px}
#signal-create-dialog .signal-dataset-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#252321}
#signal-create-dialog .signal-dataset-copy small{grid-column:auto;color:#625f5c;font-size:.84rem;line-height:1.25}
#signal-create-dialog .signal-create-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px 24px}
#signal-create-dialog .signal-create-fields label{gap:7px}
#signal-create-dialog .signal-create-fields textarea{min-height:98px}
#signal-create-dialog footer{min-height:86px;padding:20px 32px 26px;border-top:1px solid #ddd8d2}
@media(max-width:700px){#signal-create-dialog{width:calc(100vw - 24px)}#signal-create-dialog header{min-height:0;padding:26px 20px}#signal-create-dialog .signal-create-section{padding:20px}#signal-create-dialog .signal-dataset-picker,#signal-create-dialog .signal-create-fields{grid-template-columns:1fr}#signal-create-dialog footer{padding:20px}}
#signal-create-definition-dialog{width:min(860px,calc(100vw - 48px));border:0;border-radius:8px;box-shadow:0 18px 46px rgba(0,0,0,.24)}#signal-create-definition-dialog header{min-height:132px;padding:24px 32px}#signal-create-definition-dialog .modal-form{display:block;padding:0;background:#f7f6f4}#signal-create-definition-dialog .modal-capability-notice:empty{display:none}#signal-create-definition-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#signal-create-definition-dialog .signal-create-body{display:grid;gap:0}#signal-create-definition-dialog .signal-create-section{padding:24px 32px 28px;background:#f7f6f4}#signal-create-definition-dialog .signal-create-section+.signal-create-section{border-top:1px solid #ddd8d2}#signal-create-definition-dialog .signal-create-section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}#signal-create-definition-dialog .signal-create-section-heading h4,#signal-create-definition-dialog .signal-create-section-heading p{margin:0}#signal-create-definition-dialog .signal-create-section-heading h4{font-size:1.05rem}#signal-create-definition-dialog .signal-create-section-heading p{margin-top:4px;color:#625f5c}#signal-create-definition-dialog .signal-dataset-picker{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}#signal-create-definition-dialog .signal-dataset-option{position:relative;min-height:74px;box-sizing:border-box;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:14px;border-color:#d4cfca;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}#signal-create-definition-dialog .signal-dataset-option:hover{border-color:#16709c;background:#fbfdfe}#signal-create-definition-dialog .signal-dataset-option:has(input:checked){border-color:#16709c;background:#edf7fb;box-shadow:inset 3px 0 0 #16709c}#signal-create-definition-dialog .signal-dataset-option input{width:20px;height:20px;margin:0;accent-color:#1473a6}#signal-create-definition-dialog .signal-dataset-copy{display:grid;min-width:0;gap:4px}#signal-create-definition-dialog .signal-dataset-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#252321}#signal-create-definition-dialog .signal-dataset-copy small{grid-column:auto;color:#625f5c;font-size:.84rem;line-height:1.25}#signal-create-definition-dialog .signal-create-fields{display:grid;grid-template-columns:1fr;gap:18px}#signal-create-definition-dialog .signal-create-fields label{display:grid;gap:7px;width:100%}#signal-create-definition-dialog .signal-create-fields input,#signal-create-definition-dialog .signal-create-fields textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #8c8985;border-radius:2px;padding:10px 12px;background:#fff}#signal-create-definition-dialog .signal-create-fields textarea{min-height:104px;resize:vertical}#signal-create-definition-dialog footer{min-height:86px;padding:20px 32px 26px;border-top:1px solid #ddd8d2}@media(max-width:700px){#signal-create-definition-dialog{width:calc(100vw - 24px)}#signal-create-definition-dialog header{min-height:0;padding:26px 20px}#signal-create-definition-dialog .signal-create-section{padding:20px}#signal-create-definition-dialog .signal-dataset-picker{grid-template-columns:1fr}#signal-create-definition-dialog footer{padding:20px}}
.signal-scope{margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid #ded9d4}.signal-scope .section-heading{align-items:start}.signal-scope .section-heading h3{margin:0}.signal-scope .section-heading p{margin:6px 0 0;color:#706b66}.signal-scope-grid{display:grid;gap:8px;margin-top:16px}.signal-scope-object{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #ded9d4;background:#fff}.signal-scope-object span{display:grid;gap:2px}.signal-scope-object small{color:#706b66}.signal-primary-choice{display:flex!important;align-items:center;gap:5px;color:#625f5c;font-size:.9rem}
.signal-recommendation>.section-heading{align-items:center;padding:0;margin:0}.signal-recommendation>.section-heading h3{margin:0;padding:0;line-height:1}
.signal-scope-summary{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:0 0 28px;padding:0 0 22px;border-bottom:1px solid #ded9d4}.signal-scope-summary h3{margin:0}.signal-scope-summary p{margin:6px 0 0;color:#706b66}.signal-scope-grid{display:grid;gap:12px;margin:0}.signal-scope-object{min-height:70px}
.signal-evidence-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:18px;align-items:start}.signal-evidence-values{display:grid;gap:6px;color:#625f5c;font-size:.85rem}.signal-evidence-values select{min-height:82px;padding:6px;border:1px solid #8c8985;background:#fff;font:inherit;color:#161513}@media(max-width:900px){.signal-evidence-row{grid-template-columns:1fr}}
.signal-evidence-condition{display:grid;gap:8px}.signal-evidence-condition>label{display:grid;gap:5px;color:#625f5c;font-size:.85rem}.signal-evidence-condition select,.signal-evidence-condition input{min-height:38px;padding:7px;border:1px solid #8c8985;background:#fff;font:inherit;color:#161513}.signal-evidence-condition input[type="date"]{min-width:180px;color-scheme:light}.signal-evidence-condition [hidden]{display:none}
.signal-range-input{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.signal-range-input span{color:#625f5c}
.signal-evidence-clauses{display:grid;gap:14px}.signal-condition-clause{padding:14px;border:0;background:#fff}.signal-condition-clause+.signal-condition-clause{border-top:3px solid #e6e1dc}.signal-add-condition{justify-self:start;margin-top:14px}.signal-remove-condition{justify-self:start;padding:0;border:0;background:transparent;color:#006f9d;font:inherit;text-decoration:underline;cursor:pointer}
.signal-evidence-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.signal-evidence-summary>div{display:grid;gap:5px;min-width:0}.signal-evidence-summary span{display:block;color:#706b66}.signal-evidence-summary .row-icon-button{margin-top:1px}.signal-evidence-actions{display:flex!important;gap:8px}.signal-evidence-actions .signal-delete-evidence{color:#a52a2a;border-color:#a52a2a}.signal-evidence-actions .signal-delete-evidence:hover:not(:disabled),.signal-evidence-actions .signal-delete-evidence:focus-visible{background:#fff2f1;color:#8b1f1f}.signal-evidence-actions .signal-delete-evidence:disabled{opacity:.45;cursor:not-allowed}
.signal-chip-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:40px;padding:5px;border:1px solid #8c8985;background:#fff}.signal-chip-input input{flex:1 1 120px!important;min-height:28px!important;padding:3px!important;border:0!important;outline:0}.signal-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;background:#e7f2f6;color:#161513;font-size:.85rem}.signal-chip button{min-width:18px!important;min-height:18px!important;padding:0!important;border:0!important;background:transparent!important;font-size:1rem!important;line-height:1!important}
.signal-detail-rail #signal-edit-scope{display:block;margin-bottom:18px}.signal-detail-rail>a{display:block}
[id^="signal-condition-dialog-"]{width:min(760px,calc(100vw - 48px))}[id^="signal-condition-dialog-"] .modal-form{grid-template-columns:minmax(0,1fr);gap:0;padding:24px 32px 28px;background:#f7f6f4}[id^="signal-condition-dialog-"] .modal-capability-notice:empty{display:none}[id^="signal-condition-dialog-"] .signal-conditions-editor{display:grid;gap:0;width:100%;background:#fff}[id^="signal-condition-dialog-"] .signal-evidence-row{grid-template-columns:minmax(0,1fr);gap:16px;min-height:118px;padding:20px 22px;border:1px solid #d8d4d0;background:#fff}[id^="signal-condition-dialog-"] .signal-evidence-description{display:grid;align-content:start;min-width:0}[id^="signal-condition-dialog-"] .signal-evidence-description b{font-size:1.05rem}[id^="signal-condition-dialog-"] .signal-evidence-condition{align-content:start;width:100%}[id^="signal-condition-dialog-"] .signal-evidence-condition label{font-weight:600}[id^="signal-condition-dialog-"] footer{border-top:1px solid #ded9d4}@media(max-width:700px){[id^="signal-condition-dialog-"]{width:calc(100vw - 24px)}[id^="signal-condition-dialog-"] .modal-form{padding:20px}[id^="signal-condition-dialog-"] .signal-evidence-row{padding:18px}}
.job-run-error { display: block; margin-top: 5px; color: #a52a2a; }
.signal-pending-evidence{display:grid;gap:8px;align-self:stretch;padding:14px;border:1px solid #c9c4bd;background:#fff}.signal-pending-evidence span{color:#625f5c}.signal-pending-evidence ul{display:grid;gap:5px;margin:0;padding-left:18px;color:#625f5c}.signal-pending-evidence code{color:#161513}.signal-pending-evidence button{margin:2px 0 0}
.signal-ai-actions{display:flex;align-items:center;gap:10px}.signal-ai-actions .row-edit-button{flex:1 1 auto}.signal-ai-actions .source-primary-button{margin-left:0}
.signal-detail-template .detail-content{padding-top:0!important}
.signal-detail-template .signal-workspace{grid-template-columns:minmax(0,1fr)}
.signal-detail-template .signal-workspace>article{padding-right:0}
.signal-rule-help{margin:0 0 12px;color:#625f5c;line-height:1.45}
.signal-rule-actions{display:flex;justify-content:flex-end;margin-top:12px}
.signal-match-summary{display:flex;align-items:center;gap:12px;padding-right:0;border-right:0}.signal-match-summary>div{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.signal-match-summary small,.signal-match-summary b{display:block}.signal-match-summary small{color:#625f5c;font-size:.8rem}.signal-match-summary b{font-size:1.2rem;line-height:1.1}@media(max-width:640px){.signal-match-summary{padding:0;border:0}}
.signal-refresh-count{display:inline-flex;align-items:center;gap:7px}.signal-refresh-count [class^="oj-ux-ico-"]{font-size:.95rem}
/* Signals use the same contextual rail and scrolling content surface as jobs. */
.signal-detail-template .signal-detail-layout{display:grid!important;grid-template-columns:312px minmax(0,1fr);padding:0!important;background:#fff!important}
.signal-detail-template .signal-detail-rail{align-self:stretch!important;margin:0!important;padding:36px 24px!important;border-right:1px solid #e3e0dc!important;box-shadow:none!important}
.signal-detail-template .signal-detail-content{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:30px 40px 40px!important;background:#fff!important}
.signal-detail-template .signal-workspace{padding:0!important}
.signal-detail-template .signal-workspace-header{padding:0 0 22px!important}
.signal-detail-rail .signal-rail-settings{display:block;margin:24px 0 20px;padding-top:18px;border-top:1px solid #d8d3cd}
.signal-detail-rail .signal-rail-settings summary{color:#006f9d;font-weight: 600}
.signal-detail-rail .signal-rail-settings>div{position:static;display:grid;gap:12px;width:auto;margin-top:12px;padding:0;border:0;box-shadow:none;background:transparent}
.signal-detail-rail .signal-delivery{margin:22px 0;padding-top:18px;border-top:1px solid #d8d3cd}.signal-detail-rail .signal-delivery h4{margin:0 0 8px}.signal-detail-rail .signal-delivery p{margin:0 0 10px;font-size:.875rem}.signal-detail-rail .signal-delivery code{display:block;overflow-wrap:anywhere;margin:7px 0;color:#3a3a3a;font-size:.75rem}
.signal-detail-rail .signal-rail-settings label{display:grid;gap:6px;font-weight: 600}
.signal-detail-rail .signal-rail-settings select,.signal-detail-rail .signal-rail-settings textarea{width:100%;box-sizing:border-box;border:1px solid #8c8985;background:#fff;padding:8px;font:inherit}.signal-detail-rail .signal-rail-settings textarea{min-height:84px;resize:vertical}
@media(max-width:900px){.signal-detail-template .signal-detail-layout{grid-template-columns:1fr}.signal-detail-template .signal-detail-rail{padding:24px!important;border-right:0!important;border-bottom:1px solid #e3e0dc!important}.signal-detail-template .signal-detail-content{padding:26px 22px!important}}
@media (min-width:901px){.signal-detail-template .signal-ai-panel{height:calc(100dvh - 290px);min-height:0;max-height:calc(100dvh - 290px)}.signal-detail-template .signal-copilot-composer{padding-bottom:12px}}
.signal-evidence-summary.ai-proposed,.signal-rule-proposal.ai-proposed{position:relative;overflow:hidden;border-left:0;background:#eef7f9}.signal-evidence-summary.ai-proposed::before,.signal-rule-proposal.ai-proposed::before{position:absolute;top:0;right:0;left:0;height:7px;background:url("./assets/header-strip-plum.png") center/cover no-repeat;content:""}.signal-evidence-summary.ai-proposed{padding:19px 12px 12px}.signal-proposal-actions,.signal-rule-proposal{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.signal-proposal-actions span,.signal-rule-proposal span{margin-right:auto;color:#08627c;font-size:.88rem;font-weight:600}.signal-rule-proposal{margin:0 0 10px;padding:19px 10px 10px}.signal-copilot-status{margin:8px 0 0;color:#625f5c;line-height:1.4}
@media (min-width:901px){.signal-detail-template .signal-rule-list{max-height:calc(100dvh - 470px);min-height:190px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px}}
@media (min-width:901px){.signal-detail-template .signal-detail-layout{height:100%;min-height:0}.signal-detail-template .signal-detail-content{height:100%;box-sizing:border-box;overflow-y:auto!important;overscroll-behavior:contain}.signal-detail-template .signal-workspace{min-height:100%;padding-bottom:36px}}
@media (min-width:901px){.signal-detail-template .signal-detail-rail{height:100%;min-height:0;box-sizing:border-box;overflow-y:auto!important;overscroll-behavior:contain}}
@media (min-width:901px){.signal-detail-template .signal-workspace>article{display:flex;min-height:100%;flex-direction:column}.signal-detail-template .signal-recommendation{display:flex;min-height:100%;flex:1 1 auto;flex-direction:column}.signal-detail-template .signal-rule-list{min-height:0!important;flex:1 1 auto;overflow-y:auto!important;overscroll-behavior:contain}.signal-detail-template .signal-rule{position:sticky;z-index:2;bottom:0;margin-top:auto;box-shadow:0 -8px 18px rgba(0,0,0,.05)}.signal-detail-template .signal-approval{order:1}.signal-detail-template .signal-rule{order:2}}
.signal-detail-template .signal-detail-content{padding:24px 40px 32px!important}.signal-detail-template .signal-rule-list{min-height:0!important;max-height:none!important;margin:8px 0 16px!important;padding-right:0!important;overflow:visible!important}.signal-detail-template .signal-recommendation>h4{margin:0 0 10px}.signal-detail-template .signal-approval{margin-top:16px}.signal-detail-template .signal-rule{padding:12px}
.signal-ai-loading{margin:0}
.signal-draft-loading{margin:0}
#signal-generate-draft[aria-busy]{min-width:118px}
.signal-rail-priority{display:grid;gap:6px;margin:20px 0 18px;font-weight: 600}.signal-rail-priority select{min-height:38px;width:100%;padding:7px;border:1px solid #8c8985;background:#fff;font:inherit;color:#161513}
.signal-rail-outcome{display:grid;gap:6px;margin:0 0 18px;font-weight: 600}.signal-rail-outcome textarea{box-sizing:border-box;min-height:92px;width:100%;padding:8px;border:1px solid #8c8985;background:#fff;font:inherit;color:#161513;resize:vertical}
.signal-opportunities{margin:24px 28px;padding:18px 20px;border:1px solid #ded9d4;background:#f7f6f4}.signal-opportunities h3{margin:0}.signal-opportunities-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px}.signal-opportunity{display:grid;gap:8px;padding:15px;border:1px solid #d8d3cd;background:#fff}.signal-opportunity h4,.signal-opportunity p{margin:0}.signal-opportunity small,.signal-opportunity p{color:#625f5c}.signal-opportunity button{justify-self:start;margin-top:4px}.signal-discovery-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:28px;margin:28px;padding:24px;border:1px solid #ded9d4;background:#fff}.signal-discovery-intro h3,.signal-discovery-intro p{margin:0}.signal-discovery-intro p{margin-top:10px;color:#625f5c;max-width:760px}.signal-discovery-intro aside{padding-left:24px;border-left:1px solid #ded9d4}.signal-discovery-intro ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.signal-discovery-intro li{display:flex;justify-content:space-between;gap:16px}.signal-discovery-intro li span{color:#625f5c}@media (max-width:760px){.signal-discovery-intro{grid-template-columns:1fr}.signal-discovery-intro aside{padding:18px 0 0;border-top:1px solid #ded9d4;border-left:0}}
.job-run-record { margin: 0 0 22px; padding: 14px; border: 1px solid #ddd7cf; background: #fff; }
.job-run-record h4 { margin: 0 0 12px; font-size: 1rem; }
.job-run-record-disclosure > summary { display: flex; align-items: center; min-height: 36px; cursor: pointer; font-weight: 600; }
.job-run-record-disclosure > summary:focus-visible { outline: 2px solid #1685b5; outline-offset: 3px; }
.job-run-record-fields > .row-edit-button { margin: 14px 0 10px; }
.job-version-timing { margin: -4px 0 12px; color: #625f5c; font-size: .9rem; }
.job-version-changed { background: #fff8df; }
.job-version-explorer-controls { position: sticky; top: -32px; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -32px -44px 20px; padding: 16px 44px; border-bottom: 1px solid #ddd7cf; background: #f7f6f4; }
.job-version-explorer-controls span { margin-right: auto; color: #625f5c; }
.job-run-record table { width: 100%; border-collapse: collapse; }
.job-run-record th, .job-run-record td { padding: 8px; border-bottom: 1px solid #e4dfda; text-align: left; vertical-align: top; word-break: break-word; }
.job-run-record th { color: #625f5c; font-size: .85rem; }
.job-record-explorer-controls { position: sticky; top: -32px; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin: -32px -44px 20px; padding: 16px 44px; border-bottom: 1px solid #ddd7cf; background: #f7f6f4; }
.job-record-explorer-controls input { min-width: min(100%, 230px); min-height: 42px; padding: 8px 10px; border: 1px solid #8a8580; background: #fff; font: inherit; }
.job-record-explorer-controls button { min-height: 42px; }
.job-record-field-picker { position: relative; }
.job-record-field-picker > summary { min-height: 42px; display: flex; align-items: center; cursor: pointer; border: 1px solid #77716b; padding: 0 12px; background: #fff; font-weight: 600; }
.job-record-field-choices { position: absolute; z-index: 2; top: 48px; left: 0; display: grid; gap: 7px; width: min(320px, 75vw); max-height: 300px; overflow-y: auto; padding: 14px; border: 1px solid #bdb7b0; background: #fff; box-shadow: 0 8px 18px rgba(0, 0, 0, .16); }
.job-record-field-choices label { display: flex; gap: 8px; align-items: center; font-size: .9rem; }
.job-record-field-picker > button { margin-top: 8px; }
.endpoint-catalog code { font: inherit; font-size: .9rem; color: #625f5c; }
.detail-row { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.2fr) auto; align-items: center; border-bottom: 1px solid #e3dfdb; }
.endpoint-row { width: 100%; min-height: 64px; padding: 15px 8px; border: 0; background: transparent; color: #161513; text-align: left; cursor: default; }
.endpoint-row-name { grid-column: 1; }
.endpoint-row-detail { grid-column: 2; }
.endpoint-row span { color: #625f5c; }
.row-icon-actions { grid-column: 3; display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 8px 4px 8px 12px; }
.source-object-summary, .source-object-detail { min-height: 64px; display: flex; align-items: center; padding: 15px 8px; }
.source-object-summary { grid-column: 1; }
.source-object-detail { grid-column: 2; color: #625f5c; }
#app .row-icon-button { display: inline-grid; place-items: center; width: 34px; height: 34px; min-width: 34px; margin: 0; padding: 7px; border: 0 !important; border-radius: 2px; background: transparent !important; color: #161513 !important; cursor: pointer; text-decoration: none; }
#app .row-icon-button:hover, #app .row-icon-button:focus-visible { border: 0 !important; background: #f1efed !important; outline: 2px solid #1685b5; outline-offset: 1px; }
.row-icon-button [class^="oj-ux-ico-"] { font-size: 1rem !important; line-height: 1; }
.credential-edit [class^="oj-ux-ico-"] { font-size: .9rem !important; line-height: 1; }
.detail-rail .connection-logo { background: #403c39; }

/* Shared charcoal product header. */
#app > header {
  background: #3f3f3f !important;
  border-bottom-color: #3f3f3f !important;
  color: #fff !important;
  padding-left: 20px !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}
#app > header .brand,
#app > header .brand > span:last-child,
#app > header .burger-icon {
  color: #fff !important;
}
#app > header .hamburger-button:hover,
#app > header .hamburger-button:focus-visible {
  background: rgba(255, 255, 255, .14) !important;
}
#app > header .header-logo {
  display: block;
  width: 64px;
  height: 34px;
  object-fit: contain;
}
.header-logo-link { display: block; line-height: 0; }
.header-logo-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.edit-dialog { width: min(700px, calc(100vw - 48px)); max-height: calc(100dvh - 48px); padding: 0; overflow: hidden; border: 0; border-radius: 8px; box-shadow: none; color: #161513; }
.confirmation-dialog { width: min(480px, calc(100vw - 48px)); }
.confirmation-dialog header { min-height: 0 !important; padding: 28px !important; }
.confirmation-dialog footer { min-height: 84px; padding: 20px 28px 28px; }
.confirmation-dialog::backdrop { background: rgba(23, 21, 19, .42); }
.edit-dialog::backdrop { background: rgba(23, 21, 19, .42); }
html.dialog-scroll-locked { overflow: hidden; overscroll-behavior: none; }
body.dialog-scroll-locked { position: fixed; inset-inline: 0; width: 100%; overflow: hidden; overscroll-behavior: none; }
.edit-dialog form { margin: 0; }
.edit-dialog:not(.endpoint-drawer) form { display: flex; flex-direction: column; max-height: calc(100dvh - 48px); }
.edit-dialog:not(.endpoint-drawer) form::before { content: ''; display: block; height: 8px; flex: 0 0 8px; background: url("./assets/header-strip-plum.png") center / cover no-repeat; }
.edit-dialog header, .edit-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 28px; background: #fff; }
.edit-dialog header { position: static !important; width: 100% !important; max-width: none !important; height: auto !important; margin: 0 !important; box-shadow: none !important; }
.edit-dialog:not(.endpoint-drawer) header { align-self: stretch; align-items: center; justify-content: flex-start; min-height: 144px; box-sizing: border-box; border-bottom: 0; }
.edit-dialog:not(.endpoint-drawer) header > div { width: 100%; text-align: left; }
.edit-dialog header h3, .edit-dialog header p { margin: 0; }
.edit-dialog header h3 { font-size: 1.6rem !important; line-height: 1.25; }
.edit-dialog header p { margin-top: 6px; line-height: 1.4; color: #625f5c; }
.edit-dialog header button { display: inline-grid; width: 34px; height: 34px; place-items: center; flex: 0 0 auto; padding: 0; border: 1px solid #77716b; border-radius: 2px; background: #fff; color: #252321; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.edit-dialog header button:hover, .edit-dialog header button:focus-visible { border-color: #075c8d; background: #edf7fb; color: #075c8d; }
.modal-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; padding: 32px 44px 38px; background: #f7f6f4; }
.edit-dialog:not(.endpoint-drawer) .modal-form { min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.modal-capability-notice { display: none; grid-column: 1 / -1; margin: 0; color: #9c3500; }
.modal-capability-notice:not(:empty) { display: block; }
.job-create-empty { grid-column: 1 / -1; margin: 0; color: #625f5c; }
.modal-form label { display: grid; gap: 8px; font-size: .9rem; font-weight: 600; line-height: 1.2; color: #514d49; }
#job-create-dialog [data-job-schedule][hidden] { display: none !important; }
.modal-form input, .modal-form select { min-height: 44px; box-sizing: border-box; width: 100%; border: 1px solid #8a8580; border-radius: 2px; background: #fff; padding: 9px 12px; font: inherit; font-weight: 400; color: #161513; }
.modal-form textarea { min-height: 150px; box-sizing: border-box; width: 100%; resize: vertical; border: 1px solid #8a8580; border-radius: 2px; background: #fff; padding: 9px 12px; font: inherit; font-weight: 400; color: #161513; }
.modal-form input:focus, .modal-form select:focus { outline: 2px solid #1685b5; outline-offset: 1px; border-color: #1685b5; }
.edit-dialog footer { min-height: 104px; box-sizing: border-box; padding: 28px 44px 36px; border-top: 0; justify-content: end; }
.edit-dialog footer button { min-height: 42px; padding: 0 18px; border: 1px solid #77716b; border-radius: 2px; background: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.edit-dialog footer .primary { background: #312d2a; color: #fff; border-color: #312d2a; }
.endpoint-drawer { inset: 0 0 0 auto; width: min(560px, 100vw); height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; overflow: hidden; }
.signal-matches-drawer { width: min(1120px, 100vw); }
#job-run-records-drawer { width: min(1120px, 100vw); }
#resolved-object-drawer { width: min(1120px, 100vw); }
#resolution-decision-dialog { width: min(1120px, 100vw); }
.resolution-list-drawer { width: min(1120px, 100vw); }
.endpoint-drawer header { min-height: 116px; padding: 28px; padding-top: 20px !important; border-bottom: 1px solid #e3e0dc; }
.endpoint-drawer form { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.endpoint-drawer header, .endpoint-drawer footer { flex: 0 0 auto; }
.endpoint-drawer .modal-form { min-height: 0; flex: 1 1 auto; align-content: start; grid-template-columns: 1fr; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.endpoint-drawer footer { margin-top: 0; }
/* Job drawers are not form-backed, so make their content area the scrolling pane. */
#job-run-records-drawer[open], #job-record-versions-drawer[open] { display: flex; flex-direction: column; }
#resolved-object-drawer[open] { display: flex; flex-direction: column; }
.resolution-list-drawer[open] { display: flex; flex-direction: column; }
#job-run-records-drawer > header, #job-run-records-drawer > footer,
#job-record-versions-drawer > header, #job-record-versions-drawer > footer { flex: 0 0 auto; }
#resolved-object-drawer > header, #resolved-object-drawer > footer { flex: 0 0 auto; }
.resolution-list-drawer > header, .resolution-list-drawer > footer { flex: 0 0 auto; }
#job-run-records-drawer > .modal-form, #job-record-versions-drawer > .modal-form {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
#resolved-object-drawer > .modal-form { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.resolution-list-drawer > .modal-form { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.resolution-exception-evidence { display: grid; gap: 16px; padding: 20px; border: 1px solid #e3e0dc; background: #fbfaf8; }
.resolution-exception-evidence dl { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 8px 16px; margin: 0; }
.resolution-exception-evidence dt { color: #625f5c; font-weight: 600; }
.resolution-exception-evidence dd { margin: 0; overflow-wrap: anywhere; }
.resolution-exception-evidence h4 { margin: 8px 0 0; }
.resolved-object-tools { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 20px 0; border-bottom: 1px solid #e3e0dc; }
.resolved-object-tools label { display: grid; flex: 1 1 420px; gap: 8px; color: #514d49; font-size: .9rem; font-weight: 600; }
.resolved-object-tools input { min-height: 44px; box-sizing: border-box; width: 100%; border: 1px solid #8a8580; border-radius: 2px; background: #fff; padding: 9px 12px; font: inherit; font-weight: 400; color: #161513; }
.resolved-object-tools input:focus { outline: 2px solid #1685b5; outline-offset: 1px; border-color: #1685b5; }
.detail-list > .resolved-object-list-row { display: flex; width: 100%; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; padding: 12px 4px; border-bottom: 1px solid #e3e0dc; }
.detail-list > .resolved-object-list-row[hidden] { display: none !important; }
.resolved-object-summary { display: grid; min-width: 0; gap: 3px; }
.resolved-object-name { overflow: hidden; color: #161513; font-size: 1.05rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.resolved-object-master-id { overflow: hidden; color: #625f5c; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.resolved-object-meta { color: #625f5c; font-size: .85rem; }
.resolved-object-open { display: inline-flex; width: fit-content; min-width: max-content; min-height: 36px; align-items: center; justify-content: center; flex: 0 0 auto; padding: 0 14px; border: 1px solid #5f5b58; border-radius: 2px; background: #fff; color: #161513; font: inherit; font-weight: 600; cursor: pointer; }
.resolved-object-open:hover, .resolved-object-open:focus-visible { border-color: #075c8d; background: #edf7fb; color: #075c8d; }
.exception-list > .exception-list-row { display: grid; width: 100%; box-sizing: border-box; grid-template-columns: minmax(0, 1fr) max-content max-content; align-items: center; gap: 16px; min-height: 68px; padding: 10px 4px; border-bottom: 1px solid #e3e0dc; }
.exception-summary { display: grid; min-width: 0; gap: 3px; }
.exception-summary b { overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.exception-summary small { overflow: hidden; color: #625f5c; font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; }
.exception-status { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border-radius: 12px; background: #fff0f0; color: #9d1d1d; font-size: .78rem; font-weight: 600; text-transform: capitalize; }
.exception-status-ambiguous { background: #fff8df; color: #705700; }
.exception-review-button { display: inline-flex; width: fit-content; min-width: max-content; min-height: 36px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid #5f5b58; border-radius: 2px; background: #fff; color: #161513; font: inherit; font-weight: 600; cursor: pointer; }
.exception-review-button:hover, .exception-review-button:focus-visible { border-color: #075c8d; background: #edf7fb; color: #075c8d; }
@media (max-width: 640px) { .detail-list > .resolved-object-list-row { align-items: flex-start; flex-direction: column; gap: 10px; } .resolved-object-open { align-self: flex-start; } }
@media (max-width: 640px) { .exception-list-row { grid-template-columns: minmax(0, 1fr); gap: 8px; } }
@media (max-width: 640px) { .resolved-object-tools { align-items: stretch; flex-direction: column; } }
.endpoint-test-response { border: 1px solid #d8d5d2; border-radius: 2px; background: #fff; padding: 16px; }
.endpoint-test-response h3 { margin: 0 0 12px; font-size: 1rem !important; }
.endpoint-test-response dl { display: grid; grid-template-columns: 110px 1fr; gap: 6px 12px; margin: 0 0 14px; }
.endpoint-test-response dt { color: #625f5c; font-size: .9rem; }
.endpoint-test-response dd { margin: 0; overflow-wrap: anywhere; }
.endpoint-test-response pre { max-height: 140px; margin: 16px 0 0; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; border: 1px solid #e3e0dc; background: #f7f6f4; padding: 12px; color: #161513; font: .9rem/1.45 "Oracle Sans", Arial, sans-serif; }
.endpoint-extracted-fields { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e3e0dc; }
.endpoint-extracted-fields p { margin: 0 0 10px; color: #625f5c; }
.endpoint-field-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.endpoint-field-list li { border: 1px solid #d8d5d2; border-radius: 2px; background: #fff; padding: 5px 8px; font-size: .9rem !important; }
.response-tabs { display: flex; gap: 18px; border-bottom: 1px solid #d8d5d2; margin: -16px -16px 18px; padding: 0 16px; }
.response-tabs button { min-height: 42px; padding: 0; border: 0 !important; border-bottom: 2px solid transparent !important; background: transparent !important; color: #625f5c !important; }
.response-tabs button[aria-selected="true"] { border-bottom-color: #161513 !important; color: #161513 !important; }
.response-tabs button[aria-selected="false"] { border-bottom-color: transparent !important; }
#app .response-tabs button {
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-bottom: 2px solid transparent !important;
}
#app .response-tabs button[aria-selected="true"] { border-bottom-color: #161513 !important; }
.response-tab-panel > p { color: #625f5c; }
.endpoint-field-search { width: 100%; min-height: 40px; margin: 4px 0 14px; padding: 8px 10px; border: 1px solid #8a8580; background: #fff; color: #161513; font: inherit; }
.endpoint-fields-empty { margin: 12px 0 0; color: #625f5c; }
.object-field-search-label { margin: 14px 0 10px; }
.object-field-search-empty { margin: 10px 0; color: #625f5c; }
@media (max-width: 640px) { .section-heading { display: grid; } .modal-form { grid-template-columns: 1fr; gap: 18px; padding: 24px 20px 28px; } .edit-dialog { width: calc(100vw - 24px); } .edit-dialog header, .edit-dialog footer { padding-left: 20px; padding-right: 20px; } .edit-dialog header { min-height: 0; padding-top: 32px; } .edit-dialog footer { min-height: 76px; padding-top: 20px; padding-bottom: 24px; } }

/* Global Redwood button treatment: black text and black borders. */
#app oj-button {
  --oj-button-outlined-chrome-border-color: #161513;
  --oj-button-outlined-text-color: #161513;
  --oj-button-solid-chrome-bg-color: #fff;
  --oj-button-solid-chrome-border-color: #161513;
  --oj-button-solid-text-color: #161513;
  --oj-button-borderless-text-color: #161513;
  font-size: .9rem !important;
  font-weight: 600 !important;
}
#app button,
.source-primary-button,
.edit-dialog footer .primary {
  border-color: #161513 !important;
  background: #fff !important;
  color: #161513 !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
}

/* Endpoint rows are read-only; editing is available only from the edit control. */
#app .endpoint-row {
  background: transparent !important;
  color: #161513 !important;
  border-color: transparent !important;
}
.credential-edit {
  display: inline-grid;
  width: 24px;
  height: 24px;
  margin-left: 6px;
  padding: 0;
  place-items: center;
  border: 0 !important;
  background: transparent !important;
  color: #161513 !important;
  cursor: pointer;
}
.credential-edit [class^="oj-ux-ico-"] { font-size: .9rem !important; }
.dialog-icon-button {
  display: inline-grid;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid #161513 !important;
  border-radius: 2px;
  background: #fff !important;
  color: #161513 !important;
}
.dialog-icon-button [class^="oj-ux-ico-"] { font-size: 1rem !important; }
.credential-basic-fields,
.credential-oauth-fields { display: contents; }
.credential-basic-fields[hidden],
.credential-oauth-fields[hidden] { display: none; }

.entity-avatar,
.connection-logo { font-size: 28px !important; }

/* Endpoint discovery: fields are a scannable list, not a collection of chips. */
.endpoint-field-list {
  display: grid;
  gap: 0;
  max-height: 320px;
  margin: 0;
  padding: 0;
  overflow: auto;
  list-style: none;
  border: 1px solid #d8d5d2;
  background: #fff;
}
.endpoint-field-list li {
  display: flex;
  align-items: center;
  min-height: 42px;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #e3e0dc;
  border-radius: 0;
  overflow-wrap: anywhere;
  background: #fff;
  color: #161513;
  font-size: .9rem !important;
}
.endpoint-field-list li:last-child { border-bottom: 0; }
.endpoint-field-list li[hidden] { display: none; }
.source-object-list > div { gap: 0; }
.source-object-summary { display: flex; align-items: center; min-width: 0; padding: 15px 8px; }
.source-object-list span { color: #625f5c; font-size: .9rem; }
.object-fields-empty { margin: 0; color: #625f5c; font-size: .9rem; }

@media (max-width: 640px) {
  .endpoint-drawer { width: 100vw; border-left: 0; }
  .endpoint-drawer header { min-height: 0; padding: 28px 20px 20px; }
  .endpoint-drawer .modal-form { padding: 20px; }
  .endpoint-drawer footer { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 20px; }
  .endpoint-drawer footer button { width: 100%; }
  .response-tabs { gap: 14px; margin: -20px -20px 16px; padding: 0 20px; overflow-x: auto; }
  .response-tabs button { flex: 0 0 auto; }
  .endpoint-test-response { padding: 12px; }
  .endpoint-field-list { max-height: min(42dvh, 320px); }
  .detail-row { grid-template-columns: minmax(0, 1fr); }
  .job-progress-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .row-icon-actions { justify-content: flex-start; padding: 0 4px 12px; }
  .endpoint-row, .source-object-summary, .source-object-detail { grid-column: 1; min-height: auto; }
}
#app .administration-card {
  max-width: 700px;
  margin: 32px auto;
  padding: 28px;
  border: 1px solid #d8d4d1;
  background: #fff;
}

#app .administration-form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

#app .administration-form label { display: grid; gap: 8px; font-weight: 600; }
#app .administration-form .source-primary-button { justify-self: start; }
#app .administration-notice { margin: 0; color: #5f5b58; }
#app .administration-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); padding: 32px 40px; }
#app .administration-grid .administration-card { margin: 0; }
#app .api-access-details { display: grid; gap: 12px; margin: 20px 0; }
#app .api-access-details div { display: grid; gap: 4px; }
#app .api-access-details dt { color: #625f5c; font-size: .875rem; }
#app .api-access-details dd { margin: 0; }
#app .api-access-details code { overflow-wrap: anywhere; }
#app .api-access-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
#app .api-consumer-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
#app .api-consumer-table th, #app .api-consumer-table td { padding: 10px; border-bottom: 1px solid #dedbd8; text-align: left; vertical-align: top; }
#app .api-credentials-form { display: grid; gap: 16px; min-width: min(540px, 92vw); }
#app .api-credentials-form header p { margin: 4px 0 0; }
#app .api-credentials-form label { display: grid; gap: 6px; }
#app .api-credentials-form footer { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }
#app .api-catalog-card { margin: 0 40px 32px; }
#app .api-catalog-table { width: 100%; border-collapse: collapse; }
#app .api-catalog-table th, #app .api-catalog-table td { padding: 12px 10px; border-bottom: 1px solid #dedbd8; text-align: left; vertical-align: middle; }
#app .api-catalog-table code { overflow-wrap: anywhere; }
#app .api-method { display: inline-flex; min-width: 52px; justify-content: center; padding: 3px 7px; border-radius: 999px; font-size: .75rem; font-weight: 700; letter-spacing: .03em; }
#app .api-method-get { background: #e7f4ed; color: #156b3a; }
#app .api-method-post { background: #e7f1fb; color: #165d99; }
#app .api-method-patch { background: #fff3d9; color: #8a5800; }
#app .api-method-delete { background: #fce9e7; color: #aa2e25; }
#api-endpoint-drawer .api-drawer-method { margin-bottom: 10px; }
#api-endpoint-drawer .api-endpoint-details dl { display: grid; gap: 20px; margin: 0; }
#api-endpoint-drawer .api-endpoint-details dl > div { display: grid; gap: 6px; }
#api-endpoint-drawer .api-endpoint-details dt { color: #625f5c; font-size: .875rem; }
#api-endpoint-drawer .api-endpoint-details dd { margin: 0; line-height: 1.5; }
#api-endpoint-drawer .api-endpoint-details code { display: block; padding: 10px 12px; overflow-wrap: anywhere; border: 1px solid #dedbd8; border-radius: 4px; background: #f7f6f4; }

/* Administration: Redwood surfaces and a table-free mobile experience. */
#app .administration-template { background: #f7f7f7; padding-bottom: 32px; box-shadow: none; }
#app .administration-template .record-top { background: #fff; padding: 28px 40px 24px; }
#app .administration-template .record-top h2 { font-size: 2rem !important; margin: 0 0 4px; }
#app .administration-grid { display: block; padding: 0 40px 32px; }
#app .administration-tabs { display: flex; gap: 28px; margin: 0 -40px 0px; padding: 0 80px; border-bottom: 1px solid #d9dfe3; background: #fff; overflow-x: auto; }
#app .administration-tabs button { flex: 0 0 auto; min-height: 48px; padding: 13px 0 11px; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0; background: transparent; box-shadow: none !important; color: #4d5358; cursor: pointer; font-weight: 600; }
#app .administration-tabs button[aria-selected="true"] { border-bottom-color: #1f5fbf !important; color: #252a30; }
#app .administration-tabs button:hover { color: #252a30; }
#app .administration-tabs button:focus-visible { outline: none; }
#app .administration-tab-panels { padding: 0 35px; background: #fff; }
#app .administration-tab-panel { width: 100%; }
#app .administration-tab-panel .administration-card { max-width: none; margin: 0; padding: 28px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none !important; }
#app .administration-card-heading { display: flex; align-items: flex-start; justify-content: flex-start; gap: 16px; height: auto; min-height: 0; padding: 0; border: 0; position: static; background: transparent; box-shadow: none !important; }
#app .administration-card-heading > div { min-width: 0; }
#app .administration-card-heading h3 { margin: 0 0 8px; font-size: 1.25rem !important; line-height: 1.3; }
#app .administration-card-heading p { margin: 0; color: #4d5358; line-height: 1.5; }
#app .administration-card-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border: 1px solid #d9dfe3; border-radius: 4px; color: #1f5fbf; background: #f5f9ff; font-size: 1.35rem !important; }
#app .api-access-details { gap: 16px; margin: 28px 0 20px; }
#app .api-access-details dt { color: #5c6268; font-weight: 400; }
#app .api-access-details dd { font-weight: 600; }
#app .api-access-details code { display: block; padding: 12px; border: 1px solid #cdd3d8; border-radius: 4px; background: #fafbfc; color: #252a30; font-size: .875rem !important; line-height: 1.45; }
#app .api-access-actions { gap: 12px; margin: 24px 0 16px; }
#app .api-access-actions button, #app .administration-form .source-primary-button { min-height: 44px; }
#app .administration-notice { color: #5c6268; line-height: 1.45; }
#app .administration-form { gap: 16px; margin-top: 26px; }
#app .administration-form label { gap: 7px; color: #252a30; }
#app .administration-form input { min-height: 42px; border: 1px solid #8c949d; border-radius: 2px; padding: 8px 10px; background: #fff; }
#app .administration-form .source-primary-button { justify-self: stretch; width: 100%; }
#app .administration-configuration-status { display: flex; align-items: flex-start; gap: 8px; }
#app .administration-configuration-status .oj-ux-ico-check { flex: 0 0 auto; color: #16803c; }
#app .api-consumer-records { display: grid; gap: 12px; margin-top: 20px; }
#app .api-consumer-record { padding: 16px; border: 1px solid #d9dfe3; border-radius: 6px; }
#app .api-consumer-record dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 0; }
#app .api-consumer-record dl div { min-width: 0; }
#app .api-consumer-record dt { margin-bottom: 3px; color: #5c6268; font-size: .875rem !important; }
#app .api-consumer-record dd { margin: 0; color: #252a30; font-weight: 600; overflow-wrap: anywhere; }
#app .api-consumer-record code { font-size: .875rem !important; font-weight: 500; }
#app .api-consumer-status { color: #5c6268; font-weight: 600; }
#app .api-consumer-status.is-active { color: #16803c; }
#app .api-consumer-table-wrap { width: 100%; max-width: 100%; margin-top: 20px; overflow: hidden; border: 1px solid #d9dfe3; border-radius: 6px; }
#app .api-consumer-table { display: none; width: 100%; min-width: 0 !important; margin: 0; table-layout: fixed; }
#app .api-consumer-table th, #app .api-consumer-table td { min-width: 0; padding: 12px 10px; overflow-wrap: anywhere; }
#app .administration-empty { margin: 18px 0 0; color: #5c6268; }
#app .api-catalog-card { margin: 0; }
#app .api-catalog-card .section-heading { margin: 0 0 22px; }
#app .api-catalog-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
#app .api-catalog-title h3 { margin: 0; }
#app .api-endpoint-count { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border-radius: 12px; color: #1f5fbf; background: #e8f1ff; font-size: .875rem !important; font-weight: 600; }
#app .api-catalog-table { min-width: 0; border: 1px solid #d9dfe3; border-radius: 6px; overflow: hidden; background: #fff; }
#app .api-catalog-table th { background: #f5f6f7; color: #3a424a; }
#app .api-catalog-table th, #app .api-catalog-table td { padding: 13px 14px; border-color: #dfe3e6; }
#app .api-catalog-table td:last-child { text-align: right; }
#app .api-method { min-width: 48px; border-radius: 4px; font-size: .75rem !important; }
#app .api-method-get { color: #1f5fbf; background: #e8f1ff; }

@media (min-width: 721px) {
  #app .api-consumer-records { display: none; }
  #app .api-consumer-table { display: table; }
}

@media (max-width: 720px) {
  #app .administration-template .record-top { padding: 24px 16px 20px; }
  #app .administration-template .record-top h2 { font-size: 1.75rem !important; }
  #app .administration-grid { padding: 0 14px 20px; }
  #app .administration-tabs { gap: 24px; margin: 0 -14px 16px; padding: 0 30px; }
  #app .administration-tab-panel .administration-card { padding: 20px 0; }
  #app .administration-card-heading { gap: 12px; }
  #app .administration-card-icon { flex-basis: 36px; width: 36px; height: 36px; font-size: 1.15rem !important; }
  #app .administration-card-heading h3 { font-size: 1.125rem !important; }
  #app .api-access-details { margin: 22px 0 18px; }
  #app .api-access-actions { display: grid; grid-template-columns: 1fr; }
  #app .api-access-actions button { width: 100%; }
  #app .api-consumer-record { padding: 14px; }
  #app .api-consumer-record dl { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #app .api-catalog-card { margin: 0; }
  #app .api-consumer-table-wrap { display: none; }
  #app .api-catalog-card .section-heading { margin-bottom: 16px; }
  #app .api-catalog-card .table-wrap { overflow: visible; }
  #app .api-catalog-card .table-wrap:after { display: none; }
  #app .api-catalog-table, #app .api-catalog-table tbody, #app .api-catalog-table tr, #app .api-catalog-table td { display: block; width: 100%; }
  #app .api-catalog-table thead { display: none; }
  #app .api-catalog-table { border-radius: 6px; }
  #app .api-catalog-table tr { position: relative; min-height: 76px; padding: 12px 42px 12px 12px; border-bottom: 1px solid #dfe3e6; }
  #app .api-catalog-table tr:last-child { border-bottom: 0; }
  #app .api-catalog-table td { padding: 0; border: 0; text-align: left !important; }
  #app .api-catalog-table td:nth-child(1) { float: left; margin: 0 12px 26px 0; }
  #app .api-catalog-table td:nth-child(2) code { display: block; min-height: 24px; padding-top: 2px; color: #252a30; font-size: .8125rem !important; overflow-wrap: anywhere; }
  #app .api-catalog-table td:nth-child(3) { clear: both; color: #5c6268; font-size: .875rem !important; }
  #app .api-catalog-table td:nth-child(3)::before { content: 'Area: '; }
  #app .api-catalog-table td:last-child { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); }
  #app .api-catalog-table .api-catalog-open { width: 36px; min-width: 36px; height: 44px; overflow: hidden; padding: 0; border: 0; background: transparent; color: transparent; }
  #app .api-catalog-table .api-catalog-open::after { content: '›'; color: #4d5358; font-size: 2rem !important; font-weight: 300; line-height: 1; }
}

/* Keep the identity-profile builder aligned to the full modal content area. */
#identity-profile-dialog { width: min(1040px, calc(100vw - 48px)); }
#identity-profile-dialog .modal-form { grid-template-columns: minmax(0, 1fr); align-content: start; }
#identity-profile-dialog .identity-profile-builder { display: grid; gap: 28px; width: 100%; }
#identity-profile-dialog .identity-profile-builder > section { display: grid; gap: 14px; width: 100%; }
#identity-profile-dialog .identity-profile-builder > .overall-source-default { gap: 10px; padding-bottom: 22px; border-bottom: 1px solid #e3dfdb; }
#identity-profile-dialog .identity-profile-builder > .overall-source-default h4 { margin: 0; }
#identity-profile-dialog .identity-profile-builder .section-heading { align-items: center; }
#identity-profile-dialog .identity-profile-builder .overall-source-winner { display: grid; gap: 6px; max-width: 420px; font-weight: 600; }
#identity-profile-dialog .identity-profile-builder .overall-source-winner small { color: #5f5b58; font-weight: 400; }
#identity-profile-dialog .identity-profile-builder .job-run-record { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 16px; width: 100%; margin: 0; padding: 18px; }
#identity-profile-dialog .identity-profile-builder .job-run-record > label { min-width: 0; }
#identity-profile-dialog .identity-profile-builder .job-run-record > .attribute-winner { grid-column: span 2; }
#identity-profile-dialog .identity-profile-builder .job-run-record > .source-only-attribute { grid-column: span 2; align-self: end; margin: 0; color: #5f5b58; font-size: 0.875rem; }
#identity-profile-dialog .identity-profile-builder .job-run-record > .row-edit-button { align-self: end; min-height: 44px; }
#identity-profile-dialog .identity-profile-builder .job-run-record > .row-icon-button { align-self: end; justify-self: start; width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
#identity-profile-dialog .identity-profile-builder .profile-identity-record > .row-icon-button { grid-column: 3; grid-row: 2; }
#identity-profile-dialog .identity-profile-builder .profile-attribute-record > .row-icon-button { grid-column: 3; grid-row: 3; }
#identity-profile-dialog .identity-profile-builder .profile-identity-record > .profile-source-field[data-source-index="0"] { grid-column: 1; grid-row: 2; }
#identity-profile-dialog .identity-profile-builder .profile-identity-record > .profile-source-field[data-source-index="1"] { grid-column: 2; grid-row: 2; }
#identity-profile-dialog .identity-profile-builder .profile-attribute-record > .profile-source-field[data-source-index="0"] { grid-column: 1; grid-row: 3; }
#identity-profile-dialog .identity-profile-builder .profile-attribute-record > .profile-source-field[data-source-index="1"] { grid-column: 2; grid-row: 3; }
#identity-profile-dialog .identity-profile-builder .job-run-record > label input[type="number"] { margin-top: 8px; }
@media (max-width: 720px) {
  #identity-profile-dialog { width: calc(100vw - 24px); }
  #identity-profile-dialog .identity-profile-builder .job-run-record { grid-template-columns: 1fr; }
  #identity-profile-dialog .identity-profile-builder .profile-identity-record > .row-icon-button,
  #identity-profile-dialog .identity-profile-builder .profile-attribute-record > .row-icon-button { grid-column: auto; grid-row: auto; }
  #identity-profile-dialog .identity-profile-builder .profile-identity-record > .profile-source-field,
  #identity-profile-dialog .identity-profile-builder .profile-attribute-record > .profile-source-field { grid-column: auto; grid-row: auto; }
}

/* Segment workspace content owns its spacing; the nested article adds none. */
.signal-workspace > article { padding: 0 !important; }

/* Compact segment refinement: detail is available on demand, not always expanded. */
.signal-evidence-count{margin-left:8px;color:#625f5c;font-size:.9rem;font-weight:600;white-space:nowrap}
.signal-evidence-summary{display:block!important;padding:0!important}.signal-evidence-summary>summary{display:flex;align-items:center;gap:9px;min-height:48px;cursor:pointer;list-style:none}.signal-evidence-summary>summary::-webkit-details-marker{display:none}.signal-evidence-summary>summary:before{content:'›';color:#00688f;font-size:1.2rem;line-height:1;transition:transform .15s}.signal-evidence-summary[open]>summary:before{transform:rotate(90deg)}.signal-evidence-summary>summary small{margin-left:auto;color:#706b66;font-weight:400}.signal-evidence-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}.signal-evidence-body>span{color:#706b66}.signal-evidence-body .signal-evidence-actions{grid-column:2;grid-row:1;align-self:start}.signal-evidence-body .signal-proposal-actions{grid-column:1/-1}.signal-evidence-summary.ai-proposed{padding-left:0!important}
.signal-detail-template .ai-proposed{position:relative;border-left:0!important}.signal-detail-template .ai-proposed::before{content:'';position:absolute;inset:0 auto 0 0;width:7px;background:repeating-linear-gradient(105deg,#f47f56 0 8px,#f6f2ed 8px 20px,#95c5c0 20px 29px,#495e59 29px 43px,#f0cc70 43px 49px,#31423d 49px 64px)}.signal-detail-template .signal-evidence-summary.ai-proposed{padding-left:14px!important}
.signal-evidence-overflow{position:relative}.signal-evidence-more{font-size:1.25rem;line-height:1}.signal-evidence-menu{position:absolute;z-index:4;top:calc(100% + 6px);right:0;display:grid;min-width:172px;padding:6px;border:1px solid #bdb7b0;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.16)}.signal-evidence-menu[hidden]{display:none}.signal-evidence-menu button{width:100%;border:0;padding:9px 10px;text-align:left;background:#fff}.signal-evidence-menu button:hover,.signal-evidence-menu button:focus-visible{background:#edf7fb;color:#075c8d}
.signal-delivery-modal{display:grid;gap:18px}.signal-delivery-modal label{display:grid;gap:7px;font-weight:600}.signal-delivery-modal code{display:block;overflow-wrap:anywhere;padding:11px 12px;border:1px solid #d8d3cd;background:#f7f6f4;color:#252321;font:inherit;font-weight:400}
.signal-detail-template .signal-rule-list{border-top:0!important}.signal-detail-template .signal-rule-list>.signal-evidence-summary{border-bottom:0!important}.signal-detail-template .signal-rule-list>.signal-evidence-summary+.signal-evidence-summary{border-top:1px solid rgba(89,84,79,.16)}
.signal-rail-title{display:flex;align-items:flex-start;gap:8px}.signal-rail-title h3{margin:0;flex:1 1 auto}.signal-rail-title .row-icon-button{flex:0 0 auto}
.signal-rename-field{grid-column:1/-1}
#app #signal-rename{display:inline-flex!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:3px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#625f5c!important}#app #signal-rename:hover{background:transparent!important;color:#075c8d!important}#app #signal-rename:focus-visible{background:transparent!important;outline:2px solid #1685b5;outline-offset:2px}
.signal-rule{display:block;border-radius:12px!important;padding:20px!important}.signal-rule>summary{cursor:pointer;font-weight: 600;margin-bottom:10px}.signal-rule:not([open])>summary{margin:0}.signal-field-search{box-sizing:border-box;width:100%;min-height:38px;padding:7px;border:1px solid #8c8985;background:#fff;font:inherit}
.endpoint-drawer header .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.endpoint-drawer header [data-signal-match-mode]{display:inline-flex;width:auto;height:auto;min-height:36px;padding:0 14px;align-items:center;justify-content:center;white-space:nowrap;font-size:.95rem;line-height:1.2}.endpoint-drawer header [data-signal-match-mode][aria-pressed="true"]{border-color:#00688f;background:#edf7fb;color:#00688f}
.signal-matches-drawer[open]{display:flex;flex-direction:column}.signal-matches-drawer[open]>header,.signal-matches-drawer[open]>footer{flex:0 0 auto}.signal-matches-drawer[open]>.modal-form{min-height:0;flex:1 1 auto;overflow-y:auto!important;overscroll-behavior:contain}.signal-match-record-button{display:block;max-width:100%;padding:0;border:0;background:transparent;color:#075c8d;font:inherit;font-weight: 600;text-align:left;overflow-wrap:anywhere;cursor:pointer}.signal-match-record-button:hover,.signal-match-record-button:focus-visible{color:#003b5c;text-decoration:underline}.signal-match-record-details{display:grid;grid-column:1/-1;gap:18px}.signal-match-record-details section{padding:16px;border:1px solid #ded9d4;background:#fff}.signal-match-record-details h4{margin:0 0 12px}.signal-match-record-details dl{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:8px 18px;margin:0}.signal-match-record-details dt{font-weight: 600;color:#514d49}.signal-match-record-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.signal-match-record-details dl{grid-template-columns:1fr;gap:3px}.signal-match-record-details dd{margin-bottom:10px}}
.signal-preview-controls{display:grid;grid-template-columns:minmax(200px,320px) minmax(220px,1fr);gap:14px;align-items:end;margin-bottom:18px}.signal-preview-controls label{display:grid;gap:6px;color:#625f5c;font-size:.9rem;font-weight: 600}.signal-preview-controls select,.signal-preview-controls input{min-height:40px;box-sizing:border-box;width:100%;padding:8px;border:1px solid #8c8985;background:#fff;font:inherit;color:#161513}@media(max-width:700px){.signal-preview-controls{grid-template-columns:1fr}}
.signal-history-list{display:grid;gap:10px}.signal-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;padding:14px;border:1px solid #ded9d4;background:#fff}.signal-history-item>div{display:grid;gap:3px}.signal-history-item small,.signal-history-item p{color:#625f5c}.signal-history-item p{grid-column:1/-1;margin:0;line-height:1.4}.signal-history-item button{align-self:start;grid-column:2;grid-row:1}@media(max-width:600px){.signal-history-item{grid-template-columns:1fr}.signal-history-item button{grid-column:auto;grid-row:auto;justify-self:start}}
.signal-proposed-condition-content{display:grid;gap:12px}.signal-proposed-condition-content h4{margin:0}.signal-proposed-condition-list{display:grid;gap:10px;margin:0;padding:14px 14px 14px 32px;border:1px solid #ded9d4;background:#fff}.signal-proposed-condition-list li{line-height:1.45}
@media (min-width:901px){.signal-detail-template .signal-workspace>article{display:flex;min-height:100%;flex-direction:column}.signal-detail-template .signal-recommendation{display:flex;min-height:100%;flex:1 1 auto;flex-direction:column}.signal-detail-template .signal-rule-list{min-height:0!important;flex:1 1 auto;overflow-y:auto!important;overscroll-behavior:contain}.signal-detail-template .signal-rule{position:sticky;z-index:2;bottom:0;margin-top:auto;box-shadow:none!important;order:2}.signal-detail-template .signal-approval{order:1}}

/* Signals are decision designers. Their layout intentionally differs from the
   filter-first Segment Builder while reusing its governed criteria editor. */
.signal-product-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid #ded9d4}.signal-product-intro h3{margin:0 0 8px}.signal-product-intro p{max-width:760px;margin:0;color:#625f5c}.signal-decision-template,.signal-decision-template .detail-content{background:#fff}.signal-decision-content{max-width:1440px!important;margin:0 auto!important;padding:30px 44px 44px!important}.signal-decision-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:0 0 24px;border-bottom:1px solid #ded9d4}.signal-decision-header .eyebrow{margin:0 0 8px;color:#625f5c;font-size:.75rem;font-weight:700;letter-spacing:.08em}.signal-decision-header h2{margin:0}.signal-decision-header p{margin:8px 0 0;color:#706b66}.signal-decision-header .actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:14px}.signal-decision-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:40px;margin-top:28px}.signal-output-definition{padding:22px 24px;background:#f7f5f2;border:1px solid #ded9d4}.signal-output-definition .section-heading h3,.signal-decision-section .section-heading h3{margin:0}.signal-output-definition .section-heading p,.signal-decision-section .section-heading p{margin:6px 0 0;color:#706b66}.signal-output-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.signal-output-fields label{display:grid;gap:6px;font-weight:600}.signal-output-fields label:last-child{grid-column:1/-1}.signal-output-fields small{font-weight:400;color:#706b66}.signal-output-fields input,.signal-output-fields select,.signal-output-fields textarea,.signal-proposal-rail textarea{box-sizing:border-box;width:100%;border:1px solid #8c8985;background:#fff;padding:9px;font:inherit}.signal-output-fields textarea{min-height:78px;resize:vertical}.signal-decision-section{padding:28px 0;border-bottom:1px solid #ded9d4}.signal-decision-section .section-heading{align-items:center}.signal-outcome-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;margin-top:18px;padding:20px 22px;border:1px solid #ded9d4;background:#fff}.signal-outcome-card h4,.signal-outcome-card p{margin:0}.signal-outcome-card p{margin-top:8px;color:#625f5c;line-height:1.5}.signal-outcome-value{display:grid;align-content:start;gap:6px}.signal-outcome-value small{color:#706b66;font-size:.72rem;font-weight:700;letter-spacing:.06em}.signal-outcome-value strong{font-size:1.25rem}.signal-input-list{border-top:1px solid #ded9d4;margin-top:18px}.signal-input-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #ded9d4}.signal-input-card h4,.signal-input-card p{margin:0}.signal-input-card p{margin-top:5px;color:#625f5c}.signal-input-card small{display:block;margin-top:8px;color:#706b66}.signal-evaluation-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:20px 24px;background:#e7f2f6}.signal-evaluation-panel h3,.signal-evaluation-panel p{margin:0}.signal-evaluation-panel p{margin-top:6px;color:#36545f}.signal-proposal-rail{position:sticky;top:18px;align-self:start;border-left:1px solid #ded9d4;padding-left:28px}.signal-proposal-rail h3{margin:0}.signal-proposal-rail p{color:#625f5c;line-height:1.5}.signal-proposal-rail textarea{min-height:116px;margin-top:18px;resize:vertical}.signal-proposal-rail button{width:100%;margin-top:12px}.signal-proposal-note{font-size:.875rem}.signal-workstream-tracker{margin:20px 0 28px;padding:22px 24px;border:1px solid #ded9d4;background:#f7f5f2}.signal-workstream-tracker h2,.signal-workstream-tracker p{margin:0}.signal-workstream-tracker p{margin-top:6px;color:#625f5c}.signal-workstream-tracker ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}.signal-workstream-tracker li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid #ded9d4}
@media(max-width:900px){.signal-product-intro,.signal-decision-header,.signal-evaluation-panel{align-items:flex-start;flex-direction:column}.signal-decision-content{padding:24px 22px 32px!important}.signal-decision-grid{grid-template-columns:1fr;gap:28px}.signal-proposal-rail{position:static;border-left:0;border-top:1px solid #ded9d4;padding:24px 0 0}.signal-output-fields,.signal-outcome-card{grid-template-columns:1fr}.signal-decision-header .actions{justify-content:flex-start}}

.signal-calculation,.signal-buckets{margin-top:24px;padding-top:20px;border-top:1px solid #d9d4cf}.signal-calculation h4,.signal-buckets h4{margin:0 0 4px}.signal-calculation p,.signal-buckets p{margin:0 0 14px;color:#625f5c}.signal-calculation>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.signal-calculation label{display:grid;gap:6px;font-weight:600}.signal-calculation select,.signal-bucket-row input,.signal-bucket-row select{box-sizing:border-box;min-width:0;width:100%;padding:9px;border:1px solid #8c8985;background:#fff;font:inherit}.signal-bucket-row{display:grid;grid-template-columns:1.3fr .75fr 1fr 1fr 1.3fr;gap:10px;margin-top:10px}.signal-buckets .section-heading{margin-bottom:0}.signal-criteria-inputs{display:grid;gap:10px;margin-top:18px}.signal-criteria-inputs>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #d9d4cf}.signal-criteria-inputs span{color:#625f5c}
@media(max-width:850px){.signal-calculation>div,.signal-bucket-row{grid-template-columns:1fr}.signal-criteria-inputs>div{display:block}.signal-criteria-inputs span{display:block;margin-top:4px}}

/* Signal designer — Redwood form hierarchy. Keep this independent from the
   dense Segment Builder workspace so a business decision reads as a form. */
.signal-decision-template{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 56px);
  overflow:visible!important;
  background:#fff;
}
.signal-decision-template .signal-decision-content{
  width:min(1240px,100%)!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:32px 40px 56px!important;
  overflow:visible!important;
  box-sizing:border-box;
}
.signal-decision-template .signal-decision-header{
  align-items:center;
  padding:0 0 22px;
}
.signal-decision-template .signal-decision-header>div:first-child{min-width:0}
.signal-decision-template .signal-decision-header h2{
  font-size:2rem!important;
  line-height:1.2;
}
.signal-decision-template .signal-decision-header p:not(.eyebrow){
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  font-size:.9375rem;
}
.signal-decision-template .signal-decision-header .actions{
  max-width:430px;
  gap:10px 16px;
}
.signal-decision-template .signal-segment-availability{
  flex-basis:100%;
  order:2;
  color:#5f5b57;
  font-size:.875rem;
  text-align:right;
}
.signal-decision-template .signal-decision-grid{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:32px;
  margin-top:26px;
}
.signal-decision-template .signal-output-definition{
  padding:0;
  border:1px solid #d9d5d1;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.signal-decision-template .signal-output-definition>.section-heading{
  padding:22px 24px 18px;
  border-bottom:1px solid #e5e1dd;
  background:#faf9f8;
}
.signal-decision-template .signal-output-definition>.section-heading h3{
  font-size:1.35rem!important;
}
.signal-decision-template .signal-output-fields,
.signal-decision-template .signal-calculation,
.signal-decision-template .signal-buckets{
  margin:0;
  padding:22px 24px;
  border-top:0;
}
.signal-decision-template .signal-calculation,
.signal-decision-template .signal-buckets{
  border-top:1px solid #e5e1dd;
}
.signal-decision-template .signal-output-fields input,
.signal-decision-template .signal-output-fields select,
.signal-decision-template .signal-output-fields textarea,
.signal-decision-template .signal-calculation select,
.signal-decision-template .signal-bucket-row input,
.signal-decision-template .signal-bucket-row select,
.signal-decision-template .signal-proposal-rail textarea{
  min-height:40px;
  border-color:#8a8580;
  border-radius:2px;
}
.signal-decision-template .signal-output-fields textarea{min-height:86px}
.signal-decision-template .signal-decision-section{
  margin-top:24px;
  padding:0;
  border:1px solid #d9d5d1;
  background:#fff;
}
.signal-decision-template .signal-decision-section>.section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  background:#faf9f8;
  border-bottom:1px solid #e5e1dd;
}
.signal-decision-template .signal-outcome-card{margin:0;border:0}
.signal-decision-template .signal-input-list{margin:0;border-top:0;padding:0 22px}
.signal-decision-template .signal-input-card:last-child{border-bottom:0}
.signal-decision-template .signal-evaluation-panel{
  margin-top:24px;
  border:1px solid #b9d8df;
  background:#f0f8fa;
}
.signal-decision-template .signal-proposal-rail{
  top:24px;
  border:1px solid #d9d5d1;
  padding:22px;
  background:#faf9f8;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.signal-decision-template .signal-proposal-rail h3{font-size:1.35rem!important}
.signal-decision-template .signal-proposal-rail textarea{margin-top:14px;background:#fff}
.signal-decision-template .signal-proposal-note{
  margin:12px 0 0;
  color:#625f5c;
}
@media(max-width:900px){
  .signal-decision-template .signal-decision-content{padding:24px 20px 40px!important}
  .signal-decision-template .signal-decision-header{align-items:flex-start}
  .signal-decision-template .signal-decision-header .actions{justify-content:flex-start}
  .signal-decision-template .signal-segment-availability{text-align:left}
  .signal-decision-template .signal-decision-grid{grid-template-columns:1fr}
  .signal-decision-template .signal-proposal-rail{position:static}
}

/* Reuse the Segment Builder workspace treatment for Signal definitions. The
   information model is different, but both are governed designers. */
.signal-decision-template .signal-decision-content{
  width:100%!important;
  max-width:none!important;
  padding:24px 40px 32px!important;
}
.signal-decision-template .signal-decision-header{
  max-width:none;
  padding:0 0 22px;
}
.signal-decision-template .signal-decision-header h2{font-size:1.65rem!important}
.signal-decision-template .signal-decision-grid{
  grid-template-columns:minmax(0,7fr) minmax(320px,3fr);
  gap:0;
  margin-top:0;
}
.signal-decision-template .signal-decision-grid>main{padding:26px 34px 26px 0}
.signal-decision-template .signal-output-definition,
.signal-decision-template .signal-decision-section{
  border:0;
  box-shadow:none;
  background:transparent;
}
.signal-decision-template .signal-output-definition>.section-heading,
.signal-decision-template .signal-decision-section>.section-heading{
  padding:0 0 16px;
  background:transparent;
  border-bottom:1px solid #ded9d4;
}
.signal-decision-template .signal-output-definition>.section-heading h3,
.signal-decision-template .signal-decision-section>.section-heading h3{
  font-size:1.6rem!important;
}
.signal-decision-template .signal-output-fields,
.signal-decision-template .signal-calculation,
.signal-decision-template .signal-buckets{
  padding:20px 0;
  background:transparent;
}
.signal-decision-template .signal-decision-section{margin-top:28px;padding:0 0 24px;border-bottom:1px solid #ded9d4}
.signal-decision-template .signal-decision-section+.signal-decision-section{margin-top:0;padding-top:28px}
.signal-decision-template .signal-outcome-card{padding:18px 0 0;background:transparent}
.signal-decision-template .signal-input-list{padding:0}
.signal-decision-template .signal-evaluation-panel{margin-top:28px;box-shadow:none}
.signal-decision-template .signal-proposal-rail{
  position:sticky;
  top:0;
  min-height:calc(100dvh - 144px);
  height:calc(100dvh - 144px);
  box-sizing:border-box;
  overflow-y:auto;
  border:0;
  border-left:1px solid #dcd7d2;
  box-shadow:none;
  background:#fff;
  padding:26px 0 12px 26px;
}
.signal-decision-template .signal-proposal-rail h3{font-size:1.6rem!important}
.signal-decision-template .signal-proposal-rail textarea{margin-top:18px}
@media(max-width:900px){
  .signal-decision-template .signal-decision-content{padding:26px 22px!important}
  .signal-decision-template .signal-decision-grid{grid-template-columns:1fr}
  .signal-decision-template .signal-decision-grid>main{padding:24px 0}
  .signal-decision-template .signal-proposal-rail{height:auto;min-height:0;padding:24px 0 0;border-left:0;border-top:1px solid #dcd7d2}
}

/* Match the Segment Builder shell exactly: a governed detail rail on the left
   and one uncluttered editing canvas. Signal-only controls stay inside that
   canvas rather than creating another application layout. */
@media(min-width:901px){
  .signal-decision-template{
    display:grid!important;
    grid-template-columns:312px minmax(0,1fr);
    align-items:stretch;
    min-height:calc(100dvh - 56px);
    padding-top:7px!important;
    background:
      url("./assets/header-strip-plum.png") top/100% 7px no-repeat,
      #fff!important;
  }
  .signal-decision-template .signal-decision-content{
    grid-column:1/-1;
    display:contents;
  }
  .signal-decision-template .signal-decision-header{
    grid-column:1;
    grid-row:1;
    display:block;
    margin:0;
    padding:36px 24px!important;
    border:0!important;
    border-right:1px solid #e3e0dc!important;
    background:#f7f6f4;
    box-sizing:border-box;
  }
  .signal-decision-template .signal-decision-header .eyebrow{display:none}
  .signal-decision-template .signal-decision-header h2{
    margin:0 0 22px!important;
    font-size:1.8rem!important;
    overflow-wrap:anywhere;
  }
  .signal-decision-template .signal-decision-header p:not(.eyebrow){
    display:block;
    margin:0!important;
    line-height:1.55;
    color:#625f5c;
  }
  .signal-decision-template .signal-decision-header .actions{
    display:grid;
    justify-content:stretch;
    gap:12px;
    margin-top:28px;
  }
  .signal-decision-template .signal-decision-header .actions>*{width:100%;box-sizing:border-box}
  .signal-decision-template .signal-decision-header .actions>a{order:3;color:#006f9d;text-decoration:none}
  .signal-decision-template .signal-segment-availability{order:2;text-align:left!important;line-height:1.45}
  .signal-decision-template .signal-decision-grid{
    grid-column:2;
    grid-row:1;
    display:block;
    margin:0!important;
    padding:30px 40px 40px;
    box-sizing:border-box;
  }
  .signal-decision-template .signal-decision-grid>main{padding:0!important}
  .signal-decision-template .signal-output-definition>.section-heading h3:before{content:'Output definition';font-size:1.6rem}
  .signal-decision-template .signal-output-definition>.section-heading h3{font-size:0!important}
  .signal-decision-template .signal-proposal-rail{
    position:static!important;
    min-height:0!important;
    height:auto!important;
    margin-top:28px;
    padding:18px 24px 22px!important;
    border:0!important;
    border-top:1px solid #ded9d4!important;
    background:#f7f5f2!important;
  }
  .signal-decision-template .signal-proposal-rail h3{font-size:1rem!important;margin:0 0 8px}
  .signal-decision-template .signal-proposal-rail p{margin:0;max-width:760px}
  .signal-decision-template .signal-proposal-rail textarea{min-height:86px;margin-top:14px}
  .signal-decision-template .signal-proposal-rail button{width:auto;min-width:126px;margin:12px 0 0;float:right}
  .signal-decision-template .signal-proposal-note{clear:both;padding-top:8px}
}

/* Final surface alignment with Segment Builder. */
@media(min-width:901px){
  .signal-decision-template .signal-decision-header{
    background:
      linear-gradient(to bottom,rgba(247,246,244,.78),rgba(247,246,244,.92)),
      url("./assets/background-shell-database-start.png") center bottom/100% auto no-repeat!important;
  }
  .signal-decision-template .signal-decision-grid,
  .signal-decision-template .signal-decision-grid>main,
  .signal-decision-template .signal-output-definition,
  .signal-decision-template .signal-output-definition>.section-heading,
  .signal-decision-template .signal-output-fields,
  .signal-decision-template .signal-calculation,
  .signal-decision-template .signal-buckets,
  .signal-decision-template .signal-decision-section,
  .signal-decision-template .signal-decision-section>.section-heading,
  .signal-decision-template .signal-outcome-card{
    background:#fff!important;
  }
  .signal-decision-template .signal-output-definition>.section-heading h3{
    font-size:1.6rem!important;
  }
  .signal-decision-template .signal-output-definition>.section-heading h3::before{content:none!important}
}

/* Minimal Signal experience: business value first, governed inputs second. */
.signal-minimal-template{background:#fff!important}
.signal-minimal-layout{padding:0!important;grid-template-columns:312px minmax(0,1fr)!important}
.signal-minimal-rail{padding:36px 24px!important;background:#f7f6f4!important;border-right:1px solid #e3e0dc!important}
.signal-sidebar-name{display:grid;gap:7px}.signal-sidebar-name>span{font-size:.8rem;font-weight:600;color:#625f5c}.signal-sidebar-name input{width:100%;box-sizing:border-box;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:#161513;font:inherit;font-size:1.8rem!important;font-weight:700;line-height:1.18;overflow-wrap:anywhere}.signal-sidebar-name input:hover{border-bottom-color:#b5b0ab}.signal-sidebar-name input:focus{outline:2px solid #1685b5;outline-offset:3px;border-bottom-color:#1685b5;background:#fff}
.signal-minimal-rail dl{margin:26px 0!important}.signal-minimal-rail dt{font-size:.8rem!important}.signal-minimal-rail dd{font-size:1rem!important}.signal-minimal-rail>button,.signal-minimal-rail>a{display:block;width:100%;box-sizing:border-box;margin-top:14px}.signal-minimal-rail>a{color:#006f9d;text-decoration:none}.signal-minimal-rail .signal-segment-availability{display:block;margin-top:16px;color:#625f5c;line-height:1.45}
.signal-minimal-content{width:100%!important;padding:30px 40px 48px!important;max-width:none!important;background:#fff!important}
.signal-minimal-content>.signal-business-output-section{display:none}
.signal-minimal-section{padding:0 0 28px;margin:0 0 28px}.signal-minimal-section .section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.signal-minimal-section h3{margin:0!important;font-size:1.6rem!important}.signal-minimal-section .section-heading p{margin:7px 0 0;color:#625f5c;line-height:1.45;max-width:700px}
.signal-value-grid{display:grid;grid-template-columns:minmax(0,340px);gap:16px;margin-top:22px}.signal-value-grid label{display:grid;gap:6px;font-weight:600}.signal-value-grid input,.signal-value-grid select,.signal-value-grid textarea,.signal-minimal-assist textarea{width:100%;min-height:40px;box-sizing:border-box;padding:9px;border:1px solid #8c8985;background:#fff;font:inherit}.signal-value-grid textarea{min-height:82px;resize:vertical}
.signal-input-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:22px;border-top:1px solid #ded9d4;border-bottom:1px solid #ded9d4}.signal-input-overview>div{display:grid;gap:5px;padding:16px 18px;border-right:1px solid #ded9d4}.signal-input-overview>div:first-child{padding-left:0}.signal-input-overview>div:last-child{border-right:0}.signal-input-overview small{font-size:1rem;font-weight:600;letter-spacing:normal;color:#262321}.signal-input-overview b{font-size:1rem}.signal-input-overview span{color:#625f5c;line-height:1.4;overflow-wrap:anywhere}.signal-input-overview .row-edit-button{justify-self:start;margin-top:9px}
.signal-flow{display:grid;gap:12px;position:relative;margin:22px 0 0;padding:0;list-style:none}.signal-flow::before{content:"";position:absolute;top:28px;bottom:28px;left:18px;width:1px;background:#d8d3ce}.signal-flow-step{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:stretch}.signal-flow-number{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid #cbb9e8;border-radius:50%;background:#eee4fb;color:#432a67;font-size:1rem;font-weight:600}.signal-flow-card{min-width:0;padding:18px 24px;border:1px solid #ded9d4;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(38,35,33,.04)}.signal-flow-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.signal-flow-card h3{display:flex;align-items:center;gap:8px;margin:0 0 4px!important;font-size:1.3rem!important}.signal-flow-card h3 [class^="oj-ux-ico-"]{color:#625f5c;font-size:1.05rem}.signal-flow-card header b{display:block;font-size:.95rem;font-weight:600}.signal-flow-card .row-edit-button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.signal-flow-card .row-edit-button [class^="oj-ux-ico-"]{font-size:.9rem}.signal-flow-list{display:grid;gap:0;padding:0;list-style:none}.signal-flow-list li{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:8px 0;border-top:1px solid #e5e1dc}.signal-flow-list li:first-child{border-top:0}.signal-flow-list li>span:last-child,.signal-data-list li>span{display:grid;gap:2px;min-width:0}.signal-flow-list b{font-size:.95rem}.signal-flow-list small,.signal-flow-detail{color:#625f5c;font-size:.92rem;line-height:1.42}.signal-data-list li>span{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.signal-data-list small{display:inline-flex;flex:0 0 auto;padding:4px 8px;border:1px solid #ded9d4;border-radius:4px;background:#f7f6f4;color:#413e3b}.signal-flow-detail{margin:14px 0 0}.signal-state-icon{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border:1px solid #cfcac4;border-radius:4px;background:#f7f6f4;color:#3a3836}.signal-state-icon.is-empty{color:#6d6965}.signal-state-icon.is-empty [class^="oj-ux-ico-"]{transform:rotate(45deg)}.signal-state-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));column-gap:24px}.signal-state-list li{border-top:0}.signal-input-summary .section-heading .row-edit-button{display:inline-flex;align-items:center;gap:7px}
.signal-minimal-assist{padding:20px 24px;background:#f7f5f2;border-radius:12px}.signal-minimal-assist h3{margin:0!important;font-size:1rem!important}.signal-minimal-assist p{max-width:720px;margin:6px 0 14px;color:#625f5c;line-height:1.45}.signal-minimal-assist textarea{min-height:86px;resize:vertical}.signal-minimal-assist>div{display:flex;justify-content:flex-end;margin-top:10px}
.signal-input-logic{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:28px}.signal-input-logic h4{margin:0 0 10px}.signal-input-logic ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.signal-input-logic li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid #ded9d4}.signal-input-logic li span{color:#625f5c}.signal-input-logic label,.signal-input-transform label,.signal-input-buckets label{display:grid;gap:6px;font-weight:600}.signal-input-logic select,.signal-input-logic input,.signal-input-transform select,.signal-input-transform input,.signal-input-buckets select,.signal-input-buckets input{min-height:44px;box-sizing:border-box;width:100%;padding:9px 12px;border:1px solid #8c8985;background:#fff;font:inherit}.signal-input-calculation-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.signal-input-logic .section-heading,.signal-input-buckets .section-heading{display:flex;justify-content:space-between;align-items:center}.signal-input-logic .section-heading h4,.signal-input-buckets .section-heading h4{margin:0}.signal-input-buckets{padding-top:8px}.signal-link-button{margin-top:12px;padding:0;border:0;background:transparent;color:#00688c;font:inherit;font-weight:600;cursor:pointer}.signal-link-button:hover{text-decoration:underline}#signal-assessment-dialog{width:min(900px,calc(100vw - 48px))}#signal-states-dialog{width:min(1120px,calc(100vw - 48px))}#signal-assessment-dialog .modal-form,#signal-states-dialog .modal-form{display:block;padding:32px 48px 38px}#signal-states-dialog #signal-bucket-list{display:grid;gap:12px;width:100%}.signal-manual-input-editor{display:grid;gap:18px;grid-column:1/-1}.signal-manual-input-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-bottom:18px;border-bottom:1px solid #ded9d4}.signal-manual-input-add button{min-height:44px}.signal-manual-input-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr) auto;align-items:start;gap:20px;padding:18px 0;border-bottom:1px solid #ded9d4}.signal-manual-input-copy{display:grid;gap:3px;min-width:0;padding-top:2px}.signal-manual-input-row span{color:#625f5c;font-size:.9rem}.signal-manual-input-row>button{margin-top:2px}.signal-manual-condition{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(320px,1.35fr);align-items:start;gap:12px;min-width:0}.signal-manual-condition>label,.signal-manual-values>label{display:grid;gap:6px;font-weight:600;min-width:0}.signal-manual-condition select{min-height:44px;box-sizing:border-box;width:100%;padding:9px 12px;border:1px solid #8c8985;background:#fff;font:inherit}.signal-manual-values{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.signal-manual-values[hidden]{display:none}.signal-value-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.signal-value-picker button{min-height:44px}.signal-value-chip-list{display:flex;flex-wrap:wrap;gap:7px;width:100%;margin-top:8px}.signal-value-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px 5px 10px;border:1px solid #8c8985;border-radius:16px;background:#f4f2f0;color:#262321;font-size:.88rem;font-weight:500}.signal-value-chip span{overflow:hidden;color:#262321;text-overflow:ellipsis;white-space:nowrap}.signal-value-chip button{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;background:transparent;color:#55514e;font:inherit;font-size:1.15rem;line-height:1;cursor:pointer}.signal-value-chip button:hover{color:#ae562c}
@media(max-width:900px){.signal-minimal-layout{grid-template-columns:1fr!important;padding:0 20px 28px!important}.signal-minimal-rail{padding:24px 0!important;border-right:0!important;border-bottom:1px solid #ded9d4!important}.signal-minimal-content{padding:28px 0!important}.signal-value-grid,.signal-input-overview,.signal-input-calculation-fields,.signal-manual-input-row,.signal-manual-condition{grid-template-columns:1fr}.signal-input-overview>div{padding:14px 0;border-right:0;border-bottom:1px solid #ded9d4}.signal-input-overview>div:last-child{border-bottom:0}.signal-minimal-section .section-heading{flex-direction:column}.signal-flow-card{padding:16px}.signal-flow-card>header{align-items:flex-start;flex-direction:column;gap:12px}.signal-data-list li>span{align-items:flex-start;flex-direction:column;gap:5px}.signal-manual-input-row>button{justify-self:start}.signal-value-picker{grid-template-columns:1fr}}

/* Data comparisons need room for the field, operator, system values, and chips. */
#signal-decision-criteria-dialog{width:min(1200px,calc(100vw - 48px))}
#signal-decision-criteria-dialog .modal-form{display:block;padding:32px 48px 38px}

/* Application-wide heading scale: individual modules must not inflate h3s. */
h3:not(#fusion-context-heading-override){font-size:1.3rem!important}

/* App shell: keep the global header flat, with a usable left inset. */
#app>header{box-shadow:none!important;padding-left:20px!important}

/* Labels in the Signal flow are supporting labels, not page headings. */
/* One consistent third-level heading scale across the application. */
#app h3{font-size:1.2rem!important}
.signal-flow-card h3 [class^="oj-ux-ico-"]{font-size:.9rem}

/* Do not inherit the app-shell header treatment inside Signal flow cards. */
.signal-flow-card>header{box-shadow:none!important;padding-left:0!important}
.signal-flow-card h3 [class^="oj-ux-ico-"]{display:none}
.signal-flow-card header b{font-size:.9rem!important}

/* Signal-only treatment for the data selected in a signal. */
.signal-data-card .signal-data-card-header{align-items:flex-start}
.signal-data-card .signal-data-card-title{min-width:0}
.signal-data-card .signal-data-card-list{}
.signal-data-card .signal-data-item{padding:6px 24px 14px 0}
.signal-data-card .signal-data-item>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.signal-data-card .signal-data-item b{font-size:.95rem;font-weight:500!important}
.signal-data-card .signal-data-condition{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #ded9d4;border-radius:4px;background:#f7f6f4;color:#413e3b;font-size:.85rem!important;line-height:1.25;white-space:nowrap}
.signal-manual-input-copy b,.signal-manual-condition>label,.signal-manual-values>label{font-weight:500}
.signal-governed-logic-review{display:grid;gap:16px}.signal-governed-logic-review>p{margin:0;color:#625f5c;line-height:1.45}.signal-governed-logic-review article{position:relative;overflow:hidden;border:1px solid #d8d3cd;background:#fff;padding:20px 18px 14px}.signal-governed-logic-review article::before{position:absolute;top:0;right:0;left:0;height:7px;background:url("./assets/header-strip-plum.png") center/cover no-repeat;content:""}.signal-governed-logic-review article header{display:grid;gap:4px}.signal-governed-logic-review article small{color:#625f5c}.signal-governed-logic-review ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.signal-governed-logic-review li{display:grid;gap:3px;padding-top:8px;border-top:1px solid #e3dfdb}.signal-governed-logic-review li span{color:#44403d}
.signal-manual-condition select,.signal-manual-values select{font-weight:500}
.signal-minimal-rail>#signal-save-output{width:fit-content}
@media(max-width:640px){.signal-data-card .signal-data-item>span{grid-template-columns:1fr;gap:6px}.signal-data-card .signal-data-condition{justify-self:start}}

/* Global route loading state: keep the current screen visible but prevent
   interaction until the replacement data is ready. */
.page-loading{position:fixed;inset:0;z-index:10000;display:grid;place-content:center;justify-items:center;gap:18px;background:#fff;color:#252321}.page-loading-chrome{position:absolute;inset:0 0 auto;height:63px;background:#3f3f3f;color:#fff}.page-loading-chrome-main{display:flex;align-items:center;height:56px;padding:0 34px;gap:16px;font-weight:600}.page-loading-chrome-menu{font-size:22px;line-height:1;color:#d8d8d8}.page-loading-chrome-logo{width:44px;height:28px;object-fit:contain}.page-loading-chrome-avatar{display:grid;place-items:center;margin-left:auto;width:30px;height:30px;border-radius:50%;background:#e6d9fa;color:#472079;font-size:.8rem;font-weight:700}.page-loading-chrome-strip{height:7px;background:url("./assets/header-strip-plum.png") center/cover no-repeat}
.page-loading[hidden]{display:none}
.page-loading:not([hidden]){background:#fff!important}
.page-loading-dots{display:flex;align-items:center;gap:10px;height:28px}
.page-loading-dots i{width:12px;height:12px;border-radius:50%;background:currentColor;animation:page-loading-bounce 1s ease-in-out infinite}
.page-loading-dots i:nth-child(2){animation-delay:.14s}.page-loading-dots i:nth-child(3){animation-delay:.28s}
.page-loading-label{font-size:20px;font-weight:600}
@keyframes page-loading-bounce{0%,80%,100%{transform:scale(.55);opacity:.45}40%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.page-loading-dots i{animation:none;opacity:1}}
.command-center-incidents{margin:20px 0;padding:18px;border:1px solid #e0b9b4;background:#fff7f6}.command-center-incidents h4{margin:0 0 12px;color:#9b3024}.command-center-incidents ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.command-center-incidents li{display:grid;gap:3px;padding-top:10px;border-top:1px solid #efd5d1}.command-center-incidents li:first-child{padding-top:0;border-top:0}.command-center-incidents small{color:#625f5c}
.command-center-service__header{display:flex;justify-content:space-between;gap:12px;box-shadow:none!important}
.command-center-header{display:flex;align-items:start;justify-content:space-between;gap:24px;border-bottom:1px solid #ded9d4;padding-bottom:24px;box-shadow:none!important}
.command-center-service h3{margin:0;font-size:1.2rem!important;line-height:1.25}
@media(max-width:700px){.command-center-page{padding:20px 16px}.command-center-grid{grid-template-columns:minmax(0,1fr)}.command-center-service{padding:16px}.command-center-service__header{align-items:flex-start;flex-wrap:wrap}.command-center-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.command-center-actions button{flex:1 1 auto;min-height:40px}.command-center-lanes{grid-template-columns:1fr}}
@media(max-width:420px){.command-center-page{padding:16px 12px}.command-center-header{gap:14px}.command-center-header button{width:100%}.command-center-metadata{grid-template-columns:1fr}.command-center-service__header>div{min-width:0}.command-center-service h3{font-size:1.1rem!important}.command-center-state{flex:0 0 auto}.command-center-lanes div{align-items:baseline}.command-center-incidents{padding:14px}}
.signal-library-search{padding:20px 24px 0}.signal-library-search label{display:block;margin-bottom:7px;font-weight:600}.signal-library-search input{width:min(420px,100%);min-height:42px;padding:9px 12px;border:1px solid #8c8985;background:#fff;font:inherit}.signal-library-card[hidden]{display:none}@media(max-width:600px){.signal-library-search{padding:16px 16px 0}.signal-library-search input{width:100%}.signal-library-card .actions{gap:8px}.signal-library-card .actions button{flex:1 1 auto}}
.signal-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;padding:24px}
.signal-tabs{display:flex;gap:28px;padding:0 40px;border-bottom:1px solid #d9dfe3;background:#fff;overflow-x:auto}.signal-tabs button{flex:0 0 auto;min-height:48px;padding:13px 0 11px;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;color:#4d5358;cursor:pointer;font-weight:600;text-decoration:none}.signal-tabs button[aria-selected="true"]{border-bottom:3px solid #1f5fbf!important;color:#252a30}.signal-tab-panels{background:#fff}.signal-tab-panel{width:100%}.signal-tab-panel>.collection{margin:0}.signal-tab-panel .signal-library{border:0;border-radius:0;background:transparent}.signal-tab-panel .signal-library-grid{padding:24px 0}.signal-tab-panel .signal-library-search{padding:24px 0 0}@media(max-width:600px){.signal-tabs{gap:24px;padding:0 16px}.signal-tab-panels{padding:0}.signal-tab-panel .signal-library-grid{padding:16px 0}.signal-tab-panel .signal-library-search{padding:16px 0 0}}
.signal-modal-field-search{grid-column:1/-1}.signal-modal-field-search input{width:100%;min-height:42px;padding:9px 12px;border:1px solid #8c8985;background:#fff;font:inherit}
.signal-library-notice{margin:18px 24px 0;padding:10px 12px;border:1px solid #b8d8c4;background:#f1faf4;color:#17683c}.signal-library-notice.is-error{border-color:#e0b9b4;background:#fff7f6;color:#9b3024}

/* Composable App builder: a Redwood-inspired field selector.  Field choices
   are full-width, keyboard-friendly rows instead of inheriting generic text
   input sizing from modal forms. */
.composable-wizard{width:min(1120px,calc(100vw - 48px))}
.composable-wizard .modal-form{display:block;padding:32px 48px 38px}
.composable-wizard .modal-form>section>h4{margin:0 0 8px;font-size:1.2rem}
.composable-wizard .modal-form>section>p{max-width:680px;margin:0 0 24px;color:#5b5f63;line-height:1.5}
.composable-wizard-header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.composable-wizard-header-actions .row-edit-button{min-height:36px;white-space:nowrap}
.composable-wizard[open] form>header{min-height:112px!important;padding:24px 36px!important}.composable-wizard[open] form>header>div:first-child{width:auto!important;min-width:0;flex:1 1 auto}.composable-wizard[open] form>header>.composable-wizard-header-actions{width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex:0 0 auto!important}.composable-wizard[open] form>header h3{white-space:nowrap}.composable-wizard[open] form>header p{white-space:nowrap}.composable-ai-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:144px!important;min-height:38px!important;padding:0 14px!important;border:1px solid #1f5fbf!important;border-radius:3px!important;background:#eaf3ff!important;color:#075c8d!important;font:inherit!important;font-size:.9rem!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;cursor:pointer}.composable-ai-button:hover,.composable-ai-button:focus-visible{background:#dcecff!important;border-color:#075c8d!important;color:#003b5c!important}.composable-ai-button:disabled{opacity:.62;cursor:wait}.composable-ai-button [class^="oj-ux-ico-"]{font-size:1rem!important}
.composable-field-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.composable-field-set,.composable-wizard .composable-detail-columns{display:grid;gap:0;overflow:hidden;border:1px solid #d9dde3;border-radius:4px;background:#fff}
.composable-field-set h5{margin:0;padding:13px 16px;border-bottom:1px solid #d9dde3;background:#f5f7fa;color:#252a30;font-size:.92rem;font-weight:600}
.composable-selection-actions{display:flex;gap:12px;padding:9px 14px;border-bottom:1px solid #e1e5e9;background:#fff}.composable-selection-actions button{padding:0;border:0;background:transparent;color:#075c8d;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.composable-selection-actions button:hover,.composable-selection-actions button:focus-visible{text-decoration:underline}
.composable-detail-picker{overflow:hidden;border:1px solid #d9dde3;border-radius:4px;background:#fff}.composable-detail-picker .composable-detail-columns{border:0;border-radius:0}
.composable-field-set>div,.composable-wizard .composable-detail-columns{max-height:340px;overflow:auto;scrollbar-gutter:stable}
.composable-wizard .composable-field-option{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;box-sizing:border-box;width:100%;margin:0;padding:10px 14px;border:0;border-bottom:1px solid #e6e9ed;background:#fff;color:#252a30;font-size:.92rem;font-weight:400;line-height:1.25;cursor:pointer;transition:background .14s ease,color .14s ease}.composable-wizard .composable-field-option>oj-checkboxset{display:none!important}.composable-wizard .composable-field-option::before{content:'';display:block;flex:0 0 18px;width:18px;height:18px;box-sizing:border-box;border:2px solid #6b737b;border-radius:2px;background:#fff}.composable-wizard .composable-field-option:has(input:checked)::before{border-color:#1f5fbf;background:#1f5fbf}.composable-wizard .composable-field-option:has(input:checked)::after{content:'✓';position:absolute;left:17px;top:50%;color:#fff;font-size:14px;font-weight:700;line-height:1;transform:translateY(-52%)}.composable-wizard .composable-choice-label{display:block;min-width:0;color:#252a30;font:inherit}.composable-wizard .composable-field-option:has(input:checked) .composable-choice-label{color:#003b5c}
.composable-wizard .composable-field-option:last-child{border-bottom:0}
.composable-wizard .composable-field-option:hover{background:#f2f8fc}
.composable-wizard .composable-field-option:has(input:checked){background:#eaf4fb;color:#003b5c;font-weight:600}
.composable-wizard .composable-field-option:focus-within{position:relative;z-index:1;outline:2px solid #1676b8;outline-offset:-2px}
.composable-wizard .composable-field-option input[type="checkbox"]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#146eb4}
.composable-sort-field{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(280px,2fr);align-items:center;gap:16px!important;margin-top:4px;padding:16px;border:1px solid #d9dde3;border-radius:4px;background:#f5f7fa;color:#252a30!important}
.composable-sort-field select{min-height:42px!important}
.composable-wizard .composable-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px}
.composable-wizard .composable-detail-columns .composable-field-option:nth-child(odd){border-right:1px solid #e6e9ed}
.composable-wizard .composable-panel-choice{padding:16px;border:1px solid #d9dde3;border-radius:4px;background:#fff}
.composable-wizard .composable-panel-choice>label{display:flex;align-items:center;gap:10px;color:#252a30;font-weight:600}.composable-wizard .composable-panel-choice>.composable-panel-toggle{min-height:24px}.composable-wizard .composable-panel-title{display:block;color:#252a30;font:inherit;line-height:1.3}
.composable-wizard .composable-panel-choice>label input[type="checkbox"]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;accent-color:#146eb4}
#configure-composable-app-dialog{width:min(1120px,calc(100vw - 48px));height:min(940px,calc(100vh - 48px));max-height:calc(100vh - 48px)}
#configure-composable-app-dialog[open] form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}
#configure-composable-app-dialog[open] form>header{min-height:112px!important;padding:24px 36px!important}#configure-composable-app-dialog[open] form>header>div:first-child{width:auto!important;min-width:0;flex:1 1 auto}#configure-composable-app-dialog[open] form>header>.composable-wizard-header-actions{width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex:0 0 auto!important}#configure-composable-app-dialog[open] form>header h3,#configure-composable-app-dialog[open] form>header p{white-space:nowrap}
#configure-composable-app-dialog .modal-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:18px;padding:32px 48px 38px;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#configure-composable-app-dialog .modal-form>label{grid-column:1/-1}#configure-composable-app-dialog .modal-form>section{display:grid;grid-template-rows:auto auto minmax(300px,1fr);min-width:0;min-height:390px;overflow:hidden;border:1px solid #d9dde3;border-radius:4px;background:#fff}#configure-composable-app-dialog .modal-form>section:nth-of-type(4){grid-column:1/-1;min-height:420px}#configure-composable-app-dialog .modal-form>section h4{margin:0;padding:13px 16px;border-bottom:1px solid #d9dde3;background:#f5f7fa;color:#252a30;font-size:.92rem;font-weight:600}
#configure-composable-app-dialog [data-configure-columns],#configure-composable-app-dialog [data-configure-search],#configure-composable-app-dialog [data-configure-filters],#configure-composable-app-dialog [data-configure-detail]{height:300px;min-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#configure-composable-app-dialog .composable-field-option{display:flex;align-items:center;gap:10px;min-width:0;min-height:42px;margin:0;padding:10px 14px;border:0;border-bottom:1px solid #e6e9ed;background:#fff;color:#252a30;font-size:.92rem;font-weight:400;line-height:1.25;cursor:pointer}#configure-composable-app-dialog .composable-field-option:last-child{border-bottom:0}#configure-composable-app-dialog .composable-field-option:has(input:checked){background:#eaf4fb;color:#003b5c;font-weight:600}#configure-composable-app-dialog .composable-field-option:hover{background:#f2f8fc}#configure-composable-app-dialog .composable-field-option input[type="checkbox"]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#146eb4}#configure-composable-app-dialog .composable-choice-label{display:block;min-width:0;color:inherit;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:800px){.composable-field-group{grid-template-columns:1fr}.composable-sort-field{grid-column:auto;grid-template-columns:1fr;gap:8px!important}.composable-wizard .composable-detail-columns{grid-template-columns:1fr}.composable-wizard .composable-detail-columns .composable-field-option:nth-child(odd){border-right:0}}
@media(max-width:800px){#configure-composable-app-dialog .modal-form{grid-template-columns:1fr}#configure-composable-app-dialog .modal-form>section:nth-of-type(4){grid-column:auto}}
@media(max-width:640px){.composable-wizard{width:calc(100vw - 24px)}.composable-wizard .modal-form{padding:24px 20px 28px}.composable-field-set>div,.composable-wizard .composable-detail-columns{max-height:280px}}
@media(max-width:640px){.composable-wizard[open] form>header{min-height:0!important;padding:22px 20px!important;align-items:flex-start!important}.composable-wizard[open] form>header h3,.composable-wizard[open] form>header p{white-space:normal}.composable-ai-button{min-width:38px!important;width:38px!important;padding:0!important}.composable-ai-button [class^="oj-ux-ico-"]{display:block}.composable-ai-button{font-size:0!important}}

/* Composable App runtime: desktop density with a touch-first card experience. */
.composable-runtime,.composable-apps-index{min-width:0}.composable-apps-index>.record-top>div:first-child{display:block!important;min-width:0}.composable-apps-index>.record-top>div:first-child h2{margin:0!important}.composable-apps-index>.record-top>div:first-child small{display:block!important;margin-top:6px!important;line-height:1.35!important}
.composable-runtime .record-top,.composable-apps-index .record-top{align-items:flex-start;gap:20px}
.composable-runtime .record-top>div:first-child{min-width:0}.composable-runtime .record-top h2{overflow-wrap:anywhere}
.composable-runtime .record-top .actions{justify-content:flex-end}
.composable-runtime .collection{overflow:hidden}
.composable-search{display:grid;gap:18px;padding:24px;border-bottom:1px solid #ded9d4;background:#f7f6f4}
.composable-search label{display:grid;gap:7px;min-width:0;color:#514d49;font-size:.88rem;font-weight:600}
.composable-search input,.composable-search select{min-height:42px;box-sizing:border-box;width:100%;padding:9px 11px;border:1px solid #8c8985;border-radius:2px;background:#fff;color:#252321;font:inherit}
.composable-view-controls,.composable-sort{display:flex;flex-wrap:wrap;align-items:end;gap:10px 12px}
.composable-view-controls label{flex:1 1 230px}.composable-sort label{flex:1 1 180px}
.composable-view-controls button,.composable-sort button{min-height:42px}
.composable-search-field{max-width:520px}
.composable-filter-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.composable-records-collection>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-top:1px solid #ded9d4;background:#fff;color:#514d49}
.composable-records-collection table{width:100%;min-width:760px}.composable-records-collection td,.composable-records-collection th{white-space:normal;overflow-wrap:anywhere}
.composable-record-cards,.composable-app-cards{display:none}
.composable-related-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.composable-related-cards article{padding:16px;border:1px solid #ded9d4;background:#fff}
.composable-related-cards dl{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 14px}.composable-related-cards dt{font-size:.8rem;font-weight:600;color:#625f5c}.composable-related-cards dd{margin:2px 0 0;overflow-wrap:anywhere}
.composable-apps-collection .table-wrap{overflow-x:auto}
@media(max-width:700px){
  .composable-runtime .record-top,.composable-apps-index .record-top{display:grid;grid-template-columns:1fr;padding:20px 16px;gap:16px}
  .composable-runtime .record-top .actions{justify-content:flex-start}.composable-runtime .record-top .actions>*{flex:1 1 calc(50% - 8px);text-align:center}
  .composable-apps-index .record-top>button{width:100%;min-height:44px}
  .composable-search{gap:16px;padding:20px 16px}.composable-view-controls,.composable-sort{display:grid;grid-template-columns:1fr 1fr;gap:10px}.composable-view-controls label,.composable-sort label{min-width:0}.composable-view-controls label{grid-column:1/-1}.composable-view-controls button,.composable-sort button{width:100%;min-height:44px}
  .composable-search-field{max-width:none}.composable-filter-controls{grid-template-columns:1fr;gap:10px}
  .composable-records-collection>.table-wrap,.composable-apps-collection>.table-wrap{display:none}.composable-record-cards,.composable-app-cards{display:grid;gap:12px;padding:16px;background:#f7f6f4}
  .composable-record-cards article,.composable-app-cards article{display:grid;gap:14px;padding:16px;border:1px solid #d8d3cd;border-radius:4px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  .composable-record-cards article>a,.composable-app-cards article>a{color:#075c8d;font-size:1rem;font-weight:700;overflow-wrap:anywhere;text-decoration:none}.composable-record-cards article>a:hover,.composable-app-cards article>a:hover{text-decoration:underline}
  .composable-record-cards dl,.composable-app-cards dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.composable-record-cards dl div,.composable-app-cards dl div{min-width:0}.composable-record-cards dt,.composable-app-cards dt{color:#625f5c;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.composable-record-cards dd,.composable-app-cards dd{margin:3px 0 0;overflow-wrap:anywhere}.composable-record-cards .row-edit-button{width:100%;min-height:44px}
  .composable-records-collection>footer{display:grid;grid-template-columns:1fr;padding:16px}.composable-records-collection>footer .actions{display:grid;grid-template-columns:1fr 1fr}.composable-records-collection>footer .actions button{min-height:44px}
  .composable-record-detail .detail-layout{display:flex;flex-direction:column}.composable-record-detail .detail-rail{width:auto}.composable-record-detail .detail-content{min-width:0}.composable-record-detail .section-heading{gap:14px}.composable-record-detail .section-heading .actions{width:100%}.composable-record-detail .section-heading .actions>*{flex:1 1 auto;text-align:center}.composable-record-detail .facts{grid-template-columns:1fr}.composable-record-detail .source-objects{overflow:hidden}.composable-record-detail .source-objects .table-wrap{overflow-x:auto}
}
@media(max-width:420px){.composable-view-controls,.composable-sort{grid-template-columns:1fr}.composable-runtime .record-top .actions>*{flex-basis:100%}.composable-record-cards dl,.composable-app-cards dl{grid-template-columns:1fr}.composable-record-detail .section-heading .actions{display:grid;grid-template-columns:1fr}}

/* The record drawer is not form-backed, so it needs its own flex scrolling
   frame instead of the generic form drawer rules. */
#composable-record-drawer{box-sizing:border-box}
#composable-record-drawer[open]{display:flex;flex-direction:column}
#composable-record-drawer[open]>header,#composable-record-drawer[open]>footer{box-sizing:border-box;flex:0 0 auto;width:100%}
#composable-record-drawer[open]>header{min-width:0;padding:24px 28px;border-bottom:1px solid #ded9d4}
#composable-record-drawer .composable-drawer-title{margin:0;overflow-wrap:anywhere}
#composable-record-drawer .composable-drawer-master{max-width:100%;margin:6px 0 0;overflow-wrap:anywhere;color:#625f5c}
#composable-record-drawer[open]>.modal-form{display:block;min-height:0;flex:1 1 auto;box-sizing:border-box;width:100%;overflow-y:auto;overscroll-behavior:contain;padding:24px 28px;background:#f7f6f4}
#composable-record-drawer .composable-drawer-values{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px 18px;margin:0}
#composable-record-drawer .composable-drawer-values dt{color:#625f5c;font-size:.86rem;font-weight:600;overflow-wrap:anywhere}
#composable-record-drawer .composable-drawer-values dd{min-width:0;margin:0;color:#252321;overflow-wrap:anywhere}
#composable-record-drawer[open]>footer{margin:0;padding:18px 28px;border-top:1px solid #ded9d4}
@media(max-width:760px){#composable-record-drawer{width:100vw!important}#composable-record-drawer[open]>header{padding:20px!important}#composable-record-drawer[open]>.modal-form{padding:20px!important;max-height:calc(100dvh - 164px)!important}#composable-record-drawer[open]>footer{padding:16px 20px!important}#composable-record-drawer .composable-drawer-values{grid-template-columns:1fr;gap:3px 0}#composable-record-drawer .composable-drawer-values dd{margin:0 0 14px}}

/* Redwood search and filter workspace for Composable Apps. */
#app .composable-runtime .composable-search{display:grid!important;gap:20px!important;margin:0!important;padding:24px 28px!important;border:0!important;border-bottom:1px solid #d9dfe3!important;background:#f7f9fb!important}
#app .composable-runtime .composable-view-controls,#app .composable-runtime .composable-sort{display:flex!important;flex-wrap:wrap!important;align-items:end!important;gap:12px!important}
#app .composable-runtime .composable-search label{display:grid!important;gap:7px!important;min-width:0!important;color:#4d5358!important;font-size:.875rem!important;font-weight:600!important;line-height:1.25!important}
#app .composable-runtime .composable-view-controls label{flex:0 1 260px!important}
#app .composable-runtime .composable-search-field{max-width:560px!important}
#app .composable-runtime .composable-filter-controls{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important;padding:18px!important;border:1px solid #d9dfe3!important;border-radius:4px!important;background:#fff!important}
#app .composable-runtime .composable-sort{padding-top:2px!important}
#app .composable-runtime .composable-sort label{flex:0 1 210px!important}
#app .composable-runtime .composable-search input,#app .composable-runtime .composable-search select{display:block!important;min-height:44px!important;box-sizing:border-box!important;width:100%!important;border:1px solid #8c949d!important;border-radius:2px!important;background:#fff!important;padding:10px 12px!important;color:#252a30!important;font:inherit!important;font-weight:400!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.03)!important}
#app .composable-runtime .composable-search input::placeholder{color:#6d747a!important;opacity:1}
#app .composable-runtime .composable-search input:focus,#app .composable-runtime .composable-search select:focus{outline:2px solid #1f5fbf!important;outline-offset:1px!important;border-color:#1f5fbf!important;box-shadow:none!important}
#app .composable-runtime .composable-search button{min-height:44px!important;padding:0 16px!important;border-color:#697077!important;background:#fff!important;color:#252a30!important;font-weight:600!important}
#app .composable-runtime .composable-search button:hover,#app .composable-runtime .composable-search button:focus-visible{border-color:#1f5fbf!important;background:#edf4ff!important;color:#003d7a!important}
#app .composable-runtime #export-composable-records{border-color:#1f5fbf!important;background:#1f5fbf!important;color:#fff!important}
#app .composable-runtime #export-composable-records:hover,#app .composable-runtime #export-composable-records:focus-visible{background:#0b4d9b!important;color:#fff!important}
@media(max-width:700px){#app .composable-runtime .composable-search{padding:20px 16px!important}#app .composable-runtime .composable-view-controls,#app .composable-runtime .composable-sort{display:grid!important;grid-template-columns:1fr 1fr!important}#app .composable-runtime .composable-view-controls label{grid-column:1/-1;max-width:none!important}#app .composable-runtime .composable-filter-controls{grid-template-columns:1fr!important;padding:14px!important}}@media(max-width:420px){#app .composable-runtime .composable-view-controls,#app .composable-runtime .composable-sort{grid-template-columns:1fr!important}}

/* Oracle JET panel cards for related resolved records. */
#app .composable-related-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:18px!important;margin-top:18px!important}
#app .composable-related-cards .composable-related-card{display:flex!important;min-width:0!important;min-height:244px!important;flex-direction:column!important;box-sizing:border-box!important;padding:20px!important;border:1px solid #d9dfe3!important;border-radius:4px!important;background:#fff!important;margin-bottom:20px}
#app .composable-related-card dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 20px!important;margin:0!important}
#app .composable-related-card dl div{min-width:0!important}.composable-related-card dt{margin:0!important;color:#5c6268!important;font-size:.78rem!important;font-weight:600!important;line-height:1.3!important;text-transform:none!important;letter-spacing:normal!important}.composable-related-card dd{margin:5px 0 0!important;color:#252a30!important;font-size:1rem!important;font-weight:600!important;line-height:1.4!important;overflow-wrap:anywhere!important}
#app .composable-related-card-action{display:flex!important;justify-content:flex-end!important;margin-top:auto!important;padding-top:20px!important;border-top:1px solid #e4e7ea!important}.composable-related-card-action .row-edit-button{min-height:40px!important;border-color:#1f5fbf!important;color:#075c8d!important}
@media(max-width:640px){#app .composable-related-cards{grid-template-columns:1fr!important;gap:12px!important}#app .composable-related-cards .composable-related-card{min-height:0!important;padding:16px!important}#app .composable-related-card dl{grid-template-columns:1fr!important;gap:14px!important}#app .composable-related-card-action .row-edit-button{width:100%!important;min-height:44px!important}}

/* One focused search surface; secondary table controls live behind the more menu. */
#app .composable-runtime .composable-search{padding:18px 24px!important;background:#fff!important}
#app .composable-runtime .composable-search-bar{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;box-sizing:border-box;padding:5px 6px 5px 16px;border:1px solid #8c949d;border-radius:4px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
#app .composable-runtime .composable-search-field{display:block!important;flex:1 1 240px;max-width:none!important;margin:0!important}
#app .composable-runtime .composable-search-field>input{min-height:40px!important;border:0!important;padding:8px 0!important;box-shadow:none!important;outline:0!important}
#app .composable-runtime .composable-filter-controls{display:flex!important;flex:0 1 auto!important;grid-template-columns:none!important;gap:6px!important;max-width:52%;overflow-x:auto!important;overflow-y:hidden!important;padding:0!important;border:0!important;background:transparent!important}
#app .composable-runtime .composable-filter-controls label{display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;min-width:0!important;padding:5px 8px!important;border:1px solid #cdd3d8!important;border-radius:16px!important;background:#f5f7f9!important;color:#4d5358!important;font-size:.78rem!important;white-space:nowrap!important}
#app .composable-runtime .composable-filter-controls input{width:116px!important;min-height:28px!important;padding:2px 3px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:.84rem!important}
#app .composable-runtime .composable-filter-controls input:focus{outline:0!important;border:0!important;box-shadow:none!important}
#app .composable-runtime .composable-more-options{display:inline-grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;min-height:40px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#252a30!important;font-size:1.1rem!important;letter-spacing:2px!important}
#app .composable-runtime .composable-more-options:hover,#app .composable-runtime .composable-more-options:focus-visible{background:#edf4ff!important;color:#075c8d!important}
#composable-table-options-dialog{width:min(720px,calc(100vw - 48px))}#composable-table-options-dialog .modal-form{display:grid;grid-template-columns:1fr;gap:22px;padding:28px 32px}#composable-table-options-dialog .composable-view-controls,#composable-table-options-dialog .composable-sort{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#composable-table-options-dialog .composable-view-controls label{grid-column:1/-1}#composable-table-options-dialog .composable-sort label{min-width:0}#composable-table-options-dialog .composable-view-controls button,#composable-table-options-dialog .composable-sort button{min-height:44px}
@media(max-width:700px){#app .composable-runtime .composable-search{padding:14px!important}#app .composable-runtime .composable-search-bar{align-items:stretch;flex-wrap:wrap;padding:10px 12px}#app .composable-runtime .composable-search-field{flex-basis:calc(100% - 52px)}#app .composable-runtime .composable-filter-controls{order:3;flex-basis:100%;max-width:100%;padding-top:6px!important;border-top:1px solid #e0e4e8!important}#app .composable-runtime .composable-more-options{margin-left:auto}#composable-table-options-dialog{width:calc(100vw - 24px)}#composable-table-options-dialog .modal-form,#composable-table-options-dialog .composable-view-controls,#composable-table-options-dialog .composable-sort{grid-template-columns:1fr}}

/* Data grids never wrap values: overflow is handled by the table scroller. */
#app .composable-records-collection>.table-wrap{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-top:1px solid #d9dfe3}
#app .composable-records-collection>.table-wrap>table{width:max-content!important;min-width:100%!important;table-layout:auto!important}
#app .composable-records-collection>.table-wrap th,#app .composable-records-collection>.table-wrap td{min-width:150px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:normal!important}
#app .composable-records-collection>.table-wrap th:last-child,#app .composable-records-collection>.table-wrap td:last-child{min-width:112px!important;text-align:right}
#app .composable-records-collection>.table-wrap td a,#app .composable-records-collection>.table-wrap td button{white-space:nowrap!important}
#app .composable-records-collection>.table-wrap::after{content:'Scroll horizontally to view all columns';display:block;padding:8px 14px;color:#5c6268;background:#f7f9fb;font-size:.82rem;font-weight:600}

/* Keep the generated application contained.  The grid is the sole region
   allowed to scroll sideways; controls always reflow within the app frame. */
#app .composable-runtime{inline-size:min(100%,100vw)!important;max-inline-size:100%!important;min-inline-size:0!important;overflow-x:hidden!important}
#app .composable-runtime>.record-top,#app .composable-runtime>.collection,#app .composable-runtime .composable-search,#app .composable-runtime .composable-search-bar{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}
#app .composable-runtime .record-top .actions{min-width:0!important;max-width:100%!important;flex-wrap:wrap!important}
#app .composable-runtime .composable-search-bar{overflow:hidden!important}
#app .composable-runtime .composable-filter-controls{min-width:0!important;max-width:calc(100% - 300px)!important}
#app .composable-runtime>.composable-records-collection{inline-size:calc(100% - 56px)!important;max-inline-size:calc(100% - 56px)!important;margin:20px 28px!important;box-sizing:border-box!important}
#app .composable-runtime>.composable-records-collection .composable-search,#app .composable-runtime>.composable-records-collection .composable-search-bar{inline-size:100%!important;max-inline-size:100%!important;box-sizing:border-box!important}
@media(max-width:960px){#app .composable-runtime .record-top{display:grid!important;grid-template-columns:minmax(0,1fr)!important}#app .composable-runtime .record-top .actions{justify-content:flex-start!important}#app .composable-runtime .record-top .actions>*{flex:1 1 auto!important}#app .composable-runtime .composable-search-bar{align-items:stretch!important;flex-wrap:wrap!important;padding:10px 12px!important}#app .composable-runtime .composable-search-field{flex:1 1 calc(100% - 52px)!important}#app .composable-runtime .composable-filter-controls{order:3!important;flex:1 1 100%!important;max-width:100%!important;padding-top:8px!important;border-top:1px solid #e0e4e8!important}#app .composable-runtime .composable-more-options{margin-left:auto!important}}
@media(max-width:700px){#app .composable-runtime>.composable-records-collection{inline-size:calc(100% - 32px)!important;max-inline-size:calc(100% - 32px)!important;margin:16px!important}}

/* Preserve the standard record-template frame.  Its collection already has
   responsive margins; forcing a viewport width here made the entire page
   wider than its containing template. */
#app .composable-runtime{inline-size:auto!important;width:auto!important;max-inline-size:none!important;overflow-x:hidden!important}
#app .composable-runtime>.composable-records-collection{inline-size:auto!important;width:auto!important;max-inline-size:none!important;margin:20px 28px!important}
#app .composable-runtime>.composable-records-collection .composable-search,#app .composable-runtime>.composable-records-collection .composable-search-bar{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
@media(max-width:700px){#app .composable-runtime>.composable-records-collection{margin:16px!important}}

/* The search workspace is viewport-bounded, independent of table width. */
#app .composable-runtime>.composable-records-collection{width:calc(100dvw - 64px)!important;max-width:calc(100dvw - 64px)!important;min-width:0!important;box-sizing:border-box!important}
#app .composable-runtime>.composable-records-collection .composable-search{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
#app .composable-runtime>.composable-records-collection .composable-search-bar{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
@media(max-width:700px){#app .composable-runtime>.composable-records-collection{width:calc(100dvw - 32px)!important;max-width:calc(100dvw - 32px)!important}}

/* Desktop containment: constrain max-content action and filter groups to
   explicit columns so neither can push controls beyond the viewport. */
#app .composable-runtime>.record-top{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(0,2fr)!important;align-items:center!important;width:100%!important;box-sizing:border-box!important}
#app .composable-runtime>.record-top .actions{display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#app .composable-runtime>.record-top>div:first-child{display:block!important;min-width:0!important}#app .composable-runtime>.record-top>div:first-child h2{margin:0!important}#app .composable-runtime>.record-top>div:first-child small{display:block!important;margin-top:6px!important;line-height:1.35!important}
#app .composable-runtime>.composable-records-collection{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important;box-sizing:border-box!important}
#app .composable-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}#app .composable-runtime .composable-search-field>input{height:40px!important;margin:0!important}
#app .composable-runtime .composable-search-bar{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(0,max-content) 40px!important;align-items:center!important;gap:10px!important}
#app .composable-runtime .composable-search-field{width:100%!important;min-width:0!important}
#app .composable-runtime .composable-filter-controls{width:auto!important;min-width:0!important;max-width:min(52vw,720px)!important;overflow-x:auto!important}
#app .composable-runtime .composable-more-options{grid-column:3!important;margin:0!important}
@media(max-width:1100px){#app .composable-runtime>.record-top{grid-template-columns:1fr!important}#app .composable-runtime>.record-top .actions{justify-content:flex-start!important}#app .composable-runtime .composable-search-bar{grid-template-columns:minmax(0,1fr) 40px!important;align-items:stretch!important}#app .composable-runtime .composable-filter-controls{grid-column:1/-1!important;grid-row:2!important;width:100%!important;max-width:100%!important;padding-top:8px!important;border-top:1px solid #e0e4e8!important}#app .composable-runtime .composable-more-options{grid-column:2!important;grid-row:1!important}}

/* Final containment boundary: table intrinsic sizing must never resize the
   generated application shell. */
html,body,#app,#app main{max-width:100%!important;overflow-x:hidden!important}
#app .composable-runtime{display:block!important;width:100dvw!important;max-width:100dvw!important;min-width:0!important;margin:0!important;overflow-x:hidden!important;box-sizing:border-box!important}
#app .composable-runtime>.record-top,#app .composable-runtime>.pattern-strip,#app .composable-runtime>.composable-records-collection{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
#app .composable-runtime>.composable-records-collection>.table-wrap{display:block;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important}
@media(min-width:1101px){#app .composable-runtime>.record-top{grid-template-columns:minmax(0,1fr) auto!important}#app .composable-runtime>.record-top .actions{width:auto!important;max-width:none!important;justify-content:flex-end!important;white-space:nowrap!important}#app .composable-runtime .composable-search-bar{grid-template-columns:minmax(0,1fr) auto 40px!important;width:100%!important;max-width:100%!important}#app .composable-runtime .composable-filter-controls{grid-column:2!important;grid-row:1!important;width:auto!important;max-width:none!important;overflow:visible!important}#app .composable-runtime .composable-more-options{grid-column:3!important;grid-row:1!important}}
