/* OSKAR WHITE CRM 3.1.36 - isolated real-time flow simulator */
.ow-system-simulation {
  --ow-sim-accent: #2f74e8;
  --ow-sim-soft: #eef5ff;
  --ow-sim-success: #1f956f;
  --ow-sim-warning: #b77900;
  --ow-sim-danger: #c63d3d;
}
.ow-simulation-controls-v2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: .8rem;
  align-items: end;
}
.ow-simulation-controls-v2 label {
  display: grid;
  gap: .35rem;
  color: #49617f;
  font-size: .78rem;
  font-weight: 700;
}
.ow-simulation-controls-v2 select,
.ow-simulation-controls-v2 input[type="number"] {
  inline-size: 100%;
  min-block-size: 2.85rem;
  border: 1px solid #cbdaf0;
  border-radius: .8rem;
  background: #fff;
  color: #102744;
  padding: .65rem .8rem;
  font: inherit;
}
.ow-simulation-controls-v2 .ow-simulation-ai-check {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-block-size: 2.85rem;
  border: 1px solid #d7e2f2;
  border-radius: .8rem;
  padding: .65rem .8rem;
  background: #f8fbff;
}
.ow-simulation-controls-v2 .ow-simulation-ai-check.is-disabled {
  opacity: .55;
}
.ow-simulation-actions {
  margin-block: 1rem;
}
.ow-simulation-live-button {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}
.ow-simulation-live-dot {
  display: inline-block;
  inline-size: .58rem;
  block-size: .58rem;
  border-radius: 999px;
  background: #24a87a;
  box-shadow: 0 0 0 .22rem rgba(36, 168, 122, .14);
  flex: 0 0 auto;
}
.ow-simulation-live-state {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-block: .8rem 1rem;
  padding: .8rem 1rem;
  border: 1px solid #a9d9c8;
  border-radius: .9rem;
  background: #ecfaf5;
  color: #165d48;
}
.ow-simulation-live-state span:last-child {
  color: #55756b;
  font-size: .82rem;
}
.ow-simulation-live-review {
  margin-block: .85rem;
  padding: .9rem 1rem;
  border: 1px solid #a9d9c8;
  border-radius: .9rem;
  background: linear-gradient(180deg, #f1fcf8, #eaf8f3);
}
.ow-simulation-live-review > div:first-child {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.ow-simulation-live-review > div:first-child small {
  margin-inline-start: auto;
  color: #59736a;
}
.ow-simulation-live-review p {
  margin: .65rem 0;
  color: #244f43;
  line-height: 1.55;
}
.ow-simulation-agent-result {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.ow-simulation-agent-result span {
  border-radius: 999px;
  background: #fff;
  border: 1px solid #c6e4da;
  padding: .28rem .55rem;
  color: #2c6554;
  font-size: .74rem;
  font-weight: 700;
}
.ow-simulation-technical {
  margin-block-start: .75rem;
  border: 1px solid #d9e2ee;
  border-radius: .75rem;
  background: #f8fafc;
}
.ow-simulation-technical summary {
  cursor: pointer;
  padding: .65rem .8rem;
  color: #45617f;
  font-weight: 700;
}
.ow-simulation-technical pre {
  max-block-size: 24rem;
  overflow: auto;
  margin: 0;
  border-block-start: 1px solid #d9e2ee;
  padding: .85rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
@media (max-width: 47.99rem) {
  .ow-simulation-controls-v2 { grid-template-columns: 1fr; }
  .ow-simulation-actions > * { inline-size: 100%; justify-content: center; }
  .ow-simulation-live-state { align-items: flex-start; flex-wrap: wrap; }
  .ow-simulation-live-state span:last-child { inline-size: 100%; }
}

/* 3.1.36 - explicit AI runtime evidence */
.ow-simulation-ai-connection {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-block: .9rem;
  padding: .9rem 1rem;
  border: 1px solid #b9ddcf;
  border-radius: .9rem;
  background: #f0fbf7;
}
.ow-simulation-ai-connection.is-error { border-color: #efc1c1; background: #fff4f4; }
.ow-simulation-ai-connection > div { display: grid; gap: .2rem; }
.ow-simulation-ai-connection small { color: #536d65; font-weight: 700; }
.ow-simulation-ai-connection p { margin: .15rem 0 0; color: #60756f; font-size: .8rem; }
.ow-simulation-ai-evidence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem 1rem;
  margin-block: .8rem;
  padding: .75rem 1rem;
  border: 1px solid #b9ddcf;
  border-radius: .85rem;
  background: #f7fcfa;
  color: #194e3e;
}
.ow-simulation-ai-evidence.is-error { border-color: #efc1c1; background: #fff4f4; color: #8b2d2d; }
.ow-simulation-ai-evidence span { color: #5a7069; font-size: .78rem; }
.ow-simulation-ai-evidence b { inline-size: 100%; color: #a53535; font-size: .78rem; }
.ow-simulation-ai-step-badge {
  margin-inline-start: auto;
  border-radius: 999px;
  padding: .25rem .5rem;
  font-size: .7rem;
  font-weight: 800;
  white-space: nowrap;
}
.ow-simulation-ai-step-badge.is-ok { background: #e9f8f2; color: #157353; border: 1px solid #bfe6d7; }
.ow-simulation-ai-step-badge.is-error { background: #fff0f0; color: #b13333; border: 1px solid #efc1c1; }
.ow-simulation-live-review.is-error { border-color: #efbdbd; background: #fff4f4; }
@media (max-width: 47.99rem) {
  .ow-simulation-ai-step-badge { margin-inline-start: 0; }
}

/* 3.1.36 - Run -> Step -> Span -> Event trace workspace */
.ow-trace-summary-badge {
  margin-inline-start: auto;
  border: 1px solid #c9d9ee;
  border-radius: 999px;
  background: #f4f8fd;
  color: #426386;
  padding: .24rem .5rem;
  font-size: .7rem;
  font-weight: 800;
  white-space: nowrap;
}
.ow-step-trace {
  margin-block: .8rem 1rem;
  border: 1px solid #cbd9eb;
  border-radius: 1rem;
  background: #fbfdff;
  overflow: hidden;
}
.ow-step-trace-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1rem;
  border-block-end: 1px solid #dbe5f2;
  background: #f5f9fe;
}
.ow-step-trace-head h4 { margin: .12rem 0 0; color: #102a49; font-size: .98rem; }
.ow-trace-counts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.ow-trace-counts span {
  border: 1px solid #d4e0ef;
  border-radius: 999px;
  background: #fff;
  padding: .27rem .52rem;
  color: #48627f;
  font-size: .7rem;
  font-weight: 800;
}
.ow-trace-counts span.is-warning { border-color: #efd69a; background: #fff9e9; color: #8a6200; }
.ow-trace-counts span.is-error { border-color: #efc2c2; background: #fff2f2; color: #a33333; }
.ow-trace-section { border-block-end: 1px solid #e2e9f2; }
.ow-trace-section:last-child { border-block-end: 0; }
.ow-trace-section > summary {
  cursor: pointer;
  padding: .72rem 1rem;
  color: #244766;
  font-weight: 800;
  background: #fff;
}
.ow-trace-timeline, .ow-trace-spans { display: grid; gap: .55rem; padding: .15rem 1rem 1rem; }
.ow-trace-event {
  position: relative;
  display: grid;
  gap: .35rem;
  padding: .72rem .8rem .72rem 1rem;
  border: 1px solid #dde6f1;
  border-radius: .8rem;
  background: #fff;
}
.ow-trace-event::before {
  content: '';
  position: absolute;
  inset-block: .72rem;
  inset-inline-start: .4rem;
  inline-size: .2rem;
  border-radius: 999px;
  background: #7ba7dd;
}
.ow-trace-event.is-warning::before { background: #d6a019; }
.ow-trace-event.is-error::before { background: #d34a4a; }
.ow-trace-event-head { display: flex; align-items: center; gap: .5rem; min-inline-size: 0; }
.ow-trace-event-head strong { color: #152f4d; min-inline-size: 0; }
.ow-trace-event-head time { margin-inline-start: auto; color: #75869c; font-size: .68rem; white-space: nowrap; }
.ow-trace-event-type {
  border-radius: .45rem;
  background: #eaf3ff;
  color: #2d68ad;
  padding: .18rem .38rem;
  font-size: .64rem;
  font-weight: 800;
  text-transform: uppercase;
}
.ow-trace-endpoint { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; color: #60758e; font-size: .75rem; }
.ow-trace-endpoint b { font-weight: 700; color: #405b78; overflow-wrap: anywhere; }
.ow-trace-endpoint i { color: #2f74e8; font-style: normal; font-weight: 900; }
.ow-trace-event > small { color: #718397; overflow-wrap: anywhere; }
.ow-trace-payload { margin-block-start: .15rem; border: 1px solid #e0e8f2; border-radius: .65rem; background: #f8fafc; }
.ow-trace-payload summary { cursor: pointer; padding: .48rem .65rem; color: #516b87; font-size: .72rem; font-weight: 800; }
.ow-trace-payload pre { margin: 0; max-block-size: 18rem; overflow: auto; border-block-start: 1px solid #e0e8f2; padding: .65rem; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .7rem; }
.ow-trace-span {
  margin-inline-start: calc(var(--ow-trace-depth, 0) * 1rem);
  border: 1px solid #dce5f0;
  border-radius: .78rem;
  padding: .7rem .8rem;
  background: #fff;
}
.ow-trace-span > div:first-child { display: grid; grid-template-columns: auto minmax(8rem, 1fr) minmax(10rem, 1.4fr) auto; align-items: center; gap: .45rem; }
.ow-trace-span > div:first-child > span { border-radius: 999px; background: #edf4fd; color: #3c628c; padding: .2rem .45rem; font-size: .64rem; font-weight: 800; }
.ow-trace-span strong { color: #183552; overflow-wrap: anywhere; }
.ow-trace-span code { color: #536b84; background: #f6f8fb; border-radius: .4rem; padding: .2rem .35rem; overflow-wrap: anywhere; white-space: normal; }
.ow-trace-span small { color: #718397; white-space: nowrap; }
.ow-simulation-first-error {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  margin-block: .7rem;
  border: 1px solid #efc1c1;
  border-radius: .8rem;
  background: #fff4f4;
  color: #8c2e2e;
  padding: .7rem .85rem;
}
.ow-simulation-first-error span { color: #985151; overflow-wrap: anywhere; }
@media (max-width: 47.99rem) {
  .ow-step-trace-head { display: grid; }
  .ow-trace-counts { justify-content: flex-start; }
  .ow-trace-event-head { align-items: flex-start; flex-wrap: wrap; }
  .ow-trace-event-head time { inline-size: 100%; margin-inline-start: 0; }
  .ow-trace-span > div:first-child { grid-template-columns: 1fr; align-items: start; }
  .ow-trace-span small { white-space: normal; }
}
.ow-system-simulation .ow-simulation-step > summary {
  grid-template-columns: 38px minmax(0,1fr) auto auto auto;
}
@media (max-width: 47.99rem) {
  .ow-system-simulation .ow-simulation-step > summary { grid-template-columns: 34px minmax(0,1fr); }
  .ow-system-simulation .ow-trace-summary-badge,
  .ow-system-simulation .ow-simulation-ai-step-badge { grid-column: 2; justify-self: start; margin-inline-start: 0; }
  .ow-system-simulation .ow-simulation-step-meta { grid-column: 2; }
}

/* 3.1.36 - evidence-first trace review */
.ow-simulation-ai-step-badge.is-warning {
  border-color: #ecd28c;
  background: #fff8df;
  color: #866000;
}
.ow-simulation-live-review.is-warning {
  border-color: #ecd28c;
  background: #fffbec;
}
.ow-trace-fidelity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5e0ee;
  border-radius: 999px;
  padding: .18rem .42rem;
  color: #4d6681;
  background: #f8fbff;
  font-size: .62rem;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}
.ow-trace-records {
  display: block;
  color: #4b6580;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.ow-trace-inconsistency {
  display: grid;
  gap: .25rem;
  margin-block-start: .7rem;
  border: 1px solid #efc1c1;
  border-radius: .75rem;
  background: #fff5f5;
  padding: .7rem .8rem;
  color: #8d3131;
}
.ow-trace-inconsistency span,
.ow-trace-inconsistency p {
  margin: 0;
  overflow-wrap: anywhere;
}
.ow-system-simulation .ow-simulation-kpis {
  grid-template-columns: repeat(auto-fit,minmax(8.5rem,1fr));
}
.ow-simulation-first-error {
  flex-wrap: wrap;
}
.ow-simulation-first-error p {
  flex-basis: 100%;
  margin: 0;
}
@media (max-width: 47.99rem) {
  .ow-trace-fidelity { justify-self: start; }
  .ow-system-simulation .ow-simulation-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
}


/* 3.1.39 — live AI simulator start feedback */
.ow-simulation-live-button.is-busy { cursor: progress; opacity: .92; }
.ow-simulation-live-button.is-busy .ow-simulation-live-dot,
.ow-simulation-live-state.is-connecting .ow-simulation-live-dot { animation: owSimulationLivePulse 1s ease-in-out infinite; }
.ow-simulation-live-state.is-connecting { border-style: solid; }
@keyframes owSimulationLivePulse { 0%,100% { transform: scale(.82); opacity: .55; } 50% { transform: scale(1.18); opacity: 1; } }


/* 3.1.39 — routing modeli AI w symulatorze */
.ow-simulation-controls label small{display:block;margin-top:5px;color:#64748b;font-size:11px;line-height:1.35}
.ow-simulation-ai-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0;padding:12px;border:1px solid #cfe0f3;border-radius:14px;background:#f8fbff}
.ow-simulation-ai-stats>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ow-simulation-ai-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:700}
.ow-simulation-ai-stats strong{font-size:15px;color:#0f2744;overflow-wrap:anywhere}
.ow-simulation-ai-routing{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 2px}
.ow-simulation-ai-routing span,.ow-simulation-ai-routing strong{padding:5px 9px;border-radius:999px;background:#eef5ff;font-size:11px;color:#285b96}
.ow-simulation-ai-routing strong{background:#e7f0ff;color:#0d5eb8}
.ow-simulation-ai-routing small{flex-basis:100%;color:#64748b;line-height:1.4}
.ow-simulation-ai-retry{margin-top:12px}
@media (max-width:900px){.ow-simulation-ai-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ow-simulation-ai-retry .ow-primary,.ow-simulation-ai-retry .ow-secondary{width:100%}}

/* 3.1.40 - symmetric simulator control matrix */
.ow-simulation-controls-v2 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: stretch;
}
.ow-simulation-controls-v2 > .ow-simulation-field {
  grid-column: span 3;
  display: grid;
  grid-template-rows: auto 2.85rem minmax(0, 1fr);
  align-content: start;
  align-self: stretch;
  min-inline-size: 0;
}
.ow-simulation-controls-v2 > .ow-simulation-field[hidden] {
  display: none;
}
.ow-simulation-controls-v2 > .ow-simulation-field .ow-simulation-field-label {
  align-self: end;
  min-block-size: 1rem;
}
.ow-simulation-controls-v2 > .ow-simulation-field select,
.ow-simulation-controls-v2 > .ow-simulation-field input[type="number"] {
  align-self: stretch;
  min-inline-size: 0;
}
.ow-simulation-controls-v2 > .ow-simulation-field small {
  align-self: start;
  margin-block-start: .35rem;
  min-block-size: 2.15rem;
}
.ow-simulation-controls-v2 > .ow-simulation-model-field {
  grid-column: span 6;
}
.ow-simulation-controls-v2.is-hourly > .ow-simulation-field:not(.ow-simulation-model-field) {
  grid-column: span 4;
}
.ow-simulation-controls-v2 > .ow-simulation-ai-check {
  grid-column: span 4;
  align-self: stretch;
  block-size: 100%;
  min-block-size: 4.65rem;
  box-sizing: border-box;
}
.ow-simulation-controls-v2 > .ow-simulation-ai-check span {
  min-inline-size: 0;
  line-height: 1.35;
}
.ow-simulation-actions {
  align-items: stretch;
}
.ow-simulation-actions > button,
.ow-simulation-actions > a {
  min-block-size: 2.75rem;
}
@media (max-width: 72rem) {
  .ow-simulation-controls-v2 > .ow-simulation-field,
  .ow-simulation-controls-v2.is-hourly > .ow-simulation-field:not(.ow-simulation-model-field),
  .ow-simulation-controls-v2 > .ow-simulation-model-field {
    grid-column: span 6;
  }
  .ow-simulation-controls-v2 > .ow-simulation-ai-check {
    grid-column: span 6;
  }
  .ow-simulation-controls-v2 > .ow-simulation-ai-check:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 47.99rem) {
  .ow-simulation-controls-v2 > .ow-simulation-field,
  .ow-simulation-controls-v2.is-hourly > .ow-simulation-field:not(.ow-simulation-model-field),
  .ow-simulation-controls-v2 > .ow-simulation-model-field,
  .ow-simulation-controls-v2 > .ow-simulation-ai-check,
  .ow-simulation-controls-v2 > .ow-simulation-ai-check:last-child {
    grid-column: 1 / -1;
  }
  .ow-simulation-controls-v2 > .ow-simulation-field small {
    min-block-size: 0;
  }
}

/* 3.1.41 - compact KPI typography and overflow guard */
.ow-system-simulation .ow-simulation-kpis article {
  min-inline-size: 0;
  min-block-size: 6.4rem;
  padding: .7rem .75rem;
  align-content: start;
  overflow: hidden;
}
.ow-system-simulation .ow-simulation-kpis article > span {
  min-inline-size: 0;
  max-inline-size: 100%;
  font-size: .67rem;
  line-height: 1.25;
  letter-spacing: .035em;
  overflow-wrap: anywhere;
  word-break: normal;
}
.ow-system-simulation .ow-simulation-kpis article > strong {
  display: block;
  min-inline-size: 0;
  max-inline-size: 100%;
  font-size: clamp(.94rem, .82rem + .28vw, 1.08rem);
  line-height: 1.28;
  font-weight: 800;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
@media (max-width: 47.99rem) {
  .ow-system-simulation .ow-simulation-kpis article {
    min-block-size: 5.9rem;
  }
  .ow-system-simulation .ow-simulation-kpis article > strong {
    font-size: .96rem;
  }
}
