/* [project]/apps/web/app/reporting.css [app-client] (css) */
.reports {
  gap: 18px;
  display: grid;
}

.report-hero {
  color: #fff;
  background: linear-gradient(125deg, #15365a, #245f83 58%, #15927f);
  border-radius: 18px;
  justify-content: space-between;
  align-items: flex-start;
  padding: 28px;
  display: flex;
  box-shadow: 0 14px 35px #163b6025;
}

.report-hero span, .report-title small {
  letter-spacing: 1.7px;
  font-size: 10px;
  font-weight: 850;
}

.report-hero h2 {
  margin: 10px 0 4px;
  font-size: 29px;
}

.report-hero p {
  color: #d8e7f0;
  margin: 0;
}

.report-hero b {
  background: #ffffff20;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 12px;
}

.metric-grid {
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 12px;
  display: grid;
}

.metric-grid article, .report-panel {
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  box-shadow: 0 5px 18px #1e35520a;
}

.metric-grid article {
  padding: 17px;
}

.metric-grid small, .metric-grid span {
  color: #6e8093;
  font-size: 11px;
  display: block;
}

.metric-grid strong {
  margin: 8px 0 5px;
  font-size: 25px;
  display: block;
}

.report-panel {
  padding: 20px;
}

.report-title {
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 16px;
  display: flex;
}

.report-title h3 {
  margin: 5px 0 0;
  font-size: 18px;
}

.report-title > span {
  color: #718399;
  font-size: 11px;
}

.finance-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  display: grid;
}

.finance-grid article {
  color: #5b6f84;
  background: #f6f9fc;
  border-radius: 10px;
  gap: 7px;
  padding: 16px;
  font-size: 12px;
  display: grid;
}

.finance-grid article b, .finance-grid article strong {
  color: #183550;
}

.finance-grid .spread {
  background: #ecf8f4;
}

.export-buttons {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.export-buttons button {
  color: #fff;
  background: #1d5e9c;
  border: 0;
  border-radius: 7px;
  padding: 9px 12px;
  font-weight: 700;
}

.export-list {
  display: grid;
}

.export-list > div {
  border-top: 1px solid #e7edf4;
  grid-template-columns: 1fr auto auto auto;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  font-size: 12px;
  display: grid;
}

.export-list small {
  color: #8492a2;
  display: block;
}

.export-list a {
  color: #1263ad;
  font-weight: 750;
}

.job {
  background: #edf2f7;
  border-radius: 20px;
  padding: 5px 8px;
  font-style: normal;
}

.job.completed {
  color: #25734e;
  background: #dff5e9;
}

.job.failed {
  color: #a43c3c;
  background: #fde7e7;
}

.job.running, .job.queued {
  color: #805c06;
  background: #fff0c9;
}

.ops-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  display: grid;
}

.ops-grid article {
  border-left: 3px solid #28a58d;
  gap: 4px;
  padding: 8px 14px;
  display: grid;
}

.ops-grid b {
  font-size: 20px;
}

.ops-grid span {
  font-size: 12px;
  font-weight: 700;
}

.ops-grid small, .boundary {
  color: #718399;
  font-size: 11px;
}

.boundary {
  margin: 0 3px;
}

.report-error {
  color: #a53232;
  background: #fee7e7;
  border-radius: 8px;
  padding: 12px;
}

@media (max-width: 1200px) {
  .metric-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 760px) {
  .report-hero, .report-title {
    flex-direction: column;
  }

  .metric-grid, .finance-grid, .ops-grid {
    grid-template-columns: 1fr 1fr;
  }

  .export-list > div {
    grid-template-columns: 1fr auto;
  }

  .report-title {
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .metric-grid, .finance-grid, .ops-grid {
    grid-template-columns: 1fr;
  }
}

/* [project]/apps/web/app/settlement.css [app-client] (css) */
.settlement-workspace {
  min-width: 0;
}

.settlement-hero {
  color: #fff;
  background: linear-gradient(125deg, #2b174e, #6646a3 55%, #287c8d);
  border-radius: 18px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 22px;
  padding: 28px;
  display: flex;
}

.settlement-hero h2 {
  margin: 5px 0;
  font-size: 30px;
}

.settlement-hero .eyebrow {
  color: #d8c9ff;
}

.settlement-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0;
  display: grid;
}

.settlement-metrics article {
  background: #fff;
  border: 1px solid #d9e2ec;
  border-radius: 13px;
  padding: 18px;
}

.settlement-metrics span {
  color: #61748a;
  font-size: 12px;
  display: block;
}

.settlement-metrics strong {
  margin-top: 6px;
  font-size: 28px;
  display: block;
}

.settlement-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 20px;
  display: grid;
}

.settlement-grid.lower {
  margin-top: 20px;
}

.settlement-grid > .panel {
  min-width: 0;
  margin: 0;
}

.workflow-list {
  max-height: 520px;
  overflow: auto;
}

.workflow-list button {
  text-align: left;
  color: #152e49;
  cursor: pointer;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e1e8f0;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px;
  display: flex;
}

.workflow-list button.selected {
  background: #edf5ff;
  border-left: 4px solid #3578d2;
}

.workflow-list span, .workflow-card div {
  min-width: 0;
}

.workflow-list small, .workflow-card small {
  color: #62758b;
  overflow-wrap: anywhere;
  margin-top: 5px;
  display: block;
}

.workflow-list i, .workflow-card i {
  white-space: nowrap;
  background: #e8eef6;
  border-radius: 14px;
  height: max-content;
  padding: 6px 9px;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.workflow-facts {
  flex-wrap: wrap;
  gap: 9px;
  margin: 14px 0;
  display: flex;
}

.workflow-facts span {
  background: #f1f5fa;
  border-radius: 20px;
  padding: 8px 11px;
  font-size: 12px;
}

.workflow-actions {
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
  display: flex;
}

.workflow-actions .button, .workflow-card .button {
  width: auto;
  padding: 9px 12px;
  font-size: 12px;
}

.workflow-card {
  border-bottom: 1px solid #e0e7ef;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  display: flex;
}

.workflow-card > div:last-child {
  text-align: right;
}

.settlement-message {
  color: #155b3c;
  background: #e2f5e9;
  border: 1px solid #afd8bd;
  border-radius: 10px;
  padding: 13px 16px;
}

.settlement-workspace h3 {
  margin-top: 22px;
}

@media (max-width: 1100px) {
  .settlement-grid {
    grid-template-columns: 1fr;
  }

  .settlement-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .settlement-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
  }

  .settlement-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .workflow-card {
    flex-direction: column;
  }

  .workflow-actions .button {
    width: 100%;
  }
}

/* [project]/apps/web/app/routing.css [app-client] (css) */
.routing-workspace {
  min-width: 0;
  max-width: 100%;
}

.routing-banner {
  color: #fff;
  background: linear-gradient(125deg, #122c46, #215d78);
  border-radius: 18px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
  padding: 28px;
  display: flex;
}

.routing-banner h2 {
  margin: 5px 0 12px;
  font-size: 30px;
}

.routing-banner p {
  max-width: 720px;
}

.routing-banner .eyebrow {
  color: #9fdef2;
}

.routing-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  display: grid;
}

.routing-grid > .panel {
  min-width: 0;
  margin: 0;
}

.routing-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.routing-workspace .field {
  min-width: 0;
  margin: 12px 0;
}

.routing-workspace input, .routing-workspace select {
  color: #17314e;
  width: 100%;
  min-width: 0;
  font: inherit;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #c9d6e5;
  border-radius: 9px;
  padding: 12px;
}

.routing-workspace select {
  text-overflow: ellipsis;
  overflow: hidden;
}

.routing-candidate {
  border: 1px solid #cbdbea;
  border-left: 4px solid #2886b1;
  border-radius: 12px;
  min-width: 0;
  margin: 18px 0;
  padding: 16px;
}

.routing-candidate legend {
  color: #216187;
  font-weight: 700;
}

.routing-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 18px 0;
  display: flex;
}

.routing-actions .button {
  width: auto;
  padding: 10px 14px;
  font-size: 13px;
}

.route-chip {
  color: #264663;
  background: #eaf0f7;
  border-radius: 20px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.route-chip.good {
  color: #096c4c;
  background: #d9f5e8;
}

.route-chip.warn {
  color: #805600;
  background: #fff0ce;
}

.routing-message {
  color: #155a3c;
  background: #e3f4ec;
  border: 1px solid #a9d8bd;
  border-radius: 10px;
  margin: 14px 0;
  padding: 14px 18px;
}

.routing-attempt {
  background: #f7faff;
  border: 1px solid #d9e3ec;
  border-radius: 10px;
  margin: 12px 0;
  padding: 15px;
}

.routing-attempt p {
  overflow-wrap: anywhere;
}

.routing-attempt small {
  color: #526d86;
  margin-top: 9px;
  display: block;
}

.routing-run-heading {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.routing-timeline {
  padding-left: 22px;
}

.routing-timeline li {
  border-bottom: 1px solid #e1e9ef;
  padding: 12px 0;
}

.routing-timeline small {
  color: #61758c;
  display: block;
}

.routing-timeline pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #f2f6fa;
  border-radius: 8px;
  max-height: 230px;
  padding: 10px;
  font-size: 11px;
  overflow: auto;
}

.routing-recent {
  max-height: 240px;
  margin-top: 14px;
  overflow: auto;
}

.routing-recent button {
  color: #17314e;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 1px solid #dce5ee;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 12px;
  display: flex;
}

.routing-workspace details {
  overflow-wrap: anywhere;
  margin: 20px 0;
  font-size: 13px;
}

.routing-workspace h3 {
  margin-top: 26px;
}

@media (max-width: 1200px) {
  .routing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .routing-banner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  .routing-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .routing-banner {
    padding: 20px;
  }

  .routing-banner h2 {
    font-size: 25px;
  }

  .routing-candidate {
    padding: 10px;
  }

  .routing-grid > .panel {
    padding: 16px;
  }

  .routing-actions .button {
    width: 100%;
  }
}

/*# sourceMappingURL=apps_web_app_04vafy5._.css.map*/