.jlj-tt-docker .jlj-tt-docker-panel {
  padding-top: 22px;
}

.jlj-tt-docker-grid,
.jlj-tt-docker-output-grid {
  display: grid;
  gap: 16px;
}

.jlj-tt-docker-grid.is-two,
.jlj-tt-docker-output-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jlj-tt-docker-fieldset {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #dbe5f0;
  border-radius: 12px;
  background: #f8fbff;
}

.jlj-tt-docker-fieldset legend {
  padding: 0 8px;
  color: #0f172a;
  font-weight: 750;
}

.jlj-tt-docker-service-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 9px;
}

.jlj-tt-docker-service-picker label,
.jlj-tt-docker-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #334155;
  font-weight: 650;
}

.jlj-tt-docker-service-picker label {
  padding: 10px 12px;
  border: 1px solid #dbe5f0;
  border-radius: 8px;
  background: #fff;
}

.jlj-tt-docker-service-picker label:has(input:checked) {
  border-color: #38a6dc;
  background: #eff9ff;
  box-shadow: 0 0 0 2px rgba(31, 122, 224, .08);
}

.jlj-tt-docker-service-card {
  margin: 12px 0;
  overflow: hidden;
  border: 1px solid #dbe5f0;
  border-radius: 10px;
  background: #fff;
}

.jlj-tt-docker-service-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: #0f172a;
  font-weight: 800;
  cursor: pointer;
  background: #f8fbff;
}

.jlj-tt-docker-service-card summary small {
  color: #64748b;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.jlj-tt-docker-service-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}

.jlj-tt-docker-service-fields .is-wide {
  grid-column: 1 / -1;
}

.jlj-tt-docker-code,
.jlj-tt-docker .jlj-tt-pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

.jlj-tt-docker-output-grid {
  margin-top: 18px;
}

.jlj-tt-docker-output-grid h4 {
  margin: 0 0 8px;
  color: #0f172a;
}

.jlj-tt-docker-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.jlj-tt-docker-template {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px;
  border: 1px solid #dbe5f0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}

.jlj-tt-docker-template h4 {
  margin: 0 0 7px;
  color: #0f172a;
  font-size: 18px;
}

.jlj-tt-docker-template p {
  margin: 0 0 12px;
  color: #475569;
}

.jlj-tt-docker-template .jlj-tt-actions {
  margin-top: auto;
}

.jlj-tt-docker-template details {
  margin: 10px 0 15px;
}

.jlj-tt-docker-template pre {
  max-height: 280px;
}

.jlj-tt-docker-status:empty,
.jlj-tt-docker-summary:empty {
  display: none;
}

.jlj-tt-docker-status.is-error {
  color: #991b1b;
  border-color: #fecaca;
  background: #fff1f2;
}

.jlj-tt-docker-status.is-success {
  color: #065f46;
  border-color: #a7f3d0;
  background: #ecfdf5;
}

.jlj-tt-docker-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.jlj-tt-docker-summary span {
  padding: 12px;
  border: 1px solid #dbe5f0;
  border-radius: 8px;
  color: #334155;
  background: #f8fbff;
  font-weight: 700;
}

.jlj-tt-docker-glossary {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #dbe5f0;
  border-radius: 10px;
  background: #f8fbff;
}

.jlj-tt-docker-glossary summary {
  color: #0f172a;
  font-weight: 800;
  cursor: pointer;
}

.jlj-tt-docker-glossary dt {
  margin-top: 10px;
  color: #0f172a;
  font-weight: 800;
}

.jlj-tt-docker-glossary dd {
  margin: 2px 0 0;
  color: #475569;
}

@media (max-width: 760px) {
  .jlj-tt-docker-grid.is-two,
  .jlj-tt-docker-output-grid,
  .jlj-tt-docker-template-grid,
  .jlj-tt-docker-service-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .jlj-tt-docker-service-fields .is-wide {
    grid-column: auto;
  }

  .jlj-tt-docker-service-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  .jlj-tt-docker-service-picker {
    grid-template-columns: minmax(0, 1fr);
  }

  .jlj-tt-docker-service-card summary {
    align-items: flex-start;
    flex-direction: column;
  }
}
